版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、多功能電子鐘的設計摘 要單片機自20世紀70年代問世以來,以其極高的性能價格比,受到人們的重視和關注,應用很廣、發(fā)展很快。而51單片機是各單片機中最為典型和最有代表性的一種。 本次設計以at89c52芯片為核心,輔以必要的外圍電路,設計了一個簡易的電子時鐘,它由220v交流電源供電。在硬件方面,除了cpu外,使用6個七段led數碼管來進行顯示,led采用的是靜態(tài)顯示。通過led能夠比較準確顯示時、分、秒。兩個簡單的按鍵實現對時間的調整。軟件方面采用匯編語言編程。整個電子鐘裝置能完成時間的顯示、調時、定時鬧鐘、秒表、復位等功能。 通過這次設計讓我更深入了解單片機基本電路、如何控制和定時器和中斷編
2、程的基本方法,從而鍛煉了我學習、設計和開發(fā)軟、硬件的能力。關鍵詞:電子時鐘、多功能、at89c52、led數碼顯示the design with investigation of the multi-function electron clockabstractbecause of its extremely high performance-price ratio, the single-chip computer (scc) has been paid great attention to ever since it came out in 1970s of 20th century, a
3、nd has gained an extensive applicable field and fast development. among all kinds of sccs, 51 scc is the most typical and representative one. this design, adopting at89c52 chip as the core part with some necessary peripheral circuits, is a simple electronic clock which uses 220v ac as the power supp
4、ly. in hardware aspect, besides the cpu, six seven-segment led digi-tubes are used for display, which work in a statically display mode. the leds can accurately indicate hour and minute and two buttons can be used to adjust the time. while in the software aspect, the programming language is assembly
5、 language. the whole electronic clock system has functions of time display, adjustment, bell-setting , stopwatch and reset, etc. this design enables me to have greater insight into the basic circuit of scc, and the basic methods of timer control and interruption programming, so that is a training of
6、 my ability of learning, designing and developing software and hardware.key words:electronic clock、multi-function、at89c52、led目 錄引 言1第1章 緒論21.1 方案要求21.2 方案設計21.3 硬件框圖3第2章 硬件設計42.1 at89c52的管腳說明42.2 t0和t1的設置72.3 t2的設置82.4 模塊設計112.4.1 電源部分112.4.2 復位部分112.4.3 振蕩器部分122.4.4 發(fā)聲部分122.4.5 顯示部分13第3章 軟件設計173.1
7、主程序流程圖173.2 中斷程序流程圖173.3 源程序20結論與展望21參考文獻22致 謝22附錄a 系統(tǒng)電路原理圖24附錄b 引用的外文文獻及其譯文25附錄c 主要參考文獻的題錄及摘要31附錄d 電子時鐘源程序33插圖清單圖1- 1 多功能電子鐘原理框圖3圖2- 1 at89c52芯片pdip封裝引腳圖5圖2- 2 電源電路11圖2- 3 按鍵復位電路11圖2- 4 振蕩器12圖2- 5 發(fā)聲電路12圖2- 6 數碼管顯示電路13圖2- 7 dm7447an引腳功能圖15圖2- 8 七段顯示器對dm7447an 之保護電路圖16 圖3- 1 主程序流程圖17圖3- 2 t2中斷流程圖18圖
8、3- 3 t1中斷流程圖19圖3- 4 t0中斷流程圖20表格清單表2- 1 p1.1和p1.1的第二功能6表2- 2 p3口各位的第二功能6表2- 3 tmod7表2- 4 tcon7表2- 5 計數器工作方式7表2- 6 t2con9表2- 7 t2con的各位功能9表2- 8 t2mod9表2- 9 定時器2工作方式10表2- 10 數碼管數據和數碼管每段的對應關系13表2- 11 數碼管斷碼和字型的對應關系(共陽極)13表2- 12 dm7447an 真值表15引 言一寸光陰一寸金,寸金難買寸光陰。時鐘,自從它發(fā)明的那天起,就成為人類的朋友,但隨著時間的推移,科學技術的不斷發(fā)展,人們對
9、時間計量的精度要求越來越高,應用越來越廣。怎樣讓時鐘更好的為人們服務,怎樣讓我們的老朋友煥發(fā)青春呢?這就要求人們不斷設計出新型時鐘。電子技術是十九世紀末、二十世紀初開始發(fā)展起來的新興技術,二十世紀發(fā)展最迅速,應用最廣泛,成為近代科學技術發(fā)展的一個重要標志。在其推動下,現代電子產品正在以前所未有的革新速度,向著功能多樣化、體積最小化、功耗最低化的方向迅速發(fā)展,電子技術的發(fā)展有力的推動社會生產力的發(fā)展。 郭沫若先生曾說:時間就是生命,時間就是速度,時間就是力量。時間對我們來說總是那么寶貴,在我們的日常工作、學習、生活中,時間概念愈加顯得重要。在高度發(fā)達信息化的21世紀,人們總是那么忙碌。生活工作中
10、班車要準點,上班要準時,開會要有時間限制;工業(yè)生產中,每一道工序都要有嚴格的時間限制,這樣才能做到井井有條;嚴謹的科技研究中,時間更是重中之重。能夠準確的了解并且實時性的知道時間,是我們學習、工作、生活中不可或缺的。機械式鐘表雖然也可以告知人們時間,也可以定時,顯示日歷。但是由于受到機械結構、動力和體積的限制,在功能、性能以及造價上都沒辦法與電子時鐘相比?,F今,高精度的計時工具大多數都使用了石英晶體振蕩器,由于電子鐘,石英表,石英鐘都采用了石英技術,因此走時精度高,穩(wěn)定性好,使用方便,不需要經常調校,數字式電子鐘用集成電路計時代替機械式傳動,用led顯示器代替指針顯示進而顯示時間,減小了計時誤
11、差,這種表具有時,分,秒顯示時間的功能,還可以進行時和分的校對,片選的靈活性好。時鐘電路在計算機系統(tǒng)中起著非常重要的作用,是保證系統(tǒng)正常工作的基礎。在一個單片機應用系統(tǒng)中,時鐘有兩方面的含義:一是指為保障系統(tǒng)正常工作的基準振蕩定時信號,主要由晶振和外圍電路組成,晶振頻率的大小決定了單片機系統(tǒng)工作的快慢;二是指系統(tǒng)的標準定時時鐘,即定時時間,它通常有兩種實現方法:一是用軟件實現,即用單片機內部的可編程定時/計數器來實現,但誤差很大,主要用在對時間精度要求不高的場合;二是用專門的時鐘芯片實現,在對時間精度要求很高的情況下,通常采用這種方法,典型的時鐘芯片有:ds1302,ds12887,x1203
12、等都可以滿足高精度的要求。本文主要介紹用單片機內部的定時/計數器來實現電子時鐘的方法,本設計由單片機at89c52芯片和led數碼管為核心,輔以必要的電路,構成了一個單片機電子時鐘。第1章 緒論1.1 方案要求1主要的任務及目標:用單片機設置一個時鐘裝置(1)時鐘功能;(2)鬧鐘功能;(3)秒表功能。2設計的主要內容為:(1)時鐘范圍:24h,60m,60s;(2)按鍵調整時間設定;(3)按鍵設定鬧鐘,精度為分鐘;(4)按鍵控制秒表,精度為0.01秒;(5)供電220vac。1.2 方案設計多功能電子時鐘方案:多功能電子時鐘是本設計的最主要的部分。根據需要,本方案完全用軟件實現數字時鐘。原理為
13、:在單片機內部存儲器設三個字節(jié)分別存放時鐘的時、分、秒信息。利用定時器與軟件結合實現1秒定時中斷,每產生一次中斷,存儲器內相應的秒值加1;若秒值達到60,則將其清零,并將相應的分字節(jié)值加1;若分值達到60,則清零分字節(jié),并將時字節(jié)值加1;若時值達到24,則將時字節(jié)清零。該方案具有硬件電路簡單的特點。但由于每次執(zhí)行程序時,定時器都要重新賦初值,所以該時鐘精度不高。而且由于是軟件實現,當單片機不上電,程序不執(zhí)行時,時鐘將不工作。利用單片機內部的定時/計數器進行中斷定時,配合軟件延時實現時、分、秒的計時及秒表計時。該方案節(jié)省硬件成本,且能使設計者對單片機的指令系統(tǒng)能有更深入的了解,從而掌握單片機應用
14、技術mcs-51匯編語言程序設計方法,因此,本系統(tǒng)設計采用此種軟件控制方法來實現計時。而由于atmel公司的at89c52單片機是低功耗的具有8kb在線可編程flash存儲器的單片機。它與通用80c51系列單片機的指令系和引腳兼容。片內的flash可允許在線重新編程,也可使用通用非易失性存儲器編程。它將通用cpu和在線可編程flash集成在一個芯片上,形成了功能強大、使用靈活和具有較高性能價格比的微控制器。它的功能強大,而且也較容易購買,故本設計中所選的單片機為at89c52單片機。1.3 硬件框圖圖1- 1 多功能電子鐘原理框圖第2章 硬件設計2.1 at89c52的管腳說明目前在單片機系統(tǒng)
15、中,應用比較廣泛的微處理器芯片主要為8xc5x系列單片機。該系列單片機均采用標準mcs-51內核,硬件資源相互兼容,品類齊全,功能完善,性能穩(wěn)定,體積小,價格低廉,貨源充足,調試和編程方便,所以應用極為廣泛。例如比較常用的at89c2052單片機,帶有2kb flash可編程、可擦除只讀存儲器(e2prom)的低壓、高性能8位cmos微型計算機。擁有15條可編程i/o引腳,2個16位定時器/計數器,6個中斷源,可編程串行uart通道,并能直接驅動led輸出。應用at89c2051單片機完全可以實現。但是將兩種功能結合在一片單片機上,就需要更多的i/o引腳,本設計采用具有32根i/o引腳的at8
16、9c52單片機。at89c52單片機是一款低功耗,低電壓,高性能cmos 8位單片機,片內含4kb(可經受1000次擦寫周期)的flash可編程可反復擦寫的只讀程序存儲器(eprom),器件采用cmos工藝和atmei公司的高密度、非易失性存儲器(nuram)技術制造,其輸出引腳和指令系統(tǒng)都與mcs-51兼容。片內的flash存儲器允許在系統(tǒng)內可改編程序或用常規(guī)的非易失性存儲器編程器來編程。因此,at89c52是一種功能強,靈活性高且價格合理的單片機,可方便的應用在各個控制領域6。at89c52具有以下主要性能:1. 8kb可改編程序flash存儲器;2. 全靜態(tài)工作:024hz;3. 256
17、8字節(jié)內部ram;4. 32個外部雙向輸入/輸出(i/o)口;5. 6個中斷優(yōu)先級; 3個16位可編程定時計數器;6. 可編程串行通道;7. 片內時鐘振蕩器。此外,at89c52是用靜態(tài)邏輯來設計的,其工作頻率可下降到0hz,并提供兩種可用軟件來選擇的省電方式空閑方式(idle mode)和掉電方式(power down mode)。在空閑方式中,cpu停止工作,而ram、定時器/計數器、串行口和中斷系統(tǒng)都繼續(xù)工作。在掉電方式中,片內振蕩器停止工作,由于時鐘被“凍結”,使一切功能都暫停,只保存片內ram中的內容,直到下一次硬件復位為止。圖2- 1 at89c52芯片pdip封裝引腳圖如圖2-1
18、所示,at89c52共有40個管腳,其各個功能如下:vcc 運行時加5vvss 接地xtal1 振蕩器反相放大器及內部時鐘發(fā)生器的輸入端xtal2 振蕩器反相放大器的輸出端rst 復位輸入,高電平有效,在晶振工作時,在rst引腳上作用2個機器周期以上的高電平,將使單片機復位。/vpp 片外程序存儲器訪問允許信號。欲使cpu僅訪問外部程序存儲器(地址為0000h-ffffh),端必須保持低電平(接地),如果端為高電平(接vcc端),cpu則執(zhí)行內部程序中的指令。lae/ 當訪問外部程序存儲器或數據存儲器時,ale(地址允許鎖存)輸出脈沖用于鎖存地址的低8位位數字節(jié)。一般情況下,ale仍以時鐘振蕩
19、頻率的1/6輸出固定的脈沖信號,因此它可對外輸出時鐘或用于定時目的。要注意的是:每當訪問外部數據存儲器時將跳過一個ale脈沖。對flash存儲器編程期間,該引腳還用于輸入編程脈沖(第二功能)。:程序儲存允許()輸出是外部程序存儲器的讀選通信號,當at89c52由外部存儲器取指令(或數據)時,每個機器周期兩次有效,即輸出兩個脈沖。在此期間,當訪問外部數據存儲器,將跳過兩次信號。p0口 是一組8位漏極開路雙向i/o口,也即地址/數據總線復用口。作為輸出口用時,每位能吸收電流的方式驅動8個ttl邏輯門電路,對端口p0寫“1”時,可作為高阻抗輸入端用。在訪問外部數據存儲器或程序存儲器時,這組口線分時轉
20、換地址(低8位)和數據總線服用,在訪問期間激活內部上拉電阻。在本設計中p0口的高4位(p0.7p0.4)輸出秒十位,低4位(p0.3p0.0)輸出秒個位。p1口 是一個內部帶上拉電阻的8位準雙向i/o口。在對eprom型單片機編程和驗證程序時,它接收低8位地址。p1能驅動(吸收或輸出電流)4個lsttl電路。在時鐘系統(tǒng)中,p1口的高4位(p1.7p1.4)用來輸出時十位,低4位(p1.3p1.0)用來輸出時個位。p1.0還被用作定時器/計數器2的外部計數輸入端,即專用功能t2。p1.1被用作專用功能端t2ex,即定時器t2的外部控制端。參見表2-1。表2- 1 p1.1和p1.1的第二功能引腳
21、號功能特性p1.0t2(定時/計數器2外部計數脈沖輸入),時鐘輸出p1.1t2xe(定時/計數器2捕獲/重裝載觸發(fā)和方向控制)p2口 是一個帶有內部上拉電阻的8位準雙向i/o口,p2的輸出緩沖級可驅動(吸收或輸出電流)4個ttl邏輯門電路。對端口寫“1”,通過內部的上拉電阻,某個引腳外部信號拉低是會輸出一個電流。在時鐘系統(tǒng)中,p2口的高4位(p2.7p2.4)用來輸出分十位,低4位(p2.3p2.0)用來輸出分個位。p3口 是一組帶有內部上拉電阻的8位準雙向i/o口。p3口輸出緩沖級可驅動(吸收或輸出電流)4個ttl邏輯門電路。對p3口寫入“1”時,它們被內部上拉電阻拉高并可作為輸入端口。此時
22、,被外部拉低的p3口將用上拉電阻輸出電流。p3口除了作為一般的i/o口線外,更重要的用途是它的第二功能,如表2-2所示:表2- 2 p3口各位的第二功能端口引腳第二功能p3.0rxd (串行輸入口)p3.1txd (串行輸出口)p3.2 (外部中斷0)p3.3 (外部中斷1)p3.4 t0 (定時/計數器0)p3.5 t1 (定時/計數器1)p3.6 (外部數據存儲器寫選通)p3.7 (外部數據存儲器讀選通) 2.2 t0和t1的設置定時器/計數器0和定時器/計數器1有兩個外部輸入端(t0、和t1、)、兩個8位的二進制加法計數器(th0、tl0和th1、tl1)。由兩個內部特殊功能寄存器(tm
23、od、tcon)控制定時器/計數器的工作,其中tmod(timer/counter mode control)是定時器/計數器模式控制寄存器,其格式如下表2-3所示(寄存器各位不可位尋址)。表2- 3 tmod寄存器名:tmod位名稱gatec/m1m0gatec/m1m 0地址:89h位地址tmod被分為兩個部分,每部分4位,高4位用于定時器/計數器1,低4位用于定時器/計數器0。其中gate和c/用于控制計數信號的輸入,m1、m0用于定義計數器的工作方式。tcon是定時器/計數器寄存器,其格式如下表2-4所示(寄存器各位可位尋址):表2- 4 tcon寄存器名:tcon位名稱tf1tr1t
24、f0tr0ie1it1ie0it0地址:88h位地址8fh8eh8dh8ch8bh8ah89h88htcon也被分為兩部分,高4位用于定時器/計數器。其中tr1、tr0用于控制計數信號的輸入,tf1、tf0位計數器的溢出位。tmod中的gate和tcon中的tr0用于控制計數脈沖的接通,通常有兩種使用方法:gate=0時,僅僅由程序設置tr0=1來接通計數脈沖,由程序設置tr=0來停止計數。此時與外部中斷無關。gate=1時,先由程序設置tr=1,然后由外部中斷來控制計數的接通與關閉。 兩個8位計數器均為加法計數器,它們的級聯(lián)和技術范圍是有tmod中的m1和m0來控制的。m1、m0可設置4種內
25、部計數的工作方式,如表2-5所示。 表2- 5 計數器工作方式工作方式m1m0功 能計 數 范 圍00013位二進制加法計數器10116位二進制加法計數器210可重置初值的8位二進制加法計數器3112個獨立的8位二進制加法計數器(僅對t0)工作方式0主要為兼容早期的mcs-48單片機所保留,一般可用工作方式1代替。工作方式1的特點是:計數范圍寬,但每次的初值均要由程序來設置。工作方式2的特點是:初值只需要設置一次,每次溢出后,初值自動會從th0加載到tl0或從th1加載到tl1,但計數范圍較工作方式1小。工作方式3的特點是:增加了一個獨立的計數器,但只能適用于定時器/計數器0而且占用了定時器/
26、計數器1的tr1和tf1,所以此時的定時器/計數器1只能用于不需要中斷的應用,如作為串行口的波特率發(fā)生器。4種工作方式對溢出處理均相同,加法計數超出范圍后,溢出信號將使tcon中的tf0或tf1置位,計數值回到0或初值,重新開始計數。tf0或tf1置位后,可向cpu提出中斷請求。tf0和tf1在cpu響應中斷后會自動復位,而禁止中斷響應時,也可由軟件來復位。以工作方式1為例,定時時間t為計數范圍乘上計數周期,即由表2-5和上式可知,當初值等于0時,4種工作方式有中最大定時時間的為工作方式1。又外接晶振頻率為12mhz,則最大定時時間為65536,即65.36ms。時鐘要求顯示時間精度為妙,而定
27、時器最大定時時間為65.36ms ,小于1s,很顯然直接用一個定時器來定時是行不通的。為此,把t0設為定時器模式,t1設為計數器模式,它們都以工作方式1工作,即把tmod賦值01010001b,又由軟件來啟動或停止中斷,則把00000000b賦予tcon。t0定時時間為0.05s,t1計數次數為20,這樣可得1s的定時時間。由上式可導出計算初值的下式:則可分別計算出t0和t1的初值:t0初值=65536-50000=15536=3cb0h;t1初值=65536-20=65516=ffech。2.3 t2的設置at89c52除了mcs-51中51子系列所有的定時器/計數器0、定時器/計數器1外,
28、還有一個定時器/計數器2。定時器/計數器2有兩個外部輸入端(t2和t2ex),兩個8位的二進制計數器(th2和tl2),兩個重載或捕獲寄存器(rcap2l和rcap2h)和兩個內部特殊功能寄存器t2con和t2mod。定時器/計數器2的兩個外部輸入端t2和t2ex分別借用了p1.0和p1.1。t2con、t2mod、rcap2l、rcap2h、tl2和th2這六個寄存器或計數器的內部地址分別為0c8h0cdh,復位后,除了t2mod中未定義的各位值不確定外,其余均為0。t2con中的各位可進行位尋址,其他寄存器或計數器的各位不能按位尋址。t2con(timer/counter2 control
29、)的格式和其各位的功能分別如表2-6和表2-7所示。表2- 6 t2con寄存器名:t2con位名稱exf2rclktcjkexen2tr2c/cp/地址:0c8h位地址0cfh0ceh0cdh0cch0cbh0cah0c9h0c8h表2- 7 t2con的各位功能符號功能tf2定時器2溢出標志。定時器2溢出是,又由硬件置位,必須由軟件清0。當rclk=1時,定時器2溢出,不對tf2置位。exf2定時器2外部標志。當exen2=1,且當t2ex引腳上出現負跳變而出現捕獲或重裝載時,exf2置位,申請中斷。此時如果允許定時器2中斷,cpu將響應中斷,執(zhí)行定時器2中斷服務程序,exf2必須由軟件清
30、除。當定時器2工作在向上或向下計數工作方式時(decn=1),exf2不能激活中斷。rclk接收時鐘允許。rclk=1時,用定時器2溢出脈沖作為串行口(工作于工作方式1或3時)的接收時鐘,rclk=0,用定時器1的溢出脈沖作為接收時鐘。tclk發(fā)送時鐘允許。tclk=1時,用定時器2溢出脈沖作為串行口(工作于工作方式1或3時)的發(fā)送時鐘,tclk=0,用定時器1的溢出脈沖作為發(fā)送脈沖。exen2定時器2外部允許標志。當exen2=1時,如果定時器2未用于作串行口的波特率發(fā)生器,在t2ex端出現負跳變脈沖時,激活定時器2捕獲或重裝載。exen2=0時,t2ex端的外部信號無效。tr2定時器2啟動
31、/停止控制位。tr2=1時,啟動定時器2c/定時器2定時方式或計數方式控制位。若為0,選擇定時方式。若為1,選擇對外部事件計數方式(下降沿觸發(fā))。cp/捕獲/重裝載選擇。cp/=1時,如exen2=1,且t2ex端出現負跳變脈沖時發(fā)生捕獲操作。cp/=0時,若定時器2溢出或exen2=1的條件下,t2ex端出現負跳變脈沖,都會出現自動重載操作。當rclk=1或tclk=1時,該位無效,在定時器2溢出是強制其自動重裝載。t2mod(timer 2 mode control)雖然是定時器/計數器2模式控制器的縮寫,但定時器/計數器2的工作模式與t2con更為親密,t2mod只用了2位,其格式如表2
32、-8所示(寄存器各位不可位尋址)。表2- 8 t2mod寄存器名:t2mod位名稱t2oedcen地址:0c9h位地址t2oe是定時器2的輸出允許位,置位后,允許t2引腳輸出可編程的方波。dcen是定時器2的計數方向控制允許位,置位可允許定時器2進行加/減計數方式。定時器2有三種工作方式:捕獲方式,自動重裝載(向上或向下計數)方式和波特率發(fā)生器,工作方式有t2con的控制位來選擇,如表2-9所示表2- 9 定時器2工作方式rclk+tclkcp/tr 2mode0 0 116-bit auto-reload 0 1 116-bit capture 1 x 1baud rate generato
33、 r x x 0off捕獲(capture)方式:在捕獲方式下,利用外部引腳t2ex(p1.1)上的下降沿,可捕獲當前th2和tl2的16位計數值。th2和tl2的計數信號可來自內部基準時鐘,此時捕獲方式可測得引腳t2ex上兩個下降沿之間的時間;th2和tl2計數信號也可來自引腳t2(p1.0)上的脈沖信號,此時的捕獲方式可測得t2ex上兩個下降邊沿周期,t2上所出現的脈沖數。自動重載(auto-reload)方式:自動重載方式可通過t2mod中的dcen位來設置自動重載時的計數方式,dcen=0為加法計數的自動重載方式,dcen=1為可控加/減法計數的自動重載方式。當dcen=0,若exen
34、2=0,定時器2為向上計數至0ffffh溢出,置位tf2激活中斷,同時把16位計數寄存器rcap2h和rcap2l重裝載,rcap2h和rcap2l的值可由軟件設置;若exen2=1,定時器2的16位重載由溢出或外部輸入端t2ex從1至0的下降沿觸發(fā)。這個脈沖使exf2置位,如果中斷允許,同樣產生中斷。波特率發(fā)生器(baud rate generator)方式:置位t2con中的tclk或rclk位可將定時器2設置為波特率發(fā)生器方式,此時,串行口的發(fā)送和接收波特率可以不同,如定時器2作為發(fā)送(或接收)波特率發(fā)生器方式,而定時器1作為接收(或發(fā)送)波特率發(fā)生器方式。定時器2是用來產生秒表定時中斷
35、的,采用自動重裝載(auto-reload)方式工作,即把00000000b賦予t2con。令t2mod中dcen=0, exen2=0,定時器2為向上計數至0ffffh溢出,置位tf2激活中斷,同時把16位計數寄存器rcap2h和rcap2l重裝載,rcap2h和rcap2l的值可由軟件設置。由于秒表要求精度為0.01s,定時器2的定時時間也要為0.01秒。由公式(2)可知:t2初值=65536-10000=55536=d8f0h,即th2=d8h,tl2=f0h;rcap2h=d8h,rcap2l=f0h。2.4 模塊設計2.4.1 電源部分如圖2-2所示,lm7805ct是一個三端集成穩(wěn)
36、壓器,輸出端電壓+5v,其自身壓降為23v,這里取2.5v,則1端電壓為7.5v。整流濾波系數為1.26,則變壓器二次側的電壓為6v,因此變壓器的砸數比為3:110。圖2- 2電源電路2.4.2 復位部分復位是單片機的初始化操作,其主要功能是把pc初始化為0000h,使單片機從0000h單元開始執(zhí)行程序,并使其它功能單元處于一個確定的初始狀態(tài)。本復位電路采用的是按鍵復位,它是通過復位端經電阻與vcc電源接通而實現的,它兼具上電復位功能。因本系統(tǒng)的晶振的頻率為12mhz,所以,復位信號持續(xù)時間應當超過2s才能完成復位操作。如圖2-3所示,上電時電容充電,1端低壓經非門輸出2端為高壓,啟動復位。當
37、電容充滿電后,1端高壓經非門輸出2端為低壓,復位停止。若按下s0,電容開始放電,1端低壓經非門輸出2端為高壓,則啟動復位。圖2- 3 按鍵復位電路2.4.3 振蕩器部分mcs-51單片機內部有一個用于構成振蕩器的高增益反相放大器,引腳xtal1和xtal2分別是該放大器的輸入端和輸出端。這個放大器與作為反饋元件的片外石英晶體及電容一起構成一個自激振蕩器,如圖2-4所示。 圖2- 4 振蕩器圖中石英晶體為12mhz,兩個電容為20pf。單片機一個機器周期包含12個振蕩周期,則每個機器周期恰為1。2.4.4 發(fā)聲部分蜂鳴器與三極管相連,給p3.0口寫“1”則蜂鳴器發(fā)聲,寫“0”則蜂鳴器停止發(fā)聲,如
38、圖2-5所示。圖2- 5 發(fā)聲電路2.4.5 顯示部分為了使數碼管能顯示十進制數,必須先由軟件將二進制數轉換為十進制的bcd碼,然后再將十進制數的bcd碼經過譯碼器的譯出,經驅動器點亮對應的的段,如圖2-6所示。圖2- 6 數碼管顯示電路圖中所用的譯碼器是dm7447an集成顯示譯碼器,輸出系為驅動器設計,其工作電壓5v,邏輯0吸入電流高達40ma,故必須使用電阻加以限流,以免電流過大燒毀顯示器。輸入端、輸出端和數碼管顯示數字之間的關系如表2-10所示。在單片機內部顯示緩沖區(qū)79h、7ah、7bh、7ch、7dh、7eh內的值分別是秒的個位、秒的十位、分的個位、分的十位、時的個位、時的十位,顯
39、示器led0、led1、led2、led3、led4、led5分別顯示秒的個位十位、分的個位十位、時的個位十位,由圖2-6所示。數碼管動態(tài)顯示:由于顯示的數據和led數碼管的段控碼并不是一一對應的關系,即顯示的數據與數碼管的字型代碼不相符。顯示數據與字型代碼之間存在著轉換關系,數碼管段控數據和數碼管各段的對應關系如表2-10、表2-11所示。表2- 10 數碼管數據和數碼管每段的對應關系d7d6d5d4d3d2d1d0led顯示碼a111111100fehb111111010fdhc111110110fbhd111101110f7he111011110efhf110111110dfhg1011
40、11110bfhdp011111117fh表2- 11 數碼管斷碼和字型的對應關系(共陽極)字型d7d6d5d4d3d2d1d0段碼dpgfedcba0110000000co1111110010f92101001000a43101100000b04100110019951001001092610000010827111110000f88100000008091001000090a1000100088b1000001183c110001100c6d101000000a0e1000011086f100011108ep.0000011006全亮0000000000全滅111111110ff從電子鐘程
41、序清單中的顯示程序可以知道:數據表格存儲單元從首地址到最高位分別存放的是共陽極數碼管0、1、2、3、4、5、6、7、8、9、p.、滅的十六進制字型代碼,所以只要把顯示緩沖區(qū)內的數值加上偏移地址rel(偏移地址rel=數據表格首地址-movc a a+pc指令單元首地址-1),把和送到累加器a中,使用movc a, a+pc就可以取出緩沖區(qū)內要顯示數據的字型代碼,當然要取p.和滅的字型代碼就要分別給緩沖區(qū)送0ah、0bh。在動態(tài)掃描時,顯示緩沖區(qū)31h內部存放的是要顯示的秒的個位的數值,使用movc a, a+pc指令取出段控碼,由p0口輸出通過鎖存器dm7447an后送到數碼管的段控端,給p2
42、口送01h通過鎖存器dm7447an驅動以后,只有l(wèi)ed0位的位控端有效,此時只有l(wèi)ed0被點亮來顯示秒的個位,延時持續(xù)點亮一段時間,然后把顯示緩沖單元地址加1,位控值左移一位,取出段控碼,再把段控碼和位控碼送到數碼管顯示器,此時只有l(wèi)ed1被點亮顯示秒的十位,延時持續(xù)點亮一段時間,就這樣通過逐個地從低位到高位點亮各個顯示器,掃描到最高位時的十位被點亮就返回。這樣雖然在任一時刻只有一位顯示器被點亮,但是由于人眼具有視覺殘留效應,看起來與全部顯示器持續(xù)點亮效果完全一樣。常用的bcd 對七段顯示器譯碼器/驅動器之ic 包裝計有ttl 之dm7446an、dm7447an、7448、7449 與cm
43、os 之4511 等等。其中dm7446an、dm7447an 必須使用共陽極七段顯示器,7448、7449、4511等則使用共陰極七段顯示器。 圖2-7為dm7447an集成電路譯碼器之引腳圖與真值表如表2-12。在正常操作時,當輸入dcba=0010 則輸出abcdefg=0010010。故使顯示器顯示2。當輸入dcba=0110 時,輸出abcdeg=1100000,顯示器顯示6。 在dm7447an 中尚有l(wèi)t、rbi 與bi/rbo 之控制腳,其功能分述如下:該電路是由與非門、輸入緩沖器和7 個與或非門組成的bcd-7 段譯碼器/驅動器。通常是低電平有效,高的灌入電流的輸出可直接驅動
44、顯示器。7 個與非門和一個驅動器成對連接,以產生可用的bcd 數據及其補碼至7 個與或非譯碼門。剩下的與非門和3 個輸入緩沖器作為試燈輸入(lt)端、滅燈輸入/動態(tài)滅燈輸出(bi/rbo)端及動態(tài)滅燈輸入(rbi )端。該電路接受4之輸出位二進制編碼十進制數(bcd)輸入并借助于輔助輸入端狀態(tài)將輸入數據譯碼后去驅動一個七段顯示器。輸出結構設計成能承受7 段顯示所需要的相當高的電壓。驅動顯示器各段所需的高達24ma 的電流可以由其高性能的輸出晶體管來直接提供。bcd 輸入計數9 以上的顯示圖案是鑒定輸入條件的唯一信號。該電路有自動前、后沿滅零控制(rbi和rbo)。試燈(lt)可在端處在高電平的
45、任何時刻去進行,該電路還含有一個滅燈輸入(bi),它用來控制燈的亮度或禁止輸出。該電路在應用中可以驅動共陽極的發(fā)光二極管或直接驅動白熾燈指示器。dm7447an系為驅動器設計,其邏輯0 之吸入電流高達40ma, 入330 左右電阻加以限流,以免過大電流流經led 而燒毀顯示器,如圖2-8所示。圖2- 7 dm7447an引腳功能圖表2- 12 dm7447an 真值表h=高電平 l=低電平 =不定注:1、當需要0到15的輸出功能時,滅燈輸入(bi)必須為開路或保持在高邏輯電平, 若不要滅掉十進制零,則動態(tài)滅燈輸入(rbi)必須開路或處于高邏輯電平。2、當低邏輯電平直接加到滅燈輸入(bi)時,不
46、管其它任何輸入端的電平如何,所有段的輸出端都關死。3、當動態(tài)滅燈輸入(rbi)和 輸入端a、b、c、d 都處于低電平而試燈輸入(lt)為高時,則所有段的輸出端進入關閉且動態(tài)滅燈輸出(rbo)處于低電平(響應條件)。4、當滅燈輸入/動態(tài)滅燈輸出(bi/rbo)開路或保持在高電平,且將低電平加到試燈輸入(lt)時,所有段的輸出端都得打開。* bi/rbo 是用作滅燈輸入(bi)與/或動態(tài)滅燈輸出(rbo)的線與邏輯圖2- 8 七段顯示器對dm7447an 之保護電路圖2.5 時鐘系統(tǒng)的電路原理框圖時鐘系統(tǒng)的電路原理框圖請參見附錄一。第3章 軟件設計3.1 主程序流程圖電子時鐘的主程序流程圖如圖3-
47、1所示。 圖3- 1 主程序流程圖s1和s4用來選擇進入調時模式、調整鬧鐘模式還是秒表模式;s1按下,s4也按下,則進入調時模式。若此時按下s6鍵,則時鐘小時加一,按下s7分鐘加一,然后顯示當前時分秒;若s6,s7都不按,則直接顯示當前時間;s1按下,s4不按下,則進入鬧鐘調整模式。若此時按下s6,鬧鐘小時加一,按下s7,鬧鐘分加一;若s6,s7都不按,直接按下s4鍵,則退出鬧鐘調整模式;s1不按,s4不按,直接按下s7鍵,開始秒表計時,若沒有超過1小時,顯示分秒百分秒,若超過1小時,則顯示時分秒,再按下s7秒表停止。若按下s6則秒表停止并且時間歸0;當時鐘走到剛好為鬧鐘設定的時間時,蜂鳴器開
48、始發(fā)聲鳴叫,按下s1,則蜂鳴器停止鳴叫。3.2 中斷程序流程圖1t2中斷程序流程圖t2是用來產生秒表中斷的,如圖3-2所示。清t2溢出標志百分秒加11秒 y百分秒歸0秒加160秒秒歸0分加160分分歸0時加1時歸024時返回nnnnyyyyt2定時中斷圖3- 2 t2中斷流程圖2t1中斷程序流程圖 t1接收到預定的脈沖數后,中斷開始,如圖3-3所示裝t1初值秒加1秒歸0分加1時歸0分歸0時加160秒60分返回24時t1計數中斷ynnyny圖3- 3 t1中斷流程圖3t0中斷程序流程圖t0定時器每次到定時時間就中斷一次,產生一個脈沖,如圖3-4所示。t0定時中斷重裝t0初值在t1入口形成計數脈沖
49、返回 圖3- 4 t0中斷流程圖 t0定時時間為0.05s,每0.05s就在t1入口(p3.5口)形成一個脈沖。t1計數器計數次數為20,接收到20個脈沖(1秒)啟動中斷。先秒加一,若秒超過59,則秒歸0并且分加一;若分超過59,則分歸0并且時加一;若時超過23,則時歸0。t2為定時器,定時時間為0.01s,也即秒表計時精度為0.01s。先百分秒加一,若到達一秒,則秒加一,百分秒歸0;若秒超過59,則秒歸0并且分加一;若分超過59,則分歸0并且時加一;若時超過23,則時也歸0。t2中斷優(yōu)先于t0、t1,即給ip寄存器賦值00100000b。3.3 源程序電子時鐘系統(tǒng)的源程序請參見附錄二。結論與
50、展望 本文介紹的是利用at89c52單片機設計的有調時、定時、鬧鈴功能的電子鐘。并詳細說明了軟件和硬件設計方法及仿真、硬件實現。在設計過程中可以看出,匯編語言有著其獨特的魅力,它簡單易學,語法錯誤容易糾正;用單片機實現電子鐘的設計是比較方便和易于實現的。隨著社會的進步,科技的改革,人們對時鐘的要求越來越多,諸如對時鐘的形狀、功能的要求。單片機多功能電子時鐘在今后的發(fā)展應用中會越來越廣泛。利用單片機技術實現電子時鐘,僅僅是眾多方法之一。多功能電子時鐘有多種實現方案,能夠實現的功能也很多,例如時間日歷顯示和校對、鬧鈴等功能。本文的軟件設計還可以利用c編語言,由于本人能力有限,傾向于51單片機匯編語言進行編程。在這次的畢業(yè)設計過程中,我遇到了許多問題。電路原理圖的設計是我的弱處,開始時對一些電路不是很了解,經過查找資料與同學探討,逐漸明白了其中的關鍵。對程序的理解,一開始沒有按照程序流程圖來,總覺得模模糊糊,似是而非,后來按照程序流程圖一步一步的搞明白了。由于時間和能力問題,本次設計沒有進行試驗,很是遺憾。但在查找資料的過程中學到很多,同時在協(xié)作的過程中增進了同學間的友
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年房地產年終總結(34篇)
- 福建省龍巖市2015年中考政治真題試題
- 機電公司買賣合同范例
- 森林林木聯(lián)營合同范例
- 進口耗材經銷合同范例
- 美食商場商鋪租賃合同范例
- 吊籃租賃合同范例徐州
- 入駐抖音基地合同范例
- 拍賣購房合同范例
- 花茶銷合同范例
- 道路運輸企業(yè)安全生產管理人員安全考核試題題庫與答案
- 護理質控輸液查對制度
- 年終抖音運營述職報告
- 期末教師會議德育副校長講話:德育需要奉獻
- 腦梗死患者的護理常規(guī)
- 2024年7月國家開放大學法律事務??啤斗勺稍兣c調解》期末紙質考試試題及答案
- 2024年人教版初二地理上冊期末考試卷(附答案)
- AQ6111-2023個體防護裝備安全管理規(guī)范
- 江蘇小高考計算機考試題目及答案
- 2023版押品考試題庫必考點含答案
- 2023版押品考試題庫必考點含答案
評論
0/150
提交評論