版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、. . . . 目 錄0前言11總體方案設(shè)計12 硬件電路設(shè)計23 軟件設(shè)計44 調(diào)試分析與說明55 結(jié)論7參考文獻(xiàn)7課設(shè)體會8附錄1 電路原理9附錄2 程序清單10 電子時鐘的設(shè)計許山 航空航天大學(xué)自動化學(xué)院摘要:傳統(tǒng)的數(shù)字電子時鐘采用了較多的分立元器件,不僅占用了很大的空間而且利用率也比很低,隨著系統(tǒng)設(shè)計復(fù)雜度的不斷提高,用傳統(tǒng)時鐘系統(tǒng)設(shè)計方法很難滿足設(shè)計需求。單片機是集CPU、RAM、ROM、定時器/計數(shù)器和多種接口于一體的微控制器。它體積小、成本低、功能強,廣泛應(yīng)用于智能產(chǎn)品和工業(yè)自動化上。而51系列的單片機是各單片機中最為典型和最有代表性的一種。,本次設(shè)計提出了系統(tǒng)總體設(shè)計方案,并設(shè)
2、計了各部分硬件模塊和軟件流程,在用C語言設(shè)計了具體軟件程序后,將各個模塊完全編譯通過過后,結(jié)果證明了該設(shè)計系統(tǒng)的可行性。該設(shè)計給出了以AT89C2051為核心,利用單片機的運算和控制功能,并采用系統(tǒng)化LED顯示模塊實時顯示數(shù)字的設(shè)計方案,適當(dāng)?shù)亟鉀Q了實際生產(chǎn)和日常生活中對計時高精確度的要求,因此該設(shè)計在現(xiàn)代社會中具有廣泛的應(yīng)用性。關(guān)鍵字:AT89C2051,C語言程序,電子鐘。0 前言利用51單片機開發(fā)電子時鐘,實現(xiàn)時間顯示、調(diào)整和鬧鈴功能。具體要求如下:(1) 按以上要求制定設(shè)計方案,并繪制出系統(tǒng)工作框圖;(2) 按要求設(shè)計部分外圍電路,并與單片機仿真器、單片機實驗箱、電源等正確可靠的連接,
3、給出電路原理圖;(3) 用仿真器與單片機實驗箱進行程序設(shè)計與調(diào)試;(4) 利用鍵盤輸入調(diào)整秒、分和小時時刻,數(shù)碼管顯示時間;(5) 實現(xiàn)鬧鐘功能,在設(shè)定的時間給出聲音提示。1 總體方案設(shè)計該電子時鐘由89C51,BUTTON,1602 LCD液晶屏等構(gòu)成,采用晶振電路作為驅(qū)動電路,利用單片機部定時計數(shù)器0通過軟件擴展產(chǎn)生的一秒定時,達(dá)到時分秒的計時,六十秒為一分鐘,六十分鐘為一小時,滿二十四小時為一天。鬧鐘和時鐘的時分秒的調(diào)節(jié)是由一個按鍵控制,而另外一個按鍵控制時鐘和鬧鐘的時間的調(diào)節(jié)。 圖1 系統(tǒng)結(jié)構(gòu)框圖該電子時鐘由STC89C51,BUTTON,1602 LCD液晶屏等構(gòu)成,采用晶振電路作為
4、驅(qū)動電路,晶振電路的晶振頻率為12MHZ,使用的定時器/計數(shù)器工作方式0,通過軟件擴展產(chǎn)生的一秒定時,達(dá)到時分秒的計時,60秒為一分鐘,60分鐘為一小時,24小時為一天,又重00:00:00開始計時。沒有按鍵按鍵按下時,時鐘正常運行,當(dāng)按下調(diào)節(jié)時鐘按鍵K1,就會關(guān)閉時鐘,當(dāng)按下鬧鐘按鍵K3時時鐘就會進入設(shè)置時間界面,但是時鐘不會停止工作,按K2鍵,就可以對時鐘和鬧鐘要設(shè)置的時間進行調(diào)整。2硬件電路設(shè)計(1)時鐘電路設(shè)計單片機利用外部12MHZ晶振構(gòu)成振蕩電路作為時鐘源,時鐘電路的原理如下圖。圖2 時鐘電路圖(2)獨立按鍵輸入電路 按鍵處理設(shè)置為:當(dāng)有沒鍵按下時,時鐘正常運行;當(dāng)按一次K1,時鐘
5、停止走動,按K2對秒進行調(diào)整;當(dāng)K1按2次時,按K2 對分進行調(diào)整;當(dāng)K1按下3次時,按K2 對小時進行調(diào)整,當(dāng)按下4次K1時,校時完畢,時鐘按設(shè)定的時間進行正常走時。當(dāng)按1次K3進入鬧鐘設(shè)置界面,時鐘繼續(xù)進行走時,按K2對秒進行設(shè)置;當(dāng)按2次K3,按K2對分進行設(shè)置;當(dāng)按3次K3,按K2對秒進行設(shè)置;當(dāng)按下4次K3時,鬧鐘設(shè)置完畢進入時鐘顯示界面。電路圖如下圖 圖3 獨立按鍵電路(3)單片機系統(tǒng)AT89C51是一種帶4K字節(jié)閃爍可編程可擦除只讀存儲器(FPEROMFalsh Programmable and Erasable Read Only Memory)的低電壓,高性能CMOS8位微處
6、理器,俗稱單片機。外形與引腳排列如下圖圖4 單片機系統(tǒng)圖(4) 液晶顯示LCD1602采用標(biāo)準(zhǔn)的16腳接口,第1腳:VSS為電源地;第2腳:VDD接5V電源正極;第3腳:V0為液晶顯示器對比度調(diào)整端,接正電源時對比度最弱,接地電源時對比度最高;第4腳:RS為寄存器選擇,高電平1時選擇數(shù)據(jù)寄存器、低電平0時選擇指令寄存器;第5腳:RW為讀寫信號線,高電平(1)時進行讀操作,低電平(0)時進行寫操作;第6腳:E(或EN)端為使能(enable)端。第714腳:D0D7為8位雙向數(shù)據(jù)端;第1516腳:空腳或背燈電源。電路如下圖圖5 LCD液晶顯示圖3軟件設(shè)計本系統(tǒng)的軟件系統(tǒng)主要可分為主程序、定時計數(shù)
7、中斷程序、時間調(diào)整程序、延時程序四大模塊。系統(tǒng)的流程圖如下圖設(shè)計思路:本系統(tǒng)主要可分為主程序、定時計數(shù)中斷程序、時間調(diào)整程序、延時程序和LCD液晶驅(qū)動程序。定時中斷程序是利用單片機部定時器0實現(xiàn)1秒的定時,然后利用軟件延時實現(xiàn)分小時,時間調(diào)整程序是利用單片機的部存貯器,把調(diào)整好的時間寫到顯示時間的存貯單元,然后啟動定時器開始計時并顯示,延時程序是利用軟件實現(xiàn)延時達(dá)到去抖的目的。液晶啟動程序是為了把單片機的數(shù)據(jù)送到顯示器的同時讓顯示器的第6腳使能斷的電平實現(xiàn)由1到0的跳變,使顯示器執(zhí)行顯示的命令。主程序就是利用這些子程序中斷程序?qū)崿F(xiàn)顯示、定時、鬧鐘等功能。 4調(diào)試分析與說明(1) 時鐘正常運行調(diào)
8、試仿真圖圖6 正常運行仿真圖 (2) 鬧鐘調(diào)試仿真圖圖7 對鬧鐘時間進行設(shè)置圖8 設(shè)置好的鬧鐘時間圖9 鬧鐘響鈴(3) 時間調(diào)整仿真圖10 對時分秒的調(diào)整5 結(jié)論本次電子時鐘的設(shè)計基本完成:當(dāng)沒有鍵按下時,時鐘正長運行;當(dāng)按一次K1,時鐘停止走動,按K2對秒進行調(diào)整;當(dāng)K1按2次時,按K2 對分進行調(diào)整;當(dāng)K1按下3次時,按K2 對分進行調(diào)整,當(dāng)按下4次K1時,校時完畢,時鐘按設(shè)定的時間進行正常走時。當(dāng)按1次K3進入鬧鐘設(shè)置界面,時鐘繼續(xù)進行走時,按K2對秒進行設(shè)置;當(dāng)按2次K3,按K2對分進行設(shè)置;當(dāng)按3次K3,按K2對秒進行設(shè)置;當(dāng)按下4次K3時,鬧鐘設(shè)置完畢進入時鐘顯示界面。參考文獻(xiàn)1、
9、單片機原理與應(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è)。課設(shè)體會兩周的課程設(shè)計到目前為止可以說是告一段落了,我也順利的完成了自己的課題簡易電子時鐘的設(shè)計,由于自己一心準(zhǔn)備考研在這次課程設(shè)計上除了那些必要的時間其余也么有花太多的時間,本想改進的第三個跑表功能由于在程序上出了點問題就沒花時間去做了,所以這次設(shè)計
10、還不算很完美剛開始被拿到這個課題的,感覺挺迷茫的,當(dāng)時就只知道軟件編程要用到定時器,自己也就在這方面懂一點,其余的關(guān)于硬件電路,液晶顯示電路的驅(qū)動的什么都不知道,后來回來之后就看了一下51單片機課程設(shè)計那本書,在網(wǎng)上找了一些資料對硬件電路的設(shè)計有了一定的了解。在大腦里面有了一個大致的思路了,于是就把仿真軟件裝好開始了我的課設(shè)。本次課設(shè)讓我對單片機有了更深入的認(rèn)識,現(xiàn)代社會中幾乎處處都有單片機的影子,電子產(chǎn)品離不開它。課設(shè)提高了我的單片機實際運用能力,也發(fā)現(xiàn)了自己以前學(xué)習(xí)的不扎實,對問題不求甚解?,F(xiàn)在才知道“書到用時方少”??!學(xué)習(xí)還是得扎實。本次課設(shè)能順利完成,甚是感指導(dǎo)老師的幫助。2012年7
11、月 16日完成附錄1 電路原理附錄2 程序清單#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;f
12、or(x=z;x0;x-)for(y=110;y0;y-);void write_(uchar )lcdrs=0;P0=;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_(0x80+add);write_data(0x30+aa);write_data(0x30+bb);v
13、oid init()lcden=0;write_(0x38);write_(0x0c);write_(0x06);write_(0x01);write_(0x80);void display(uchar h,uchar m,uchar s) write_(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(0x30+(s/10);wri
14、te_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(F_k1=0&F_k3=0)
15、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 k2=P11;sbit k3=
16、P12;extern uchar F_k1,F_k3,second,minite,hour,ahour,aminite,asecond;extern void write_(uchar );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;wr
17、ite_(0x0c);TR0=1;if(F_k1=1|F_k3=1)write_(0x80+0x0c);write_(0x0f);if(F_k1=2|F_k3=2)write_(0x80+0x09);if(F_k1=3|F_k3=3)write_(0x80+0x06);void key2()if(k2=0)delay_key(100);while(!k2);if(F_k1=1)second+;if(second=60)second=0;write_add(0x0b,second);if(F_k1=2)minite+;if(minite=60)minite=0;write_add(0x08,minite);if(F_k1=3)hour+;if(hour=24)hour=0;write_add(0x05,hour);if(F_k3=1)asecond+;if(asecond=60)asecond=0;write_add(0x0
溫馨提示
- 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)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 鮮花烤奶課程設(shè)計
- 自來水收費系統(tǒng)課程設(shè)計
- 補牙系統(tǒng)課程設(shè)計
- 2025年度藝術(shù)品代購代發(fā)市場推廣協(xié)議4篇
- 鐵路線路課程設(shè)計
- 年度數(shù)字視頻切換臺市場分析及競爭策略分析報告
- 年度工藝禮品加工設(shè)備市場分析及競爭策略分析報告
- 2024年央行金融政策和法律法規(guī)測試題及答案匯編
- 二零二五年駕校場地租賃與師資力量引進協(xié)議3篇
- 重卡汽配配件課程設(shè)計
- 《阻燃材料與技術(shù)》課件全套 顏龍 第1講 緒論 -第11講 阻燃性能測試方法及分析技術(shù)
- SOR-04-014-00 藥品受托生產(chǎn)企業(yè)審計評估報告模板
- 新媒體論文開題報告范文
- 2024年云南省中考數(shù)學(xué)試題含答案解析
- 國家中醫(yī)藥管理局發(fā)布的406種中醫(yī)優(yōu)勢病種診療方案和臨床路徑目錄
- 2024年全國甲卷高考化學(xué)試卷(真題+答案)
- 汽車修理廠管理方案
- 人教版小學(xué)數(shù)學(xué)一年級上冊小學(xué)生口算天天練
- (正式版)JBT 5300-2024 工業(yè)用閥門材料 選用指南
- 三年級數(shù)學(xué)添括號去括號加減簡便計算練習(xí)400道及答案
- 蘇教版五年級上冊數(shù)學(xué)簡便計算300題及答案
評論
0/150
提交評論