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

下載本文檔

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

文檔簡(jiǎn)介

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

2、。當(dāng)電網(wǎng)電壓不足或突然掉電時(shí),系統(tǒng)自動(dòng)轉(zhuǎn)換到內(nèi)部鋰電池供電系統(tǒng)。 而且即使系統(tǒng) 不上電,程序不執(zhí)行時(shí),鋰電池也能保證芯片的正常運(yùn)行, 以備隨時(shí)提供正確的 時(shí)間。方案二:本方案完全用軟件實(shí)現(xiàn)數(shù)字時(shí)鐘。 原理為:在單片機(jī)內(nèi)部存儲(chǔ)器設(shè) 三個(gè)字節(jié)分別存放時(shí)鐘的時(shí)、分、秒信息。利用定時(shí)器與軟件結(jié)合實(shí)現(xiàn)1秒定時(shí) 中斷,每產(chǎn)生一次中斷,存儲(chǔ)器內(nèi)相應(yīng)的秒值加1;若秒值達(dá)到60,則將其清零, 并將相應(yīng)的分字節(jié)值加1;若分值達(dá)到60,則清零分字節(jié),并將時(shí)字節(jié)值加1; 若時(shí)值達(dá)到24,則將十字節(jié)清零。該方案具有硬件電路簡(jiǎn)單的特點(diǎn)。但由于每 次執(zhí)行程序時(shí),定時(shí)器都要重新賦初值,所以該時(shí)鐘精度不高。而且,由于是軟 件實(shí)

3、現(xiàn),當(dāng)單片機(jī)不上電,程序不執(zhí)行時(shí),時(shí)鐘將不工作?;谟布娐返目紤],本設(shè)計(jì)采用方案二完成數(shù)字時(shí)鐘的功能。2. 數(shù)碼管顯示方案方案一:靜態(tài)顯示。所謂靜態(tài)顯示,就是當(dāng)顯示器顯示某一字符時(shí),相應(yīng)的發(fā)光二極 管恒定的導(dǎo)通或截止。該方式每一位都需要一個(gè)8位輸出口控制。靜態(tài)顯示時(shí)較小的電流能獲得較高的亮度,且字符不閃爍。但當(dāng)所顯示的位數(shù)較多時(shí),靜態(tài)顯示所需的I/O 口太多,造成了資源的浪費(fèi)。方案二:動(dòng)態(tài)顯示。所謂動(dòng)態(tài)顯示就是一位一位的輪流點(diǎn)亮各個(gè)位,對(duì)于顯示器的每 一位來(lái)說(shuō),每隔一段時(shí)間點(diǎn)亮一次。 利用人的視覺(jué)暫留功能可以看到整個(gè)顯示,但必須保證掃描速度足夠快,字符才不閃爍。顯示器的亮度既與導(dǎo)通電流有關(guān),

4、也于點(diǎn)亮?xí)r間與間隔時(shí)間的比例有關(guān)。調(diào)整參數(shù)可以實(shí)現(xiàn)較高穩(wěn)定度的顯示。動(dòng)態(tài)顯示節(jié)省了 I/O 口,降低了能耗。從節(jié)省I/O 口和降低能耗出發(fā),本設(shè)計(jì)采用方案二。3. 計(jì)時(shí)方案利用AT89S51單片機(jī)內(nèi)部的定時(shí)/計(jì)數(shù)器進(jìn)行中斷時(shí),配合軟件延時(shí)實(shí)現(xiàn)時(shí)、 分、秒的計(jì)時(shí)。該方案節(jié)省硬件成本,且能使讀者在定時(shí)/計(jì)數(shù)器的使用、中斷及程序設(shè)計(jì)方面得到鍛煉與提高,對(duì)單片機(jī)的指令系統(tǒng)能有更深入的了解, 從而 對(duì)學(xué)好單片機(jī)技術(shù)這門(mén)課程起到一定的作用。4. 控制方案AT89S51的 P0口和P2口外接由八個(gè)LED數(shù)碼管(LED8LED1構(gòu)成的顯示器, 用P0 口作LED的段碼輸出口,P2口作八個(gè)LED數(shù)碼管的位控輸出

5、線,P1 口外接 四個(gè)按鍵A、B C構(gòu)成鍵盤(pán)電路。AT89S51是一種低功耗,高性能的 CMOS 位微型計(jì)算機(jī)。它帶有 8K Flash 可編程和擦除的只讀存儲(chǔ)器(EPROM,該器件采用ATME的高密度非易失性存 儲(chǔ)器技術(shù)制造,與工業(yè)上標(biāo)準(zhǔn)的80C51和80C52的指令系統(tǒng)及引腳兼容,片內(nèi) Flash集成在一個(gè)芯片上,可用與解決復(fù)雜的問(wèn)題,且成本較低。簡(jiǎn)易電子鐘的 功能不復(fù)雜,采用其現(xiàn)有的I/O便可完成,所以本設(shè)計(jì)中采用此的設(shè)計(jì)方案。三. 系統(tǒng)硬件電路的設(shè)計(jì)根據(jù)以上的電子時(shí)鐘的設(shè)計(jì)要求可以分為以下的幾個(gè)硬件電路模塊:?jiǎn)纹瑱C(jī)模塊、數(shù)碼顯示模塊與按鍵模塊,模塊之間的關(guān)系圖如下面得方框電路圖 1所示

6、圖1硬件電路方框圖1.單片機(jī)模塊設(shè)計(jì)1.1芯片分析AT89C51單片機(jī)引腳圖如下:U112-XTAL1POOADDPQ.1MD1P02MD2XTAL2P弊XHPD.SMUSRSTPQTDIp總辭唸就P2B1Opsen-ALEETP2貓巾P2JJMSpinP3U/RXDpi,iP3.1/TXDP12PJ2/1NH1P1JP31HT1Pl.tP3.4/TDPISP3JSHT1PITP3J/RTPl_2 3CO i再 DV31 d通 D3z36 DO3* D$z33 DSz32 肌21 RS #22ffiW z272125笳3ID1112OH15161739圖2 AT89C51 引腳圖其各引腳功能如

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

8、阻的8位雙向I/O 口,它不再需要多路 轉(zhuǎn)接電路MUX因此它作為輸出口使用時(shí),無(wú)需再外接上拉電阻,當(dāng)作為輸入口 使用時(shí),同樣也需先向其鎖存器寫(xiě)“ 1”,使輸出驅(qū)動(dòng)電路的FET截止。P2 口: P2 口電路比P1 口電路多了一個(gè)多路轉(zhuǎn)接電路 MUX這又正好與P0 口一樣。P2 口可以作為通用的I/O 口使用,這時(shí)多路轉(zhuǎn)接電路開(kāi)關(guān)倒向鎖豐存 器Q端。P3 口: P3 口特點(diǎn)在于,為適應(yīng)引腳信號(hào)第二功能的需要,增加了第二功能控制邏輯。當(dāng)作為I/O 口使用時(shí),第二功能信號(hào)引線應(yīng)保持高電平, 與非門(mén)開(kāi)通,以維持從鎖存器到輸 出端數(shù)據(jù)輸出通路的暢通。當(dāng)輸出第二功能信號(hào)時(shí),該位應(yīng)應(yīng)置“1”,使與非門(mén)對(duì)第二功

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

10、S型TTL負(fù)載。P3 口是8位準(zhǔn)雙 向I/O 口,是雙功能復(fù)用口,可驅(qū)動(dòng) 4個(gè)LS型TTL負(fù)載。P1 口、P2 口、P3 口各I/O 口線 片內(nèi)均有固定的上拉電阻,當(dāng)這 3個(gè)準(zhǔn)雙向I/O 口做輸入口使用時(shí),要向該口先寫(xiě) “ 1 ”,另 外準(zhǔn)雙向I/O 口無(wú)高阻的“浮空”狀態(tài),故稱為雙向三態(tài) I/O 口。時(shí)鐘電路用于產(chǎn)生MCS-5仲片機(jī)工作時(shí)所必需的時(shí)鐘信號(hào)。MCS-51單片機(jī) 本身就是一個(gè)復(fù)雜的同步時(shí)序電路,為保證同步工作方式的實(shí)現(xiàn),MCS-51單片機(jī)應(yīng)在唯一的時(shí)鐘信號(hào)控制下,嚴(yán)格地按時(shí)序執(zhí)行進(jìn)行工作,而時(shí)序所研究的是 指令執(zhí)行中各個(gè)信號(hào)的關(guān)系。在執(zhí)行指令時(shí),CPU首先要到程序存儲(chǔ)器中取出需要

11、執(zhí)行的指令操作碼,然后譯碼,并由時(shí)序電路產(chǎn)生一系列控制信號(hào)去完成指令所規(guī)定的操作。CPU發(fā)出的時(shí)序信號(hào)有兩類,一類用于片內(nèi)對(duì)各個(gè)功能部件的控制,這列信號(hào)很多。另一類用于片外存儲(chǔ)器或 I/O端口的控制,這部分時(shí)序?qū)τ诜治觥?設(shè)計(jì)硬件接口電路至關(guān)重要。這也是單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)者普遍關(guān)心的問(wèn)題。1.2數(shù)碼顯示模塊設(shè)計(jì)系統(tǒng)采用動(dòng)態(tài)顯示方式,用P0 口來(lái)控制LED數(shù)碼管的段控線,而用P2 口來(lái) 控制其位控線。動(dòng)態(tài)顯示通常都是采用動(dòng)態(tài)掃描的方法進(jìn)行顯示,即循環(huán)點(diǎn)亮每 一個(gè)數(shù)碼管,這樣雖然在任何時(shí)刻都只有一位數(shù)碼管被點(diǎn)亮, 但由于人眼存在視 覺(jué)殘留效應(yīng),只要每位數(shù)碼管間隔時(shí)間足夠短,就可以給人以同時(shí)顯示的感

12、覺(jué)。-士-7亍一21嗤蘭蚩嗚UPOODnfU MD! 帀希財(cái)R5TPD4AD4.PDSkDEP2IMW PZVM pzaiQ 02311MUE毗比惶甌win?2AllPZTAI6PMK=CD*1.1P.lfDCD9Zf l3pjjwiifrill 1#lP3E/F1PSJ&rifl-PI?pjjnnr3T1.3按鍵模塊鍵。UHCH下圖為按鍵模塊電路原理圖,圖3數(shù)碼顯示電路A為復(fù)位鍵,B為時(shí)鐘調(diào)控鍵,C為分鐘調(diào)控按鍵模塊電路原理圖四. 系統(tǒng)程序的設(shè)計(jì)軟件設(shè)計(jì)分析顯示的效果為動(dòng)態(tài)顯示,利用CPU控制數(shù)碼管顯示的選通和停止,通過(guò)定時(shí)器中斷不斷 掃描,從而實(shí)現(xiàn)數(shù)據(jù)的動(dòng)態(tài)顯示。在編程上,首先進(jìn)行了初始化

13、,定義程序的的入口地址以及中斷的入口地址, 在主程序開(kāi)始定義了一組固定單元用來(lái)儲(chǔ)存計(jì)數(shù)的時(shí) 分.秒,在顯示初值之后, 進(jìn)入主循環(huán)。在主程序中,對(duì)不同的按鍵進(jìn)行掃描,實(shí)現(xiàn)秒表,時(shí)間調(diào)整,復(fù)位 清零等功能,系統(tǒng)總流程圖如下圖 5:圖5系統(tǒng)總體流程圖五. 調(diào)試及性能分析電子時(shí)鐘主要的設(shè)計(jì)要求是能夠?qū)崿F(xiàn)時(shí)鐘的一般功能,以及包括時(shí)間的調(diào)整功能,這個(gè)基于單片機(jī)的電子時(shí)鐘基本上實(shí)現(xiàn)了上述功能,能夠通過(guò)時(shí)間調(diào)整電路對(duì)時(shí)間進(jìn)行調(diào)整以及復(fù)位。下述為18: 30: 30的仿真圖:輕冊(cè)UR4MG 吃莎乜FZTdA-S總需FT雷壽一衛(wèi) 37 J 4-UZJtiTSCTti FHUflM ElfTMl rjz.Trra

14、rj-mT首先確保各器件的完好性,其次檢測(cè)各芯片的電源線和地線是否接觸良好,然后焊接 器件,接好電源用萬(wàn)用表檢測(cè)各電源端、地端的狀態(tài)是否正常。檢查無(wú)誤后插上AT89S51并燒寫(xiě)一簡(jiǎn)易的程序, 觀察電路是否能協(xié)同工作。最后燒寫(xiě)工作程序,根據(jù)顯示現(xiàn)象調(diào)試程序直至成功。上電運(yùn)行時(shí),數(shù)碼管開(kāi)始顯示00 : 00: 00,時(shí)鐘開(kāi)始走時(shí)。程序的編寫(xiě)和調(diào)試是一個(gè)比較復(fù)雜的過(guò)程。由于對(duì)C語(yǔ)言知識(shí)的薄弱,所以在編譯過(guò)程中總是有很多語(yǔ)法上的錯(cuò)誤,但是在和同學(xué)一起討論研究后,程序是編寫(xiě)出來(lái)了,但結(jié)合 到硬件調(diào)試中又出現(xiàn)各種問(wèn)題。在調(diào)試過(guò)程中出現(xiàn)了很多問(wèn)題,在第一次把程序燒到單片機(jī) 里,通電運(yùn)行時(shí),雖然控制時(shí)、分、秒

15、的按鈕能夠?qū)?shù)碼管顯示進(jìn)行調(diào)整,但是數(shù)碼管全亮, 不能通過(guò)按鍵變化顯示,更改程序中的問(wèn)題,但是調(diào)時(shí)設(shè)置又沒(méi)有用了。經(jīng)過(guò)檢查及修改,終于完成了所做的設(shè)計(jì),不容易啊。六. 控制源程序清單#in clude#in clude#defi ne uchar un sig ned char#defi ne uint un sig ned int/*七段共陰管顯示定義*/ uchar code dispcode =0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,0xBF,0x86,0xCB,0xCF,0xEF,0xED,0xFD,0x87,0xFF,0xD

16、F;/*定義并初始化變量*/ uchar seconde=0; uchar min ite=O;uchar hour=12; uchar mstc nt=O;sbit P1_0=P1A0;sbit P1_ 仁P1A1;sbit P1_2=P“2;/*函數(shù)聲明*/void delay(uchar k ); void time_pro( ); / void display( );/ sec ond調(diào)整定義/mi nite調(diào)整定義/hour調(diào)整定義/延時(shí)子程序時(shí)間處理子程序顯示子程序/鍵盤(pán)掃描子程序void keysca n();*/*延時(shí)子程序*/*void delay (uchar k)ucha

17、r j;while(k-)!=0)for(j=0;j125;j+);/*/*時(shí)間處理子程序*/*void time_pro( void)if(sec on de=60) sec on de=0;min ite+;if( mi nite=60) min ite=O;hour+;if(hour=24)hour=0; /秒鐘設(shè)為60進(jìn)制分鐘設(shè)為60進(jìn)制時(shí)鐘設(shè)為24進(jìn)制*I*顯示子程序*/*void display(void)P2=0xfe;P0=dispcodehour/10;/delay(4);P2=0xfd;P0=(dispcode(hour%10)|0X80;/delay(4);P2=0xfb

18、;P0=dispcodemi ni te/1O;/delay(4);P2=0xf7;P0=(dispcodemi nite%10)|0X80;/delay(4);P2=0xef;P0=dispcodeseco nde/10;/delay(4);P2=0xdf;P0=dispcodesec on de%10;/delay(4);/*/*鍵盤(pán)掃描子程序*/*/void keysca n (void)if(P1_O=O)/delay(30);if(P1_0=0)seconde+;if(sec on de=60)sec on de=0; if(P1_1=0)/顯示小時(shí)的十位顯示小時(shí)的個(gè)位顯示分的十位顯示分的個(gè)位顯示秒的十位顯示秒的個(gè)位按鍵1秒的調(diào)整按鍵2分的調(diào)整delay(30);if(P1_1=O)min ite+;if(mi nite=60)mi nite=O;if(P1_2=0)/按鍵3小時(shí)的調(diào)整delay(30);if(P1_2=0)hour+;if(hour=24)hour=0; void timerO(void) interrupt 1 using 0/定時(shí)器 0 方式 1, 50ms 中斷一次TH0=0x3c;TMOD = 0x11;mstcnt+;if(mstcnt=20)seconde+;mstcnt=0; II注意點(diǎn)。對(duì)計(jì)數(shù)單元的清零十分的重要,本次調(diào)試中就是II

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論