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

正文內(nèi)容

液晶lcd電子鐘設(shè)計論文-文庫吧資料

2025-06-30 18:08本頁面
  

【正文】 ab[display[4]]+0x30 。 //溫度高8位 }// 數(shù)據(jù)轉(zhuǎn)換與溫度顯示 Disp_Temperature(){ display[4]=temp_data[0]amp。 //讀取溫度寄存器 temp_data[0] = ReadOneChar() 。 WriteOneChar(0xCC) 。 // 跳過讀序號列號的操作 WriteOneChar(0x44) 。 }}// 讀取溫度 Read_Temperature(void){ Init_DS18B20() 。 DQ = 1 。0x01 。 i) { DQ = 0 。 for (i = 8 。 } return (dat) 。 // 給脈沖信號 if(DQ) dat |= 0x80 。 // 給脈沖信號 dat = 1 。 i 0 。 unsigned char dat = 0 。 return(presence) 。 //如果=0則初始化成功 =1則初始化失敗 Delay1(100) 。 //拉高總線 Delay1(8) 。 //單片機(jī)將DQ拉低 Delay1(90) 。 //DQ復(fù)位 Delay1(8) 。 }//us級延時函數(shù) void Delay1(unsigned int num){ while( num ) 。 i 8 。 lcd_wcmd(0x40) 。 }// 設(shè)定顯示位置 void lcd_pos(uchar pos){ lcd_wcmd(pos | 0x80) 。 _nop_()。 _nop_()。 ep = 1。 _nop_()。 _nop_()。 ep = 0。 //當(dāng)lcd_busy為1時,再次檢測LCD忙碌狀態(tài),lcdbusy為0時,開始寫數(shù)據(jù) rs = 1。 ep = 0。 _nop_()。 _nop_()。 _nop_()。 _nop_()。 P0 = cmd。 _nop_()。 rw = 0。 }//寫入指令到LCDvoid lcd_wcmd(char cmd){ while(lcd_busy())。 //LCD的D0D7中,D7=1為忙碌,D7=0為空閑 ep = 0。 result =(bit)(P0amp。 _nop_()。 _nop_()。 rw = 1。 } }} //測試LCD忙碌狀態(tài)bit lcd_busy(){ bit result。 _nop_()。 i++) { _nop_()。 for(i = 0。} 。_nop_() 。 {_nop_() 。 unsigned char code mytab[8] = {0x0C,0x12,0x12,0x0C,0x00,0x00,0x00,0x00} 。unsigned char code ditab[16] = {0x00,0x01,0x01,0x02,0x03,0x03,0x04,0x04, 0x05,0x06,0x06,0x07,0x08,0x08,0x09,0x09} 。 //星期月參變數(shù)unsigned char data temp_data[2] = {0x00,0x00} 。bit arm。uchar code table[]=B 20130101 。//鬧鐘時、分、秒uint nian。char m,n,miao,shi,fen,yue,ri,week。 //定義DS18B20端口DQ bit presence 。sbit rd=P1^4。sbit s3=P1^2。sbit s1=P1^0。sbit rw=P2^1。參考文獻(xiàn):2.《C語言程序設(shè)計》 譚浩強(qiáng)編 清華大學(xué)出版社3.《單片機(jī)原理與應(yīng)用及C51程序設(shè)計》 謝維成 楊加國 主編 清華大學(xué)出版社附件:LCD液晶時鐘設(shè)計原理電路圖另外再附上我們的PCB圖LCD液晶時鐘設(shè)計部分參考程序液晶部分顯示程序: includeinclude define uchar unsigned char define uint unsigned intsbit BEEP = P3^7。從這次的課程設(shè)計中,我真真正正的意識到,在寫程序時,邏輯思維要清晰,要有耐心。在本次設(shè)計的過程中,我發(fā)現(xiàn)很多的問題,雖然以前還做過這樣的設(shè)計但這次設(shè)計真的讓我長進(jìn)了很多,單片機(jī)課程設(shè)計重點就在于軟件算法的設(shè)計,需要有很巧妙的程序算法。最后發(fā)現(xiàn)沒問題 整個硬件調(diào)試完成。接上電源后,時鐘能夠正常顯示,按鍵也能控制。連上按鍵模塊,液晶顯示模塊,單片機(jī) 最小系統(tǒng),時鐘系統(tǒng),溫度系統(tǒng),連接所有線,通上電源后,我們觀察到液晶顯示 2085—85—85 85:85:85 溫度能正常顯示,時鐘不能正常顯示。后來在調(diào)試液晶能夠顯示了。由于沒準(zhǔn)備多的電阻。我們用萬用表測試各連線是否導(dǎo)通及某些點的電壓,發(fā)現(xiàn)沒問題。我將液晶顯示程序下載到單片機(jī)內(nèi),連好所有的線,通電后,觀察顯示結(jié)果。我只有問度娘啰! 2)硬件調(diào)試 硬件調(diào)試,我們用萬用表,單片機(jī)學(xué)習(xí)板來完成的。據(jù)分析,可能使程序的問題。加上另一個鬧鐘實現(xiàn)設(shè)計需求。能夠正常顯示了。最后在void R1302()函數(shù)中DS1302InputByte(ucAddr|0x01)。但是顯示還是亂碼。于是我又在不同界面程序前加入調(diào)用填充空格函數(shù)(void clrram_lcd ()),然后又下載,結(jié)果與前面一樣,崩潰啊!經(jīng)過幾個小時后,無意間我去掉 調(diào)用函數(shù)前void。將程序稍微修改警告慢慢被排除,最后沒有錯誤和警告了,下載到單片機(jī),發(fā)現(xiàn)亂碼竟然還出現(xiàn),還有多個界面疊加顯示,里面還有一些亂碼。由于c語言中有警告是沒關(guān)系的,我將HEX文件下在到單片機(jī)竟顯示一些亂碼。得出下列經(jīng)驗,(1)調(diào)用函數(shù)最好在頭文件中進(jìn)行申明,主函數(shù)寫在最后; (2) 特別注意一些字母的大小寫,一般要用英語文字寫,不要用中文漢寫,這是最不容易檢查的,如我在檢查液晶顯示程序時,時鐘沒檢查到錯誤,最后我刪掉此行重新寫,錯誤排除了,據(jù)我分析可能是中英文變換時出現(xiàn)問題。當(dāng)我寫部分程序在keil軟件經(jīng)過調(diào)試,開始出現(xiàn)很多錯誤和警告。3. 為了使程序更加容易寫,我們要分模塊來完成程序。 程序中的注意點1. 按鍵處理防抖動應(yīng)加延時函數(shù)。YESYESNONO初始化調(diào)用顯示子程序讀出溫度值溫度計算處理顯示數(shù)據(jù)刷新發(fā)溫度轉(zhuǎn)換開始命令1秒到?初次上電? DS18B20溫度計主程序流程圖 其他程序 其他程序包括延時程序,鬧鈴程序、呼吸燈程序。 液晶顯示程序液晶顯示程序是對單片機(jī)內(nèi)數(shù)據(jù)視化,讓用戶更直觀方便觀察結(jié)果及對功能的設(shè)置。我們首先按set就進(jìn)入功能選擇界面,通過上下鍵選擇功能,再按set進(jìn)入功能設(shè)置界面,按set改變設(shè)置項目及退出,按上下鍵改變所設(shè)置的值。通過按鍵設(shè)置,改變芯片內(nèi)數(shù)據(jù)達(dá)到調(diào)時的效果,設(shè)置鬧鐘,設(shè)置溫度上下限等功能。 。它主要包括DS18B20的初始化,讀寫一個字節(jié),讀取DS18B20中的數(shù)據(jù)和對數(shù)據(jù)的轉(zhuǎn)換液晶顯示的字符。 時鐘數(shù)據(jù)處理程序單片機(jī)通過控制運行自行編程的時鐘程序,從而獲得年月日,時分秒,星期等數(shù)據(jù),并且通過顯示器顯示。簡單流程圖如下: 液晶程序LCD1602的程序主要是對內(nèi)部控制指令進(jìn)行指定如液晶初始化,顯示空白,讀,寫,判斷液晶是否忙及指定字符的位置等函數(shù)構(gòu)成。 主程序 系統(tǒng)主程序首先對系統(tǒng)進(jìn)行初始化,包括設(shè)置定時器、液晶、DS18B20和端口的初始化;由于單片機(jī)沒有命令指令,所以可以設(shè)計系統(tǒng)程序不斷地循環(huán)執(zhí)行液晶顯示時間程序即show_time()程序。最后效果,板子正面連線錯橫復(fù)雜,板子反面橫整齊。這樣為我們避免各元件的跨接,對我們對線路的排錯提供方便。 LCD1602顯示電路如下圖所示:7 總體硬件系統(tǒng)設(shè)計1. 由于材料有限,我們只能使用大小為10x15(cm)大的雙面都帶有銅的銅板,通過Altiun designed軟件畫好PCB圖,通過油紙打印出來把電路圖附在銅板上,通過腐蝕液腐蝕掉多余的銅,從來制作出電路板。20號腳接地,2號腳接電源,19號腳背光燈正端串一個電阻與電源相連,電阻起限流的作用,我們?nèi)?R=10K。12864的1~、。 1602液晶顯示特性,對比度可調(diào)內(nèi)含復(fù)位電路提供各種控制命令,如:清屏、字符閃爍、光標(biāo)閃爍、顯示移位等多種功能有80字節(jié)顯示數(shù)據(jù)存儲器DDRAM內(nèi)建有192個5X7點陣的字型的字符發(fā)生器CGROM8個可由用戶自定義的5X7的字符發(fā)生器CGRAM 12864F液晶顯示電路設(shè)計中采用 LCD12864液晶顯示。第15~16腳:空腳或背燈電源。第6腳:E(或EN)端為使能(enable)端,高電平(1)時讀取信息,負(fù)跳變時執(zhí)行指令。第4腳:RS為寄存器選擇,高電平1時選擇數(shù)據(jù)寄存器、低電平0時選擇指令寄存器。第2腳:VCC接5V電源正極。 1602LCD是指顯示的內(nèi)容為16X2,即可以顯示兩行,每行16個字符液晶模塊(顯示字符和數(shù)字)。6 液晶顯示系統(tǒng)設(shè)計 1602液晶顯示簡介 1602液晶也叫1602字符型液晶,它是一種專門用來顯示字母、數(shù)字、符號等的點陣型液晶模塊。這時當(dāng)按鍵按下就輸入低電平。4 鍵盤控制系統(tǒng)設(shè)計 按鍵需要4個,分別實現(xiàn)為時間調(diào)整、時間的加、時間的減、退出四個功能。因為DS18B20的工作電流約為1MA,因此Qt端還要加上拉電阻為其提供電流。而我們只是設(shè)計測溫系統(tǒng),選擇方法二就行了,還有MOSFET極容易燒,我們不用它。二是從vdd腳加上電源。溫度 LSB溫度 MSBTH 用戶字節(jié)1TL 用戶字節(jié)2配置寄存器保留保留保留 CRC圖 1字節(jié)2字節(jié) 3字節(jié) 4字節(jié) 5字節(jié)6字節(jié) 7字節(jié) 8字節(jié)9字節(jié)EEROMTH 用戶字節(jié)1TL 用戶字節(jié)2TMR1R011111圖 配置寄存器 DS18B20溫度系統(tǒng)電路 DS18B20系統(tǒng)電路如下: DS18B20有兩種接法:一是單線接法即只接QT。DS18B20工作時按此寄存器中的分辨率將溫度轉(zhuǎn)換為相應(yīng)精度的數(shù)值。頭兩個字節(jié)包含測得的溫度信息,第三和第四字節(jié)是TH和TL的拷貝,是易失的,每次上電復(fù)位時被刷新。 DS18B20內(nèi)部結(jié)構(gòu)描述DS18B20溫度傳感器的內(nèi)部存儲器還包括一個高速暫存RAM和一個非易失性的可電擦除的EERAM。C,也符合我們設(shè)計的要求。內(nèi)部含有寄存器為我們設(shè)計實現(xiàn)上下限報警功能提供保障。經(jīng)上網(wǎng)查閱資料及市場考察,DS18b20體積小,只有3只腳,電路接法簡單。2 時鐘系統(tǒng)電路設(shè)計通過單片機(jī)內(nèi)部的定時器/計數(shù)器,用軟件實現(xiàn),直接用單片機(jī)的定時器編程以實現(xiàn)時鐘。3) 電源AT89C51單片機(jī)的供電電源是5V的直流電。1) 復(fù)位電路 復(fù)位電路有兩種方式:上電復(fù)位和按鈕復(fù)位,我們主要用按鈕復(fù)位方式。XTAL2:來自反向振蕩器的輸出。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。/EA/VPP:當(dāng)/EA保持低電平時,則在此期間外部程序存儲器(0000HFFFFH),不管是否有內(nèi)部程序存儲器。在由外部程序存儲器取指期間,每個機(jī)器周期兩次/PSEN有效。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無效。此時, ALE只有在執(zhí)行MOVX,MOVC指令是ALE才起作用。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲器時,將跳過一個ALE脈沖。在平時,ALE端以不變的頻率周期輸出正
點擊復(fù)制文檔內(nèi)容
醫(yī)療健康相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1