基于c語言的數(shù)字電子鐘設(shè)計(jì)_第1頁
基于c語言的數(shù)字電子鐘設(shè)計(jì)_第2頁
基于c語言的數(shù)字電子鐘設(shè)計(jì)_第3頁
基于c語言的數(shù)字電子鐘設(shè)計(jì)_第4頁
基于c語言的數(shù)字電子鐘設(shè)計(jì)_第5頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、-一、功能要求整體上要考慮:構(gòu)造簡單大方、布局美觀合理、操作方便易懂、盡量防止各元器件之間的相互影響。1、 以AT89C51單片機(jī)進(jìn)展實(shí)現(xiàn)秒 分 時(shí)上的正常顯示和進(jìn)位,其中顯示功能由單片機(jī)控制共陰極數(shù)碼管來實(shí)現(xiàn),數(shù)碼管進(jìn)展動(dòng)態(tài)顯示。2、 具有校時(shí)功能,按鍵控制電路其中時(shí)鍵、分鍵、秒鍵三個(gè)鍵分別控制時(shí) 分 秒時(shí)間的調(diào)整。按秒鍵秒加1;按分鍵分加1;按時(shí)鍵時(shí)加1.二、硬件設(shè)計(jì)1、整體設(shè)計(jì)框圖2、管腳功能描述1 *TAL119 腳和*TAL218 腳:振蕩器輸入輸出端口,外接晶振電路。2RST/Vpd9 腳為復(fù)位輸入端口,外接電阻電容組成的復(fù)位電路。3P0口8個(gè)端口依次和LED顯示器的A、B、C、D

2、、E、F、G和Dp端口對(duì)應(yīng)連接,實(shí)現(xiàn)對(duì)顯示器的片選功能。4P2.0P2.5依次與LED顯示器的1、2、3、4、5、6一一連接,實(shí)現(xiàn)對(duì)顯示器的為選功能。(5)P3.0P3.2依次與按鍵電路的秒、分、時(shí)三個(gè)按鍵相連接。通過按鍵實(shí)現(xiàn)對(duì)時(shí)間的調(diào)試功能。3、整體原理設(shè)計(jì)其計(jì)時(shí)周期為24小時(shí),顯示滿刻度為23時(shí)59分59秒,另外還有校時(shí)功能。整個(gè)設(shè)計(jì)圖由晶振電路、復(fù)位電路、AT89C51單片機(jī)、鍵盤控制電路組成。顯示電路將“時(shí)、“分、“秒通過七段顯示器顯示出來,6個(gè)數(shù)碼管的段選接到單片機(jī)的P0口,位選接到單片機(jī)的P2口。數(shù)碼管按照數(shù)碼管動(dòng)態(tài)顯示的工作原理工作。把定時(shí)器定時(shí)時(shí)間設(shè)為50ms,則計(jì)數(shù)溢出20次

3、即得時(shí)鐘計(jì)時(shí)最小單位秒,而20次計(jì)數(shù)可用軟件方法實(shí)現(xiàn),每累計(jì)60秒進(jìn)1分,每累計(jì)60分鐘,進(jìn)1小時(shí)。時(shí)采用24進(jìn)制計(jì)時(shí)器,可實(shí)現(xiàn)對(duì)一天24小時(shí)的累計(jì)。校時(shí)電路時(shí)用來對(duì)“時(shí)、“分、“秒顯示數(shù)字進(jìn)展校對(duì)調(diào)整,時(shí)分秒三個(gè)控制鍵分別接單片機(jī)的p3.2、p3.1、p3.0進(jìn)展控制。按一下秒鍵秒單元就加1 ,按一下分鍵分就加1,按一下時(shí)鍵時(shí)就加1。4、晶振電路單片機(jī)的時(shí)鐘產(chǎn)生方法有兩種:部時(shí)鐘方式和外部時(shí)鐘方式。本系統(tǒng)中AT89C51單片機(jī)采用部時(shí)鐘方式。采用外接晶體和電容組成的并聯(lián)諧振回路。其電路圖如下:5、顯示電路LED顯示器是現(xiàn)在最常用的顯示器之一發(fā)光二極管LED分段式顯示器由7條線段圍成8字型,每

4、一段包含一個(gè)發(fā)光二極管。外加正向電壓時(shí)二極管導(dǎo)通,發(fā)出清晰的光。只要按規(guī)律控制各發(fā)光段亮、滅,就可以顯示各種字形或符號(hào)。顯示電路顯示模塊需要實(shí)時(shí)顯示當(dāng)前的時(shí)間,即時(shí)、分、秒,因此需要6個(gè)數(shù)碼管,采用動(dòng)態(tài)顯示方式顯示時(shí)間,其硬件連接方式如以下圖所示。6、鍵盤控制電路鍵盤可實(shí)現(xiàn)對(duì)時(shí)間的校對(duì),用三個(gè)按鍵來實(shí)現(xiàn)。按時(shí)鍵來調(diào)節(jié)小時(shí)的時(shí)間,按分鍵來調(diào)節(jié)分針的時(shí)間,按秒鍵來調(diào)節(jié)秒的時(shí)間。其電路連接圖如下:三、軟件設(shè)計(jì)1、主程序流程圖主程序是先開場,然后啟動(dòng)定時(shí)器,定時(shí)器啟動(dòng)后在進(jìn)展按鍵檢測,檢測完后,就可以顯示時(shí)間。主程序流程圖如下2、按鍵控制流程圖按鍵處理是先檢測秒按鍵是否按下,秒按鍵如果按下,秒就加1;

5、如果沒有按下,就檢測分按鍵是否按下,分按鍵如果按下,分就加1;如果沒有按下,就檢測時(shí)按鍵是否按下,時(shí)按鍵如果按下,時(shí)就加1;每一次按后都有一次延遲,所有檢測完后,就把時(shí)間顯示出來。 NYNYNY時(shí)加1顯示時(shí)間完畢開場秒按鍵按下.秒加1分按鍵按下.分加1時(shí)按鍵按下.3、 顯示電路流程圖由P2口進(jìn)展位選功能,進(jìn)展動(dòng)態(tài)顯示。時(shí)間顯示是先時(shí)個(gè)位計(jì)算顯示,然后是時(shí)十位計(jì)算顯示,再是分個(gè)位計(jì)算顯示,再然后是分十位顯示,再就是秒個(gè)位計(jì)算顯示,最后是秒十位顯示。每一位顯示后都有一個(gè)延時(shí)秒十位計(jì)算顯示完畢開場時(shí)個(gè)位計(jì)算顯示時(shí)十位計(jì)算顯示分個(gè)位計(jì)算顯示分十位計(jì)算顯示秒個(gè)位計(jì)算顯示4、中斷電路流程圖定時(shí)器中斷時(shí)是先

6、檢測1秒是否到,1秒如果到,秒單元就加1;如果沒到,就檢測1分鐘是否到,1分鐘如果到,分單元就加1;如果沒到,就檢測1小時(shí)是否到,1小時(shí)如果到,時(shí)單元就加1,如果沒到,就顯示時(shí)間。N等于24小時(shí)分單元清零,時(shí)單元加1NNNYY時(shí)單元清零時(shí)間顯示中斷返回開場一秒時(shí)間到.等于60秒等于60分秒單元加1秒單元清零,分單元加1YY四、系統(tǒng)測試1、測試容1能否實(shí)現(xiàn)正常的時(shí)間顯示默認(rèn)為走時(shí)狀態(tài),按24小時(shí)制分別顯示“時(shí)時(shí)分分秒秒六個(gè)數(shù)字,時(shí)間會(huì)按實(shí)際時(shí)間以秒為最少單位變化。2能否進(jìn)展正常的時(shí)間進(jìn)位 當(dāng)秒位為59時(shí),下一次秒位數(shù)字變化分位是否加1同時(shí)秒位變?yōu)?0;當(dāng)分位為59時(shí),下一次分位數(shù)字變化時(shí)位是否加

7、1同時(shí)分位變?yōu)?0;當(dāng)時(shí)位為23時(shí),下一次時(shí)位數(shù)字變化時(shí)為是否變?yōu)?0.假設(shè)滿足以上要求則時(shí)間進(jìn)位正常。3能否通過按鍵進(jìn)展時(shí)分秒的設(shè)定按秒鍵對(duì)秒進(jìn)展調(diào)整,按一下加一秒;按分鍵對(duì)分進(jìn)展調(diào)整,按一下加一分;按時(shí)鍵對(duì)時(shí)進(jìn)展調(diào)整,按一下加一小時(shí),從而到達(dá)快速設(shè)定時(shí)間的目的。假設(shè)滿足以上要求則符合方案要求。假設(shè)按一下連續(xù)加假設(shè)干位,則按鍵延時(shí)時(shí)間設(shè)置太短,可以通過增大延時(shí)時(shí)間進(jìn)展改進(jìn)。2、系統(tǒng)時(shí)鐘誤差分析電子鐘的走時(shí)誤差S=S1-S2,S1表示程序?qū)嶋H運(yùn)行計(jì)算所得的秒;S2表示客觀時(shí)間的標(biāo)準(zhǔn)秒。S0時(shí)表示電子鐘秒單元數(shù)值刷新滯后,即走時(shí)誤差為“慢;反之,S0即走時(shí)“慢。其誤差主要來源包括晶體頻率誤差,定

8、時(shí)器溢出誤差,延遲誤差。晶體頻率產(chǎn)生震蕩,容易產(chǎn)生走時(shí)誤差;定時(shí)器溢出的時(shí)間誤差,本應(yīng)這一秒溢出,但卻在下一秒溢出,造成走時(shí)誤差;延遲時(shí)間過長或過短,都會(huì)造成與基準(zhǔn)時(shí)間產(chǎn)生偏差,造成走時(shí)誤差。3、軟件調(diào)試仿真局部采用protus 7.5 professional軟件,可以很容易的實(shí)現(xiàn)各種系統(tǒng)的仿真。先進(jìn)展原理圖的繪制;繪制好后再選擇Keil軟件來生成.he*文件,選擇運(yùn)行,觀察顯示結(jié)果,根據(jù)顯示的結(jié)果和課題的要求再修改程序,再運(yùn)行查,直到滿足要求。4、 仿真圖/基于AT89C51單片機(jī)的電子鐘C語言程序*include*include*define uchar unsigned char*de

9、fine uint unsigned int/*七段共陰管顯示定義*/ uchar code dispcode =0*3F,0*06,0*5B,0*4F,0*66,0*6D,0*7D,0*07,0*7F,0*6F, 0*BF,0*86,0*CB,0*CF,0*EF,0*ED,0*FD,0*87,0*FF,0*DF;/*定義并初始化變量*/uchar seconde=0;uchar minite=0;uchar hour=12;uchar mstt=0;sbit P3_0=P30; / second 調(diào)整定義sbit P3_1=P31; /minite調(diào)整定義sbit P3_2=P32; /ho

10、ur調(diào)整定義/*函數(shù)聲明*/void delay(uchar k ); /延時(shí)子程序void time_pro( ); /時(shí)間處理子程序void display( ); /顯示子程序void keyscan( ); /鍵盤掃描子程序void init(); /定時(shí)子程序/*/*延時(shí)子程序*/*/void delay (uchar k)uchar j; while(k-)!=0) for(j=0;j125;j+) ; /*/*時(shí)間處理子程序*/*/void time_pro( void) if(seconde=60) /秒鐘設(shè)為60進(jìn)制 seconde=0; minite+; if( minit

11、e=60) /分鐘設(shè)為60進(jìn)制 minite=0; hour+; if(hour=24) /時(shí)鐘設(shè)為24進(jìn)制 hour=0; /*/* 顯示子程序*/*/void display(void) P2=0*fe; P0=dispcodehour/10; /顯示小時(shí)的十位 delay(4); P2=0*fd; P0=(dispcode(hour%10)|0*80; /顯示小時(shí)的個(gè)位 delay(4); P2=0*fb; P0=dispcodeminite/10; /顯示分的十位 delay(4); P2=0*f7; P0=(dispcodeminite%10)|0*80; /顯示分的個(gè)位 delay

12、(4); P2=0*ef; P0=dispcodeseconde/10; /顯示秒的十位 delay(4); P2=0*df; P0=dispcodeseconde%10; /顯示秒的個(gè)位 delay(4); /*/*鍵盤掃描子程序*/*/void keyscan (void) if(P3_0=0) /按鍵1秒的調(diào)整 delay(30); if(P3_0=0) seconde+; if(seconde=60) seconde=0; while(!P3_0); if(P3_1=0) /按鍵2分的調(diào)整 delay(30); if(P3_1=0) minite+; if(minite=60) minite=0; while(!P3_1); if(P3_2=0) /按鍵3小時(shí)的調(diào)整 delay(30); if(P3_2=0) hour+; if(hour=24) hour=0; while(!P3_2);void timer0(void) interrupt 1 using 0 /定時(shí)器0方式1,50ms中斷一次 TH0=0*3c;TMOD = 0*11; mstt+; if(mstt=20) seconde+; mstt=0; /對(duì)計(jì)數(shù)單元清零 /*/*定時(shí)子程序*/*/void ini

溫馨提示

  • 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)論