freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于單片機(jī)的分時計(jì)費(fèi)智能電表設(shè)計(jì)(參考版)

2025-03-08 07:29本頁面
  

【正文】 switch(key_value) { case 0x7e: //0111 1110 。 case key_state_2: if(key_temp == 0xff) /* key_status = key_state_3。 key_value = key_temp。 case key_state_1: if(key_temp == 0xff) key_status = key_state_0。 36 智能化測控應(yīng)用系統(tǒng)設(shè)計(jì)報告 switch(key_status) { case key_state_0: if(key_temp != 0xff) key_status = key_state_1。 key_temp |= KeyPort。 //確保讀取正確 KeyPort = 0xf0。 key_temp = KeyPort。 static uchar key_status = key_state_0。 static uchar key_value。 } Write_data(control,0x80)。 i++) { Write_data(addr,start_time[i])。//控制初始化 :寫操作 for(i = 0。 } ////**DS1302 初始化 ***///////////**DS1302 初始化 ***//////// void ds1302_reset(void) { uchar i,addr = 0x80。 //接收數(shù)據(jù) RST = 0。//允許數(shù)據(jù)傳輸 35 智能化測控應(yīng)用系統(tǒng)設(shè)計(jì)報告 Send_byte(addr | 0x01)。//禁止數(shù)據(jù)傳輸 } ///////**** 讀 寄 存 器 數(shù) 據(jù) ******////////////**** 讀 寄 存 器 數(shù) 據(jù)****///////// uchar Read_data(uchar addr) //讀寄存器數(shù)據(jù) { uchar reg_data。 Send_byte(data1)。 } //****給 ds1302 寄存器寫數(shù)據(jù) ******///////////////// void Write_data(uchar addr,uchar data1) { RST = 1。//清時鐘總線,產(chǎn)生下降沿,數(shù)據(jù)被讀出 if(IOD) { receive = receive | 0x80。 _nop_()。 receive = 1。i 0。//置位時鐘總線,產(chǎn)生上升沿,數(shù)據(jù)被寫入 } } ///////****接收數(shù)據(jù) (1 字節(jié) )*****/////// uchar Receive_byte(void) { uchar i,receive=0。 } datesend = 1。 0x01) //從傳輸數(shù)據(jù)最低位開始取 { IOD=1。i++) { SCLK = 0。 for(i=0。 時鐘芯片 DS1302 部分: include include include define uchar unsigned char define uint unsigned int //初始時間 秒 分 時 日 月 星期 年 uchar start_time[7]={0x55,0x59,0x23,0x31,0x12,0x07,0x09}。 } else { iic_noack()。i++) { buff[i] = iicre_byte()。 for(i=0。 iicwr_byte(0xa1)。 iic_ack()。 iic_ack()。 iic_start()。 } /************************************** Function: uchar read_page(uchar *buff,uchar n,uchar add) Description: 從 24c02 中任一地址開始連續(xù)讀操作 Calls: iic_star(),iic_ack(),iicwr_byte() ,iicre_byte(),iic_stop() Input: *buff(數(shù)組名) ,n(要讀數(shù)組的個數(shù)) ,add(開始讀的地址) Output。 iic_stop()。 i = iicre_byte()。 iicwr_byte(0xa1)。 iic_ack()。 iic_ack()。 iic_start()。 scl = 1。 } /************************************** Function: uchar read_byte(uchar add) Description: 從 24c02 中任一地 址讀取一位數(shù)據(jù)(隨機(jī)讀) Calls: iic_star(),iic_ack(),iicwr_byte() ,iicre_byte(),iic_stop() Input: add(讀數(shù)據(jù)的地址 ) Output。 //要寫的數(shù)據(jù) 32 智能化測控應(yīng)用系統(tǒng)設(shè)計(jì)報告 iic_ack()。in。 iic_ack()。 iic_ack()。 iic_start()。 } /************************************** Function: write_page(uchar *buff,uchar n,uchar add) Description: 在 24c02 某一地址開始,連續(xù)寫一數(shù)組 Calls: iic_star(),iic_ack(),iicwr_byte(),iic_stop() Input: *buff(數(shù)組名) ,n(要寫數(shù)組的個數(shù)) ,add(開始寫的地址) Output。 //要寫的數(shù)據(jù) iic_ack()。 //寫地址上 iic_ack()。 iic_ack()。 iic_start()。 無 Return: 無 Others: ****************************************/ void write_byte(uchar add,uchar dat) { scl = 1。n)。m) for(n=110。 for(m=z。 X++。 while(Xnum) { LCD_write_data(*str)。 // 算出指令碼 LCD_write_instruction(X)。 //當(dāng)要顯示第二行時地址碼 0x40。= 0xF。= 0x1。 } void Display_String(unsigned char X, unsigned char Y, unsigned char *str) { unsigned char num。 // 算出指令碼 LCD_write_instruction(X)。 //當(dāng)要顯示第二行時地址碼 0x40。= 0xF。= 0x1。 //指針加 1 LCD_cls()。 // 顯示模式 LCD_write_instruction(0X0E)。 LCD_EN=0。 LCD_DATA=LCD_data。 LCD_RS=1。 LCD_EN=0。 LCD_DATA=LCD_instruction。 LCD_RS=0。 LCD_EN=0。 LCD_DATA=1。 LCD_RS=0。 29 智能化測控應(yīng)用系統(tǒng)設(shè)計(jì)報告 } LCD_EN=0。 LCD_EN=1。 LCD_RW=1。 } } LCD1602 顯示部分: include include include void LCD_check_busy(void) //檢測 LCD 狀態(tài),看它是不是還在忙呢 { while(1) { LCD_EN=0。 if(10==num) { num=0。 TL0 = 0x66。 } } void Timer0() interrupt 1 { static num=0。 PrintChar(DS1302[j]%16)。 addres +=2。j8。 } GotoXY(1,1)。 Print(keydown)。539。 ds1302_reset()。 GotoXY(0,1)。 GotoXY(0,0)。 init()。 delay1()。 uchar i。 } void main() { unsigned int Count = 0。 ET0=1。 TL0 = 0x66。 } void init() { TMOD=0x01。 void delay1(void) //大約 1ms延時,對 24C02 每讀 or寫操作都有個過程,需要一個短延時 { uint a=1000。 uchar code shuzu[]={0x01,0x02,0x03,0x04,0x05}。 define uint unsigned int。數(shù)字部分(第五版) [M].北京 .高等教育出版社 .2021. [10] 康華光 .電子技術(shù)基礎(chǔ)在此向老師 和兩位學(xué)長 表示深深的感謝和崇高的敬意! 同時,在 課程設(shè)計(jì) 寫作過程中,我還參考了有關(guān)的書籍和論文,在這里一并向有關(guān)的作者表示謝意。 在程序的編寫上也有了進(jìn)一步的了解,在之前我是完全不懂程序的編寫,對于程序總是感到頭疼,但經(jīng)過這次設(shè)計(jì),對編程也產(chǎn)生了興趣 ,雖然現(xiàn)在還不能隨性所欲的編寫各個程序,但我相信在以后的學(xué)習(xí)工作中能掌握這一技術(shù)。使自己的動手能力也有所提高,我想在以后的理論學(xué)習(xí)中我就能夠明白自己的學(xué)習(xí)方向,增進(jìn)專業(yè)知識的強(qiáng)化。 對自己的動手能力是個很大的鍛煉。我覺得自己在 這次設(shè)計(jì)中有很大的 收獲: 我對單片機(jī)有了進(jìn)一步的了解,對其各個引腳的功能 、作用也有了了解,這是之前上單片機(jī)課程時不曾記住的東西。在實(shí)習(xí)中,我鍛煉了自己動手技巧,提高了自己解決問題的能力。實(shí)踐出真知,縱觀古今,所有發(fā)明創(chuàng)造無一不是在實(shí)踐中得到檢驗(yàn)的。我們了解到了焊普通元件與電路元件的技巧、工藝流程、功率計(jì)的工作原理與組成元件的作 用等。作為信息時代的大學(xué)生,作為國家重點(diǎn)培育的高技能人才,僅會操作鼠標(biāo)是不夠的,基本的動手能力是一切工作和創(chuàng)造的基礎(chǔ)和必要條件。 智能化測控應(yīng)用系統(tǒng)設(shè)計(jì) ,是以學(xué)生自己動手,掌握一定操作技能并親手設(shè)計(jì)、制作、組裝與調(diào)試為特色的。 8 總結(jié)與體會 此次課程設(shè)計(jì)作品是基于單片機(jī)的分時計(jì)費(fèi)智能電表的設(shè)計(jì),通過對電路負(fù)載電壓和電流的采樣,對采樣進(jìn)行 AD轉(zhuǎn)換,再根據(jù)功率計(jì)算公式 UIP? ,由單片機(jī)計(jì)算并 控制 LCD 動態(tài)顯示。但是由于以前做的實(shí)踐性工作不是很多,設(shè)計(jì)的器件不夠精確和環(huán)境不夠?qū)I(yè),該系統(tǒng)設(shè)計(jì)并不能實(shí)現(xiàn)精確的功率測量,但是由于時間的限制,以沒有在進(jìn)一步的改進(jìn),這和工業(yè)生產(chǎn)生活中的要求還有差距。 本系統(tǒng)設(shè)計(jì)實(shí)現(xiàn)了電路的直流輸入功率的測量,并能通過鍵盤切換 控制 負(fù)載電壓和被測電流。實(shí)現(xiàn)系統(tǒng)的自動化調(diào)度。進(jìn)而可以隨時的觀察到電路的變化,進(jìn)行電路的檢測,維護(hù)。 20 智能化測控應(yīng)用系統(tǒng)設(shè)計(jì)報告 本系統(tǒng)設(shè)計(jì)可推廣到各種電子測量系統(tǒng)中,實(shí)現(xiàn)直流電路各參數(shù)的測量。 7 結(jié)論 本次系統(tǒng)以單片機(jī)為控制核心,實(shí)現(xiàn)了電路電壓電流的采樣,并最終分時計(jì)費(fèi)。 電源部分使用 220V交流電,通過變壓器變壓為 9V之后,利用一塊 L7805穩(wěn)壓芯片,很好的得到了一個較為穩(wěn)定,且接近 5V 的電壓,誤差在 + 左右,可以利用其很好為單片機(jī)與核心芯片進(jìn)行供電, 但在此次設(shè)計(jì)中由于經(jīng)費(fèi)、時間有限,并未采用原定供電方案,而是直接采用了 USB 接口供電。 ( 2)顯示用戶各時段所耗功率。 本系統(tǒng)實(shí)現(xiàn)的功能是分時段計(jì)費(fèi)。以后還需要多加練習(xí)。分時計(jì)費(fèi)功能在軟件部分的程序中實(shí)現(xiàn)較為容易,主要是分清各個時間段的收費(fèi)標(biāo)準(zhǔn),在按鍵的設(shè)計(jì)上,采用了復(fù)用的思想,在程序中運(yùn)用了 矩陣 鍵盤掃描, 但按鍵數(shù)量有點(diǎn)多,對于程序編寫感到十
點(diǎn)擊復(fù)制文檔內(nèi)容
試題試卷相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1