版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
單片機(jī)課程設(shè)計(jì)題目:電子時(shí)鐘班級(jí):姓名:學(xué)號(hào):指導(dǎo)教師:設(shè)計(jì)時(shí)間:評(píng)語:成績(jī)摘要針對(duì)數(shù)字時(shí)鐘的問題,運(yùn)用8051單片機(jī),proteus軟件,vw(偉福)等軟件,運(yùn)用單片機(jī)中定期計(jì)數(shù)器T0,中斷系統(tǒng)以及按鍵的控制實(shí)現(xiàn)了電子時(shí)鐘的設(shè)計(jì)。設(shè)計(jì)的電子時(shí)鐘通過數(shù)碼管顯示,并能通過按鍵的設(shè)計(jì)實(shí)現(xiàn)小時(shí)與分鐘的調(diào)整。時(shí)間的啟動(dòng)與暫停等等。關(guān)鍵字:數(shù)字時(shí)鐘;單片機(jī);定期計(jì)數(shù)器1引言時(shí)鐘,自他發(fā)明的那天起,就成為人類的朋友,但隨著時(shí)間的推移,科學(xué)技術(shù)不斷的發(fā)展,人們對(duì)時(shí)間計(jì)量的進(jìn)度規(guī)定越來越高,應(yīng)用越來越廣。如何讓時(shí)鐘更好地為人類服務(wù),如何讓我們的老朋友煥發(fā)青春呢?這就規(guī)定人們不斷設(shè)計(jì)出新型時(shí)鐘。鈔票,高精度的計(jì)時(shí)工具大多數(shù)都使用了石英晶體振蕩器,由于電子鐘,石英表,石英鐘都使用了石英技術(shù),因此走時(shí)精度高,穩(wěn)定性好,使用方便,不需要經(jīng)常調(diào)校,數(shù)字式電子鐘用集成電路計(jì)時(shí)時(shí),譯碼代替機(jī)械式傳動(dòng),用LED顯示器代替指針顯示器,減小了計(jì)時(shí)誤差,這種表具有時(shí)、分、秒顯示的功能,還可以進(jìn)行時(shí)、分的校對(duì),片選的靈活性好。時(shí)鐘電路在計(jì)算機(jī)系統(tǒng)中起著非常重要的作用,是保證系統(tǒng)正常工作的基礎(chǔ)。在一個(gè)單片機(jī)應(yīng)用系統(tǒng)中,時(shí)鐘有兩方面的含義:一是指為保障系統(tǒng)正常工作的基準(zhǔn)震蕩定期信號(hào),重要由晶振和外圍電路組成,晶振頻率的大小決定了單片機(jī)系統(tǒng)工作的快慢;二是指系統(tǒng)的標(biāo)準(zhǔn)定期時(shí)鐘,及定期時(shí)間,它通常有兩種方法實(shí)現(xiàn):一是軟件實(shí)現(xiàn),即用單片機(jī)內(nèi)部的可編程定期/計(jì)數(shù)器來實(shí)現(xiàn),但誤差很大,重要用在對(duì)時(shí)間精度要起不高的場(chǎng)合;二是用專門的時(shí)鐘芯片實(shí)現(xiàn),在對(duì)時(shí)間精度規(guī)定很高的情況下,通常采用這種方法。本文重要介紹用單片機(jī)內(nèi)部的定期計(jì)數(shù)器來實(shí)現(xiàn)電子時(shí)鐘的方法,以單片機(jī)為核心,輔以必要電路,構(gòu)成了一個(gè)單片機(jī)電子時(shí)鐘。單片機(jī)應(yīng)用系統(tǒng)由硬件系統(tǒng)和軟件系統(tǒng)兩部分組成。硬件系統(tǒng)是指單片機(jī)以及擴(kuò)展的存儲(chǔ)器、I\O接口、外圍擴(kuò)展的功能芯片以及接口電路。軟件系統(tǒng)涉及監(jiān)控程序和各種應(yīng)用程序。在單片機(jī)應(yīng)用系統(tǒng)中,單片機(jī)是整個(gè)系統(tǒng)的核心,對(duì)整個(gè)系統(tǒng)的信息輸入、解決、信息輸出進(jìn)行控制。與單片機(jī)配套的有相應(yīng)的復(fù)位電路、時(shí)鐘電路以及擴(kuò)展的存儲(chǔ)器和I\O接口,使單片機(jī)應(yīng)用系統(tǒng)可以運(yùn)營。在一個(gè)單片機(jī)應(yīng)用系統(tǒng)中,往往都會(huì)輸入信息和顯示信息,這就涉及鍵盤和顯示器。在單片機(jī)應(yīng)用系統(tǒng)中,一般都根據(jù)系統(tǒng)的規(guī)定配置相應(yīng)的鍵盤和顯示器。配置鍵盤和顯示器一般都沒有統(tǒng)一的規(guī)定,有的系統(tǒng)功能復(fù)雜,需輸入的信息和顯示的信息量大,配置的鍵盤和顯示器功能相對(duì)強(qiáng)大,而有些系統(tǒng)輸入/輸出的信息少,這時(shí)也許用幾個(gè)按鍵和幾個(gè)LED指示燈就可以進(jìn)行解決了。在單片機(jī)應(yīng)用系統(tǒng)在中配置的鍵盤可以是獨(dú)立鍵盤,也也許是矩陣鍵盤。顯示器可以是LED指示燈,也可以是LED數(shù)碼管,也可以是LCD顯示器,還可以使用CRT顯示器。單片機(jī)應(yīng)用系統(tǒng)中鍵盤一般用的比較多的是矩陣鍵盤,顯示器用的比較多的是LED數(shù)碼管尚有LCD顯示器。
2設(shè)計(jì)方案及原理2.1中斷系統(tǒng)簡(jiǎn)介MCS-51單片機(jī)提供5個(gè)硬件中斷源,2個(gè)外部中斷源,2個(gè)定期計(jì)數(shù)器T0和T1的溢出中斷TF0和TF1,1個(gè)串行口發(fā)送TI和接受RI中斷。MCS-51單片機(jī)中沒有專門的開中斷和關(guān)中斷指令,對(duì)各個(gè)中斷源的允許和屏蔽是由內(nèi)部的中斷允許寄存器IE的各位來控制的。中斷允許寄存器IE的字節(jié)地址為A8H,可以進(jìn)行位尋址。系統(tǒng)復(fù)位時(shí),中斷允許寄存器IE的內(nèi)容為00H,假如要開放某個(gè)中斷源,則必須使IE中的總控置位和相應(yīng)的中斷允許位置“1”MCS-51單片機(jī)有5個(gè)中斷源,為了解決方便,每個(gè)中斷源有兩級(jí)控制,高優(yōu)先級(jí)和低優(yōu)先級(jí)。通過由內(nèi)部的中斷優(yōu)先級(jí)寄存器IP來設(shè)立,中斷優(yōu)先級(jí)寄存器IP的字節(jié)地址為B8H,可以進(jìn)行位尋址。假如某位被置“1”2.2計(jì)數(shù)器定期器簡(jiǎn)介MCS-51系列中51子系列有兩個(gè)16位的可編程定期\計(jì)數(shù)器T0和定期\計(jì)數(shù)器T1。它由加法計(jì)數(shù)器、方式寄存器TMOD、控制寄存器TCON等組成。方式寄存器用于設(shè)定定期計(jì)數(shù)器T0和T1的工作方式,控制寄存器用于對(duì)定期計(jì)數(shù)器啟動(dòng)、停止進(jìn)行控制。每個(gè)定期計(jì)數(shù)器既可以對(duì)系統(tǒng)時(shí)鐘計(jì)數(shù)實(shí)現(xiàn)定期,也可以外部信號(hào)計(jì)數(shù)實(shí)現(xiàn)計(jì)數(shù)功能通過編程設(shè)定來實(shí)現(xiàn)。定期計(jì)數(shù)器有四種工作方式,通過編程可設(shè)定工作于某種方式。四種工作方式為:13位定期\計(jì)數(shù)器、16位定期\計(jì)數(shù)器、8位自動(dòng)重置定期\計(jì)數(shù)器、兩個(gè)8位定期\計(jì)數(shù)器(只有T0有)。每一個(gè)定期計(jì)數(shù)器定期計(jì)數(shù)時(shí)間屆時(shí)產(chǎn)生溢出,使相應(yīng)的溢出位置位,溢出可通過查詢或中斷方式解決。2.3鍵盤和數(shù)碼管簡(jiǎn)介鍵盤是單片機(jī)應(yīng)用系統(tǒng)中最常用的輸入設(shè)備,在單片機(jī)應(yīng)用系統(tǒng)中,操作人員一般都是通過鍵盤向單片機(jī)系統(tǒng)輸入指令、地址和數(shù)據(jù),實(shí)現(xiàn)簡(jiǎn)樸的人機(jī)通信。鍵盤事實(shí)上是一組按鍵開關(guān)的集合,平時(shí)按鍵開關(guān)總是處在斷開狀態(tài),當(dāng)按下鍵時(shí)它才閉合。鍵盤的結(jié)構(gòu)形式一般有兩種:獨(dú)立式鍵盤和矩陣式鍵盤。矩陣式鍵盤的工作方式有3種:查詢工作方式、定期掃描工作方式和中斷工作方式。LED數(shù)碼顯示管在單片機(jī)應(yīng)用系統(tǒng)中,經(jīng)常用到LED數(shù)碼管作為顯示輸出設(shè)備,LED數(shù)碼管顯示器雖然顯示信息簡(jiǎn)樸,但它具有顯示清楚、亮度高、使用電壓低、壽命長、與單片機(jī)接口方便等特點(diǎn),基本上可以滿足單片機(jī)應(yīng)用系統(tǒng)的需要,所以在單片機(jī)應(yīng)用系統(tǒng)中經(jīng)常用到。LED數(shù)碼管顯示器是由發(fā)光二極管按一定的結(jié)構(gòu)組合起來的顯示器件。在單片機(jī)應(yīng)用系統(tǒng)中通常使用的是8段式LED數(shù)碼管顯示器,它有共陰極和共陽極兩種。所謂譯碼方式是指由顯示字符轉(zhuǎn)換得到相應(yīng)的字段碼的方式。對(duì)于LED數(shù)碼管顯示器,通常的譯碼方式有兩種:硬件譯碼方式和軟件譯碼方式。LED數(shù)碼管在顯示時(shí),通常有兩種顯示方式:靜態(tài)顯示方式和動(dòng)態(tài)顯示方式。在使用時(shí)可以把它們組合起來。在實(shí)際應(yīng)用時(shí),假如數(shù)碼管個(gè)數(shù)較少,通常用硬件譯碼靜態(tài)顯示,在數(shù)碼管個(gè)數(shù)較多時(shí),則通常用軟件譯碼動(dòng)態(tài)顯示。2.4設(shè)計(jì)思想電子時(shí)鐘是運(yùn)用單片機(jī)內(nèi)部的定期器\計(jì)數(shù)器來實(shí)現(xiàn)的,它的解決過程如下:一方面設(shè)定單片機(jī)內(nèi)部的一個(gè)定期器\計(jì)數(shù)器工作于定期方式,對(duì)機(jī)器周期計(jì)數(shù)形成基準(zhǔn)時(shí)間,然后對(duì)基準(zhǔn)時(shí)間計(jì)數(shù)形成秒,秒計(jì)60次形成分,分計(jì)60次形成小時(shí),小時(shí)計(jì)24次則計(jì)滿一天。然后通過數(shù)碼管把它們的內(nèi)容在相應(yīng)位置顯示出來即可。數(shù)碼管顯示可以采用靜態(tài)顯示方法或動(dòng)態(tài)顯示方法。靜態(tài)顯示方法需要數(shù)據(jù)鎖存器等硬件,接口復(fù)雜,時(shí)鐘顯示一般用6個(gè)或8個(gè)數(shù)碼管。由于系統(tǒng)沒有其他的復(fù)雜的任務(wù)解決,并且顯示的時(shí)鐘信息隨時(shí)都也許變化,一般采用動(dòng)態(tài)顯示方式。動(dòng)態(tài)顯示方法線路相對(duì)簡(jiǎn)樸,但需動(dòng)態(tài)掃描,掃描頻率要大于人眼視覺暫留頻率,信息看起來才穩(wěn)定。在具體解決時(shí),定期器計(jì)數(shù)器采用中斷方式工作,對(duì)時(shí)鐘的形成在中斷服務(wù)程序中實(shí)現(xiàn)。在主程序中只需對(duì)定期器計(jì)數(shù)器初始化、調(diào)用顯示子程序和控制子程序。時(shí)間調(diào)整的方法,設(shè)計(jì)了簡(jiǎn)樸的按鍵,可以通過按鍵實(shí)現(xiàn)時(shí)、分的調(diào)整,在主程序中加入了鍵盤設(shè)立子程序。用定期/計(jì)數(shù)器T0,工作于定期,采用方式1,對(duì)12MHZ的系統(tǒng)時(shí)鐘進(jìn)行定期計(jì)數(shù),形成定期時(shí)間為50ms,所以定期初值為15536(3CB0H)。用片內(nèi)RAM的7BH單元對(duì)50ms計(jì)數(shù),計(jì)20次秒計(jì)數(shù)器78H單元加1,秒計(jì)數(shù)器加到60則分計(jì)數(shù)器79H單元加1,分計(jì)數(shù)器加到60則時(shí)計(jì)數(shù)器7AH單元加1,時(shí)計(jì)數(shù)器加到24則時(shí)計(jì)數(shù)器清0。然后把秒、分、時(shí)計(jì)數(shù)器提成十位和個(gè)位放到8個(gè)數(shù)碼管的顯示緩沖區(qū),通過數(shù)碼管顯示出來。顯示格式為小時(shí)十位、小時(shí)個(gè)位---分十位、分個(gè)位---秒十位、秒個(gè)位。
3硬件設(shè)計(jì)圖2.1硬件原理圖1圖2.2硬件原理圖2
4軟件設(shè)計(jì)4.1設(shè)計(jì)模塊程序分為4個(gè)部分:主程序,中斷服務(wù)程序,顯示程序,按鍵解決程序。4.1.1主程序主程序設(shè)立顯示緩沖區(qū)以及定期計(jì)數(shù)器T0初始值,并開始計(jì)數(shù),反復(fù)調(diào)用鍵盤掃描與顯示子程序。流程如圖3.1。開始顯示緩沖單元0開始顯示緩沖單元0調(diào)用掃描件鍵盤裝載計(jì)數(shù)初值定期器0工作方式1定期開始調(diào)用顯示子程序開中斷圖3.1主程序流程圖4.1.2中斷服務(wù)程序定期計(jì)數(shù)器T0用于時(shí)間計(jì)時(shí)。選擇方式1,反復(fù)定期,定期時(shí)間設(shè)為50ms,定期時(shí)間到則中斷,在中斷服務(wù)程序中用7BH對(duì)50ms計(jì)數(shù),計(jì)20次則對(duì)秒單元(78H)加1,秒單元加到60則對(duì)分單元(79H)加1,同時(shí)秒單元清0;分單元加到60則對(duì)時(shí)單元(80H)加1,同時(shí)分單元清0;時(shí)單元加到24則對(duì)時(shí)單元清0,標(biāo)志一天時(shí)間計(jì)滿。中斷服務(wù)程序流程圖如圖3.2否否是否否否是是是開始現(xiàn)場(chǎng)保護(hù),重置初值,啟動(dòng)下一個(gè)50ms定期計(jì)數(shù)器加1秒單元加1,計(jì)數(shù)器清0是否滿20是否滿60分單元加1,秒單元清0是否滿60時(shí)單元加1,分單元清0是否滿24時(shí)單元清0現(xiàn)場(chǎng)恢復(fù)返回圖3.2中斷服務(wù)程序流程圖4.1.3顯示程序本系統(tǒng)共采用8個(gè)顯示塊,從右向左依次是秒各位、秒十位、橫線、分各位、分十位、橫線、時(shí)各位、時(shí)十位,分別連接P2.7、P2.6、P2.5、P2.4、P2.3、P2.2、P2.1、P2.0,相應(yīng)顯示緩沖區(qū)70H、71H、72H、73H、74H、75H、76H、77H。P2口作為位選線,P0口作為段碼線,數(shù)碼塊為共陽極連接,采用動(dòng)態(tài)顯示的方法。4.1.4按鍵解決程序按鍵從上到下依次為K0、K1、K2,分別與P1.0、P1.1、P1.2相連接。按下K0鍵后,時(shí)鐘停止計(jì)時(shí),并進(jìn)入小時(shí)調(diào)整狀態(tài),按K1或K2鍵可進(jìn)行加1或減1操作,再按一次K0鍵,進(jìn)入分鐘調(diào)整狀態(tài),同樣按K1或K2鍵可進(jìn)行加1或減1操作,再按下K0鍵則恢復(fù)計(jì)時(shí)狀態(tài)。4.2程序清單ORG0000HLJMPSTARTORG000BH;定期器/計(jì)數(shù)器T0中斷程序入口LJMPINTT0START:MOVR0,#70H;主程序 MOVR7,#0CHINIT:MOV@R0,#00H INCR0 DJNZR7,INIT MOV72H,#0AH MOV75H,#0AH MOVTMOD,#01H MOVTL0,#0B0H MOVTH0,#03CH SETBEA SETBET0 SETBTR0START1:LCALLSCAN LCALLKEYSCAN SJMPSTART1DL1MS:MOVR6,#14H;延時(shí)1MS子程序DL1:MOVR7,#19HDL2:DJNZR7,DL2DJNZR6,DL1 RETDL20MS:ACALLSCAN;延時(shí)20MS子程序 ACALLSCAN ACALLSCAN RETSCAN: MOVA,78H;數(shù)碼管顯示程序 MOVB,#0AH DIVAB MOV71H,A MOV70H,B MOVA,79H MOVB,#0AH DIVAB MOV74H,A MOV73H,BMOVA,7AH MOVB,#0AH DIVAB MOV77H,AMOV76H,B MOVR1,#70H;循環(huán)掃描顯示 MOVR5,#80H;選通最右邊的第一個(gè)數(shù)碼塊 MOVR3,#08HSCAN1:MOVA,R5 MOVP2,A MOVA,@R1 MOVDPTR,#TAB MOVCA,@A+DPTR MOVP0,A LCALLDL1MS INCR1 MOVA,R5 RRA MOVR5,A DJNZR3,SCAN1 MOVP2,#00H MOVP0,#0FFH RETTAB:DB0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,0BFH ;“0~9”,“-”的共陽極字段碼INTT0: PUSHACC;定期器/計(jì)數(shù)器T0中斷服務(wù)程序 PUSHPSW CLRET0 CLRTR0 MOVTL0,#0B0H MOVTH0,#03CH SETBTR0 INC7BH MOVA,7BH CJNEA,#14H,OUTT0 MOV7BH,#00 INC78H MOVA,78H CJNEA,#3CH,OUTT0 MOV78H,#00INC79HMOVA,79H CJNEA,#3CH,OUTT0 MOV79H,#00INC7AHMOVA,7AH CJNEA,#18H,OUTT0 MOV7AH,#00OUTT0:SETBET0POPPSWPOPACC RETIKEYSCAN:CLREA;按鍵解決程序 JNBP1.0,KEYSCAN0 JNBP1.1,KEYSCAN1 JNBP1.2,KEYSCAN2KEYOUT:SETBEARETKEYSCAN0:LCALLDL20MSJBP1.0,KEYOUTWAIT0:JNBP1.0,WAIT0 INC7CH MOVA,7CH CLRET0 CLRTR0 CJNEA,#03H,KEYOUT MOV7CH,#00 SETBET0 SETBTR0 SJMPKEYOUTKEYSCAN1:LCALLDL20MSJBP1.1,KEYOUTWAIT1:JNBP1.1,WAIT1 MOVA,7CH CJNEA,#02H,KSCAN11 INC79HMOVA,79HCJNEA,#3CH,KEYOUT MOV79H,#00SJMPKEYOUTKSCAN11:INC7AHMOVA,7AHCJNEA,#18H,KEYOUTMOV7AH,#00SJMPKEYOUTKEYSCAN2:LCALLDL20MS
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 常見的股權(quán)轉(zhuǎn)讓協(xié)議樣本
- 標(biāo)準(zhǔn)供貨合同格式指南
- 2024年度資產(chǎn)處置債務(wù)協(xié)議書
- 工程地質(zhì)勘察合同樣本
- 標(biāo)準(zhǔn)二手房合同范本
- 房產(chǎn)項(xiàng)目轉(zhuǎn)讓協(xié)議范本
- 包含子女撫養(yǎng)條款的離婚協(xié)議書
- 食品報(bào)廢處理合作協(xié)議書
- 油漆代理銷售合同
- 2024年離婚協(xié)議書范本參考
- 98S205 消防增壓穩(wěn)壓設(shè)備選用與安裝(隔膜式氣壓罐)
- 改善人因績(jī)效
- 爐頭設(shè)備安全操作規(guī)定
- 隧道巖溶處治關(guān)鍵技術(shù)
- 關(guān)于生活中物理的課件
- 2023年口腔醫(yī)學(xué)期末復(fù)習(xí)-牙周病學(xué)(口腔醫(yī)學(xué))考試歷年真題集錦帶答案
- 2023數(shù)據(jù)安全專項(xiàng)考核試題及答案
- 麥克斯韋速率分布律的推導(dǎo)與驗(yàn)證
- 互聯(lián)網(wǎng)開放平臺(tái)解決方案
- 洗衣房各種布草洗滌程序
- 農(nóng)村電商知到章節(jié)答案智慧樹2023年西昌學(xué)院
評(píng)論
0/150
提交評(píng)論