![單片機電子鐘畢業(yè)設(shè)計_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/2/c0b614e2-dbd3-4f91-95c2-8739dcc935ad/c0b614e2-dbd3-4f91-95c2-8739dcc935ad1.gif)
![單片機電子鐘畢業(yè)設(shè)計_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/2/c0b614e2-dbd3-4f91-95c2-8739dcc935ad/c0b614e2-dbd3-4f91-95c2-8739dcc935ad2.gif)
![單片機電子鐘畢業(yè)設(shè)計_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/2/c0b614e2-dbd3-4f91-95c2-8739dcc935ad/c0b614e2-dbd3-4f91-95c2-8739dcc935ad3.gif)
![單片機電子鐘畢業(yè)設(shè)計_第4頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/2/c0b614e2-dbd3-4f91-95c2-8739dcc935ad/c0b614e2-dbd3-4f91-95c2-8739dcc935ad4.gif)
![單片機電子鐘畢業(yè)設(shè)計_第5頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/2/c0b614e2-dbd3-4f91-95c2-8739dcc935ad/c0b614e2-dbd3-4f91-95c2-8739dcc935ad5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、基于單片機的時鐘顯示器設(shè)計摘 要本文論述了如何利用單片機來設(shè)計一個時鐘的方法。本設(shè)計基于單片機技術(shù)原理,以單片機芯片AT89C52作為核心控制器,通過硬件電路的制作以及軟件程序的編制,設(shè)計制作出一個多功能數(shù)字時鐘系統(tǒng)。單片機擴展的LCD顯示器用來顯示秒、分、時計數(shù)單元中的值。整個設(shè)計包括兩大部分: 硬件部分和軟件部分,以單片機為核心, 配以一定的外圍電路和軟件。硬件是整個系統(tǒng)的基礎(chǔ), 軟件部分則要合理、充分地支持和使用系統(tǒng)的硬件, 從而完成系統(tǒng)所要完成的任務(wù)。本設(shè)計采用L ED 數(shù)碼管的數(shù)字顯示以其亮度高、顯示直觀等優(yōu)點被廣泛應(yīng)用于智能儀器及家用電器等領(lǐng)域。該時鐘系統(tǒng)主要由時鐘模塊、鬧鐘模塊、
2、環(huán)境溫度檢測模塊、液晶顯示模塊、鍵盤控制模塊以及信號提示模塊組成。能夠準(zhǔn)確顯示時間(顯示格式為時時:分分:秒秒,24小時制),可隨時進行時間調(diào)整,具有鬧鐘時間設(shè)置、鬧鐘開/關(guān)、止鬧功能,能夠?qū)r鐘所在的環(huán)境溫度進行測量并顯示。設(shè)計以硬件軟件化為指導(dǎo)思想,充分發(fā)揮單片機功能,大部分功能通過軟件編程來實現(xiàn),電路簡單明了,系統(tǒng)穩(wěn)定性高。單片機在這種情況下誕生了基于單片機電子時鐘。關(guān)鍵詞:單片機、LCD顯示器、液晶顯示模塊、基于單片機電子時鐘。 Design According To Single Slice The Clock Display Of The MachineABSTRACTThis t
3、ext discusses how to make use of a single slice machine to design the method of a clock.This design according to single slice machine technique principle, use single slice the machine chip AT89 C52 as core controller, pass the draw up of creation and software procedure of hardware electric circuit,
4、design to create a multi-function and numerical clock system. the single slice machine expand of LCD display use to show second, cent, the chronometer value within few units.The whole design include two greatly part of: Hardware part and software part, with single slice machine for core, go together
5、 with with the certain outer circle electric circuit and the software.The hardware is the foundation of the whole system, the software is part of to then want reasonable, adequately support with usage system of hardware, complete system thus want to complete of mission.This design adoption L ED figu
6、res tube of the numeral show high with its bright degree, show to keep a view etc. the advantage be extensively been apply in realms, such as intelligence instrument and home .The clock's system is mainly shown that mold piece, the keyboard control mold piece and signal hint that the mold piece
7、constitute by clock mold piece, alarm clock mold piece, the examination mold piece, LCD of the environment temperature.Can accurate manifestation time(manifestation format is always:The cent divide:Second second, 24 hours system), can carry on the adjustment in time at any time, have an alarm clock
8、to establish for time, the alarm clock open/pass, make function, can carry on measure to the environment temperature of clock place and show.Design to change into instruction thought by hardware software, well exertive single slice machine function, greatly parts of functions pass a software plait a
9、 distance to carry out, electric circuit in brief clear, system stability Gao.The single slice machine was born in this kind of case the machine electronics is according to the single slice clock.KEY WORDS: single-chip,lcd display, the LCD shows a mold piece,a ccording to single slice machine electr
10、onics clock.目錄前言1第1章 硬件系統(tǒng)設(shè)計21.1 單片機21.2 硬件設(shè)計31.3 硬件模塊3主控單元3顯示部分5顯示器接口及顯示方式7鍵盤控制模塊8聲音提示模塊8直流穩(wěn)壓電源部分9濾波電路91.4 硬件電路測試9硬件電路ERC測試9硬件電路網(wǎng)格化10生成PCB板11第2章 軟件設(shè)計132.1 設(shè)計思路132.2 模塊設(shè)計132.3 軟件模塊14計時模塊14調(diào)時功能14主程序模塊14鍵盤控制模塊14在編程過程中要用到的其它程序模塊14第3章 程序編譯和系統(tǒng)調(diào)試及仿真153.1 程序編譯15主要程序設(shè)計分析15程序設(shè)計163.2 軟件調(diào)試23偉福簡介23軟件調(diào)試243.3 硬件調(diào)試
11、25結(jié)論28謝 辭29參考文獻30外文資料翻譯31前言數(shù)字鐘是采用數(shù)字電路實現(xiàn)對時,分,秒數(shù)字顯示的計時裝置,廣泛用于個人家庭,車站, 碼頭辦公室等公共場所,成為人們?nèi)粘I钪胁豢缮俚谋匦杵?由于數(shù)字集成電路的發(fā)展和石英晶體振蕩器的廣泛應(yīng)用,使得數(shù)字鐘的精度,遠遠超過老式鐘表, 鐘表的數(shù)字化給人們生產(chǎn)生活帶來了極大的方便,而且大大地擴展了鐘表原先的報時功能。諸如定時自動報警、按時自動打鈴、時間程序自動控制、定時廣播、自動起閉路燈、定時開關(guān)烘箱、通斷動力設(shè)備、甚至各種定時電氣的自動啟用等,所有這些,都是以鐘表數(shù)字化為基礎(chǔ)的。因此,研究數(shù)字鐘及擴大其應(yīng)用,有著非常現(xiàn)實的意義。近年來隨著以計算機為軸
12、心的各種各樣信息處理裝置的誕生,為適應(yīng)這種新形勢,信息家電,網(wǎng)絡(luò)終端,廣播-通信等用途的LCD市場也將迅速擴大,而且如今LCD發(fā)展方向不僅在于大屏幕,而且在中小屏幕方面,例如汽車導(dǎo)航系統(tǒng),攝像機,數(shù)字式照相機,便攜式電視,PDA(個人數(shù)字助理),娛樂/游戲機,攝影機等有著進一步的發(fā)展。液晶顯示器(LCD)具有功耗低、體積小、重量輕、超薄等許多其他顯示器無法比擬的優(yōu)點,近年來被廣泛用于單片機控制的智能儀器、儀表和低功耗電子產(chǎn)品中。LCD可分為段式LCD、字符式LCD和點陣式LCD。其中,段式LCD和字符式LCD只能用于字符和數(shù)字的簡單顯示,不能滿足圖形曲線和漢字顯示的要求;而點陣式LCD不僅可以
13、顯示字符、數(shù)字,還可以顯示各種圖形、曲線以及漢字、動畫,并且可以實現(xiàn)屏幕滾動、反轉(zhuǎn)、閃爍等功能,用途十分廣泛。由此可見LCD的應(yīng)用是如此廣泛,所以用MPU控制液晶顯示器是很普遍的應(yīng)用。 第1章 硬件系統(tǒng)設(shè)計1.1 單片機單片機是一種集成電路芯片,采用超大規(guī)模技術(shù)把具有數(shù)據(jù)處理能力(如算術(shù)運算,邏輯運算、數(shù)據(jù)傳送、中斷處理)的微處理器(CPU),隨機存取數(shù)據(jù)存儲器(RAM),只讀程序存儲器(ROM),輸入輸出電路(I/O口),可能還包括定時計數(shù)器,串行通信口(SCI),顯示驅(qū)動電路(LCD或LED驅(qū)動電路),脈寬調(diào)制電路(PWM),模擬多路轉(zhuǎn)換器及A/D轉(zhuǎn)換器等電路集成到一塊單塊芯片上,構(gòu)成一個
14、最小然而完善的計算機系統(tǒng)。這些電路能在軟件的控制下準(zhǔn)確、迅速、高效地完成程序設(shè)計者事先規(guī)定的任務(wù)1。單片機芯片的集成度很高,它將微型計算機的主要部件都集成在一塊芯片上,具有以下特點:(1)體積小、重量輕、價格便宜、耗電少;(2) 根據(jù)工控環(huán)境要求設(shè)計,且許多功能部件集成在芯片內(nèi)部,其信號通道受外界影響小,故可靠性高,抗干擾性能優(yōu)于采用一般的CPU;(3) 控制功能強,運行速度快。其結(jié)構(gòu)組成與指令系統(tǒng)都著重滿足工控要求。有豐富的條件分支轉(zhuǎn)移指令和很強的位處理功能及I/O口邏輯操作功能;(4)片內(nèi)存儲器的容量不可能很大;引腳也嫌少,I/O引腳常不夠用,且兼第二功能以至第三功能。但存儲器和I/O接口
15、都易于擴展;自單片機出現(xiàn)至今,單片機技術(shù)已走過了30多年的發(fā)展路程。縱觀30年來單片機發(fā)展里程可以看出,單片機技術(shù)的發(fā)展以微處理器(MPU)技術(shù)及超大規(guī)模集成電路技術(shù)的發(fā)展為先導(dǎo),以廣泛的應(yīng)用領(lǐng)域拉動,表現(xiàn)出較微處理器更具個性的發(fā)展趨勢。單片機應(yīng)用最多的領(lǐng)域主要有以下:因它具有“小、輕、廉、省”的特點,所以特別適用于“電腦型產(chǎn)品”,在家用電器、玩具、游戲機、聲像設(shè)備、電子秤、收銀機、辦公設(shè)備、廚房設(shè)備、家庭安防設(shè)備等許多產(chǎn)品上得到應(yīng)用。適用于儀器、儀表,不僅能完成測量,還具有處理、監(jiān)控等功能,易于實現(xiàn)數(shù)字化和智能化。1.2 硬件設(shè)計硬件設(shè)計框圖聲音提示鍵盤控制模液晶顯示器AT89C52主控單元
16、圖1-1硬件設(shè)計框圖由框圖的設(shè)計結(jié)構(gòu)可以分塊設(shè)計電路。1.3 硬件模塊1.3.1主控單元AT89C52是美國ATMEL公司生產(chǎn)的低電壓,高性能CMOS 8位單片機,片內(nèi)含8k bytes的可反復(fù)擦寫的只讀程序存儲器(PEROM)和256bytes的隨機存取數(shù)據(jù)存儲器(RAM),器件采用ATMEL公司的高密度、非易失性存儲技術(shù)生產(chǎn),與標(biāo)準(zhǔn)MCS51指令系統(tǒng)及8052產(chǎn)品引腳兼容,片內(nèi)置通用8位中央處理器(CPU)和Flash存儲單元,功能強大AT89C52單片機適合于許多較為復(fù)雜控制應(yīng)用場合。下表是89c52的主要性能參數(shù)表1-1 89c52的主要性能參數(shù)主要性能參數(shù):與MCS51產(chǎn)品指令和引腳
17、完全兼容8k字節(jié)可重擦寫Flash閃速存儲器1000次擦寫周期全靜態(tài)操作:0Hz24MHz三級加密程序存儲器256×8字節(jié)內(nèi)部RAM32個可編程I/O口線3個16位定時/計數(shù)器8個中斷源可編程串行UART通道低功耗空閑和掉電模式AT89C52提供以下標(biāo)準(zhǔn)功能:8k字節(jié)Flash閃速存儲器,256字節(jié)內(nèi)部RAM,32個I/O口線,3個16位定時/計數(shù)器,一個6向量兩級中斷結(jié)構(gòu),一個全雙工串行通信口,片內(nèi)振蕩器及時鐘電路2。同時,AT89C52可降至0HZ的靜態(tài)邏輯操作,并支持兩種軟件可選的節(jié)電工作模式??臻e方式停止CPU的工作,但允許RAM,定時/計數(shù)器,串行通信口及中斷系統(tǒng)繼續(xù)工作。
18、掉電方式保存RAM中的內(nèi)容,但振蕩器停止工作并禁止其它所有部件工作直到下一個硬件復(fù)位。下表是89c52的極限參數(shù)表1-2 AT89C52的極限參數(shù)工作溫度-55to+125儲藏溫度-65to+150任一引腳對地電壓-1.0Vto+7.0V最高工作電壓6.6V直流輸出電流15.0mA1.3.2顯示部分單片機應(yīng)用系統(tǒng)中使用的顯示器主要有發(fā)光二極管顯示器,簡稱LED(Light Emitting Diode);液晶顯示器LCD(Liquid Crystal Display);近幾年也有配置CRT顯示器的。液晶顯示器簡稱是利用液晶經(jīng)過處理后能夠改變光線傳輸方向的特性,達到顯示字符或者圖形的目的。其特點
19、是體積小、重量輕、功耗極低、顯示內(nèi)容豐富等特點,在單片機應(yīng)用系統(tǒng)中有著日益廣泛的應(yīng)用。1602芯片:主要用于顯示時間和定時時間。1602芯片由點陣字符液晶顯示器件和專用的行、列驅(qū)動器、控制及必要的鏈接件、結(jié)構(gòu)件組裝而成,可以顯示數(shù)字和西文字符,但不能顯示圖形,已經(jīng)可以滿足本次設(shè)計的需要。1602型LCD顯示模塊具有體積小,功耗低,顯示內(nèi)容豐富等特點3。1602型LCD可以顯示2行16個字符,有8位數(shù)據(jù)總線D0D7和RS,R/W,EN三個控制端口,工作電壓為5V,并且具有字符對比度調(diào)節(jié)和背光功能。1. 外型尺寸:80X36X13(LXWXH)2.接口信號說明表1-3 1602型LCD的接口信號說
20、明編號符號引腳說明編號符號引腳說明1VSS電源地9D2Data I/O2VDD電源正極10D3Data I/O3VL液晶顯示偏壓信號11D4Data I/O4RS數(shù)據(jù)/命令選擇端(H/L)12D5Data I/O5R/W讀寫選擇端(H/L)13D6Data I/O6E使能信號14D7Data I/O7D0Data I/O15BLA背光源正極8D1Data I/O16BLK背光源負極3.主要技術(shù)參數(shù)表1-4 1602型LCD的主要技術(shù)參數(shù)顯示容量16X2個字符芯片工作電壓4.55.5V工作電流2.0mA(5.0V)模塊最佳工作電壓5.0V字符尺寸2.95X4.35(WXH)mm4基本操作程序讀狀
21、態(tài):輸入:RS=L,RW=H,E=H輸出:D0D7=狀態(tài)字讀數(shù)據(jù):輸入:RS=H,RW=H,E=H輸出:無寫指令:輸入:RS=L,RW=L,D0D7=指令碼,E=高脈沖 輸出:D0D7=數(shù)據(jù)寫數(shù)據(jù):輸入:RS=H,RW=L,D0D7=數(shù)據(jù),E=高脈沖 輸出:無5RAM地址映射圖控制器內(nèi)部帶有80字節(jié)的RAM緩沖區(qū),對應(yīng)關(guān)系1-5表所示表1-5對應(yīng)關(guān)系LCD16字X2行000102030405060708090A0B0C0D0E0F10。27404142434445464748494A4B4C4D4E4F50。676.狀態(tài)字說明表1-6狀態(tài)字說明STA7STA6STA5STA4STA3STA2S
22、TA1STA0D7D6D5D4D3D2D1D0STA0STA6當(dāng)前地址指針的數(shù)值STA7讀寫操作使能1:禁止;0:允許注意 每次對控制器進行讀寫操作之前,都必須進行讀寫檢測,確保STA7為0。7數(shù)據(jù)指針設(shè)置控制器內(nèi)部設(shè)有一個數(shù)據(jù)地址指針,用戶可以通過它們訪問內(nèi)部的全部80字的RAM。8其它設(shè)置表1-7 其他設(shè)置指令碼功能01H顯示清屏:1.數(shù)據(jù)指針清02.所有顯示清002H顯示回車:數(shù)據(jù)指針清0表1-8 指令碼及功能指令碼功能00001DCBD=1開顯示;D=0關(guān)顯示C=1顯示光標(biāo);C=0不顯示光標(biāo)B=1光標(biāo)閃爍;B=0光標(biāo)不顯示1.3.3顯示器接口及顯示方式筆段式LCD顯示器:類似于LED數(shù)
23、碼管顯示器。每個顯示器的段電極包括a, b, c, d, e, f, g七個筆劃(段)和一個背電極BP(或COM)??梢燥@示數(shù)字和簡單的字符。點陣式LCD顯示器:段電極與背電極呈正交帶狀分布,液晶位于正交的帶狀電極間。點陣式LCD的控制一般采用行掃描方式4。1.3.4鍵盤控制模塊按鍵按照結(jié)構(gòu)原理可分為兩類,一類是觸點式開關(guān)按鍵,如機械式開關(guān)、導(dǎo)電橡膠式開關(guān)等;另一類是無觸點式開關(guān)按鍵,如電氣式按鍵,磁感應(yīng)按鍵等。前者造價低,后者壽命長。目前,微機系統(tǒng)中最常見的是觸點式開關(guān)按鍵。 按鍵按照接口原理可分為編碼鍵盤與非編碼鍵盤兩類,這兩類鍵盤的主要區(qū)別是識別鍵符及給出相應(yīng)鍵碼的方法。編碼鍵盤主要是用
24、硬件來實現(xiàn)對鍵的識別,非編碼鍵盤主要是由軟件來實現(xiàn)鍵盤的定義與識別。全編碼鍵盤能夠由硬件邏輯自動提供與鍵對應(yīng)的編碼,此外,一般還具有去抖動和多鍵、竄鍵保護電路。這種鍵盤使用方便,但需要較多的硬件,價格較貴,一般的單片機應(yīng)用系統(tǒng)較少采用。非編碼鍵盤只簡單地提供行和列的矩陣,其它工作均由軟件完成。由于其經(jīng)濟實用,較多地應(yīng)用于單片機系統(tǒng)中。在本套設(shè)計中由于只需要幾個功能鍵,此時,可采用獨立式按鍵結(jié)構(gòu)5。按鍵的軟件結(jié)構(gòu):按鍵中有一個復(fù)位鍵及定時鍵、調(diào)時鍵加一鍵和減一鍵,一個按鍵接在復(fù)位電路上,另外四個按鍵接在P0P4口,低電平表示有按鈕按下;按鈕沒有接防抖電路,需要設(shè)計軟件防抖。1、定時。按下定時鍵后
25、可以開始定時,過程如下:定時-小時加/減-按定時-分鐘加/減-按定時。2、調(diào)時。按下調(diào)時鍵后可以調(diào)時,過程如下:調(diào)時-年加/減-調(diào)時-月加/減-調(diào)時-日加/減-調(diào)時-時加/減-調(diào)時-分加/減-調(diào)時-秒加/減 -調(diào)時。1.3.5聲音提示模塊蜂鳴器:89C52的P2.0口接了一個蜂鳴器,定時時間到, P1.0輸出一定頻率脈沖時,蜂鳴器將發(fā)出響聲;一分鐘后停止。1.3.6直流穩(wěn)壓電源部分直流穩(wěn)壓電源是給電子設(shè)備提供穩(wěn)定直流電壓的電子電路。這次電路需要的是+5V直流電源。1.3.7濾波電路它的任務(wù)是將全濾波形的輸出通過RC濾波網(wǎng)絡(luò)以后變成更平坦的直流電壓,減小脈動,提高整流的效果6。這是整流管中通過的
26、電流的瞬間值要比平均值大得多,特別在接通電源瞬間有相當(dāng)大的沖擊電流(即充電電流)通過整流管,這一點要引起注意。(1) 電源變壓器它的任務(wù)是把電源電壓220V變壓到合適的大小。如果U2的值太大,會造成集成端穩(wěn)壓器7805的功耗大,溫升高,且浪費電能。反之,如果U2的值小到一定程度,三端穩(wěn)壓器不能正常工作,失去穩(wěn)壓作用.因此U2的值應(yīng)大小合適,這個值應(yīng)該使三端穩(wěn)壓器在交流電網(wǎng)電壓最低和輸出電流最大時能正常工作。而且在正常穩(wěn)壓的前提下,它的壓降盡可能小,以減小功耗。(2) 整流電路它的任務(wù)是將正弦波變換成直流電壓。這里一般采用橋式整流電路來實現(xiàn),既可用四個二極管來組成,也可用整流橋堆來完成,只是參數(shù)
27、一定要選擇合理。(3) 穩(wěn)壓電路要求輸出恒定的直流電壓,且要達到設(shè)計中所提出的要求。1.4 硬件電路測試1.4.1硬件電路ERC測試如圖1-2所示,選擇ERC做電路測試。如果通過測試,則出現(xiàn)1-3所示界面。圖1-2 ERC測試圖1-3 通過測試1.4.2硬件電路網(wǎng)格化硬件電路網(wǎng)絡(luò)化如圖1-4所示,選擇CREATE NETLIST,即可產(chǎn)生圖1-5所示界面。圖1-4硬件電路網(wǎng)格化圖圖1-5硬件電路網(wǎng)格化圖1.4.3生成PCB板PCB板的生成過程比較復(fù)雜。首先要新建一個WIZARD文件,按提示選擇,之中要選擇雙層板并通過空連接。之后即可產(chǎn)生一個PCB文件,在對話框中選擇LOADNET,再對網(wǎng)格化后
28、的文件進行編譯。如果無錯即可出現(xiàn)如圖1-6所示的對話框。圖1-6選擇精確顯示在圖1-6的對話框中選擇精確顯示。即可彈出PCB板概圖的界面。把各個元件按照合理的布局拉開,在點擊AUTOROUTE-ALL-ROUTEALL,既可生成PCB板。第2章 軟件設(shè)計2.1 設(shè)計思路本系統(tǒng)是以單片機的基本語言匯編語言來進行軟件設(shè)計,指令的執(zhí)行速度快,節(jié)省存儲空間。為了便于擴展和更改,軟件的設(shè)計采用模塊化結(jié)構(gòu),使程序設(shè)計的邏輯關(guān)系更加簡潔明了。對于一個微控制系統(tǒng)來說,硬件是基礎(chǔ),軟件是靈魂。軟件在很大程度上決定了系統(tǒng)的先進性、可靠性、實用性以及實時性。本次設(shè)計所涉及到的軟件設(shè)計主要是系統(tǒng)編程和其他應(yīng)用軟件和調(diào)
29、試軟件的使用,其中重中之重是用匯編語言來進行程序編制,編制的程序要求可靠性高、實時性強、簡練易于維護等等。程序設(shè)計的具體步驟如下:(1)提出各種可供選擇的方案;(2)對各個方案進行論證,選取合理的方案,畫出系統(tǒng)流程圖;(3)在綜合分析對比各種合理方案的基礎(chǔ)之上選擇一個最佳方案;(4)功能分解。通常分為結(jié)構(gòu)設(shè)計和過程設(shè)計兩個階段。結(jié)構(gòu)設(shè)計確定程序由哪些模塊組成,以及這些模塊之間的關(guān)系;過程設(shè)計確定每個模塊的設(shè)計程序結(jié)構(gòu),將各個模塊組織成良好的層次系統(tǒng);(5)審查與仿真調(diào)試:對總體設(shè)計的程序進行嚴(yán)格的審查,在審查之后使用仿真設(shè)備(本設(shè)計采用的是南京偉福H51/S仿真器)進行程序仿真和調(diào)試。2.2
30、模塊設(shè)計本次設(shè)計實現(xiàn)的功能主要有計時、計日期、計星期、實現(xiàn)鬧鐘、時間日期星期和鬧鐘的調(diào)整以及鍵盤掃描、顯示掃描。為了方便實現(xiàn)、調(diào)試以及貫徹模塊化設(shè)計的思想,將整個程序分成了若干個模塊,每個模塊又由若干個子程序組成,下面分別就各模塊詳細描述。2.3 軟件模塊計時模塊該模塊完成秒、分、時、日、星期、月、年的計算更新、有效性檢查。通過定時器0工作于16位重裝載方式準(zhǔn)確地定時50毫秒,再由軟件計數(shù)20次以完成定時1秒。秒、分、時、日、星期、月的加1、調(diào)整程序分別編成子程序,若有進位,則本位從新計數(shù),并調(diào)用下一級子程序。2.3.2調(diào)時功能當(dāng)由于時鐘誤差或意外斷電后可以用調(diào)時功能較時。2.3.3主程序模塊
31、主程序模塊主要由計時、調(diào)時、按鍵選擇等模塊組成,下面將做詳細描述,再次從略。2.3.4鍵盤控制模塊由于在硬件設(shè)計中只用到四個鍵,所以,這是一個相對簡單的流程,但在實際編程中會因為硬件過于簡單,而使程序很復(fù)雜。2.3.5在編程過程中要用到的其它程序模塊1)LCD初始化 2)判斷閏年 3)時間的加減 這些程序在本設(shè)計都比較重要,也很復(fù)雜,但都有經(jīng)典程序可以參考,不做贅述。第3章 程序編譯和系統(tǒng)調(diào)試及仿真3.1 程序編譯3.1.1主要程序設(shè)計分析(1)主程序 設(shè)計中采用定時器T0中斷完成,其余狀態(tài)循環(huán)調(diào)用顯示子程序,當(dāng)P3.7端口或者P1.7端口開關(guān)按下時,轉(zhuǎn)入調(diào)整時間或者調(diào)整日期功能程序。(2)顯
32、示子程序數(shù)碼管顯示的數(shù)據(jù)存放在內(nèi)存單元70H-75H中,其中70H71H存放秒數(shù)據(jù),72H73H存放分?jǐn)?shù)據(jù),74H75H存放時數(shù)據(jù),每一地址單元內(nèi)均為十進制BCD碼。由于采用軟件動態(tài)掃描實現(xiàn)數(shù)據(jù)顯示功能,顯示用十進制BCD碼數(shù)據(jù)的對應(yīng)段碼存放在ROM表中。顯示時,先取出70H75H某一地址中的數(shù)據(jù),然后查的對應(yīng)的顯示段碼從P1口輸出。P3口將對應(yīng)的數(shù)碼管選中,就是顯示該地址單元的數(shù)據(jù)值。(3)定時器T0中斷服務(wù)程序定時器T0用于時間計時。定時溢出中斷周期設(shè)為50ms,中斷累計20次(即1s)時對秒計數(shù)單元進行加1操作。時間計數(shù)單元地址分別在70H71H(s)、76H77H(min)、78H79
33、H(h),7AH單元存放“熄滅符”數(shù)據(jù)(#0AH)。在計數(shù)單元中采用十進制BCD碼計數(shù),滿60進位。T0中斷服務(wù)程序流程圖3所示。(4)T1中斷服務(wù)程序T1中斷服務(wù)程序應(yīng)用于指示調(diào)整單元數(shù)字的亮閃。在時間調(diào)整狀態(tài)下,每過0.3秒,將對應(yīng)單元的顯示數(shù)據(jù)換成熄滅符數(shù)據(jù)(#0AH)。這樣,在調(diào)整時間時,對應(yīng)調(diào)整單元的顯示數(shù)據(jù)就會間隔閃亮。(5)調(diào)時功能程序調(diào)時功能程序的設(shè)計方法是:按下按鍵,若按下時間小于1秒,進入省電狀態(tài)(數(shù)碼管不亮,時鐘不停),否則進入調(diào)分狀態(tài),等待操作,此時計時器停止走動。當(dāng)再次按下按鈕時,若按下的時間小于0.5秒,則時間加1分鐘;若按下時間大于0.5秒,則進入小時調(diào)整狀態(tài)。在
34、小時調(diào)整狀態(tài)下,當(dāng)按鍵按下的時間大于0.5秒時退出調(diào)整狀態(tài),時鐘繼續(xù)走動。3.1.2程序設(shè)計定時器T0、T1溢出周期為50MS,T0為秒計數(shù)用,T1為調(diào)整時閃爍用,P3.7為調(diào)整按鈕,P1口為字符輸出口,采用共陽顯示管。中斷入口程序ORG 0000H 程序執(zhí)行開始地址LJMP START 跳到標(biāo)號START執(zhí)行ORG 0003H 外中斷0中斷程序入口RETI 外中斷0中斷返回ORG 000BH 定時器T0中斷程序入口LJMP INTT0 跳至INTTO執(zhí)行ORG 0013H 外中斷1中斷程序入口RETI 外中斷1中斷返回ORG 001BH 定時器T1中斷程序入口ORG 0023H 串行中斷程序
35、入口地址RETI 串行中斷程序返回主 程 序START: MOV R0,#70H 清70H-7AH共11個內(nèi)存單元 MOV R7,#0BH CLEARDISP: MOV R0,#00H INC R0 DJNZ R7,CLEARDISP MOV 20H,#00H 清20H(標(biāo)志用) MOV 7AH,#0AH 放入"熄滅符"數(shù)據(jù) MOV TMOD,#11H 設(shè)T0、T1為16位定時器 MOV TL0,#00H 50MS定時初值(T0計時用) MOV TH0,#4CH 50MS定時初值 MOV TL1,#00H 50MS定時初值 MOV TH1,#4CH 50MS定時初值 SET
36、B EA 總中斷開放 SETB ET0 允許T0中斷 SETB TR0 開啟T0定時器 MOV R4,#14H 1秒定時用初值 START1: LCALL DISPLAY 調(diào)用顯示子程序 JNB P3.7,SETMM1 P3.7口為0時轉(zhuǎn)時間調(diào)整程序 SJMP START1 P3.7口為1時跳回START1 SETMM1:LJMP SETMM 轉(zhuǎn)到時間調(diào)整程序SETMM1秒計時程序T0中斷服務(wù)程序 INTT0: PUSH ACC 累加器入棧保護 PUSH PSW 狀態(tài)字入棧保護 CLR ET0 關(guān)T0中斷允許 CLR TR0 關(guān)閉定時器T0 MOV A,#0B7H 中斷響應(yīng)時間同步修正 ADD
37、 A,TL0 低8位初值修正 MOV TL0,A 重裝初值(低8位修正值) MOV A,#4CH 高8位初值修正 ADDC A,TH0 MOV TH0,A 重裝初值(高8位修正值) SETB TR0 開啟定時器T0 DJNZ R4, OUTT0 20次中斷未到中斷退出 ADDSS: MOV R4,#14H 20次中斷到(1秒)重賦初值 MOV R0,#71H 指向秒計時單元(71H-72H) ACALL ADD1 調(diào)用加1程序(加1秒操作) MOV A,R3 秒數(shù)據(jù)放入A CLR C 清進位標(biāo)志 CJNE A,#60H,ADDMM ADDMM: JC OUTT0 小于60秒時中斷退出 ACAL
38、L CLR0 大于或等于60秒時對秒計時單元清0 MOV R0,#77H 指向分計時單元(76H-77H) ACALL ADD1 分計時單元加1分鐘 MOV A,R3 分?jǐn)?shù)據(jù)放入A CLR C 清進位標(biāo)志 CJNE A,#60H,ADDHH ADDHH: JC OUTT0 小于60分時中斷退出 ACALL CLR0 大于或等于60分時分計時單元清0 MOV R0,#79H 指向小時計時單元(78H-79H) ACALL ADD1 小時計時單元加1小時 MOV A,R3 時數(shù)據(jù)放入A CLR C 清進位標(biāo)志 CJNE A,#24H,HOUR HOUR: JC OUTT0 小于24小時中斷退出 A
39、CALL CLR0 大于或等于24小時小時計時單元清0 OUTT0: MOV 72H,76H 中斷退出時將分、時計時單元數(shù)據(jù)移 MOV 73H,77H 入對應(yīng)顯示單元 MOV 74H,78H MOV 75H,79H POP PSW 恢復(fù)狀態(tài)字(出棧) POP ACC 恢復(fù)累加器 SETB ET0 開放T0中斷 RETI 中斷返回閃動調(diào)時程序T1中斷服務(wù)程序,用作時間調(diào)整時調(diào)整單元閃爍指示INTT1: PUSH ACC 中斷現(xiàn)場保護 PUSH PSW MOV TL1, #00H 裝定時器T1定時初值 MOV TH1, #4CH DJNZ R2,INTT1OUT 0.3秒未到退出中斷 MOV R2
40、,#06H 重裝0.3秒定時用初值 CPL 02H 0.3秒定時到對閃爍標(biāo)志取反 JB 02H,FLASH1 02H位為1時顯示單元"熄滅" MOV 72H,76H 02H位為0時正常顯示 MOV 73H,77H MOV 74H,78H MOV 75H,79H INTT1OUT: POP PSW 恢復(fù)現(xiàn)場 POP ACC RETI 中斷退出FLASH1: JB 01H,FLASH2 01H位為1時,轉(zhuǎn)小時熄滅控制 MOV 72H,7AH 01H位為0時,"熄滅符"數(shù)據(jù)放入分 MOV 73H,7AH 顯示單元,將不顯示分?jǐn)?shù)據(jù) MOV 74H,78H MOV
41、 75H,79H AJMP INTT1OUT 轉(zhuǎn)中斷退出FLASH2: MOV 72H,76H 01H位為1時,"熄滅符"數(shù)據(jù)放入小時 MOV 73H,77H 顯示單元,小時數(shù)據(jù)將不顯示 MOV 74H,7AH MOV 75H,7AH AJMP INTT1OUT 轉(zhuǎn)中斷退出加1子 程 序 ADD1: MOV A,R0 取當(dāng)前計時單元數(shù)據(jù)到A SWAP A A中數(shù)據(jù)高四位與低四位交換 ORL A,R0 前一地址中數(shù)據(jù)放入A中低四位 ADD A,#01H A加1操作 DA A 十進制調(diào)整 MOV R3,A 移入R3寄存器 ANL A,#0FH 高四位變0 MOV R0,A 放回
42、前一地址單元 MOV A,R3 取回R3中暫存數(shù)據(jù) INC R0 指向當(dāng)前地址單元 SWAP A A中數(shù)據(jù)高四位與低四位交換 ANL A,#0FH 高四位變0 MOV R0,A 數(shù)據(jù)放入當(dāng)削地址單元中 RET 子程序返回清零程序?qū)τ嫊r單元復(fù)零用 CLR0: CLR A 清累加器 MOV R0,A 清當(dāng)前地址單元 DEC R0 指向前一地址 MOV R0,A 前一地址單元清0 RET 子程序返回時鐘調(diào)整程序當(dāng)調(diào)時按鍵按下時進入此程序 SETMM: cLR ET0 關(guān)定時器T0中斷 CLR TR0 關(guān)閉定時器T0 LCALL DL1S 調(diào)用1秒延時程序 JB P3.7,CLOSEDIS 鍵按下時間
43、小于1秒,關(guān)閉顯示 MOV R2,#06H 進入調(diào)時狀態(tài),賦閃爍定時初值 SETB ET1 允許T1中斷 SETB TR1 開啟定時器T1 SET2: JNB P3.7,SET1 P3.7口為0(鍵未釋放),等待 SETB 00H 鍵釋放,分調(diào)整閃爍標(biāo)志置1 SET4: JB P3.7,SET3 等待鍵按下 LCALL DL05S 有鍵按下,延時0.5秒 JNB P3.7,SETHH 按下時間大于0.5秒轉(zhuǎn)調(diào)小時狀態(tài) MOV R0,#77H 按下時間小于0.5秒加1分鐘操作 LCALL ADD1 調(diào)用加1子程序 MOV A,R3 取調(diào)整單元數(shù)據(jù) CLR C 清進位標(biāo)志 CJNE A,#60H,
44、HHH 調(diào)整單元數(shù)據(jù)與60比較 HHH: JC SET4 調(diào)整單元數(shù)據(jù)小于60轉(zhuǎn)SET4循環(huán) LCALL CLR0 調(diào)整單元數(shù)據(jù)大于或等于60時清0 CLR C 清進位標(biāo)志 AJMP SET4 跳轉(zhuǎn)到SET4循環(huán) CLOSEDIS: SETB ET0 省電狀態(tài)。開T0中斷 SETB TR0 開啟T0定時器(開時鐘)CLOSE: JB P3.7,CLOSE 無按鍵按下,等待。 LCALL DISPLAY 有鍵按下,調(diào)顯示子程序延時削抖 JB P3.7,CLOSE 是干擾返回CLOSE等待 WAITH: JNB P3.7,WAITH 等待鍵釋放 LJMP START1 返回主程序(LED數(shù)據(jù)顯示亮
45、) SETHH: CLR 00H 分閃爍標(biāo)志清除(進入調(diào)小時狀態(tài)) SETHH1: JNB P3.7,SET5 等待鍵釋放 SETB 01H 小時調(diào)整標(biāo)志置1 SET6: JB P3.7,SET7 等待按鍵按下 LCALL DL05S 有鍵按下延時0.5秒 JNB P3.7,SETOUT 按下時間大于0.5秒退出時間調(diào)整 MOV R0,#79H 按下時間小于0.5秒加1小時操作 LCALL ADD1 調(diào)加1子程序 MOV A,R3 CLR C CJNE A,#24H,HOUU 計時單元數(shù)據(jù)與24比較 HOUU: JC SET6 小于24轉(zhuǎn)SET6循環(huán) LCALL CLR0 大于或等于24時清0操作 AJMP SET6 跳轉(zhuǎn)到SET6循環(huán)釋放 LCALL DISPLAY 延時削抖 JNB P3.7,SETOUT 是抖動,返回SETOUT再等待 CLR
溫馨提示
- 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- LY/T 3405-2024竹材弧形原態(tài)重組材
- 人教版數(shù)學(xué)七年級下冊第7課時《平行線的性質(zhì)(一)》聽評課記錄
- 2025年造紙色漿合作協(xié)議書
- 湘教版數(shù)學(xué)七年級上冊《3.4一元一次方程模型的應(yīng)用(1)》聽評課記錄
- 蘇人版道德與法治九年級上冊7.2《違法要受法律處罰》聽課評課記錄
- 生態(tài)保護資源共享合同(2篇)
- 環(huán)境監(jiān)測設(shè)備合作開發(fā)合同(2篇)
- 六年級上冊聽評課記錄
- (人教版)七年級下冊數(shù)學(xué)配套聽評課記錄:5.1.3 《同位角、內(nèi)錯角、同旁內(nèi)角》
- 四年級科學(xué)聽評課記錄
- 二零二五年度文化教育培訓(xùn)中心承包工程2篇
- 2025年廣州中醫(yī)藥大學(xué)順德醫(yī)院(佛山市順德區(qū)中醫(yī)院)招考聘用高頻重點提升(共500題)附帶答案詳解
- 2025年華僑港澳臺學(xué)生聯(lián)招考試英語試卷試題(含答案詳解)
- 2025-2030年中國美容院行業(yè)營銷創(chuàng)新戰(zhàn)略制定與實施研究報告
- 2024-2025學(xué)年北京石景山區(qū)九年級初三(上)期末語文試卷(含答案)
- 2025年江蘇省宿遷市事業(yè)單位引進名校優(yōu)生120人歷年高頻重點提升(共500題)附帶答案詳解
- 人教版四年級上冊寒假數(shù)學(xué)計算題天天練及答案(共15天)
- 2024人教版英語七年級下冊《Unit 3 Keep Fit How do we keep fit》大單元整體教學(xué)設(shè)計2022課標(biāo)
- 藥品流通監(jiān)管培訓(xùn)
- 中國高血壓防治指南(2024年修訂版)
- 北京市海淀區(qū)重點中學(xué)2025屆高考數(shù)學(xué)押題試卷含解析
評論
0/150
提交評論