基于單片機的電子時鐘6位LED數(shù)碼管顯示_第1頁
基于單片機的電子時鐘6位LED數(shù)碼管顯示_第2頁
基于單片機的電子時鐘6位LED數(shù)碼管顯示_第3頁
基于單片機的電子時鐘6位LED數(shù)碼管顯示_第4頁
基于單片機的電子時鐘6位LED數(shù)碼管顯示_第5頁
已閱讀5頁,還剩7頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、數(shù)碼管顯示電子時鐘設計一.功能要求1.數(shù)字電子時鐘最主要是LED數(shù)碼管顯示功能,以24小時為一個周期,顯示時間時、分、秒。2.具有校時功能,可以對時、進行單獨校對,使其校正到標準時間。二.方案論證1.數(shù)字時鐘方案數(shù)字時鐘是本設計的最主要的部分。根據(jù)需要,可利用兩種方案實現(xiàn)。方案一:本方案采用Dallas公司的專用時鐘芯片DS12887A。該芯片內部采用石英晶體振蕩器,其芯片精度不大于10ms/年,且具有完備的時鐘鬧鐘功能,因此,可直接對其以用于顯示或設置,使得軟件編程相對簡單。為保證時鐘在電網(wǎng)電壓不足或突然掉電等突發(fā)情況下仍能正常工作,芯片內部包含鋰電池。當電網(wǎng)電壓不足或突然掉電時,系統(tǒng)自動轉

2、換到內部鋰電池供電系統(tǒng)。而且即使系統(tǒng)不上電,程序不執(zhí)行時,鋰電池也能保證芯片的正常運行,以備隨時提供正確的時間。方案二:本方案完全用軟件實現(xiàn)數(shù)字時鐘。原理為:在單片機內部存儲器設三個字節(jié)分別存放時鐘的時、分、秒信息。利用定時器與軟件結合實現(xiàn)1秒定時中斷,每產生一次中斷,存儲器內相應的秒值加1;若秒值達到60,則將其清零,并將相應的分字節(jié)值加1;若分值達到60,則清零分字節(jié),并將時字節(jié)值加1;若時值達到24,則將十字節(jié)清零。該方案具有硬件電路簡單的特點。但由于每次執(zhí)行程序時,定時器都要重新賦初值,所以該時鐘精度不高。而且,由于是軟件實現(xiàn),當單片機不上電,程序不執(zhí)行時,時鐘將不工作?;谟布娐返?/p>

3、考慮,本設計采用方案二完成數(shù)字時鐘的功能。2.數(shù)碼管顯示方案方案一:靜態(tài)顯示。所謂靜態(tài)顯示,就是當顯示器顯示某一字符時,相應的發(fā)光二極管恒定的導通或截止。該方式每一位都需要一個8 位輸出口控制。靜態(tài)顯示時較小的電流能獲得較高的亮度,且字符不閃爍。但當所顯示的位數(shù)較多時,靜態(tài)顯示所需的I/O口太多,造成了資源的浪費。方案二:動態(tài)顯示。所謂動態(tài)顯示就是一位一位的輪流點亮各個位,對于顯示器的每一位來說,每隔一段時間點亮一次。利用人的視覺暫留功能可以看到整個顯示,但必須保證掃描速度足夠快,字符才不閃爍。顯示器的亮度既與導通電流有關,也于點亮時間與間隔時間的比例有關。調整參數(shù)可以實現(xiàn)較高穩(wěn)定度的顯示。動

4、態(tài)顯示節(jié)省了I/O口,降低了能耗。從節(jié)省I/O口和降低能耗出發(fā),本設計采用方案二。3 .計時方案利用AT89S51單片機內部的定時/計數(shù)器進行中斷時,配合軟件延時實現(xiàn)時、分、秒的計時。該方案節(jié)省硬件成本,且能使讀者在定時/計數(shù)器的使用、中斷及程序設計方面得到鍛煉與提高,對單片機的指令系統(tǒng)能有更深入的了解,從而對學好單片機技術這門課程起到一定的作用。4. 控制方案AT89S51的P0口和P2口外接由八個LED數(shù)碼管(LED8LED1)構成的顯示器,用P0口作LED的段碼輸出口,P2口作八個LED數(shù)碼管的位控輸出線,P1口外接四個按鍵A、B、C構成鍵盤電路。AT89S51 是一種低功耗,高性能的C

5、MOS 8位微型計算機。它帶有8K Flash 可編程和擦除的只讀存儲器(EPROM),該器件采用ATMEL的高密度非易失性存儲器技術制造,與工業(yè)上標準的80C51和80C52的指令系統(tǒng)及引腳兼容,片內Flash 集成在一個芯片上,可用與解決復雜的問題,且成本較低。簡易電子鐘的功能不復雜,采用其現(xiàn)有的I/O便可完成,所以本設計中采用此的設計方案。三.系統(tǒng)硬件電路的設計根據(jù)以上的電子時鐘的設計要求可以分為以下的幾個硬件電路模塊:單片機模塊、數(shù)碼顯示模塊與按鍵模塊,模塊之間的關系圖如下面得方框電路圖1所示 圖1 硬件電路方框圖1. 單片機模塊設計11 芯片分析AT89C51單片機引腳圖如下:圖2

6、AT89C51引腳圖MCS-51單片機是標準的40引腳雙列直插式集成電路芯片,其各引腳功能如下:VCC:+5V電源。VSS:接地。RST:復位信號。當輸入的復位信號延續(xù)兩個機器周期以上的高電平時即為有效,用完成單片機的復位初始化操作。XTAL1和XTAL2:外接晶體引線端。當使用芯片內部時鐘時,此二引線端用于外接石英晶體和微調電容;當使用外部時鐘時,用于接外部時鐘脈沖信號。P0口:P0口為一個8位漏極開路雙向I/O口,當作輸出口使用時,必須接上拉電阻才能有高電平輸出;當作輸入口使用時,必須先向電路中的鎖存器寫入“1”,使FET截止,以避免鎖存器為“0”狀態(tài)時對引腳讀入的干擾。P1口:P1口是一

7、個內部提供上拉電阻的8位雙向I/O口,它不再需要多路轉接電路MUX;因此它作為輸出口使用時,無需再外接上拉電阻,當作為輸入口使用時,同樣也需先向其鎖存器寫“1”,使輸出驅動電路的FET截止。P2口:P2口電路比P1口電路多了一個多路轉接電路MUX,這又正好與P0口一樣。P2口可以作為通用的I/O口使用,這時多路轉接電路開關倒向鎖豐存器Q端。P3口:P3口特點在于,為適應引腳信號第二功能的需要,增加了第二功能控制邏輯。當作為I/O口使用時,第二功能信號引線應保持高電平,與非門開通,以維持從鎖存器到輸出端數(shù)據(jù)輸出通路的暢通。當輸出第二功能信號時,該位應應置“1”,使與非門對第二功能信號的輸出是暢通

8、的,從而實現(xiàn)第二功能信號的輸出。MCS-51單片機共有4個雙向的8位并行I/O端口(Port),分別記作P0-P3,共有32根口線,各口的每一位均由鎖存器、輸出驅動器和輸入緩沖器所組成。實際上P0-P3已被歸入特殊功能寄存器之列。這四個口除了按字節(jié)尋址以外,還可以按位尋址。由于它們在結構上有一些差異,故各口的性質和功能有一些差異。P0口是雙向8位三態(tài)I/O口,此口為地址總線(低8位)及數(shù)據(jù)總線分時復用口,可驅動8個LS型TTL負載。P1口是8位準雙向I/O口,可驅動4個LS 型負載。P2口是8位準雙向I/O口,與地址總線(高8位)復用,可驅動4個LS型TTL負載。P3口是8位準雙向I/O口,是

9、雙功能復用口,可驅動4個LS型TTL負載。P1口、P2口、P3口各I/O口線片內均有固定的上拉電阻,當這3個準雙向I/O口做輸入口使用時,要向該口先寫“1”,另外準雙向I/O口無高阻的“浮空”狀態(tài),故稱為雙向三態(tài)I/O 口。時鐘電路用于產生MCS-51單片機工作時所必需的時鐘信號。MCS-51單片機本身就是一個復雜的同步時序電路,為保證同步工作方式的實現(xiàn),MCS-51單片機應在唯一的時鐘信號控制下,嚴格地按時序執(zhí)行進行工作,而時序所研究的是指令執(zhí)行中各個信號的關系。在執(zhí)行指令時,CPU首先要到程序存儲器中取出需要執(zhí)行的指令操作碼,然后譯碼,并由時序電路產生一系列控制信號去完成指令所規(guī)定的操作。

10、CPU發(fā)出的時序信號有兩類,一類用于片內對各個功能部件的控制,這列信號很多。另一類用于片外存儲器或I/O端口的控制,這部分時序對于分析、設計硬件接口電路至關重要。這也是單片機應用系統(tǒng)設計者普遍關心的問題。1.2 數(shù)碼顯示模塊設計系統(tǒng)采用動態(tài)顯示方式,用P0口來控制LED數(shù)碼管的段控線,而用P2口來控制其位控線。動態(tài)顯示通常都是采用動態(tài)掃描的方法進行顯示,即循環(huán)點亮每一個數(shù)碼管,這樣雖然在任何時刻都只有一位數(shù)碼管被點亮,但由于人眼存在視覺殘留效應,只要每位數(shù)碼管間隔時間足夠短,就可以給人以同時顯示的感覺。圖3 數(shù)碼顯示電路1.3 按鍵模塊下圖為按鍵模塊電路原理圖,A為復位鍵,B為時鐘調控鍵,C為

11、分鐘調控鍵。 圖 4 按鍵模塊電路原理圖四系統(tǒng)程序的設計軟件設計分析顯示的效果為動態(tài)顯示,利用CPU控制數(shù)碼管顯示的選通和停止,通過定時器中斷不斷掃描,從而實現(xiàn)數(shù)據(jù)的動態(tài)顯示。在編程上,首先進行了初始化,定義程序的的入口地址以及中斷的入口地址,在主程序開始定義了一組固定單元用來儲存計數(shù)的時.分.秒,在顯示初值之后,進入主循環(huán)。在主程序中,對不同的按鍵進行掃描,實現(xiàn)秒表,時間調整,復位清零等功能,系統(tǒng)總流程圖如下圖5:圖 5 系統(tǒng)總體流程圖五.調試及性能分析電子時鐘主要的設計要求是能夠實現(xiàn)時鐘的一般功能,以及包括時間的調整功能,這個基于單片機的電子時鐘基本上實現(xiàn)了上述功能,能夠通過時間調整電路對

12、時間進行調整以及復位。下述為18:30:30的仿真圖:首先確保各器件的完好性,其次檢測各芯片的電源線和地線是否接觸良好,然后焊接器件,接好電源用萬用表檢測各電源端、地端的狀態(tài)是否正常。檢查無誤后插上AT89S51并燒寫一簡易的程序,觀察電路是否能協(xié)同工作。最后燒寫工作程序,根據(jù)顯示現(xiàn)象調試程序直至成功。上電運行時,數(shù)碼管開始顯示00:00:00,時鐘開始走時。程序的編寫和調試是一個比較復雜的過程。由于對C語言知識的薄弱,所以在編譯過程中總是有很多語法上的錯誤,但是在和同學一起討論研究后,程序是編寫出來了,但結合到硬件調試中又出現(xiàn)各種問題。在調試過程中出現(xiàn)了很多問題,在第一次把程序燒到單片機里,

13、通電運行時,雖然控制時、分、秒的按鈕能夠對數(shù)碼管顯示進行調整,但是數(shù)碼管全亮,不能通過按鍵變化顯示,更改程序中的問題,但是調時設置又沒有用了。經過檢查及修改,終于完成了所做的設計,不容易啊。六控制源程序清單#include<reg51.h>#include<absacc.h>#define uchar unsigned char#define uint unsigned int/*七段共陰管顯示定義*/uchar code dispcode =0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F, 0xBF,0x86,0xC

14、B,0xCF,0xEF,0xED,0xFD,0x87,0xFF,0xDF;/*定義并初始化變量*/uchar seconde=0;uchar minite=0;uchar hour=12;uchar mstcnt=0;sbit P1_0=P10; / second 調整定義sbit P1_1=P11; /minite調整定義sbit P1_2=P12; /hour調整定義/*函數(shù)聲明*/void delay(uchar k ); /延時子程序void time_pro( ); /時間處理子程序void display( ); /顯示子程序void keyscan( ); /鍵盤掃描子程序/*/

15、*延時子程序*/*/void delay (uchar k)uchar j;while(k-)!=0) for(j=0;j<125;j+) ; /*/*時間處理子程序*/*/void time_pro( void) if(seconde=60) /秒鐘設為60進制 seconde=0; minite+; if( minite=60) /分鐘設為60進制 minite=0; hour+; if(hour=24) /時鐘設為24進制 hour=0; /*/* 顯示子程序*/*/void display(void) P2=0xfe; P0=dispcodehour/10; /顯示小時的十位 d

16、elay(4); P2=0xfd; P0=(dispcode(hour%10)|0X80; /顯示小時的個位 delay(4); P2=0xfb; P0=dispcodeminite/10; /顯示分的十位 delay(4); P2=0xf7; P0=(dispcodeminite%10)|0X80; /顯示分的個位 delay(4); P2=0xef; P0=dispcodeseconde/10; /顯示秒的十位 delay(4); P2=0xdf; P0=dispcodeseconde%10; /顯示秒的個位 delay(4);/*/*鍵盤掃描子程序*/*/void keyscan (vo

17、id) if(P1_0=0) /按鍵1秒的調整 delay(30); if(P1_0=0) seconde+; if(seconde=60) seconde=0; if(P1_1=0) /按鍵2分的調整 delay(30); if(P1_1=0) minite+; if(minite=60) minite=0; if(P1_2=0) /按鍵3小時的調整 delay(30); if(P1_2=0) hour+; if(hour=24) hour=0; void timer0(void) interrupt 1 using 0 /定時器0方式1,50ms中斷一次 TH0=0x3c;TMOD = 0x11; mstcnt+; if(mstcnt=20) seconde+; mstcnt=0; /注意點。對計數(shù)單元的清零十分的重要,本次調試中就是 /因為忽略了這一點,給我早成了很大的被動。/*/*主函數(shù)*

溫馨提示

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

評論

0/150

提交評論