




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、數(shù)碼管顯示電子時鐘設(shè)計(jì)一.功能要求1.數(shù)字電子時鐘最主要是LED數(shù)碼管顯示功能,以24小時為一個周期,顯示時間時、分、秒。2.具有校時功能,可以對時、進(jìn)行單獨(dú)校對,使其校正到標(biāo)準(zhǔn)時間。二.方案論證1.數(shù)字時鐘方案數(shù)字時鐘是本設(shè)計(jì)的最主要的部分。根據(jù)需要,可利用兩種方案實(shí)現(xiàn)。方案一:本方案采用Dallas公司的專用時鐘芯片DS12887A。該芯片內(nèi)部采用石英晶體振蕩器,其芯片精度不大于10ms/年,且具有完備的時鐘鬧鐘功能,因此,可直接對其以用于顯示或設(shè)置,使得軟件編程相對簡單。為保證時鐘在電網(wǎng)電壓不足或突然掉電等突發(fā)情況下仍能正常工作,芯片內(nèi)部包含鋰電池。當(dāng)電網(wǎng)電壓不足或突然掉電時,系統(tǒng)自動轉(zhuǎn)
2、換到內(nèi)部鋰電池供電系統(tǒng)。而且即使系統(tǒng)不上電,程序不執(zhí)行時,鋰電池也能保證芯片的正常運(yùn)行,以備隨時提供正確的時間。方案二:本方案完全用軟件實(shí)現(xiàn)數(shù)字時鐘。原理為:在單片機(jī)內(nèi)部存儲器設(shè)三個字節(jié)分別存放時鐘的時、分、秒信息。利用定時器與軟件結(jié)合實(shí)現(xiàn)1秒定時中斷,每產(chǎn)生一次中斷,存儲器內(nèi)相應(yīng)的秒值加1;若秒值達(dá)到60,則將其清零,并將相應(yīng)的分字節(jié)值加1;若分值達(dá)到60,則清零分字節(jié),并將時字節(jié)值加1;若時值達(dá)到24,則將十字節(jié)清零。該方案具有硬件電路簡單的特點(diǎn)。但由于每次執(zhí)行程序時,定時器都要重新賦初值,所以該時鐘精度不高。而且,由于是軟件實(shí)現(xiàn),當(dāng)單片機(jī)不上電,程序不執(zhí)行時,時鐘將不工作?;谟布娐返?/p>
3、考慮,本設(shè)計(jì)采用方案二完成數(shù)字時鐘的功能。2.數(shù)碼管顯示方案方案一:靜態(tài)顯示。所謂靜態(tài)顯示,就是當(dāng)顯示器顯示某一字符時,相應(yīng)的發(fā)光二極管恒定的導(dǎo)通或截止。該方式每一位都需要一個8 位輸出口控制。靜態(tài)顯示時較小的電流能獲得較高的亮度,且字符不閃爍。但當(dāng)所顯示的位數(shù)較多時,靜態(tài)顯示所需的I/O口太多,造成了資源的浪費(fèi)。方案二:動態(tài)顯示。所謂動態(tài)顯示就是一位一位的輪流點(diǎn)亮各個位,對于顯示器的每一位來說,每隔一段時間點(diǎn)亮一次。利用人的視覺暫留功能可以看到整個顯示,但必須保證掃描速度足夠快,字符才不閃爍。顯示器的亮度既與導(dǎo)通電流有關(guān),也于點(diǎn)亮?xí)r間與間隔時間的比例有關(guān)。調(diào)整參數(shù)可以實(shí)現(xiàn)較高穩(wěn)定度的顯示。動
4、態(tài)顯示節(jié)省了I/O口,降低了能耗。從節(jié)省I/O口和降低能耗出發(fā),本設(shè)計(jì)采用方案二。3 .計(jì)時方案利用AT89S51單片機(jī)內(nèi)部的定時/計(jì)數(shù)器進(jìn)行中斷時,配合軟件延時實(shí)現(xiàn)時、分、秒的計(jì)時。該方案節(jié)省硬件成本,且能使讀者在定時/計(jì)數(shù)器的使用、中斷及程序設(shè)計(jì)方面得到鍛煉與提高,對單片機(jī)的指令系統(tǒng)能有更深入的了解,從而對學(xué)好單片機(jī)技術(shù)這門課程起到一定的作用。4. 控制方案AT89S51的P0口和P2口外接由八個LED數(shù)碼管(LED8LED1)構(gòu)成的顯示器,用P0口作LED的段碼輸出口,P2口作八個LED數(shù)碼管的位控輸出線,P1口外接四個按鍵A、B、C構(gòu)成鍵盤電路。AT89S51 是一種低功耗,高性能的C
5、MOS 8位微型計(jì)算機(jī)。它帶有8K Flash 可編程和擦除的只讀存儲器(EPROM),該器件采用ATMEL的高密度非易失性存儲器技術(shù)制造,與工業(yè)上標(biāo)準(zhǔn)的80C51和80C52的指令系統(tǒng)及引腳兼容,片內(nèi)Flash 集成在一個芯片上,可用與解決復(fù)雜的問題,且成本較低。簡易電子鐘的功能不復(fù)雜,采用其現(xiàn)有的I/O便可完成,所以本設(shè)計(jì)中采用此的設(shè)計(jì)方案。三.系統(tǒng)硬件電路的設(shè)計(jì)根據(jù)以上的電子時鐘的設(shè)計(jì)要求可以分為以下的幾個硬件電路模塊:單片機(jī)模塊、數(shù)碼顯示模塊與按鍵模塊,模塊之間的關(guān)系圖如下面得方框電路圖1所示 圖1 硬件電路方框圖1. 單片機(jī)模塊設(shè)計(jì)11 芯片分析AT89C51單片機(jī)引腳圖如下:圖2
6、AT89C51引腳圖MCS-51單片機(jī)是標(biāo)準(zhǔn)的40引腳雙列直插式集成電路芯片,其各引腳功能如下:VCC:+5V電源。VSS:接地。RST:復(fù)位信號。當(dāng)輸入的復(fù)位信號延續(xù)兩個機(jī)器周期以上的高電平時即為有效,用完成單片機(jī)的復(fù)位初始化操作。XTAL1和XTAL2:外接晶體引線端。當(dāng)使用芯片內(nèi)部時鐘時,此二引線端用于外接石英晶體和微調(diào)電容;當(dāng)使用外部時鐘時,用于接外部時鐘脈沖信號。P0口:P0口為一個8位漏極開路雙向I/O口,當(dāng)作輸出口使用時,必須接上拉電阻才能有高電平輸出;當(dāng)作輸入口使用時,必須先向電路中的鎖存器寫入“1”,使FET截止,以避免鎖存器為“0”狀態(tài)時對引腳讀入的干擾。P1口:P1口是一
7、個內(nèi)部提供上拉電阻的8位雙向I/O口,它不再需要多路轉(zhuǎn)接電路MUX;因此它作為輸出口使用時,無需再外接上拉電阻,當(dāng)作為輸入口使用時,同樣也需先向其鎖存器寫“1”,使輸出驅(qū)動電路的FET截止。P2口:P2口電路比P1口電路多了一個多路轉(zhuǎn)接電路MUX,這又正好與P0口一樣。P2口可以作為通用的I/O口使用,這時多路轉(zhuǎn)接電路開關(guān)倒向鎖豐存器Q端。P3口:P3口特點(diǎn)在于,為適應(yīng)引腳信號第二功能的需要,增加了第二功能控制邏輯。當(dāng)作為I/O口使用時,第二功能信號引線應(yīng)保持高電平,與非門開通,以維持從鎖存器到輸出端數(shù)據(jù)輸出通路的暢通。當(dāng)輸出第二功能信號時,該位應(yīng)應(yīng)置“1”,使與非門對第二功能信號的輸出是暢通
8、的,從而實(shí)現(xiàn)第二功能信號的輸出。MCS-51單片機(jī)共有4個雙向的8位并行I/O端口(Port),分別記作P0-P3,共有32根口線,各口的每一位均由鎖存器、輸出驅(qū)動器和輸入緩沖器所組成。實(shí)際上P0-P3已被歸入特殊功能寄存器之列。這四個口除了按字節(jié)尋址以外,還可以按位尋址。由于它們在結(jié)構(gòu)上有一些差異,故各口的性質(zhì)和功能有一些差異。P0口是雙向8位三態(tài)I/O口,此口為地址總線(低8位)及數(shù)據(jù)總線分時復(fù)用口,可驅(qū)動8個LS型TTL負(fù)載。P1口是8位準(zhǔn)雙向I/O口,可驅(qū)動4個LS 型負(fù)載。P2口是8位準(zhǔn)雙向I/O口,與地址總線(高8位)復(fù)用,可驅(qū)動4個LS型TTL負(fù)載。P3口是8位準(zhǔn)雙向I/O口,是
9、雙功能復(fù)用口,可驅(qū)動4個LS型TTL負(fù)載。P1口、P2口、P3口各I/O口線片內(nèi)均有固定的上拉電阻,當(dāng)這3個準(zhǔn)雙向I/O口做輸入口使用時,要向該口先寫“1”,另外準(zhǔn)雙向I/O口無高阻的“浮空”狀態(tài),故稱為雙向三態(tài)I/O 口。時鐘電路用于產(chǎn)生MCS-51單片機(jī)工作時所必需的時鐘信號。MCS-51單片機(jī)本身就是一個復(fù)雜的同步時序電路,為保證同步工作方式的實(shí)現(xiàn),MCS-51單片機(jī)應(yīng)在唯一的時鐘信號控制下,嚴(yán)格地按時序執(zhí)行進(jìn)行工作,而時序所研究的是指令執(zhí)行中各個信號的關(guān)系。在執(zhí)行指令時,CPU首先要到程序存儲器中取出需要執(zhí)行的指令操作碼,然后譯碼,并由時序電路產(chǎn)生一系列控制信號去完成指令所規(guī)定的操作。
10、CPU發(fā)出的時序信號有兩類,一類用于片內(nèi)對各個功能部件的控制,這列信號很多。另一類用于片外存儲器或I/O端口的控制,這部分時序?qū)τ诜治?、設(shè)計(jì)硬件接口電路至關(guān)重要。這也是單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)者普遍關(guān)心的問題。1.2 數(shù)碼顯示模塊設(shè)計(jì)系統(tǒng)采用動態(tài)顯示方式,用P0口來控制LED數(shù)碼管的段控線,而用P2口來控制其位控線。動態(tài)顯示通常都是采用動態(tài)掃描的方法進(jìn)行顯示,即循環(huán)點(diǎn)亮每一個數(shù)碼管,這樣雖然在任何時刻都只有一位數(shù)碼管被點(diǎn)亮,但由于人眼存在視覺殘留效應(yīng),只要每位數(shù)碼管間隔時間足夠短,就可以給人以同時顯示的感覺。圖3 數(shù)碼顯示電路1.3 按鍵模塊下圖為按鍵模塊電路原理圖,A為復(fù)位鍵,B為時鐘調(diào)控鍵,C為
11、分鐘調(diào)控鍵。 圖 4 按鍵模塊電路原理圖四系統(tǒng)程序的設(shè)計(jì)軟件設(shè)計(jì)分析顯示的效果為動態(tài)顯示,利用CPU控制數(shù)碼管顯示的選通和停止,通過定時器中斷不斷掃描,從而實(shí)現(xiàn)數(shù)據(jù)的動態(tài)顯示。在編程上,首先進(jìn)行了初始化,定義程序的的入口地址以及中斷的入口地址,在主程序開始定義了一組固定單元用來儲存計(jì)數(shù)的時.分.秒,在顯示初值之后,進(jìn)入主循環(huán)。在主程序中,對不同的按鍵進(jìn)行掃描,實(shí)現(xiàn)秒表,時間調(diào)整,復(fù)位清零等功能,系統(tǒng)總流程圖如下圖5:圖 5 系統(tǒng)總體流程圖五.調(diào)試及性能分析電子時鐘主要的設(shè)計(jì)要求是能夠?qū)崿F(xiàn)時鐘的一般功能,以及包括時間的調(diào)整功能,這個基于單片機(jī)的電子時鐘基本上實(shí)現(xiàn)了上述功能,能夠通過時間調(diào)整電路對
12、時間進(jìn)行調(diào)整以及復(fù)位。下述為18:30:30的仿真圖:首先確保各器件的完好性,其次檢測各芯片的電源線和地線是否接觸良好,然后焊接器件,接好電源用萬用表檢測各電源端、地端的狀態(tài)是否正常。檢查無誤后插上AT89S51并燒寫一簡易的程序,觀察電路是否能協(xié)同工作。最后燒寫工作程序,根據(jù)顯示現(xiàn)象調(diào)試程序直至成功。上電運(yùn)行時,數(shù)碼管開始顯示00:00:00,時鐘開始走時。程序的編寫和調(diào)試是一個比較復(fù)雜的過程。由于對C語言知識的薄弱,所以在編譯過程中總是有很多語法上的錯誤,但是在和同學(xué)一起討論研究后,程序是編寫出來了,但結(jié)合到硬件調(diào)試中又出現(xiàn)各種問題。在調(diào)試過程中出現(xiàn)了很多問題,在第一次把程序燒到單片機(jī)里,
13、通電運(yùn)行時,雖然控制時、分、秒的按鈕能夠?qū)?shù)碼管顯示進(jìn)行調(diào)整,但是數(shù)碼管全亮,不能通過按鍵變化顯示,更改程序中的問題,但是調(diào)時設(shè)置又沒有用了。經(jīng)過檢查及修改,終于完成了所做的設(shè)計(jì),不容易啊。六控制源程序清單#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 調(diào)整定義sbit P1_1=P11; /minite調(diào)整定義sbit P1_2=P12; /hour調(diào)整定義/*函數(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) /秒鐘設(shè)為60進(jìn)制 seconde=0; minite+; if( minite=60) /分鐘設(shè)為60進(jìn)制 minite=0; hour+; if(hour=24) /時鐘設(shè)為24進(jìn)制 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秒的調(diào)整 delay(30); if(P1_0=0) seconde+; if(seconde=60) seconde=0; if(P1_1=0) /按鍵2分的調(diào)整 delay(30); if(P1_1=0) minite+; if(minite=60) minite=0; if(P1_2=0) /按鍵3小時的調(diào)整 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; /注意點(diǎn)。對計(jì)數(shù)單元的清零十分的重要,本次調(diào)試中就是 /因?yàn)楹雎粤诉@一點(diǎn),給我早成了很大的被動。/*/*主函數(shù)*
溫馨提示
- 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年 邯鄲市永年區(qū)大學(xué)生回村工作選聘考試筆試試卷附答案
- 幼兒園個人禮儀情感培訓(xùn)
- 寫生石獅子課件
- 腫瘤變大病歷書寫規(guī)范
- 主動脈瘤常規(guī)護(hù)理
- 艾滋病并發(fā)肺部感染護(hù)理查房
- 心內(nèi)科疾病防治科普
- 自然拼讀外教課件
- 無為教育案例分享
- 清收清欠培訓(xùn)
- 2025深圳輔警考試題庫
- 事故隱患內(nèi)部報告獎勵制度
- 小紅書營銷師(初級)認(rèn)證理論知識考試題及答案
- 國家開放大學(xué)漢語言文學(xué)本科《古代小說戲曲專題》期末紙質(zhì)考試第二大題填空題庫2025春期版
- 勞動仲裁申請書電子版模板
- 指定監(jiān)護(hù)人申請書范本
- uni-app移動應(yīng)用開發(fā)課件 7-智慧環(huán)保項(xiàng)目
- 產(chǎn)前篩查相關(guān)工作規(guī)章規(guī)章制度
- 小學(xué)生手工剪紙課件
- 中藥結(jié)腸透析治療慢性腎衰竭的技術(shù)規(guī)范
- 抹灰施工人員培訓(xùn)方案
評論
0/150
提交評論