基于單片機(jī)的電子時(shí)鐘的設(shè)計(jì)_第1頁
基于單片機(jī)的電子時(shí)鐘的設(shè)計(jì)_第2頁
基于單片機(jī)的電子時(shí)鐘的設(shè)計(jì)_第3頁
基于單片機(jī)的電子時(shí)鐘的設(shè)計(jì)_第4頁
基于單片機(jī)的電子時(shí)鐘的設(shè)計(jì)_第5頁
已閱讀5頁,還剩15頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、河南理工大學(xué)萬方科技學(xué)院課程設(shè)計(jì)報(bào)告2015 2016學(xué)年第 一 學(xué)期課程名稱 單片機(jī)原理及應(yīng)用 設(shè)計(jì)題目 電子鐘設(shè)計(jì) 學(xué)生姓名 劉 軼 男 學(xué) 號(hào) 1516353011 專業(yè)班級(jí) 15級(jí)計(jì)算機(jī)科學(xué)與技術(shù)專升本 指導(dǎo)教師 蘇 百 順 2015 年 12 月 25 日目 錄1前言22總體方案設(shè)計(jì)23 硬件電路設(shè)計(jì)34 軟件設(shè)計(jì)55 調(diào)試分析及說明66 結(jié)論8參考文獻(xiàn)8課設(shè)體會(huì)9附錄1 電路原理10附錄2 程序清單11摘要傳統(tǒng)的數(shù)字電子時(shí)鐘采用了較多的分立元器件,不僅占用了很大的空間而且利用率也比很低,隨著系統(tǒng)設(shè)計(jì)復(fù)雜度的不斷提高,用傳統(tǒng)時(shí)鐘系統(tǒng)設(shè)計(jì)方法很難滿足設(shè)計(jì)需求。單片機(jī)是集CPU、RAM、

2、ROM、定時(shí)器/計(jì)數(shù)器和多種接口于一體的微控制器。它體積小、成本低、功能強(qiáng),廣泛應(yīng)用于智能產(chǎn)品和工業(yè)自動(dòng)化上。而51系列的單片機(jī)是各單片機(jī)中最為典型和最有代表性的一種。,本次設(shè)計(jì)提出了系統(tǒng)總體設(shè)計(jì)方案,并設(shè)計(jì)了各部分硬件模塊和軟件流程,在用C語言設(shè)計(jì)了具體軟件程序后,將各個(gè)模塊完全編譯通過過后,結(jié)果證明了該設(shè)計(jì)系統(tǒng)的可行性。該設(shè)計(jì)給出了以AT89C2051為核心,利用單片機(jī)的運(yùn)算和控制功能,并采用系統(tǒng)化LED顯示模塊實(shí)時(shí)顯示數(shù)字的設(shè)計(jì)方案,適當(dāng)?shù)亟鉀Q了實(shí)際生產(chǎn)和日常生活中對(duì)計(jì)時(shí)高精確度的要求,因此該設(shè)計(jì)在現(xiàn)代社會(huì)中具有廣泛的應(yīng)用性。關(guān)鍵字:AT89C2051,C語言程序,電子鐘1 前言利用51

3、單片機(jī)開發(fā)電子時(shí)鐘,實(shí)現(xiàn)時(shí)間顯示、調(diào)整和鬧鈴功能。具體要求如下:(1) 按以上要求制定設(shè)計(jì)方案,并繪制出系統(tǒng)工作框圖;(2) 按要求設(shè)計(jì)部分外圍電路,并與單片機(jī)仿真器、單片機(jī)實(shí)驗(yàn)箱、電源等正確可靠的連接,給出電路原理圖;(3) 用仿真器及單片機(jī)實(shí)驗(yàn)箱進(jìn)行程序設(shè)計(jì)與調(diào)試;(4) 利用鍵盤輸入調(diào)整秒、分和小時(shí)時(shí)刻,數(shù)碼管顯示時(shí)間;(5) 實(shí)現(xiàn)鬧鐘功能,在設(shè)定的時(shí)間給出聲音提示。2 總體方案設(shè)計(jì) 該電子時(shí)鐘由89C51,BUTTON,1602 LCD液晶屏等構(gòu)成,采用晶振電路作為驅(qū)動(dòng)電路,利用單片機(jī)內(nèi)部定時(shí)計(jì)數(shù)器0通過軟件擴(kuò)展產(chǎn)生的一秒定時(shí),達(dá)到時(shí)分秒的計(jì)時(shí),六十秒為一分鐘,六十分鐘為一小時(shí),滿二十

4、四小時(shí)為一天。鬧鐘和時(shí)鐘的時(shí)分秒的調(diào)節(jié)是由一個(gè)按鍵控制,而另外一個(gè)按鍵控制時(shí)鐘和鬧鐘的時(shí)間的調(diào)節(jié)。 圖1 系統(tǒng)結(jié)構(gòu)框圖該電子時(shí)鐘由STC89C51,BUTTON,1602 LCD液晶屏等構(gòu)成,采用晶振電路作為驅(qū)動(dòng)電路,晶振電路的晶振頻率為12MHZ,使用的定時(shí)器/計(jì)數(shù)器工作方式0,通過軟件擴(kuò)展產(chǎn)生的一秒定時(shí),達(dá)到時(shí)分秒的計(jì)時(shí),60秒為一分鐘,60分鐘為一小時(shí),24小時(shí)為一天,又重00:00:00開始計(jì)時(shí)。沒有按鍵按鍵按下時(shí),時(shí)鐘正常運(yùn)行,當(dāng)按下調(diào)節(jié)時(shí)鐘按鍵K1,就會(huì)關(guān)閉時(shí)鐘,當(dāng)按下鬧鐘按鍵K3時(shí)時(shí)鐘就會(huì)進(jìn)入設(shè)置時(shí)間界面,但是時(shí)鐘不會(huì)停止工作,按K2鍵,就可以對(duì)時(shí)鐘和鬧鐘要設(shè)置的時(shí)間進(jìn)行調(diào)整。3

5、 硬件電路設(shè)計(jì)(1) 時(shí)鐘電路設(shè)計(jì)單片機(jī)利用外部12MHZ晶振構(gòu)成振蕩電路作為時(shí)鐘源,時(shí)鐘電路的原理如下圖。圖2 時(shí)鐘電路圖(2) 獨(dú)立按鍵輸入電路 按鍵處理設(shè)置為:當(dāng)有沒鍵按下時(shí),時(shí)鐘正常運(yùn)行;當(dāng)按一次K1,時(shí)鐘停止走動(dòng),按K2對(duì)秒進(jìn)行調(diào)整;當(dāng)K1按2次時(shí),按K2 對(duì)分進(jìn)行調(diào)整;當(dāng)K1按下3次時(shí),按K2 對(duì)小時(shí)進(jìn)行調(diào)整,當(dāng)按下4次K1時(shí),校時(shí)完畢,時(shí)鐘按設(shè)定的時(shí)間進(jìn)行正常走時(shí)。當(dāng)按1次K3進(jìn)入鬧鐘設(shè)置界面,時(shí)鐘繼續(xù)進(jìn)行走時(shí),按K2對(duì)秒進(jìn)行設(shè)置;當(dāng)按2次K3,按K2對(duì)分進(jìn)行設(shè)置;當(dāng)按3次K3,按K2對(duì)秒進(jìn)行設(shè)置;當(dāng)按下4次K3時(shí),鬧鐘設(shè)置完畢進(jìn)入時(shí)鐘顯示界面。電路圖如下圖 圖3 獨(dú)立按鍵電路(

6、3) 單片機(jī)系統(tǒng)AT89C51是一種帶4K字節(jié)閃爍可編程可擦除只讀存儲(chǔ)器(FPEROMFalsh Programmable and Erasable Read Only Memory)的低電壓,高性能CMOS8位微處理器,俗稱單片機(jī)。外形及引腳排列如下圖圖4 單片機(jī)系統(tǒng)圖(4) 液晶顯示LCD1602采用標(biāo)準(zhǔn)的16腳接口,第1腳:VSS為電源地;第2腳:VDD接5V電源正極;第3腳:V0為液晶顯示器對(duì)比度調(diào)整端,接正電源時(shí)對(duì)比度最弱,接地電源時(shí)對(duì)比度最高;第4腳:RS為寄存器選擇,高電平1時(shí)選擇數(shù)據(jù)寄存器、低電平0時(shí)選擇指令寄存器;第5腳:RW為讀寫信號(hào)線,高電平(1)時(shí)進(jìn)行讀操作,低電平(0

7、)時(shí)進(jìn)行寫操作;第6腳:E(或EN)端為使能(enable)端。第714腳:D0D7為8位雙向數(shù)據(jù)端;第1516腳:空腳或背燈電源。電路如下圖 圖5 LCD液晶顯示圖4 軟件設(shè)計(jì)本系統(tǒng)的軟件系統(tǒng)主要可分為主程序、定時(shí)計(jì)數(shù)中斷程序、時(shí)間調(diào)整程序、延時(shí)程序四大模塊。系統(tǒng)的流程圖如下圖 設(shè)計(jì)思路:本系統(tǒng)主要可分為主程序、定時(shí)計(jì)數(shù)中斷程序、時(shí)間調(diào)整程序、延時(shí)程序和LCD液晶驅(qū)動(dòng)程序。定時(shí)中斷程序是利用單片機(jī)內(nèi)部定時(shí)器0實(shí)現(xiàn)1秒的定時(shí),然后利用軟件延時(shí)實(shí)現(xiàn)分小時(shí),時(shí)間調(diào)整程序是利用單片機(jī)的內(nèi)部存貯器,把調(diào)整好的時(shí)間寫到顯示時(shí)間的存貯單元,然后啟動(dòng)定時(shí)器開始計(jì)時(shí)并顯示,延時(shí)程序是利用軟件實(shí)現(xiàn)延時(shí)達(dá)到去抖的

8、目的。液晶啟動(dòng)程序是為了把單片機(jī)的數(shù)據(jù)送到顯示器的同時(shí)讓顯示器的第6腳使能斷的電平實(shí)現(xiàn)由1到0的跳變,使顯示器執(zhí)行顯示的命令。主程序就是利用這些子程序中斷程序?qū)崿F(xiàn)顯示、定時(shí)、鬧鐘等功能。 5 調(diào)試分析及說明(1) 時(shí)鐘正常運(yùn)行調(diào)試仿真圖圖6 正常運(yùn)行仿真圖 (2) 鬧鐘調(diào)試仿真圖 圖7 對(duì)鬧鐘時(shí)間進(jìn)行設(shè)置圖8 設(shè)置好的鬧鐘時(shí)間圖9 鬧鐘響鈴(3) 時(shí)間調(diào)整仿真圖10 對(duì)時(shí)分秒的調(diào)整6 結(jié)論本次電子時(shí)鐘的設(shè)計(jì)基本完成:當(dāng)沒有鍵按下時(shí),時(shí)鐘正長運(yùn)行;當(dāng)按一次K1,時(shí)鐘停止走動(dòng),按K2對(duì)秒進(jìn)行調(diào)整;當(dāng)K1按2次時(shí),按K2 對(duì)分進(jìn)行調(diào)整;當(dāng)K1按下3次時(shí),按K2 對(duì)分進(jìn)行調(diào)整,當(dāng)按下4次K1時(shí),校時(shí)完

9、畢,時(shí)鐘按設(shè)定的時(shí)間進(jìn)行正常走時(shí)。當(dāng)按1次K3進(jìn)入鬧鐘設(shè)置界面,時(shí)鐘繼續(xù)進(jìn)行走時(shí),按K2對(duì)秒進(jìn)行設(shè)置;當(dāng)按2次K3,按K2對(duì)分進(jìn)行設(shè)置;當(dāng)按3次K3,按K2對(duì)秒進(jìn)行設(shè)置;當(dāng)按下4次K3時(shí),鬧鐘設(shè)置完畢進(jìn)入時(shí)鐘顯示界面。 參考文獻(xiàn)1、單片機(jī)原理及應(yīng)用李建忠 編 西安電子科技大學(xué)出版社。2、單片微型計(jì)算機(jī)原理與接口技術(shù) 高峰 編 電子工業(yè)出版社。3、單片機(jī)應(yīng)用新技術(shù)教程鄒逢興 編 高等教育出版社。4、16位微型計(jì)算機(jī)原理接口及其應(yīng)用 朱宇光 編 電子工業(yè)出版社。5、微型計(jì)算機(jī)原理與接口技術(shù) 吳秀清 編 中國科學(xué)技術(shù)出版社。6、微型計(jì)算機(jī)接口技術(shù) 鄧亞平 編 清華大學(xué)出版社。7、單片機(jī)原理及及應(yīng)用

10、王迎旭 編 機(jī)械工業(yè)出版社。課設(shè)體會(huì)課程設(shè)計(jì)到目前為止可以說是告一段落了,我也順利的完成了自己的課題簡易電子時(shí)鐘的設(shè)計(jì),由于自己一心準(zhǔn)備考研在這次課程設(shè)計(jì)上除了那些必要的時(shí)間其余也么有花太多的時(shí)間,本想改進(jìn)的第三個(gè)跑表功能由于在程序上出了點(diǎn)問題就沒花時(shí)間去做了,所以這次設(shè)計(jì)還不算很完美剛開始被拿到這個(gè)課題的,感覺挺迷茫的,當(dāng)時(shí)就只知道軟件編程要用到定時(shí)器,自己也就在這方面懂一點(diǎn),其余的關(guān)于硬件電路,液晶顯示電路的驅(qū)動(dòng)的什么都不知道,后來回來之后就看了一下51單片機(jī)課程設(shè)計(jì)那本書,在網(wǎng)上找了一些資料對(duì)硬件電路的設(shè)計(jì)有了一定的了解。在大腦里面有了一個(gè)大致的思路了,于是就把仿真軟件裝好開始了我的課設(shè)

11、。本次課設(shè)讓我對(duì)單片機(jī)有了更深入的認(rèn)識(shí),現(xiàn)代社會(huì)中幾乎處處都有單片機(jī)的影子,電子產(chǎn)品離不開它。課設(shè)提高了我的單片機(jī)實(shí)際運(yùn)用能力,也發(fā)現(xiàn)了自己以前學(xué)習(xí)的不扎實(shí),對(duì)問題不求甚解?,F(xiàn)在才知道“書到用時(shí)方少”??!學(xué)習(xí)還是得扎實(shí)。本次課設(shè)能順利完成,甚是感謝指導(dǎo)老師的幫助。 附錄1 電路原理附錄2 程序清單#include<reg52.h>#define uchar unsigned char#define uint unsigned intuchar table="TIME"sbit lcden=P34;sbit lcdrs=P35;sbit beep=P36;exte

12、rn 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;x>0;x-)for(y=110;y>0;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;P

13、0=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 init()lcden=0;write_com(0x38);write_com(0x0c);write_com(0x06);write_com(0x01);write_com(0x80);void display(uchar h,uchar m,u

14、char 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(0x30+(s/10);write_data(0x30+(s%10);write_data(' ');write_data(' ');write_data(&

15、#39; ');write_data(' ');void main()init();TMOD=0X01;TH0=(65535-50000)/256;TL0=(65535-50000)%256;EA=1;TR0=1;ET0=1;for(num=0;num<4;num+)write_data(tablenum);while(1)key1();key2();key3();if(ahour=hour&&aminite=minite&&second<10)beep=beep;if(F_k1=0&F_k3=0)display(ho

16、ur,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 k

17、3=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

18、_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 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)ase

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論