工程設(shè)計(jì)報(bào)告 電子鐘_第1頁
工程設(shè)計(jì)報(bào)告 電子鐘_第2頁
工程設(shè)計(jì)報(bào)告 電子鐘_第3頁
工程設(shè)計(jì)報(bào)告 電子鐘_第4頁
工程設(shè)計(jì)報(bào)告 電子鐘_第5頁
已閱讀5頁,還剩12頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、工程設(shè)計(jì)報(bào)告電子鐘班級: 學(xué)號: 姓名: 基于單片機(jī)的電子鐘設(shè)計(jì)簡介:電子鐘是一種利用數(shù)字電路來顯示秒、分、時(shí)的計(jì)時(shí)裝置,與傳統(tǒng)的機(jī)械鐘相比,它具有走時(shí)準(zhǔn)確、顯示直觀、無機(jī)械傳動裝置等優(yōu)點(diǎn),因而電子鐘得到廣泛應(yīng)用。隨著人們生活環(huán)境的不斷改善和美化,在許多場合可以看到數(shù)字電子鐘。功能:本作品是基于2051的電子時(shí)鐘,有時(shí)分秒,年月日,跑表等功能,手動校時(shí)的功能。一、原理說明:1、顯示原理:顯示部分主要器件為6位共陽紅色數(shù)碼管,位選驅(qū)動采用PNP型三極管驅(qū)動,列選采用74HC164串入并出驅(qū)動,單片機(jī)采用方式0串口通信,各端口配有限流電阻,驅(qū)動方式為掃描。2、鍵盤原理:按鍵S1單片機(jī)復(fù)位鍵、S2模

2、式切換。S3校時(shí)3、單片機(jī)系統(tǒng):采用AT89C2051為核心器件,并配合所有的必須電路,具有上電復(fù)位的功能,手動復(fù)位功能。AT89C2051二、使用說明:1、時(shí)鐘功能:上電后即顯示HELLO。兩秒后顯示初始時(shí)間2、查看年月日:在顯示時(shí)鐘狀態(tài)下按下S2即顯示年月日,兩秒后自動回到顯示時(shí)鐘狀態(tài)下3、秒表功能:在顯示時(shí)鐘狀態(tài)下連續(xù)按兩次S2鍵 即進(jìn)入秒表狀態(tài),此時(shí)按S3即可啟動,再次按S3即可暫停,按下S2清零,若在清零狀態(tài)下再次按下S2即推出秒表狀態(tài)進(jìn)入時(shí)鐘狀態(tài)4、校時(shí)功能:短按一次S3,即當(dāng)前年月日為閃爍狀態(tài),按動S2則相應(yīng)位位加1,按動S3則月位閃爍,依次類推。當(dāng)秒閃爍時(shí),按下S2為秒清零電路

3、圖:成品圖:程序:#include#include#define uchar unsigned char#define uint unsigned int#define y 100 /滅的時(shí)間#define z 200 /z-y 亮的時(shí)間void DISP(uchar i,j,k);void DISP1(uchar i,j,k);uchar year=0;uchar month=12;uchar day=31;uchar hour=23;uchar min=59;uchar sec=50;uchar ms=0;uchar bsec=0;uchar bmin=0;uchar m,n=0,temp

4、;sbit dip1=P15;/數(shù)碼管1sbit dip2=P14;/數(shù)碼管2sbit dip3=P13;/數(shù)碼管3sbit dip4=P12;/數(shù)碼管4sbit dip5=P11;/數(shù)碼管5sbit dip6=P10;/數(shù)碼管6sbit key1=P32;/調(diào)整按鍵sbit key2=P37;/加1按鍵uchar time=20;uchar code numtab10=0x03,0x3F,0x45,0x15,0x39,0x91,0x81,0x37,0x01,0x11;uchar code monthtab13=0,32,29,32,31,32,31,32,32,31,32,31,32;voi

5、d Delay_ms(uint i) /函數(shù)void Delay_ms(uint i);實(shí)現(xiàn)功能:進(jìn)行毫秒延時(shí)unsigned int j;for(;i0;i-) for(j=0;j=60)sec=0;min+;if(min=60)min=0;hour+;if(hour=24)hour=0;day+;if(day=monthtabmonth)day=1;month+;if(month=13)month=1;year+;if(year=100)year=0;void timer1(void) interrupt 3 /函數(shù)void timer1(void) interrupt 1 ;實(shí)現(xiàn)功能:定

6、時(shí)中斷TH1 = 0x0D8; TL1 = 0x0F0;ms+;if(ms=100)ms=0;bsec+;if(bsec=60)bsec=0;bmin+;if(bmin=60)bmin=0;void jiaoshi (void) /函數(shù)void jiaoshi(void) ;實(shí)現(xiàn)功能: 校時(shí)uchar m;Delay_ms(20);if(key1=0)while(key1=0);/等待按鍵釋放m=0;while(1)m+;if(m=y&m=z)m=0;DISP(year,month,day);if(key2=0)Delay_ms(20);if(key2=0)while(key2=0);/等待按

7、鍵釋放year+;if(year=100)year=0;if(key1=0)Delay_ms(20);if(key1=0)while(key1=0);/等待按鍵釋放break; m=0;while(1)m+;if(m=y&m=z)m=0;DISP(year,month,day);if(key2=0)Delay_ms(20);if(key2=0)while(key2=0);/等待按鍵釋放month+;if(month=13)month=1;if(key1=0)Delay_ms(20);if(key1=0)while(key1=0);/等待按鍵釋放break; m=0;while(1)m+;if(

8、m=y&m=z)m=0;DISP(year,month,day);if(key2=0)Delay_ms(20);if(key2=0)while(key2=0);/等待按鍵釋放day+;if(day=monthtabmonth)day=1;if(key1=0)Delay_ms(20);if(key1=0)while(key1=0);/等待按鍵釋放break; m=0;while(1)m+;if(m=y&m=z)m=0;DISP(hour,min,sec); if(key2=0)Delay_ms(20);if(key2=0)while(key2=0);/等待按鍵釋放hour+;if(hour=24

9、)hour=0;if(key1=0)Delay_ms(20);if(key1=0)while(key1=0);/等待按鍵釋放break; m=0;while(1)m+;if(m=y&m=z)m=0;DISP(hour,min,sec); if(key2=0)Delay_ms(20);if(key2=0)while(key2=0);/等待按鍵釋放min+;if(min=60)min=0;if(key1=0)Delay_ms(20);if(key1=0)while(key1=0);/等待按鍵釋放break; m=0;while(1)m+;if(m=y&m=z)m=0;DISP(hour,min,s

10、ec);if(key2=0)Delay_ms(20);if(key2=0)while(key2=0);/等待按鍵釋放sec=0;if(key1=0)Delay_ms(20);if(key1=0)while(key1=0);/等待按鍵釋放break; /函數(shù)void DISP1() ;實(shí)現(xiàn)功能:刷新顯示器/void DISP1(uchar i,j,k)P1=255;SBUF=numtabi/10;while(TI=0);TI=0;P1=j;/打開第相應(yīng)數(shù)碼管Delay_ms(1);P1=255;SBUF=numtabi%10;while(TI=0);TI=0;P1=k;/打開第相應(yīng)數(shù)碼管Dela

11、y_ms(1);P1=255;/函數(shù)void DISP() ;實(shí)現(xiàn)功能:刷新顯示器/void DISP(uchar i,j,k)DISP1(i,0xDF,0XEF);/ 1101 1111 1110 1111DISP1(j,0xF7,0XFB);/ 1111 0111 1111 1011DISP1(k,0xFD,0XFE); /1111 1101 1111 1110/函數(shù)void main() ;實(shí)現(xiàn)功能:主函數(shù)/void main()init();/初始化系統(tǒng)temp=0;for(m=0;m200;m+) /顯示問候語P1=255;SBUF=0x29;while(TI=0);TI=0;P1=

12、0xEF;/打開第相應(yīng)數(shù)碼管Delay_ms(1);P1=255;SBUF=0xC1;while(TI=0);TI=0;P1=0xF7;/打開第相應(yīng)數(shù)碼管Delay_ms(1);P1=255;SBUF=0xCB;while(TI=0);TI=0;P1=0xFB;/打開第相應(yīng)數(shù)碼管Delay_ms(1);P1=255;SBUF=0xCB;while(TI=0);TI=0;P1=0xFD;/打開第相應(yīng)數(shù)碼管Delay_ms(1);P1=255;SBUF=0x03;while(TI=0);TI=0;P1=0xFE;/打開第相應(yīng)數(shù)碼管Delay_ms(1);init();/初始化系統(tǒng)while(1)l

13、oop1:if(key1=0)jiaoshi();DISP(hour,min,sec);if(key2=0)Delay_ms(20);if(key2=1)goto loop1;else while(key2=0);/等待加1按鍵松開m=255;loop2:DISP(year,month,day);m=m-1;if(key2=0)Delay_ms(20);if(key2=0)while(key2=0);/等待按鍵釋放temp=0;while(1)DISP(bmin,bsec,ms);if(key2=0)Delay_ms(20);if(key2=0)while(key2=0);ms=0;bsec=0;bmin=0; goto loop1;if(key1=0)Delay_ms(20);if(key1=0)while(key1=0);TR1=1;while(1) DISP(bmin,bsec,ms);if(key2=0&ms=0&bmin=0&bsec=0)Delay_ms(20);if(key2=0)while(key2=0);TR1=0; goto

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論