版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 單片機課程設(shè)計</b></p><p> 題 目: 電子時鐘 </p><p><b> 班 級: </b></p><p><b> 姓 名: </b></p><p><b> 學(xué) 號:
2、</b></p><p><b> 指導(dǎo)教師: </b></p><p><b> 設(shè)計時間: </b></p><p> 評語:成績 </p><p><b> 摘 要</b></p><p> 針對數(shù)字時鐘的問
3、題,利用8051單片機,proteus軟件,vw(偉福)等軟件,運用單片機中定時計數(shù)器T0,中斷系統(tǒng)以及按鍵的控制實現(xiàn)了電子時鐘的設(shè)計。設(shè)計的電子時鐘通過數(shù)碼管顯示,并能通過按鍵的設(shè)計實現(xiàn)小時與分鐘的調(diào)整。時間的啟動與暫停等等。</p><p> 關(guān)鍵字:數(shù)字時鐘;單片機;定時計數(shù)器</p><p><b> 1 引言</b></p><p&g
4、t; 時鐘,自他發(fā)明的那天起,就成為人類的朋友,但隨著時間的推移,科學(xué)技術(shù)不斷的發(fā)展,人們對時間計量的進(jìn)度要求越來越高,應(yīng)用越來越廣。怎樣讓時鐘更好地為人類服務(wù),怎樣讓我們的老朋友煥發(fā)青春呢?這就要求人們不斷設(shè)計出新型時鐘。</p><p> 現(xiàn)金,高精度的計時工具大多數(shù)都使用了石英晶體振蕩器,由于電子鐘,石英表,石英鐘都使用了石英技術(shù),因此走時精度高,穩(wěn)定性好,使用方便,不需要經(jīng)常調(diào)校,數(shù)字式電子鐘用集成電
5、路計時時,譯碼代替機械式傳動,用LED顯示器代替指針顯示器,減小了計時誤差,這種表具有時、分、秒顯示的功能,還可以進(jìn)行時、分的校對,片選的靈活性好。</p><p> 時鐘電路在計算機系統(tǒng)中起著非常重要的作用,是保證系統(tǒng)正常工作的基礎(chǔ)。在一個單片機應(yīng)用系統(tǒng)中,時鐘有兩方面的含義:一是指為保障系統(tǒng)正常工作的基準(zhǔn)震蕩定時信號,主要由晶振和外圍電路組成,晶振頻率的大小決定了單片機系統(tǒng)工作的快慢;二是指系統(tǒng)的標(biāo)準(zhǔn)定時時
6、鐘,及定時時間,它通常有兩種方法實現(xiàn):一是軟件實現(xiàn),即用單片機內(nèi)部的可編程定時/計數(shù)器來實現(xiàn),但誤差很大,主要用在對時間精度要起不高的場合;二是用專門的時鐘芯片實現(xiàn),在對時間精度要求很高的情況下,通常采用這種方法。本文主要介紹用單片機內(nèi)部的定時計數(shù)器來實現(xiàn)電子時鐘的方法,以單片機為核心,輔以必要電路,構(gòu)成了一個單片機電子時鐘。</p><p> 單片機應(yīng)用系統(tǒng)由硬件系統(tǒng)和軟件系統(tǒng)兩部分組成。硬件系統(tǒng)是指單片機以
7、及擴展的存儲器、I\O接口、外圍擴展的功能芯片以及接口電路。軟件系統(tǒng)包括監(jiān)控程序和各種應(yīng)用程序。</p><p> 在單片機應(yīng)用系統(tǒng)中,單片機是整個系統(tǒng)的核心,對整個系統(tǒng)的信息輸入、處理、信息輸出進(jìn)行控制。與單片機配套的有相應(yīng)的復(fù)位電路、時鐘電路以及擴展的存儲器和I\O接口,使單片機應(yīng)用系統(tǒng)能夠運行。</p><p> 在一個單片機應(yīng)用系統(tǒng)中,往往都會輸入信息和顯示信息,這就涉及鍵盤和
8、顯示器。在單片機應(yīng)用系統(tǒng)中,一般都根據(jù)系統(tǒng)的要求配置相應(yīng)的鍵盤和顯示器。配置鍵盤和顯示器一般都沒有統(tǒng)一的規(guī)定,有的系統(tǒng)功能復(fù)雜,需輸入的信息和顯示的信息量大,配置的鍵盤和顯示器功能相對強大,而有些系統(tǒng)輸入/輸出的信息少,這時可能用幾個按鍵和幾個LED指示燈就可以進(jìn)行處理了。在單片機應(yīng)用系統(tǒng)在中配置的鍵盤可以是獨立鍵盤,也可能是矩陣鍵盤。顯示器可以是LED指示燈,也可以是LED數(shù)碼管,也可以是LCD顯示器,還可以使用CRT顯示器。單片機應(yīng)
9、用系統(tǒng)中鍵盤一般用的比較多的是矩陣鍵盤,顯示器用的比較多的是LED數(shù)碼管還有LCD顯示器。</p><p><b> 2 設(shè)計方案及原理</b></p><p> 2.1 中斷系統(tǒng)簡介</p><p> MCS-51單片機提供5個硬件中斷源,2個外部中斷源,2個定時計數(shù)器T0和T1的溢出中斷TF0和TF1,1個串行口發(fā)送TI和接收RI中斷
10、。</p><p> MCS-51單片機中沒有專門的開中斷和關(guān)中斷指令,對各個中斷源的允許和屏蔽是由內(nèi)部的中斷允許寄存器IE的各位來控制的。中斷允許寄存器IE的字節(jié)地址為A8H,可以進(jìn)行位尋址。系統(tǒng)復(fù)位時,中斷允許寄存器IE的內(nèi)容為00H,如果要開放某個中斷源,則必須使IE中的總控置位和對應(yīng)的中斷允許位置“1”。</p><p> MCS-51單片機有5個中斷源,為了處理方便,每個中斷
11、源有兩級控制,高優(yōu)先級和低優(yōu)先級。通過由內(nèi)部的中斷優(yōu)先級寄存器IP來設(shè)置,中斷優(yōu)先級寄存器IP的字節(jié)地址為B8H,可以進(jìn)行位尋址。如果某位被置“1”,則對應(yīng)的中斷源被設(shè)為高優(yōu)先級;如果某位被清零,則對應(yīng)的中斷源被設(shè)為低優(yōu)先級。對于同級中斷源,系統(tǒng)有默認(rèn)的優(yōu)先權(quán)順序,從高到低優(yōu)先權(quán)順序為外部中斷0、定時計數(shù)器T0中斷、外部中斷1、定時計數(shù)器T1中斷、串行口中斷。通過設(shè)置中斷優(yōu)先級寄存器IP能夠改變系統(tǒng)默認(rèn)的優(yōu)先級順序。</p>
12、<p> 2.2 計數(shù)器定時器簡介</p><p> MCS-51系列中51子系列有兩個16位的可編程定時\計數(shù)器T0和定時\計數(shù)器T1。它由加法計數(shù)器、方式寄存器TMOD、控制寄存器TCON等組成。方式寄存器用于設(shè)定定時計數(shù)器T0和T1的工作方式,控制寄存器用于對定時計數(shù)器啟動、停止進(jìn)行控制。</p><p> 每個定時計數(shù)器既可以對系統(tǒng)時鐘計數(shù)實現(xiàn)定時,也可以外部信
13、號計數(shù)實現(xiàn)計數(shù)功能通過編程設(shè)定來實現(xiàn)。</p><p> 定時計數(shù)器有四種工作方式,通過編程可設(shè)定工作于某種方式。四種工作方式為:13位定時\計數(shù)器、16位定時\計數(shù)器、8位自動重置定時\計數(shù)器、兩個8位定時\計數(shù)器(只有T0有)。 每一個定時計數(shù)器定時計數(shù)時間到時產(chǎn)生溢出,使相應(yīng)的溢出位置位,溢出可通過查詢或中斷方式處理。</p><p> 2.3 鍵盤和數(shù)碼管簡介</p>
14、;<p> 鍵盤是單片機應(yīng)用系統(tǒng)中最常用的輸入設(shè)備,在單片機應(yīng)用系統(tǒng)中,操作人員一般都是通過鍵盤向單片機系統(tǒng)輸入指令、地址和數(shù)據(jù),實現(xiàn)簡單的人機通信。鍵盤實際上是一組按鍵開關(guān)的集合,平時按鍵開關(guān)總是處于斷開狀態(tài),當(dāng)按下鍵時它才閉合。鍵盤的結(jié)構(gòu)形式一般有兩種:獨立式鍵盤和矩陣式鍵盤。矩陣式鍵盤的工作方式有3種:查詢工作方式、定時掃描工作方式和中斷工作方式。</p><p> LED數(shù)碼顯示管在單片
15、機應(yīng)用系統(tǒng)中,經(jīng)常用到LED數(shù)碼管作為顯示輸出設(shè)備,LED數(shù)碼管顯示器雖然顯示信息簡單,但它具有顯示清晰、亮度高、使用電壓低、壽命長、與單片機接口方便等特點,基本上能夠滿足單片機應(yīng)用系統(tǒng)的需要,所以在單片機應(yīng)用系統(tǒng)中經(jīng)常用到。LED數(shù)碼管顯示器是由發(fā)光二極管按一定的結(jié)構(gòu)組合起來的顯示器件。在單片機應(yīng)用系統(tǒng)中通常使用的是8段式LED數(shù)碼管顯示器,它有共陰極和共陽極兩種。所謂譯碼方式是指由顯示字符轉(zhuǎn)換得到對應(yīng)的字段碼的方式。對于LED數(shù)碼管
16、顯示器,通常的譯碼方式有兩種:硬件譯碼方式和軟件譯碼方式。LED數(shù)碼管在顯示時,通常有兩種顯示方式:靜態(tài)顯示方式和動態(tài)顯示方式。在使用時可以把它們組合起來。在實際應(yīng)用時,如果數(shù)碼管個數(shù)較少,通常用硬件譯碼靜態(tài)顯示,在數(shù)碼管個數(shù)較多時,則通常用軟件譯碼動態(tài)顯示。</p><p><b> 2.4 設(shè)計思想</b></p><p> 電子時鐘是利用單片機內(nèi)部的定時器\
17、計數(shù)器來實現(xiàn)的,它的處理過程如下:首先設(shè)定單片機內(nèi)部的一個定時器\計數(shù)器工作于定時方式,對機器周期計數(shù)形成基準(zhǔn)時間,然后對基準(zhǔn)時間計數(shù)形成秒,秒計60次形成分,分計60次形成小時,小時計24次則計滿一天。然后通過數(shù)碼管把它們的內(nèi)容在相應(yīng)位置顯示出來即可。</p><p> 數(shù)碼管顯示可以采用靜態(tài)顯示方法或動態(tài)顯示方法。靜態(tài)顯示方法需要數(shù)據(jù)鎖存器等硬件,接口復(fù)雜,時鐘顯示一般用6個或8個數(shù)碼管。由于系統(tǒng)沒有其他的
18、復(fù)雜的任務(wù)處理,而且顯示的時鐘信息隨時都可能變化,一般采用動態(tài)顯示方式。動態(tài)顯示方法線路相對簡單,但需動態(tài)掃描,掃描頻率要大于人眼視覺暫留頻率,信息看起來才穩(wěn)定。</p><p> 在具體處理時,定時器計數(shù)器采用中斷方式工作,對時鐘的形成在中斷服務(wù)程序中實現(xiàn)。在主程序中只需對定時器計數(shù)器初始化、調(diào)用顯示子程序和控制子程序。時間調(diào)整的方法,設(shè)計了簡單的按鍵,可以通過按鍵實現(xiàn)時、分的調(diào)整,在主程序中加入了鍵盤設(shè)置子
19、程序。</p><p> 用定時/計數(shù)器T0,工作于定時,采用方式1,對12MHZ的系統(tǒng)時鐘進(jìn)行定時計數(shù),形成定時時間為50ms,所以定時初值為15536(3CB0H)。用片內(nèi)RAM的7BH單元對50ms計數(shù),計20次秒計數(shù)器78H單元加1,秒計數(shù)器加到60則分計數(shù)器79H單元加1,分計數(shù)器加到60則時計數(shù)器7AH單元加1,時計數(shù)器加到24則時計數(shù)器清0。然后把秒、分、時計數(shù)器分成十位和個位放到8個數(shù)碼管的顯示
20、緩沖區(qū),通過數(shù)碼管顯示出來。顯示格式為小時十位、小時個位---分十位、分個位---秒十位、秒個位。</p><p><b> 3 硬件設(shè)計</b></p><p> 圖2.1 硬件原理圖1</p><p> 圖2.2 硬件原理圖2</p><p><b> 4軟件設(shè)計</b></p&g
21、t;<p><b> 4.1 設(shè)計模塊</b></p><p> 程序分為4個部分:主程序,中斷服務(wù)程序,顯示程序,按鍵處理程序。</p><p><b> 4.1.1 主程序</b></p><p> 主程序設(shè)置顯示緩沖區(qū)以及定時計數(shù)器T0初始值,并開始計數(shù),反復(fù)調(diào)用鍵盤掃描與顯示子程序。流程如圖3
22、.1。</p><p> 圖3.1 主程序流程圖</p><p> 4.1.2 中斷服務(wù)程序</p><p> 定時計數(shù)器T0用于時間計時。選擇方式1,重復(fù)定時,定時時間設(shè)為50ms,定時時間到則中斷,在中斷服務(wù)程序中用7BH對50ms計數(shù),計20次則對秒單元(78H)加1,秒單元加到60則對分單元(79H)加1,同時秒單元清0;分單元加到60則對時單元(80
23、H)加1,同時分單元清0;時單元加到24則對時單元清0,標(biāo)志一天時間計滿。中斷服務(wù)程序流程圖如圖3.2</p><p> 圖3.2 中斷服務(wù)程序流程圖</p><p> 4.1.3 顯示程序</p><p> 本系統(tǒng)共采用8個顯示塊,從右向左依次是秒各位、秒十位、橫線、分各位、分十位、橫線、時各位、時十位,分別連接P2.7、P2.6、P2.5、P2.4、P2.
24、3、P2.2、P2.1、P2.0,對應(yīng)顯示緩沖區(qū)70H、71H、72H、73H、74H、75H、76H、77H。P2口作為位選線,P0口作為段碼線,數(shù)碼塊為共陽極連接,采用動態(tài)顯示的方法。</p><p> 4.1.4 按鍵處理程序</p><p> 按鍵從上到下依次為K0、K1、K2,分別與P1.0、P1.1、P1.2相連接。按下K0鍵后,時鐘停止計時,并進(jìn)入小時調(diào)整狀態(tài),按K1或K
25、2鍵可進(jìn)行加1或減1操作,再按一次K0鍵,進(jìn)入分鐘調(diào)整狀態(tài),同樣按K1或K2鍵可進(jìn)行加1或減1操作,再按下K0鍵則恢復(fù)計時狀態(tài)。</p><p><b> 4.2 程序清單</b></p><p> ORG 0000H</p><p> LJMP START</p><p> ORG
26、000BH ;定時器/計數(shù)器T0中斷程序入口</p><p> LJMP INTT0</p><p> START: MOV R0,#70H ;主程序</p><p> MOV R7,#0CH</p><p> INIT: MOV @R0,#00H&l
27、t;/p><p> INC R0</p><p> DJNZ R7,INIT</p><p> MOV 72H,#0AH</p><p> MOV 75H,#0AH</p><p> MOV TMOD,#01H</p><p> MOV
28、TL0,#0B0H</p><p> MOV TH0,#03CH</p><p> SETB EA</p><p> SETB ET0</p><p> SETB TR0</p><p> START1: LCALL SCAN</p><p>
29、 LCALL KEYSCAN</p><p> SJMP START1</p><p> DL1MS: MOV R6,#14H ;延時1MS子程序</p><p> DL1: MOV R7,#19H</p><p> DL2: DJNZ R7,
30、DL2</p><p> DJNZ R6 ,DL1</p><p><b> RET</b></p><p> DL20MS: ACALL SCAN ;延時20MS子程序</p><p> ACALL SCAN</p><p>
31、ACALL SCAN</p><p><b> RET</b></p><p> SCAN: MOV A,78H ; 數(shù)碼管顯示程序</p><p> MOV B,#0AH</p><p> DIV AB</p><p> MOV
32、 71H,A</p><p> MOV 70H,B</p><p> MOV A,79H</p><p> MOV B,#0AH</p><p> DIV AB</p><p> MOV 74H,A</p><p> MOV
33、73H,B</p><p> MOV A,7AH</p><p> MOV B,#0AH</p><p> DIV AB</p><p> MOV 77H,A</p><p> MOV 76H,B</p><p> MOV R1,#7
34、0H ;循環(huán)掃描顯示</p><p> MOV R5,#80H ;選通最右邊的第一個數(shù)碼塊 </p><p> MOV R3,#08H</p><p> SCAN1: MOV A,R5</p><p> MOV P2,A</p><p>
35、; MOV A,@R1</p><p> MOV DPTR,#TAB</p><p> MOVC A,@A+DPTR</p><p> MOV P0,A</p><p> LCALL DL1MS</p><p> INC R1</p><p&g
36、t; MOV A,R5</p><p> RR A</p><p> MOV R5,A</p><p> DJNZ R3,SCAN1</p><p> MOV P2,#00H</p><p> MOV P0,#0FFH</p><p&g
37、t;<b> RET</b></p><p> TAB:DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,0BFH</p><p> ;“0~9”,“-”的共陽極字段碼</p><p> INTT0: PUSH ACC ;定時器/計數(shù)器T0中斷
38、服務(wù)程序</p><p> PUSH PSW</p><p> CLR ET0</p><p> CLR TR0</p><p> MOV TL0,#0B0H</p><p> MOV TH0,#03CH</p><p> SET
39、B TR0</p><p> INC 7BH</p><p> MOV A,7BH</p><p> CJNE A,#14H,OUTT0</p><p> MOV 7BH,#00</p><p> INC 78H</p><
40、p> MOV A,78H</p><p> CJNE A,#3CH,OUTT0</p><p> MOV 78H,#00</p><p> INC 79H</p><p> MOV A,79H</p><p> CJNE A,#3CH,OU
41、TT0</p><p> MOV 79H,#00</p><p> INC 7AH</p><p> MOV A,7AH</p><p> CJNE A,#18H,OUTT0</p><p> MOV 7AH,#00</p><p>
42、 OUTT0: SETB ET0</p><p> POP PSW</p><p> POP ACC</p><p><b> RETI</b></p><p> KEYSCAN: CLR EA ;按鍵處理程序</p&
43、gt;<p> JNB P1.0,KEYSCAN0</p><p> JNB P1.1,KEYSCAN1</p><p> JNB P1.2,KEYSCAN2</p><p> KEYOUT: SETB EA</p><p><b> RET</
44、b></p><p> KEYSCAN0: LCALL DL20MS</p><p> JB P1.0,KEYOUT</p><p> WAIT0: JNB P1.0,WAIT0</p><p> INC 7CH</p><p> MOV
45、 A,7CH</p><p> CLR ET0</p><p> CLR TR0</p><p> CJNE A,#03H,KEYOUT</p><p> MOV 7CH,#00</p><p> SETB ET0</p><p>
46、 SETB TR0</p><p> SJMP KEYOUT</p><p> KEYSCAN1: LCALL DL20MS</p><p> JB P1.1,KEYOUT</p><p> WAIT1: JNB P1.1,WAIT1</p><p&
47、gt; MOV A,7CH</p><p> CJNE A,#02H,KSCAN11</p><p> INC 79H</p><p> MOV A,79H</p><p> CJNE A,#3CH,KEYOUT</p><p> MOV 79H
48、,#00</p><p> SJMP KEYOUT</p><p> KSCAN11: INC 7AH</p><p> MOV A,7AH</p><p> CJNE A,#18H,KEYOUT</p><p> MOV 7AH,#00</p&
49、gt;<p> SJMP KEYOUT</p><p> KEYSCAN2: LCALL DL20MS</p><p> JB P1.2,KEYOUT</p><p> WAIT2: JNB P1.2,WAIT2</p><p> MOV A,7CH<
50、/p><p> CJNE A,#02H,KSCAN21</p><p> DEC 79H</p><p> MOV A,79H</p><p> CJNE A,#0FFH,KEYOUT</p><p> MOV 79H,#3BH</p>
51、<p> SJMP KEYOUT</p><p> KSCAN21: DEC 7AH</p><p> MOV A,7AH</p><p> CJNE A,#0FFH,KEYOUT</p><p> MOV 7AH,#17H</p>
52、<p> SJMP KEYOUT</p><p><b> END</b></p><p><b> 總 結(jié)</b></p><p> 針對電子時鐘的問題,利用單片機內(nèi)部的定時計數(shù)器T0計時的功能以50MS為最小計時單位,進(jìn)行計時,計20次為一秒,秒單元計60次為一分鐘,分單元計60次為
53、一小時,小時單元計24次為一天,每個單元計滿則自動清0。單片機外部通過P2口與數(shù)碼顯示管連接,顯示秒,分,時,同時還可通過按鍵調(diào)整時間。最后運用proteus軟件仿真,并運行成功。在設(shè)計軟件程序,編寫論文過程中還存在部分不足之處,在以后的學(xué)習(xí)中積極改進(jìn),進(jìn)一步掌握匯編語言的編寫技巧,熟練單片機硬件內(nèi)容,改正缺點。</p><p><b> 參 考 文 獻(xiàn)</b></p>&l
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 電子時鐘 課程設(shè)計
- 電子時鐘課程設(shè)計
- 電子時鐘課程設(shè)計
- 課程設(shè)計--電子時鐘
- 課程設(shè)計----電子時鐘設(shè)計
- 電子時鐘課程設(shè)計--數(shù)字電子時鐘焊接調(diào)試報告
- 電子時鐘接口課程設(shè)計
- 電子時鐘課程設(shè)計 (2)
- 電子時鐘課程設(shè)計2
- led電子時鐘課程設(shè)計
- 電子時鐘課程設(shè)計報告
- eda課程設(shè)計---電子時鐘
- 電子時鐘課程設(shè)計 (2)
- 數(shù)字電子時鐘課程設(shè)計
- 數(shù)字電子時鐘課程設(shè)計
- eda課程設(shè)計--電子時鐘
- 電子時鐘課程設(shè)計--proteus環(huán)境下的電子時鐘設(shè)計
- 電子時鐘課程設(shè)計(論文)
- 數(shù)字電子時鐘課程設(shè)計
- 電子時鐘課程設(shè)計 (3)
評論
0/150
提交評論