數(shù)電課程設計基于AT89S51單片機的 多功能數(shù)字鐘的設計_第1頁
數(shù)電課程設計基于AT89S51單片機的 多功能數(shù)字鐘的設計_第2頁
數(shù)電課程設計基于AT89S51單片機的 多功能數(shù)字鐘的設計_第3頁
數(shù)電課程設計基于AT89S51單片機的 多功能數(shù)字鐘的設計_第4頁
數(shù)電課程設計基于AT89S51單片機的 多功能數(shù)字鐘的設計_第5頁
已閱讀5頁,還剩14頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、課程設計任務書學生姓名: * 專業(yè)班級:電子科學與技術0803班指導教師: * 工作單位: 信息工程學院 題 目: 多功能數(shù)字鐘的設計 初始條件:本設計既可以使用集成譯碼器、計數(shù)器、定時器、脈沖發(fā)生器和必要的門電路等。本設計也可以使用單片機系統(tǒng)構建多功能數(shù)字鐘。用數(shù)碼管顯示時間計數(shù)值。要求完成的主要任務: (包括課程設計工作量及技術要求,以及說明書撰寫等具體要求)1、課程設計工作量:1周。2、技術要求: 設計一個數(shù)字鐘。要求用六位數(shù)碼管顯示時間,格式為00:00:00。具有60進制和24進制(或12進制)計數(shù)功能,秒、分為60進制計數(shù),時為24進制(或12進制)計數(shù)。有譯碼、七段數(shù)碼顯示功能,

2、能顯示時、分、秒計時的結果。設計提供連續(xù)觸發(fā)脈沖的脈沖信號發(fā)生器,具有校時單元、鬧鐘單元和整點報時單元。確定設計方案,按功能模塊的劃分選擇元、器件和中小規(guī)模集成電路,設計分電路,畫出總體電路原理圖,闡述基本原理。3、查閱至少5篇參考文獻。按武漢理工大學課程設計工作規(guī)范要求撰寫設計報告書。全文用a4紙打印,圖紙應符合繪圖規(guī)范。時間安排:1、 2010 年 6 月 28 日集中,作課設具體實施計劃與課程設計報告格式的要求說明。2、 2010 年 6 月 29 日,查閱相關資料,學習電路的工作原理。2、 2010 年 6 月 30 日 至 2010 年 7 月 1 日,方案選擇和電路設計。2、 20

3、10 年 6 月 30 日 至 2010 年 7 月 1 日,電路調(diào)試和設計說明書撰寫。3、 2010 年 7 月 2 日上交課程設計成果及報告,同時進行答辯。課設答疑地點:鑒主13樓電子科學與技術實驗室。指導教師簽名: 年 月 日系主任(或責任教師)簽名: 年 月 日摘要數(shù)字鐘是一種用數(shù)字電路技術實現(xiàn)時、分、秒計時的裝置,與機械式時鐘相比具有更高的準確性和直觀性,且無機械裝置,具有更更長的使用壽命,因此得到了廣泛的使用。本文基于單片機技術原理,以單片機at89s51作為核心控制器,通過硬件電路的制作以及軟件程序的編制,設計制作出一個數(shù)字時鐘系統(tǒng)。本文設計的系統(tǒng)要求可以對時、分、秒進行動態(tài)掃描

4、顯示計時,還具有整點提醒和鬧鈴功能。該電路系統(tǒng)采用at89s51單片機作為核心,功耗小,能在3v的低壓工作,電壓可選用35v電壓供電。本文從硬件電路到單片機控制器再到微處理器程序進行了一系列的設計,最終將各模塊整合到proteus中進行仿真,最終在proteus中仿真的結果令人滿意。關鍵字:at89s51,動態(tài)掃描abstractdigital clock is a digital circuit technology with the hours, minutes, seconds, timing devices, and mechanical clock higher than the a

5、ccuracy and intuitive, and no mechanical devices, with more longer life, so be widespread use. based on principles of scm technology to mcu at89s51 as the core controller, through hardware design and software programming for the design to produce a digital clock system. system requirements for this

6、design can be hours, minutes, seconds, and dynamic scanning display timing, and also has alarm function to remind the whole point. the circuit system uses at89s51 microcontroller as a core, low power, low-voltage work in 3v, the voltage can choose 3 5v supply voltage.this single chip controller from

7、 the hardware circuit to process and then to a series of microprocessor design, the module will eventually be integrated into the proteus in the simulation, the final in the proteus in the simulation results are satisfactory. keywords: at89s51, dynamic scanning設計目的設計一個數(shù)字電子鐘,使它滿足以下要求: 設計一個數(shù)字鐘。要求用六位數(shù)碼

8、管顯示時間,格式為00:00:00。具有60進制和24進制(或12進制)計數(shù)功能,秒、分為60進制計數(shù),時為24進制(或12進制)計數(shù)。有譯碼、七段數(shù)碼顯示功能,能顯示時、分、秒計時的結果。設計提供連續(xù)觸發(fā)脈沖的脈沖信號發(fā)生器,具有校時單元、鬧鐘單元和整點報時單元。方案設計與論證.設計方向選擇本數(shù)字鐘的設計可以采用門電路結合其他芯片來組建數(shù)字鐘,但考慮到在使用門電路的過程中使用的器件和芯片會很多,接法比較復雜,而且對于有些要求如整點報時和鬧鈴實現(xiàn)會有點困難。所以選擇門電路來設計多功能時鐘會比較復雜和繁瑣。本次設計還可以使用單片機來設計電路,相對于門電路來說單片機的設計比較簡單,而且功能比較全面

9、,但、編寫程序會是單片機的一個難點。時鐘芯片的選擇方案和論證直接采用單片機定時計數(shù)器提供秒的信號,使用程序?qū)崿F(xiàn)年、月、日、星期、時、分、秒計數(shù)。采用此種方案雖然存在時間誤差,但是可以減少芯片的使用,節(jié)約成本,所以采用此方案。電路設計最終方案決定綜上各方案所述,對此次作品的方案選定:采用at89s52作為主控制系統(tǒng);使用內(nèi)部時鐘電路外接晶振提供時鐘震蕩電路;顯示方法采用 led數(shù)碼管動態(tài)掃描方法。圖(1)為本次設計的總電路圖: 圖(1) 設計總電路圖部分電路的設計.led數(shù)碼管電路設計本次設計中我們采用了8個共陽led7段數(shù)碼管構成了數(shù)碼顯示電路,其中位選接在單片機的p0口,而在實際之中我們會在

10、之間接一個鎖存器,實現(xiàn)電流的放大,不然數(shù)碼管會很暗,影響我們的觀察。本設計中鎖存器使用的是74hc573,其引腳圖和功能表如圖(2)所示。數(shù)碼管的段選接在單片機的p口。電路圖如圖(3)所示: 圖(2)74hc573引腳圖和功能表 圖(3)led數(shù)碼管顯示電路.蜂鳴器報時系統(tǒng)設計本設計用報時和鬧鈴采用的是蜂鳴器組成的發(fā)聲電路,蜂鳴器接在單片機的口,在之間接一個三極管實現(xiàn)電流的放大,這樣才可以正常的發(fā)出聲音。其部分電路圖如圖()所示:圖()蜂鳴器電路圖在這個電路中我們選擇的三極管是pnp三極管8550,可以有效地完成我們所需要的功能。程序設計.程序流程圖我們采用的是c語言編的,其流程圖如圖(5)所

11、示:開始初始化整點報時?蜂鳴器響鬧鈴?調(diào)用顯示函數(shù)按鍵功能調(diào)節(jié) 圖(5)程序流程圖語言源程序#include unsigned char code displaycode=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90;unsigned char hour,minute,second;unsigned char clockhour,clockminute;unsigned int num;unsigned char select,oneminute;bit bdata modeselect;void delay();void display(

12、unsigned char temp,unsigned char mode);void sound() while(num2000) p3_0=0; p3_0=1; void initial()p0=0;tmod=0x22;ie=0xcf;it0=1;it1=1;t2con=0;rcap2l=0xf0;rcap2h=0x1f;th2=0x1c;tl2=0xf0;ip=0x06;th0=0x48;tl0=0x48;th1=0x48; tr0=1; pcon=0x01; hour=12;minute=0;second=0;num=0;select=0;clockhour=12;clockminut

13、e=0;modeselect=0; void interrupt0()interrupt 0 using 3 tr1=1; select+; if(select=7) select=0; if(select=1) et2=1;oneminute=second-1;void timer0()interrupt 1 using 3num+;if(num=5000)num=0;second+; if(second=60) minute+;second=0; if(minute=60) hour+;minute=0; if(hour=24) hour=0;void interrupt1()interr

14、upt 2 using 3 oneminute=second-1; modeselect=0; et2=!et2; switch(select) case 4:hour+;if(hour=24)hour=0;break;case 5:minute+;if(minute=60)minute=0;break;case 6:second+;if(second=60)second=0;break;case 2:clockhour+;if(clockhour=24)clockhour=0;break;case 3:clockminute+;if(clockminute=60)clockminute=0;

15、break; default:break;void timer1()interrupt 3 using 3if(select)if(second=oneminute)select=0;tr1=0;void timer2()interrupt 5 using 3sound();tf2=0;if(minute!=clockminute&hour=clockhour)tr2=0;void delay()unsigned char i=255;while(-i);void display(unsigned char temp,unsigned char mode) if(temp=4|temp=2)

16、p0=0; else p0=1; if(mode) p1=displaycodehour/10; else p1=displaycodeclockhour/10; delay(); if(temp=4|temp=2) p0=0; else p0=2; if(mode) p1=displaycodehour%10; else p1=displaycodeclockhour%10; delay(); if(temp=1|temp=2|temp=3) p0=0; else p0=4; p1=0xbf; delay(); if(temp=5|temp=3) p0=0; else p0=8; if(mo

17、de) p1=displaycodeminute/10; else p1=displaycodeclockminute/10; delay(); if(temp=5|temp=3) p0=0; else p0=16; if(mode) p1=displaycodeminute%10; else p1=displaycodeclockminute%10; delay(); if(temp=1|temp=2|temp=3) p0=0; else p0=32; p1=0xbf; delay(); if(temp=6) p0=0; else p0=64; if(mode) p1=displaycode

18、second/10; else p1=displaycode0; delay(); if(temp=6) p0=0; else p0=128; if(mode) if(et2) p1=displaycodesecond%10+128;elsep1=displaycodesecond%10; else p1=displaycode0; delay();void main()initial();sound();while(1)switch(select) case 0: display(0,1); break;case 1:if(num=2500) display(1,0); else displ

19、ay(0,0); break; case 2:if(num=2500) display(2,0); else display(0,0); break; case 3:if(num=2500) display(3,0); else display(0,0); break; case 4:if(num=2500) display(4,1); else display(0,1); break; case 5:if(num=2500) display(5,1); else display(0,1); break; case 6:if(num=2500) display(6,1); else displ

20、ay(0,1); break; default:break;if(second=0)if(minute=0|minute=30)sound(); if(minute=clockminute&hour=clockhour) tr2=1; modeselect=1;if(modeselect=1&hour=clockhour&!(minute-clockminute)%5) tr2=1;電路的設計與仿真我們使用的仿真軟件是,系統(tǒng)的仿真圖如圖()所示:圖()系統(tǒng)仿真圖心得與體會在此次的數(shù)字鐘設計過程中,更進一步地熟悉了芯片的結構及掌握了各芯片的工作原理和其具體的使用方法。每次課程設計是一次難得的鍛煉機會,讓我們能夠充分利用所學過的理論知識還有自己

溫馨提示

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

評論

0/150

提交評論