電子時(shí)鐘課程設(shè)計(jì)_第1頁(yè)
電子時(shí)鐘課程設(shè)計(jì)_第2頁(yè)
電子時(shí)鐘課程設(shè)計(jì)_第3頁(yè)
電子時(shí)鐘課程設(shè)計(jì)_第4頁(yè)
電子時(shí)鐘課程設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩8頁(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、單片機(jī)課程設(shè)計(jì)題 目: 電子時(shí)鐘 班 級(jí): 姓 名: 學(xué) 號(hào): 指導(dǎo)教師: 設(shè)計(jì)時(shí)間: 評(píng)語(yǔ):成績(jī) 摘 要針對(duì)數(shù)字時(shí)鐘的問(wèn)題,利用8051單片機(jī),proteus軟件,vw(偉福)等軟件,運(yùn)用單片機(jī)中定時(shí)計(jì)數(shù)器t0,中斷系統(tǒng)以及按鍵的控制實(shí)現(xiàn)了電子時(shí)鐘的設(shè)計(jì)。設(shè)計(jì)的電子時(shí)鐘通過(guò)數(shù)碼管顯示,并能通過(guò)按鍵的設(shè)計(jì)實(shí)現(xiàn)小時(shí)與分鐘的調(diào)整。時(shí)間的啟動(dòng)與暫停等等。關(guān)鍵字:數(shù)字時(shí)鐘;單片機(jī);定時(shí)計(jì)數(shù)器1 引言時(shí)鐘,自他發(fā)明的那天起,就成為人類的朋友,但隨著時(shí)間的推移,科學(xué)技術(shù)不斷的發(fā)展,人們對(duì)時(shí)間計(jì)量的進(jìn)度要求越來(lái)越高,應(yīng)用越來(lái)越廣。怎樣讓時(shí)鐘更好地為人類服務(wù),怎樣讓我們的老朋友煥發(fā)青春呢?這就要求人們不斷設(shè)計(jì)

2、出新型時(shí)鐘?,F(xiàn)金,高精度的計(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)震蕩定時(shí)信號(hào),主要由晶振和外圍電路組成,晶振頻率的大小決定了單片機(jī)系統(tǒng)工作的快慢;二是指系統(tǒng)的標(biāo)準(zhǔn)定時(shí)時(shí)鐘,及定時(shí)時(shí)間,它通常有兩

3、種方法實(shí)現(xiàn):一是軟件實(shí)現(xiàn),即用單片機(jī)內(nèi)部的可編程定時(shí)/計(jì)數(shù)器來(lái)實(shí)現(xiàn),但誤差很大,主要用在對(duì)時(shí)間精度要起不高的場(chǎng)合;二是用專門的時(shí)鐘芯片實(shí)現(xiàn),在對(duì)時(shí)間精度要求很高的情況下,通常采用這種方法。本文主要介紹用單片機(jī)內(nèi)部的定時(shí)計(jì)數(shù)器來(lái)實(shí)現(xiàn)電子時(shí)鐘的方法,以單片機(jī)為核心,輔以必要電路,構(gòu)成了一個(gè)單片機(jī)電子時(shí)鐘。單片機(jī)應(yīng)用系統(tǒng)由硬件系統(tǒng)和軟件系統(tǒng)兩部分組成。硬件系統(tǒng)是指單片機(jī)以及擴(kuò)展的存儲(chǔ)器、io接口、外圍擴(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ò)展

4、的存儲(chǔ)器和io接口,使單片機(jī)應(yīng)用系統(tǒng)能夠運(yùn)行。在一個(gè)單片機(jī)應(yīng)用系統(tǒng)中,往往都會(huì)輸入信息和顯示信息,這就涉及鍵盤和顯示器。在單片機(jī)應(yīng)用系統(tǒng)中,一般都根據(jù)系統(tǒng)的要求配置相應(yīng)的鍵盤和顯示器。配置鍵盤和顯示器一般都沒(méi)有統(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)中鍵盤一般用的比較多的是矩陣鍵盤,顯示器用

5、的比較多的是led數(shù)碼管還有l(wèi)cd顯示器。2 設(shè)計(jì)方案及原理2.1 中斷系統(tǒng)簡(jiǎn)介mcs-51單片機(jī)提供5個(gè)硬件中斷源,2個(gè)外部中斷源,2個(gè)定時(shí)計(jì)數(shù)器t0和t1的溢出中斷tf0和tf1,1個(gè)串行口發(fā)送ti和接收ri中斷。mcs-51單片機(jī)中沒(méi)有專門的開中斷和關(guān)中斷指令,對(duì)各個(gè)中斷源的允許和屏蔽是由內(nèi)部的中斷允許寄存器ie的各位來(lái)控制的。中斷允許寄存器ie的字節(jié)地址為a8h,可以進(jìn)行位尋址。系統(tǒng)復(fù)位時(shí),中斷允許寄存器ie的內(nèi)容為00h,如果要開放某個(gè)中斷源,則必須使ie中的總控置位和對(duì)應(yīng)的中斷允許位置“1”。mcs-51單片機(jī)有5個(gè)中斷源,為了處理方便,每個(gè)中斷源有兩級(jí)控制,高優(yōu)先級(jí)和低優(yōu)先級(jí)。通

6、過(guò)由內(nèi)部的中斷優(yōu)先級(jí)寄存器ip來(lái)設(shè)置,中斷優(yōu)先級(jí)寄存器ip的字節(jié)地址為b8h,可以進(jìn)行位尋址。如果某位被置“1”,則對(duì)應(yīng)的中斷源被設(shè)為高優(yōu)先級(jí);如果某位被清零,則對(duì)應(yīng)的中斷源被設(shè)為低優(yōu)先級(jí)。對(duì)于同級(jí)中斷源,系統(tǒng)有默認(rèn)的優(yōu)先權(quán)順序,從高到低優(yōu)先權(quán)順序?yàn)橥獠恐袛?、定時(shí)計(jì)數(shù)器t0中斷、外部中斷1、定時(shí)計(jì)數(shù)器t1中斷、串行口中斷。通過(guò)設(shè)置中斷優(yōu)先級(jí)寄存器ip能夠改變系統(tǒng)默認(rèn)的優(yōu)先級(jí)順序。2.2 計(jì)數(shù)器定時(shí)器簡(jiǎn)介mcs-51系列中51子系列有兩個(gè)16位的可編程定時(shí)計(jì)數(shù)器t0和定時(shí)計(jì)數(shù)器t1。它由加法計(jì)數(shù)器、方式寄存器tmod、控制寄存器tcon等組成。方式寄存器用于設(shè)定定時(shí)計(jì)數(shù)器t0和t1的工作方式,

7、控制寄存器用于對(duì)定時(shí)計(jì)數(shù)器啟動(dòng)、停止進(jìn)行控制。每個(gè)定時(shí)計(jì)數(shù)器既可以對(duì)系統(tǒng)時(shí)鐘計(jì)數(shù)實(shí)現(xiàn)定時(shí),也可以外部信號(hào)計(jì)數(shù)實(shí)現(xiàn)計(jì)數(shù)功能通過(guò)編程設(shè)定來(lái)實(shí)現(xiàn)。定時(shí)計(jì)數(shù)器有四種工作方式,通過(guò)編程可設(shè)定工作于某種方式。四種工作方式為:13位定時(shí)計(jì)數(shù)器、16位定時(shí)計(jì)數(shù)器、8位自動(dòng)重置定時(shí)計(jì)數(shù)器、兩個(gè)8位定時(shí)計(jì)數(shù)器(只有t0有)。 每一個(gè)定時(shí)計(jì)數(shù)器定時(shí)計(jì)數(shù)時(shí)間到時(shí)產(chǎn)生溢出,使相應(yīng)的溢出位置位,溢出可通過(guò)查詢或中斷方式處理。2.3 鍵盤和數(shù)碼管簡(jiǎn)介鍵盤是單片機(jī)應(yīng)用系統(tǒng)中最常用的輸入設(shè)備,在單片機(jī)應(yīng)用系統(tǒng)中,操作人員一般都是通過(guò)鍵盤向單片機(jī)系統(tǒng)輸入指令、地址和數(shù)據(jù),實(shí)現(xiàn)簡(jiǎn)單的人機(jī)通信。鍵盤實(shí)際上是一組按鍵開關(guān)的集合,平時(shí)按

8、鍵開關(guān)總是處于斷開狀態(tài),當(dāng)按下鍵時(shí)它才閉合。鍵盤的結(jié)構(gòu)形式一般有兩種:獨(dú)立式鍵盤和矩陣式鍵盤。矩陣式鍵盤的工作方式有3種:查詢工作方式、定時(shí)掃描工作方式和中斷工作方式。led數(shù)碼顯示管在單片機(jī)應(yīng)用系統(tǒng)中,經(jīng)常用到led數(shù)碼管作為顯示輸出設(shè)備,led數(shù)碼管顯示器雖然顯示信息簡(jiǎn)單,但它具有顯示清晰、亮度高、使用電壓低、壽命長(zhǎng)、與單片機(jī)接口方便等特點(diǎn),基本上能夠滿足單片機(jī)應(yīng)用系統(tǒng)的需要,所以在單片機(jī)應(yīng)用系統(tǒng)中經(jīng)常用到。led數(shù)碼管顯示器是由發(fā)光二極管按一定的結(jié)構(gòu)組合起來(lái)的顯示器件。在單片機(jī)應(yīng)用系統(tǒng)中通常使用的是8段式led數(shù)碼管顯示器,它有共陰極和共陽(yáng)極兩種。所謂譯碼方式是指由顯示字符轉(zhuǎn)換得到對(duì)應(yīng)的

9、字段碼的方式。對(duì)于led數(shù)碼管顯示器,通常的譯碼方式有兩種:硬件譯碼方式和軟件譯碼方式。led數(shù)碼管在顯示時(shí),通常有兩種顯示方式:靜態(tài)顯示方式和動(dòng)態(tài)顯示方式。在使用時(shí)可以把它們組合起來(lái)。在實(shí)際應(yīng)用時(shí),如果數(shù)碼管個(gè)數(shù)較少,通常用硬件譯碼靜態(tài)顯示,在數(shù)碼管個(gè)數(shù)較多時(shí),則通常用軟件譯碼動(dòng)態(tài)顯示。2.4 設(shè)計(jì)思想電子時(shí)鐘是利用單片機(jī)內(nèi)部的定時(shí)器計(jì)數(shù)器來(lái)實(shí)現(xiàn)的,它的處理過(guò)程如下:首先設(shè)定單片機(jī)內(nèi)部的一個(gè)定時(shí)器計(jì)數(shù)器工作于定時(shí)方式,對(duì)機(jī)器周期計(jì)數(shù)形成基準(zhǔn)時(shí)間,然后對(duì)基準(zhǔn)時(shí)間計(jì)數(shù)形成秒,秒計(jì)60次形成分,分計(jì)60次形成小時(shí),小時(shí)計(jì)24次則計(jì)滿一天。然后通過(guò)數(shù)碼管把它們的內(nèi)容在相應(yīng)位置顯示出來(lái)即可。數(shù)碼管顯示

10、可以采用靜態(tài)顯示方法或動(dòng)態(tài)顯示方法。靜態(tài)顯示方法需要數(shù)據(jù)鎖存器等硬件,接口復(fù)雜,時(shí)鐘顯示一般用6個(gè)或8個(gè)數(shù)碼管。由于系統(tǒng)沒(méi)有其他的復(fù)雜的任務(wù)處理,而且顯示的時(shí)鐘信息隨時(shí)都可能變化,一般采用動(dòng)態(tài)顯示方式。動(dòng)態(tài)顯示方法線路相對(duì)簡(jiǎn)單,但需動(dòng)態(tài)掃描,掃描頻率要大于人眼視覺(jué)暫留頻率,信息看起來(lái)才穩(wěn)定。在具體處理時(shí),定時(shí)器計(jì)數(shù)器采用中斷方式工作,對(duì)時(shí)鐘的形成在中斷服務(wù)程序中實(shí)現(xiàn)。在主程序中只需對(duì)定時(shí)器計(jì)數(shù)器初始化、調(diào)用顯示子程序和控制子程序。時(shí)間調(diào)整的方法,設(shè)計(jì)了簡(jiǎn)單的按鍵,可以通過(guò)按鍵實(shí)現(xiàn)時(shí)、分的調(diào)整,在主程序中加入了鍵盤設(shè)置子程序。用定時(shí)計(jì)數(shù)器t0,工作于定時(shí),采用方式1,對(duì)12mhz的系統(tǒng)時(shí)鐘進(jìn)行定

11、時(shí)計(jì)數(shù),形成定時(shí)時(shí)間為50ms,所以定時(shí)初值為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ū),通過(guò)數(shù)碼管顯示出來(lái)。顯示格式為小時(shí)十位、小時(shí)個(gè)位-分十位、分個(gè)位-秒十位、秒個(gè)位。3 硬件設(shè)計(jì)圖2.1 硬件原理圖1圖2.2 硬件原理圖24軟件設(shè)計(jì)4.1 設(shè)計(jì)模塊程序分為4個(gè)部分:主程序,中斷服務(wù)程序,顯示程序,按鍵處理程序。4.1.1 主程序主程序設(shè)置顯示緩沖區(qū)以及定時(shí)計(jì)

12、數(shù)器t0初始值,并開始計(jì)數(shù),反復(fù)調(diào)用鍵盤掃描與顯示子程序。流程如圖3.1。 開始顯示緩沖單元0調(diào)用掃描件鍵盤裝載計(jì)數(shù)初值定時(shí)器0工作方式1定時(shí)開始調(diào)用顯示子程序開中斷圖3.1 主程序流程圖4.1.2 中斷服務(wù)程序定時(shí)計(jì)數(shù)器t0用于時(shí)間計(jì)時(shí)。選擇方式1,重復(fù)定時(shí),定時(shí)時(shí)間設(shè)為50ms,定時(shí)時(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ù),重置初

13、值,啟動(dòng)下一個(gè)50ms定時(shí)計(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,對(duì)應(yīng)顯示緩沖區(qū)70h、71h、72h、73h、74h、75h、76h、77h。p2口作為位選線,p0口作為段碼線,數(shù)碼塊為共陽(yáng)極連接,采用動(dòng)態(tài)顯示的方法。4.1.4 按鍵處理程序按鍵從上到下依次為k0、

14、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 程序清單org 0000hljmp startorg 000bh ;定時(shí)器/計(jì)數(shù)器t0中斷程序入口ljmp intt0start: mov r0,#70h ;主程序mov r7,#0chinit: mov r0,#00hinc r0djnz r7,initmov 72h,#0ahmov 75h,#0ahmov tmod,#01hmov tl0,#0b

15、0hmov th0,#03chsetb easetb et0setb tr0start1: lcall scanlcall keyscansjmp start1dl1ms: mov r6,#14h ;延時(shí)1ms子程序dl1: mov r7,#19hdl2: djnz r7,dl2djnz r6 ,dl1 retdl20ms: acall scan ;延時(shí)20ms子程序 acall scan acall scanretscan: mov a,78h ; 數(shù)碼管顯示程序mov b,#0ahdiv abmov 71h,amov 70h,bmov a,79hmov b,#0ahdiv abmov 74

16、h,amov 73h,b mov a,7ahmov b,#0ahdiv abmov 77h,a mov 76h,b mov r1,#70h ;循環(huán)掃描顯示mov r5,#80h ;選通最右邊的第一個(gè)數(shù)碼塊 mov r3,#08hscan1: mov a,r5mov p2,amov a,r1mov dptr,#tabmovc a,a+dptrmov p0,alcall dl1msinc r1mov a,r5rr amov r5,adjnz r3,scan1mov p2,#00hmov p0,#0ffhrettab:db 0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h,8

17、0h,90h,0bfh;“09”,“-”的共陽(yáng)極字段碼intt0: push acc ;定時(shí)器/計(jì)數(shù)器t0中斷服務(wù)程序push pswclr et0clr tr0mov tl0,#0b0hmov th0,#03chsetb tr0inc 7bhmov a,7bhcjne a,#14h,outt0mov 7bh,#00inc 78hmov a,78hcjne a,#3ch,outt0mov 78h,#00 inc 79h mov a,79hcjne a,#3ch,outt0mov 79h,#00 inc 7ah mov a,7ahcjne a,#18h,outt0mov 7ah,#00outt0

18、: setb et0 pop psw pop accretikeyscan: clr ea ;按鍵處理程序jnb p1.0,keyscan0jnb p1.1,keyscan1 jnb p1.2,keyscan2keyout: setb ea retkeyscan0: lcall dl20ms jb p1.0,keyoutwait0: jnb p1.0,wait0 inc 7ch mov a,7ch clr et0 clr tr0 cjne a,#03h,keyout mov 7ch,#00 setb et0 setb tr0 sjmp keyoutkeyscan1: lcall dl20ms jb p1.1,keyoutwait1: jnb p1.1,wait1 mov a,7ch cjne a,#02h,kscan11 inc 79h mov a,79h cjne a,#3ch,keyout mov 79h,#00 sjmp keyoutkscan11: inc 7ah mov a,7ah cjne a,

溫馨提示

  • 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)論