溫萬(wàn)年歷的單片機(jī)實(shí)現(xiàn)實(shí)驗(yàn)報(bào)告_第1頁(yè)
溫萬(wàn)年歷的單片機(jī)實(shí)現(xiàn)實(shí)驗(yàn)報(bào)告_第2頁(yè)
溫萬(wàn)年歷的單片機(jī)實(shí)現(xiàn)實(shí)驗(yàn)報(bào)告_第3頁(yè)
溫萬(wàn)年歷的單片機(jī)實(shí)現(xiàn)實(shí)驗(yàn)報(bào)告_第4頁(yè)
溫萬(wàn)年歷的單片機(jī)實(shí)現(xiàn)實(shí)驗(yàn)報(bào)告_第5頁(yè)
已閱讀5頁(yè),還剩7頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、目 錄 一、溫度萬(wàn)年歷設(shè)計(jì)的目的和意義.1二、電路設(shè)計(jì)方案1三、原理設(shè)計(jì)1四、方案結(jié)構(gòu)圖3五、溫度萬(wàn)年歷1602驅(qū)動(dòng)及顯示的詳細(xì)設(shè)計(jì)6六、心得與總結(jié)14一、溫度萬(wàn)年歷設(shè)計(jì)的目的和意義 隨著社會(huì)的發(fā)展,信息量的不斷提升以前對(duì)信息交換的要求提高,溫度萬(wàn)年歷的發(fā)展以及投入市場(chǎng)變得非常有必要。本設(shè)計(jì)是基于51單片機(jī)并模擬日常所用的日歷,而51系列單片機(jī)是各單片機(jī)中最為典型和最有代表性的一種。通過(guò)本次設(shè)計(jì),學(xué)習(xí)和鞏固了單片機(jī)指令編程的相關(guān)知識(shí),熟悉單片機(jī)各部件的組成及其功能。 本設(shè)計(jì)將制作一種基于單片機(jī)控制的帶實(shí)時(shí)溫度顯示、具有定時(shí)功能的電子萬(wàn)年歷。傳統(tǒng)的電子日歷大都體積大,功耗大,顯示不準(zhǔn)確等特點(diǎn)。為

2、了縮小體積,減小功耗,使其變得小巧靈敏,本設(shè)計(jì)加入了時(shí)鐘芯片DS1302,可對(duì)時(shí)間進(jìn)行準(zhǔn)確記時(shí),同時(shí)可設(shè)置定時(shí)時(shí)間,實(shí)現(xiàn)定時(shí)功能。另外本設(shè)計(jì)具有顯示實(shí)時(shí)溫度的功能。傳統(tǒng)的溫度傳感器系統(tǒng)大都采用放大、調(diào)理、A/D轉(zhuǎn)換,轉(zhuǎn)換后的數(shù)字信號(hào)送入計(jì)算機(jī)處理,處理電路復(fù)雜、可靠性相對(duì)較差,占用計(jì)算機(jī)的資源比較多。本設(shè)計(jì)將采用DS18B20一線制數(shù)字溫度傳感器,可將溫度信號(hào)直接轉(zhuǎn)換成數(shù)字信號(hào)送給微處理器,電路簡(jiǎn)單,成本低,實(shí)現(xiàn)了時(shí)間溫度同時(shí)顯示的效果。最后,溫度和時(shí)間都將通過(guò)LCD1602液晶顯示器進(jìn)行顯示。測(cè)試表明系統(tǒng)達(dá)到了設(shè)計(jì)要求的各項(xiàng)功能,各部分工作正常。二、電路設(shè)計(jì)方案采用AT89S52作為主控制系

3、統(tǒng); 直接采用單片機(jī)定時(shí)計(jì)數(shù)器提供秒信號(hào);LCD液晶顯示屏作為顯示。三、原理設(shè)計(jì)1. 基本原理:本電路是由AT89S52單片機(jī)為控制核心,具有在線編程功能,低功耗,能在3V超低壓工作;時(shí)鐘電路直接采用單片機(jī)定時(shí)計(jì)數(shù)器提供秒信號(hào);溫度的采集由DS18B20構(gòu)成;顯示部份由LCD液晶顯示屏顯示。同時(shí)還添加了提醒功能,通過(guò)蜂鳴器實(shí)現(xiàn)。2. 總體框圖Lcd1602液晶屏顯示模塊晶振振蕩模塊STC89C52主控制模塊鍵盤模塊圖13. 單元電路設(shè)計(jì)u 單片機(jī)主控制模塊的設(shè)計(jì) AT89S52單片機(jī)為40引腳雙列直插芯片,有四個(gè)I/O口P0,P1,P2,P3, MCS-51單片機(jī)共有4個(gè)8位的I/O口(P0、

4、P1、P2、P3),每一條I/O線都能獨(dú)立地作輸出或輸入。單片機(jī)的最小系統(tǒng)如下圖2所示,18引腳和19引腳接時(shí)鐘電路,XTAL1接外部晶振和微調(diào)電容的一端,在片內(nèi)它是振蕩器倒相放大器的輸入,XTAL2接外部晶振和微調(diào)電容的另一端,在片內(nèi)它是振蕩器倒相放大器的輸出。第9引腳為復(fù)位輸入端,接上電容,電阻及開(kāi)關(guān)后夠上電復(fù)位電路,20引腳為接地端,40引腳為電源端。 DS18B20性能l 獨(dú)特的單線接口僅需一個(gè)端口引腳進(jìn)行通信l 簡(jiǎn)單的多點(diǎn)分布應(yīng)用l 無(wú)需外部器件l 可通過(guò)數(shù)據(jù)線供電l 零待機(jī)功耗l 測(cè)溫范圍-55+125,以0.5遞增l 可編程的分辨率為912位,對(duì)應(yīng)的可分辨溫度分別為0.5、0.2

5、5、0.125和0.0625l 溫度數(shù)字量轉(zhuǎn)換時(shí)間200ms,12位分辨率時(shí)最多在750ms內(nèi)把溫度轉(zhuǎn)換為數(shù)字l 應(yīng)用包括溫度控制、工業(yè)系統(tǒng)、消費(fèi)品、溫度計(jì)和任何熱感測(cè)系統(tǒng)l 負(fù)壓特性:電源極性接反時(shí),傳感器不會(huì)因發(fā)熱而燒毀,但不能正常工作l GND:地l DQ:?jiǎn)尉€運(yùn)用的數(shù)據(jù)輸入/輸出引腳l VD:可選的電源引腳4. 元件列表元件列表器件數(shù)量光匯51單片機(jī)開(kāi)發(fā)板1杜邦線若干DS18B201LCD1602液晶屏1四、方案結(jié)構(gòu)圖 此方案由于只用到51單片機(jī)芯片,因此各個(gè)功能都是由編程來(lái)實(shí)現(xiàn)。大體程序流程框圖如下按鍵調(diào)整結(jié)構(gòu)圖:時(shí)鐘調(diào)整一時(shí)鐘調(diào)整二Protues電路圖(部分):溫度萬(wàn)年歷整體電路圖

6、時(shí)鐘調(diào)整按鍵圖時(shí)鐘調(diào)整LCM顯示圖五、溫度萬(wàn)年歷1602驅(qū)動(dòng)及顯示的詳細(xì)設(shè)計(jì)驅(qū)動(dòng)部分的代碼:頭文件如下:#ifndef_1602_H_#define_1602_H_void RdBusy(void);void WrCommand(char command);void WrData(char wrdata);#endif1602驅(qū)動(dòng)源代碼如下:/*LCM1602驅(qū)動(dòng)程序8線間接控制方式晶體頻率12MHz*/*1602LCD各引腳接口說(shuō)明VSS 電源地VDD 電源正極VL 液晶顯示偏壓RS 數(shù)據(jù)/命令選擇R/W RW 讀寫選擇/*LCM1602驅(qū)動(dòng)程序8線間接控制方式晶體頻率12MHz*/#inc

7、lude #include /*1602LCD各引腳接口說(shuō)明VSS 電源地VDD 電源正極VL 液晶顯示偏壓RS 數(shù)據(jù)/命令選擇R/W RW 讀寫選擇E 使能信號(hào)D0 數(shù)據(jù) 背光源正極D1 數(shù)據(jù) 背光源負(fù)極*/*1602接口定義*/#defineLCMP0 sbitRS=P25;/0,command; 1,datajkhjholkhkksbitRW=P26;/0,write; 1,readsbitE=P27; /下降沿有效/*常數(shù)定義*/#defineCMD0 /RS=0,命令#define DAT1 /RS=1,數(shù)據(jù)/模塊忙閑判斷void RdBusy(void)char flag=0xff

8、; doLCM=0xff;RS=CMD;RW=1;E=1;_nop_();_nop_();_nop_();/這三句很重要flag=LCM;E=0;flag&=0x80;while(flag);/寫命令void WrCommand(char command)LCM=command;RS=CMD;RW=0;E=1;E=0;RW=1;RdBusy();/等待LCM完成本次操作/寫數(shù)據(jù)void WrData(char wrdata)LCM=wrdata;RS=DAT;RW=0;E=1;E=0;RW=1;RdBusy();/等待LCM完成本次操作/*E 使能信號(hào)D0 數(shù)據(jù) 背光源正極D1 數(shù)據(jù) 背光源負(fù)

9、極*/顯示頭文件:#ifndef_DISPLAY_H_#define_DISPLAY_H_#defineuchar unsigned charvoiddelayx5ms(int dcnt);void LcmInit(void);void ClrLine(uchar line );void Write1Line(uchar line,uchar* buf);void WrData2Addr(uchar addr,uchar dat);void disall();void offall();#endif顯示C源代碼:#include #include 1602.h#defineLCMP0#defi

10、neuchar unsigned charextern uchar flag;extern uchar year,month,date,day,hour,minu,sec;extern uchar Dispbuf016;extern uchar Dispbuf116;extern code uchar Num2Asc16;extern code uchar WEEK21;extern uchar s1num;/延遲子程序,基數(shù)5msvoiddelayx5ms(int dcnt) int tmp;for(; dcnt0; dcnt-)tmp=0x230;while(tmp-)continue;/

11、模塊初始化void LcmInit(void)LCM=0;delayx5ms(40);/延遲200msWrCommand(0x38);/8bit接口,兩行顯示,57點(diǎn)陣delayx5ms(2);/延遲10msWrCommand(0x38);/同上,該指令要寫兩次delayx5ms(1);/延遲5msWrCommand(0x06);/地址加一,字符不移動(dòng)WrCommand(0x0c);/開(kāi)顯示,光標(biāo)不顯示,光標(biāo)不閃爍WrCommand(0x01);/清屏/指定行清屏子程序void ClrLine(uchar line )unsigned char i=0;WrCommand(0x80+line)

12、;/指向擦除行的首字符位for(;i16;i+)WrData( );void Write1Line(uchar line,uchar* buf)uchar addr=0,i;if(line=0)addr=0x80;elseaddr=0xc0;WrCommand(addr);for(i=0;i16;i+)WrData(*buf+);void WrData2Addr(uchar addr,uchar dat)WrCommand(addr);WrData(dat);void disall()Dispbuf03=Num2Ascyear/10;Dispbuf04=Num2Ascyear%10;Dispb

13、uf06=Num2Ascmonth/10;Dispbuf07=Num2Ascmonth%10;Dispbuf09=Num2Ascdate/10;Dispbuf010=Num2Ascdate%10;Dispbuf012=WEEKday*3;Dispbuf013=WEEKday*3+1;Dispbuf014=WEEKday*3+2;Dispbuf11=Num2Aschour/10;Dispbuf12=Num2Aschour%10;Dispbuf14=Num2Ascminu/10;Dispbuf15=Num2Ascminu%10;Dispbuf17=Num2Ascsec/10;Dispbuf18=N

14、um2Ascsec%10;Write1Line(0,&Dispbuf00);Write1Line(1,&Dispbuf10);void offall()switch(s1num)case 1:Dispbuf17= ;Dispbuf18= ;break;case 2:Dispbuf14= ;Dispbuf15= ;break;case 3:Dispbuf11= ;Dispbuf12= ;break;case 4:Dispbuf012= ;Dispbuf013= ;Dispbuf014= ;break;case 5:Dispbuf09= ;Dispbuf010= ;break;case 6:Dis

15、pbuf06= ;Dispbuf07= ;break;case 7:Dispbuf03= ;Dispbuf04= ;break;default : *Dispbuf0 = ;*Dispbuf1 = ;Write1Line(0,&Dispbuf00);Write1Line(1,&Dispbuf10);六、心得與總結(jié)經(jīng)過(guò)萬(wàn)年歷的設(shè)計(jì),讓我學(xué)到了很多,讓我認(rèn)識(shí)到了學(xué)習(xí)基礎(chǔ)知識(shí)的重要性,當(dāng)設(shè)計(jì)完整的系統(tǒng)時(shí),要考慮到硬件和軟件兩者的結(jié)合,有時(shí)硬件的不足,我們可以用軟件程序來(lái)彌補(bǔ),從而節(jié)約硬件成本,在設(shè)計(jì)軟件程序時(shí)要模塊化,可以提高程序的可讀性。有一些靈活的技巧就需要我們認(rèn)真的閱讀元件的數(shù)據(jù)手冊(cè),從中索取對(duì)自己有用的信息。在這短暫的一個(gè)星期課程序設(shè)計(jì)中,收獲知

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論