電子時鐘單片機課程設(shè)計_第1頁
電子時鐘單片機課程設(shè)計_第2頁
電子時鐘單片機課程設(shè)計_第3頁
電子時鐘單片機課程設(shè)計_第4頁
電子時鐘單片機課程設(shè)計_第5頁
已閱讀5頁,還剩18頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第1章 系統(tǒng)總體方案選擇與說明1.1設(shè)計要求(1)時間顯示形式為hh:mm:ss(h,m,s分別代表時間的小時,分鐘,秒鐘)。(2)顯示器選用lcd顯示器。(3)顯示時間可以調(diào)整,具備鬧鐘功能1.2設(shè)計思路根據(jù)設(shè)計要求,選擇at89c51單片機為核心控制器件。顯示采用l液晶顯示屏,與單片機的接口為p0。鬧鐘的喇叭由p3端口的p36控制。1.3 設(shè)計方案該電子時鐘由89c51,button,1602 lcd液晶屏等構(gòu)成,采用晶振電路作為驅(qū)動電路,利用單片機內(nèi)部定時計數(shù)器0通過軟件擴展產(chǎn)生的一秒定時,達到時分秒的計時,六十秒為一分鐘,六十分鐘為一小時,滿二十四小時為一天。鬧鐘和時鐘的時分秒的調(diào)節(jié)是

2、由一個按鍵控制,而另外一個按鍵控制時鐘和鬧鐘的時間的調(diào)節(jié)。第2章 設(shè)計系統(tǒng)結(jié)構(gòu)框圖與工作原理2.1系統(tǒng)結(jié)構(gòu)框圖 lcd顯示電路時鐘電路at89c51單片機獨立按鍵輸入電路喇叭電路圖2-1 系統(tǒng)結(jié)構(gòu)框圖喇叭電路2.2 系統(tǒng)的工作原理該電子時鐘由stc89c51,button,1602 lcd液晶屏等構(gòu)成,采用晶振電路作為驅(qū)動電路,晶振電路的晶振頻率為12mhz,使用的定時器/計數(shù)器工作方式0,通過軟件擴展產(chǎn)生的一秒定時,達到時分秒的計時,60秒為一分鐘,60分鐘為一小時,24小時為一天,又重00:00:00開始計時。沒有按鍵按鍵按下時,時鐘正常運行,當按下調(diào)節(jié)時鐘按鍵k1,就會關(guān)閉時鐘,當按下鬧

3、鐘按鍵k3時時鐘就會進入設(shè)置時間界面,但是時鐘不會停止工作,按k2鍵,就可以對時鐘和鬧鐘要設(shè)置的時間進行調(diào)整。第章硬件電路設(shè)計3.時鐘電路設(shè)計 單片機利用外部12mhz晶振構(gòu)成振蕩電路作為時鐘源,時鐘電路的原理如圖3-1圖3-1 時鐘電路圖3.2獨立按鍵輸入電路按鍵處理設(shè)置為:當有沒鍵按下時,時鐘正常運行;當按一次k1,時鐘停止走動,按k2對秒進行調(diào)整;當k1按2次時,按k2 對分進行調(diào)整;當k1按下3次時,按k2 對小時進行調(diào)整,當按下4次k1時,校時完畢,時鐘按設(shè)定的時間進行正常走時。當按1次k3進入鬧鐘設(shè)置界面,時鐘繼續(xù)進行走時,按k2對秒進行設(shè)置;當按2次k3,按k2對分進行設(shè)置;當按

4、3次k3,按k2對秒進行設(shè)置;當按下4次k3時,鬧鐘設(shè)置完畢進入時鐘顯示界面。電路圖如圖3-2圖3-2 獨立按鍵電路3.3 單片機系統(tǒng) at89c51是一種帶4k字節(jié)閃爍可編程可擦除只讀存儲器(fperomfalsh programmable and erasable read only memory)的低電壓,高性能cmos8位微處理器,俗稱單片機。at89c2051是一種帶2k字節(jié)閃爍可編程可擦除只讀存儲器的單片機。單片機的可擦除只讀存儲器可以反復(fù)擦除100次。該器件采用atmel高密度非易失存儲器制造技術(shù)制造,與工業(yè)標準的mcs-51指令集和輸出管腳相兼容。由于將多功能8位cpu和閃爍存

5、儲器組合在單個芯片中,atmel的at89c51是一種高效微控制器,at89c2051是它的一種精簡版本。at89c單片機為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價廉的方案。外形及引腳排列如圖3-3 圖3-3 單片機系統(tǒng)圖管腳說明:vcc:供電電壓。gnd:接地。p0口:p0口為一個8位漏級開路雙向i/o口,每腳可吸收8ttl門電流。當p1口的管腳第一次寫1時,被定義為高阻輸入。p0能夠用于外部程序數(shù)據(jù)存儲器,它可以被定義為數(shù)據(jù)/地址的第八位。在fiash編程時,p0 口作為原碼輸入口,當fiash進行校驗時,p0輸出原碼,此時p0外部必須被拉高。p1口:p1口是一個內(nèi)部提供上拉電阻的8位雙向

6、i/o口,p1口緩沖器能接收輸出4ttl門電流。p1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,p1口被外部下拉為低電平時,將輸出電流,這是由于內(nèi)部上拉的緣故。在flash編程和校驗時,p1口作為第八位地址接收。 p3口:p3口管腳是8個帶內(nèi)部上拉電阻的雙向i/o口,可接收輸出4個ttl門電流。當p3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,p3口將輸出電流(ill)這是由于上拉的緣故。xtal1:反向振蕩放大器的輸入及內(nèi)部時鐘工作電路的輸入。xtal2:來自反向振蕩器的輸出。3.4 液晶顯示lcd1602采用標準的16腳接口,第1腳:vss為電源地;

7、第2腳:vdd接5v電源正極;第3腳:v0為液晶顯示器對比度調(diào)整端,接正電源時對比度最弱,接地電源時對比度最高(對比度過高時會 產(chǎn)生“鬼影”,使用時可以通過一個10k的電位器調(diào)整對比度);第4腳:rs為寄存器選擇,高電平1時選擇數(shù)據(jù)寄存器、低電平0時選擇指令寄存器;第5腳:rw為讀寫信號線,高電平(1)時進行讀操作,低電平(0)時進行寫操作;第6腳:e(或en)端為使能(enable)端。 第714腳:d0d7為8位雙向數(shù)據(jù)端;第1516腳:空腳或背燈電源。電路如圖3-4 圖3-4 lcd液晶顯示圖 第4章 程序設(shè)計初始化4.1程序流程圖 本系統(tǒng)的軟件系統(tǒng)主要可分為主程序、定時計數(shù)中斷程序、時

8、間調(diào)整程序、延時程序四大模塊。系統(tǒng)的流程圖如圖4-1顯示字母time開中斷tho和tlo裝入初值 f_k1=0&f_k3=0yeslcd顯示按鍵k2按鍵k1按鍵k3f_k3/f_k2=0f_k1/f_k2=0nono進行時間調(diào)整yes yes喇叭鬧鐘時間=當前時間進行鬧鐘設(shè)置yes圖4-1 程序流程圖4.2 設(shè)計思路 本系統(tǒng)的軟件系統(tǒng)主要可分為主程序、定時計數(shù)中斷程序、時間調(diào)整程序、延時程序和lcd液晶驅(qū)動程序。定時中斷程序是利用單片機內(nèi)部定時器0 實現(xiàn)1秒的定時,然后再利用軟件延時實現(xiàn)分小時,時間調(diào)整程序是利用單片機的內(nèi)部存貯器,把調(diào)整好的時間寫到顯示時間的存貯單元,然后啟動定時器開始計時并

9、顯示,延時程序是利用軟件實現(xiàn)延時達到去抖得目的。液晶啟動程序是為了把單片機的數(shù)據(jù)送到顯示器的同時讓顯示器的第6腳使能端的電平實現(xiàn)由1到0的負跳變,使顯示器執(zhí)行顯示命令。主程序就是利用這些子程序中斷程序?qū)崿F(xiàn)顯示,定時,鬧鐘等功能。 第5章 調(diào)試結(jié)果及說明5.1 時鐘正常運行調(diào)試仿真圖 圖5.1 時鐘開始計時仿真圖 圖5.2 時鐘運行一段時間后的仿真圖5.2 鬧鐘調(diào)試仿真圖 5.3 對鬧鐘的秒進行設(shè)置 5.4 對鬧鐘的分進行設(shè)置 5.5 對鬧鐘的小時進行設(shè)置 5.6 設(shè)置好的鬧鐘時間 5.7 鬧鐘響鈴5.3時間調(diào)整仿真 5.8 對秒進行調(diào)整 5.9 對分進行調(diào)整 5.10 對時進行調(diào)整 5.11

10、調(diào)整好的時間 第6章 使用說明 當么有鍵按下時,時鐘正長運行;當按一次k1,時鐘停止走動,按k2對秒進行調(diào)整;當k1按2次時,按k2 對分進行調(diào)整;當k1按下3次時,按k2 對分進行調(diào)整,當按下4次k1時,校時完畢,時鐘按設(shè)定的時間進行正常走時。當按1次k3進入鬧鐘設(shè)置界面,時鐘繼續(xù)進行走時,按k2對秒進行設(shè)置;當按2次k3,按k2對分進行設(shè)置;當按3次k3,按k2對秒進行設(shè)置;當按下4次k3時,鬧鐘設(shè)置完畢進入時鐘顯示界面。第7章 心得體會兩周的課程設(shè)計到目前為止可以說是告一段落了,我也順利的完成了自己的課題簡易電子時鐘的設(shè)計,由于自己一心準備考研在這次課程設(shè)計上除了那些必要的時間其余也么有

11、花太多的時間,老師要我改進的第三個跑表功能由于在程序上除了點問題就么花時間去做了,所以這次設(shè)計還不算很完美剛開始被分到這個課題的,感覺挺迷茫的,當時就只知道軟件編程要用到定時器,自己也就在這方面懂一點,其余的關(guān)于硬件電路,液晶顯示電路的驅(qū)動的什么都不知道,后來回來之后就看了一下五一單片機課程設(shè)計那本書,在網(wǎng)上找了一些資料對硬件電路的設(shè)計有了一定的了解。在大腦里面有了一個大致的思路了,于是就把仿真軟件裝好。第二天就開始焊接電路板了,由于以前進攻實習(xí)的時候有過焊接經(jīng)驗,所以還比較順利但是由于那些焊孔太小太密,有時候也會把兩個連接起來但是后來還是成功的讓他們分開了,經(jīng)過一上午的焊接總算完成了,但是其

12、中還是有不少的虛焊。電路板焊接成功后通電試驗,led燈和顯示燈不亮后來經(jīng)檢查發(fā)現(xiàn)原來是led 燈焊接反了,顯示燈不亮是因為有兩個焊孔連接起來了,經(jīng)過處理之后總算是圓滿完成任務(wù)了,但是把拆下來確實是個棘手的事,幾次都有種想砸板子的沖動了。下午就進行硬件電路的設(shè)計了在硬件方面的設(shè)計由于有了前面的基礎(chǔ)還比較順利,于是就在網(wǎng)上找了程序調(diào)試成功了。后來星期四下午自己又對這個程序進行了一定的修改,終于達到了原先預(yù)想。在完成單片機課程設(shè)計后,發(fā)現(xiàn)還有許多不足,所學(xué)到的知識還遠遠不夠,以至于還有一些功能不能很順利的完成。但通過學(xué)習(xí)這一次實踐,增強了我們的動手能力,提高和鞏固了單片機方面的知識,特別是軟件方面。

13、從中增強了我們的團隊合作精神,并讓我們認識到把理論應(yīng)用到實踐中去是多么重要。在此對我們的指導(dǎo)老師林國漢老師表示真心的感謝。 第章 參考文獻1、單片機原理及應(yīng)用李建忠 編 西安電子科技大學(xué)出版社。2、單片微型計算機原理與接口技術(shù) 高峰 編 電子工業(yè)出版社。3、單片機應(yīng)用新技術(shù)教程鄒逢興 編 高等教育出版社。4、16位微型計算機原理接口及其應(yīng)用 朱宇光 編 電子工業(yè)出版社。5、微型計算機原理與接口技術(shù) 吳秀清 編 中國科學(xué)技術(shù)出版社。6、微型計算機接口技術(shù) 鄧亞平 編 清華大學(xué)出版社。7、單片機原理及及應(yīng)用 王迎旭 編 機械工業(yè)出版社。第章附錄9.1 附錄a系統(tǒng)原理圖9.1電子時鐘原理圖9.2 附

14、錄b 程序清單#include#define uchar unsigned char#define uint unsigned intuchar table=time;sbit lcden=p34;sbit lcdrs=p35;sbit beep=p36;extern void key1();extern void key2();extern void key3();uchar num,hour=12,minite,second,ahour,aminite,asecond,a,f_k1,f_k2,f_k3;void delay(uint z)uint x,y;for(x=z;x0;x-)for

15、(y=110;y0;y-);void write_com(uchar com)lcdrs=0;p0=com;delay(5);lcden=1;delay(5);lcden=0;void write_data(uchar date)lcdrs=1;p0=date;delay(5);lcden=1;delay(5);lcden=0;void write_add(uchar add,uchar date)uchar aa,bb;aa=date/10;bb=date%10;write_com(0x80+add);write_data(0x30+aa);write_data(0x30+bb);void

16、init()lcden=0;write_com(0x38);write_com(0x0c);write_com(0x06);write_com(0x01);write_com(0x80);void display(uchar h,uchar m,uchar s) write_com(0x80+0x04); write_data(:);write_data(0x30+(h/10);write_data(0x30+(h%10);write_data(:);write_data(0x30+(m/10);write_data(0x30+(m%10);write_data(:);write_data(0

17、x30+(s/10);write_data(0x30+(s%10);write_data( );write_data( );write_data( );write_data( );void main()init();tmod=0x01;th0=(65535-50000)/256;tl0=(65535-50000)%256;ea=1;tr0=1;et0=1;for(num=0;num4;num+)write_data(tablenum);while(1)key1();key2();key3();if(ahour=hour&aminite=minite&second10)beep=beep;if(

18、f_k1=0&f_k3=0)display(hour,minite,second);void timer0() interrupt 1 th0=(65535-50000)/256; tl0=(65535-50000)%256; a+; if(a=20)a=0;second+;if(second=60)second=0;minite+;if(minite=60)minite=0;hour+;if(hour=24)hour=0;#include reg52.h#define uchar unsigned char#define uint unsigned intsbit k1=p10;sbit k

19、2=p11;sbit k3=p12;extern uchar f_k1,f_k3,second,minite,hour,ahour,aminite,asecond;extern void write_com(uchar com);extern void write_add(uchar add,uchar date);extern void display(uchar h,uchar m,uchar s);void delay_key(int i)while(i-);void key1() if(k1=0)delay_key(100);if(k1=0)tr0=0;while(!k1);f_k1+;if(f_k1=4)f_k1=0;write_com(0x0c);tr0=1;if(f_k1=1|f_k3=1)write_com(0x80+0x0c);write_com(0x0f);if(f_k1=2|f_k3=2)write_com(0x80+0x09);if(f_k1=3|f_k3=3)write_com(0x80+0x06);void ke

溫馨提示

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

評論

0/150

提交評論