




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、基于單片機(jī)的簡易電子時(shí)鐘設(shè)計(jì)一 功能分析1)時(shí)制式為24小時(shí)制。2)采用LED數(shù)碼管顯示時(shí)、分,秒采用數(shù)字顯示。3)具有方便的時(shí)間調(diào)校功能。4)計(jì)時(shí)穩(wěn)定度高,可精確校正計(jì)時(shí)精度。二 總體方案設(shè)計(jì)論證比較 2.1 實(shí)現(xiàn)時(shí)鐘計(jì)時(shí)的基本方法利用MCS-51系列單片機(jī)的可編程定時(shí)/計(jì)數(shù)器、中斷系統(tǒng)來實(shí)現(xiàn)時(shí)鐘計(jì)數(shù)。(1) 計(jì)數(shù)初值計(jì)算:把定時(shí)器設(shè)為工作方式1,定時(shí)時(shí)間為50ms,則計(jì)數(shù)溢出20次即得時(shí)鐘計(jì)時(shí)最小單位秒,而100次計(jì)數(shù)可用軟件方法實(shí)現(xiàn)。假設(shè)使用T/C0,方式1,50ms定時(shí),fosc=12MHz。則初值X滿足(216-X)1/12MHz12s =50000sXB0
2、H(2) 采用中斷方式進(jìn)行溢出次數(shù)累計(jì),計(jì)滿20次為秒計(jì)時(shí)(1秒);(3) 從秒到分和從分到時(shí)的計(jì)時(shí)是通過累加和數(shù)值比較實(shí)現(xiàn)。2.2 電子鐘的時(shí)間顯示電子鐘的時(shí)鐘時(shí)間在六位數(shù)碼管上進(jìn)行顯示,因此,在內(nèi)部RAM中設(shè)置顯示緩沖區(qū)共8個(gè)單元。LED8 LED7 LED6 LED5 LED4 LED3 LED2 LED137H 36H 35H 34H 33H 32H 31H 30H時(shí)十位 時(shí)個(gè)位 分隔 分十位 分個(gè)位 分隔 秒十位秒個(gè)位2.3 電子鐘的時(shí)間調(diào)整電子鐘設(shè)置3個(gè)按鍵通過程序控制來完成電子鐘的時(shí)間調(diào)整。A鍵調(diào)整時(shí);B鍵調(diào)整分;C鍵復(fù)位2.4 總體方案介紹2.4.1 計(jì)時(shí)方案利用AT89S51
3、單片機(jī)內(nèi)部的定時(shí)/計(jì)數(shù)器進(jìn)行中斷時(shí),配合軟件延時(shí)實(shí)現(xiàn)時(shí)、分、秒的計(jì)時(shí)。該方案節(jié)省硬件成本,且能使讀者在定時(shí)/計(jì)數(shù)器的使用、中斷及程序設(shè)計(jì)方面得到鍛煉與提高,對單片機(jī)的指令系統(tǒng)能有更深入的了解,從而對學(xué)好單片機(jī)技術(shù)這門課程起到一定的作用。2.4.2 控制方案AT89S51的P0口和P2口外接由八個(gè)LED數(shù)碼管(LED8LED1)構(gòu)成的顯示器,用P0口作LED的段碼輸出口,P2口作八個(gè)LED數(shù)碼管的位控輸出線,P1口外接四個(gè)按鍵A、B、C構(gòu)成鍵盤電路。AT89S51 是一種低功耗,高性能的CMOS 8位微型計(jì)算機(jī)。它帶有8K Flash 可編程和擦除的只讀存儲器(EPROM),該器件采用ATMEL
4、的高密度非易失性存儲器技術(shù)制造,與工業(yè)上標(biāo)準(zhǔn)的80C51和80C52的指令系統(tǒng)及引腳兼容,片內(nèi)Flash 集成在一個(gè)芯片上,可用與解決復(fù)雜的問題,且成本較低。簡易電子鐘的功能不復(fù)雜,采用其現(xiàn)有的I/O便可完成,所以本設(shè)計(jì)中采用此的設(shè)計(jì)方案。三 硬件電路設(shè)計(jì)根據(jù)以上的電子時(shí)鐘的設(shè)計(jì)要求可以分為以下的幾個(gè)硬件電路模塊:單片機(jī)模塊、數(shù)碼顯示模塊與按鍵模塊,模塊之間的關(guān)系圖如下面得方框電路圖1所示。圖1 硬件電路方框圖四 各模塊電路設(shè)計(jì)4.1.1 芯片分析AT89C51單片機(jī)引腳圖如下:圖2 AT89C51引腳圖MCS-51單片機(jī)是標(biāo)準(zhǔn)的40引腳雙列直插式集成電路芯片,其各引腳功能如下:VCC:+5V
5、電源。VSS:接地。RST:復(fù)位信號。當(dāng)輸入的復(fù)位信號延續(xù)兩個(gè)機(jī)器周期以上的高電平時(shí)即為有效,用完成單片機(jī)的復(fù)位初始化操作。XTAL1和XTAL2:外接晶體引線端。當(dāng)使用芯片內(nèi)部時(shí)鐘時(shí),此二引線端用于外接石英晶體和微調(diào)電容;當(dāng)使用外部時(shí)鐘時(shí),用于接外部時(shí)鐘脈沖信號。P0口:P0口為一個(gè)8位漏極開路雙向I/O口,當(dāng)作輸出口使用時(shí),必須接上拉電阻才能有高電平輸出;當(dāng)作輸入口使用時(shí),必須先向電路中的鎖存器寫入“1”,使FET截止,以避免鎖存器為“0”狀態(tài)時(shí)對引腳讀入的干擾。P1口:P1口是一個(gè)內(nèi)部提供上拉電阻的8位雙向I/O口,它不再需要多路轉(zhuǎn)接電路MUX;因此它作為輸出口使用時(shí),無需再外接上拉電阻
6、,當(dāng)作為輸入口使用時(shí),同樣也需先向其鎖存器寫“1”,使輸出驅(qū)動(dòng)電路的FET截止。P2口:P2口電路比P1口電路多了一個(gè)多路轉(zhuǎn)接電路MUX,這又正好與P0口一樣。P2口可以作為通用的I/O口使用,這時(shí)多路轉(zhuǎn)接電路開關(guān)倒向鎖豐存器Q端。P3口:P3口特點(diǎn)在于,為適應(yīng)引腳信號第二功能的需要,增加了第二功能控制邏輯。當(dāng)作為I/O口使用時(shí),第二功能信號引線應(yīng)保持高電平,與非門開通,以維持從鎖存器到輸出端數(shù)據(jù)輸出通路的暢通。當(dāng)輸出第二功能信號時(shí),該位應(yīng)應(yīng)置“1”,使與非門對第二功能信號的輸出是暢通的,從而實(shí)現(xiàn)第二功能信號的輸出,具體第二功能如表1所示。4.1.2 晶振電路右圖所示為時(shí)鐘電路原理圖,在AT8
7、9S51芯片內(nèi)部有一個(gè)高增益反相放大器,其輸入端為芯片引腳XTAL1,輸出端為引腳XTAL2。而在芯片內(nèi)部,XTAL1和XTAL2之間跨接晶體振蕩器和微調(diào)電容,從而構(gòu)成一個(gè)穩(wěn)定的自激振蕩器。時(shí)鐘電路產(chǎn)生的振蕩脈沖經(jīng)過觸發(fā)器進(jìn)行二分頻之后,才成為單片機(jī)的時(shí)鐘脈沖信號。圖3晶振電路4. 1.3復(fù)位電路單片機(jī)復(fù)位的條件是:必須使RST/VPD 或RST引(9)加上持續(xù)兩個(gè)機(jī)器周期(即24個(gè)振蕩周期)的高電平。例如,若時(shí)鐘頻率為12 MHz,每機(jī)器周期為1s,則只需2s以上時(shí)間的高電平,在RST引腳出現(xiàn)高電平后的第二個(gè)機(jī)器周期執(zhí)行復(fù)位。單片機(jī)常見的復(fù)位如圖所示。電路為上電復(fù)位電路,它是利用電容充電來實(shí)
8、現(xiàn)的。在接電瞬間,RESET端的電位與VCC相同,隨著充電電流的減少,RESET的電位逐漸下降。只要保證RESET為高電平的時(shí)間大于兩個(gè)機(jī)器周期,便能正常復(fù)位。該電路除具有上電復(fù)位功能外,若要復(fù)位,只需按圖中的RESET鍵,此時(shí)電源VCC經(jīng)電阻R1、R2分壓,在RESET端產(chǎn)生一個(gè)復(fù)位高電平。圖4單片機(jī)復(fù)位電路4.2 數(shù)碼顯示模塊設(shè)計(jì)系統(tǒng)采用動(dòng)態(tài)顯示方式,用P0口來控制LED數(shù)碼管的段控線,而用P2口來控制其位控線。動(dòng)態(tài)顯示通常都是采用動(dòng)態(tài)掃描的方法進(jìn)行顯示,即循環(huán)點(diǎn)亮每一個(gè)數(shù)碼管,這樣雖然在任何時(shí)刻都只有一位數(shù)碼管被點(diǎn)亮,但由于人眼存在視覺殘留效應(yīng),只要每位數(shù)碼管間隔時(shí)間足夠短,就可以給人以
9、同時(shí)顯示的感覺。圖5 數(shù)碼顯示電路4.3 按鍵模塊下圖為按鍵模塊電路原理圖,A為復(fù)位鍵,B為時(shí)鐘調(diào)控鍵,C為分鐘調(diào)控鍵。 圖 6 按鍵模塊電路原理圖五 軟件設(shè)計(jì)流程圖在編程上,首先進(jìn)行了初始化,定義程序的的入口地址以及中斷的入口地址,在主程序開始定義了一組固定單元用來儲存計(jì)數(shù)的時(shí).分.秒,在顯示初值之后,進(jìn)入主循環(huán)。在主程序中,對不同的按鍵進(jìn)行掃描,實(shí)現(xiàn)秒表,時(shí)間調(diào)整,復(fù)位清零等功能,系統(tǒng)總流程圖如下圖7:圖 7 軟件設(shè)計(jì)流程圖六 程序清單 ORG 0000H MOV 30H,#1 ;設(shè)置時(shí)鐘的起始時(shí)間12.00.00,分配顯示數(shù)據(jù)內(nèi)存 MOV 31H,#2 MOV 32H,#0 MOV 33
10、H,#0 MOV 34H,#0 MOV 35H,#0 MOV TMOD,#01 ; 啟動(dòng)計(jì)數(shù)器XS0: SETB TR0 ; 使 TRO位置1 MOV TH0,#00H ; 計(jì)數(shù)器置零 MOV TL0,#00HXS: MOV 40H,#0FEH ; 掃描控制字初值 MOV DPTR,#TAB ;取段碼表地址 MOV P2,40H ; 從P2口輸出 MOV A,30H ; 取顯示數(shù)據(jù)到A MOVC A,A+DPTR ; 查顯示數(shù)據(jù)對應(yīng)段碼 MOV P0,A ; 段碼放入P0中 LCALL YS1MS ; 顯示1MS MOV P0,#0FFH ; PO端口清零 MOV A,40H ; 取掃描控制字
11、放入A中 RL A ; A中數(shù)據(jù)循環(huán)左移 MOV 40H,A ; 放回40H地址段內(nèi) MOV P2,40H MOV A,31H ADD A,#10 ; 進(jìn)位顯示 MOVC A,A+DPTR MOV P0,A LCALL YS1MS MOV P0,#0FFH MOV A,40H RL A MOV 40H,A MOV P2,40H MOV A,32H MOVC A,A+DPTR MOV P0,A LCALL YS1MS MOV P0,#0FFH MOV A,40H RL A MOV 40H,A MOV P2,40H MOV A,33H ADD A,#10 MOVC A,A+DPTR MOV P0,
12、A LCALL YS1MS MOV P0,#0FFH MOV A,40H RL A MOV 40H,A MOV P2,40H MOV A,34H MOVC A,A+DPTR MOV P0,A LCALL YS1MS MOV P0,#0FFH MOV A,40H RL A MOV 40H,A MOV P2,40H MOV A,35H MOVC A,A+DPTR MOV P0,A LCALL YS1MS MOV P0,#0FFH MOV A,40H RL A MOV 40H,A JB TF0,JIA ; 如果TF0為1時(shí),則執(zhí)行JIA,否則順序執(zhí)行 JNB P1.0,P100 ; 為0則 轉(zhuǎn)移到P
13、100 JNB P1.1,P1000 ; 為0則 轉(zhuǎn)移到P1000 JNB P1.2,P10000 ; 為0則 轉(zhuǎn)移到P10000 AJMP XS ;跳轉(zhuǎn)到 XSP100: MOV 30H,#0 ; 清零程序 MOV 31H,#0 MOV 32H,#0 MOV 33H,#0 MOV 34H,#0 MOV 35H,#0JIA: CLR TF0 ;TF0清零 MOV A,35H ;秒單位數(shù)據(jù)到A CJNE A,#9,JIA1 ;與 9進(jìn)行比較,大于9就轉(zhuǎn)移到JIA1 MOV 35H,0 ;秒個(gè)位清零 MOV A,34H ; 秒十位數(shù)據(jù)到A CJNE A,#5,JIA10 ;?進(jìn)行比較,大于5就轉(zhuǎn)移
14、到JIA10 MOV 34H,#0 ; 秒十位清零P10000: JNB P1.2,P10000 ; 為0則 轉(zhuǎn)移到P10000 MOV A,33H ;取分的個(gè)位到A CJNE A,#9,JIA100 ;與 9進(jìn)行比較,大于9就轉(zhuǎn)移到JIA100 MOV 33H,#0 ;分的個(gè)位清零 MOV A,32H ;分十位數(shù)據(jù)到A CJNE A,#5,JIA1000 ; 與5進(jìn)行比較,大于5就轉(zhuǎn)移到JIA1000 MOV 32H,#0 ;分的十位清零P1000: JNB P1.1,P1000 ;為0則 轉(zhuǎn)移到P1000 MOV A,31H ; 時(shí)個(gè)位數(shù)據(jù)到A CJNE A,#9,JIA10000 ; 與
15、 9進(jìn)行比較,大于9就轉(zhuǎn)移到JIA10000 MOV 31H,#0 ; 時(shí)的個(gè)位清零 MOV A,30H ;時(shí)十位數(shù)據(jù)到A CJNE A,#2,JIA ; 與2進(jìn)行比較,大于5就轉(zhuǎn)移到JIA MOV 30H,#0 ; 時(shí)的十位清零 AJMP XS0 ;轉(zhuǎn)移到 XSOJIA: INC 30H ;加1 AJMP XS0 ; 跳轉(zhuǎn)到 XS0JIA10000: CJNE A,#3,JIAJIA ; 與3進(jìn)行比較,大于則轉(zhuǎn)移到JIAJIA MOV A,30H ; 將時(shí)的十位放到 A CJNE A,#02,JIAJIA ; 與2進(jìn)行比較,大于則轉(zhuǎn)移到JIAJIA MOV 30H,#0 ; 時(shí)段清零 MOV
16、 31H,#0 AJMP XS0 ;跳轉(zhuǎn)到XSOJIAJIA: INC 31H ;加一 AJMP XS0JIA1000:INC 32H AJMP XS0JIA100: INC 33H AJMP XS0JIA10: INC 34H AJMP XS0JIA1: INC 35H AJMP XS0 RET ;返回YS1MS: MOV R6,#9H ;延時(shí)程序YL1: MOV R7,#19H DJNZ R7,$ DJNZ R6,YL1 RETTAB:DB 0C0H,0F9H,0A4H,0B0H,099H,092H,082H,0F8H,080H,090H; 共陽段碼表DB 040H,079H,024H,030H,019H,012H,002H,078H,000H,010H END七 運(yùn)行
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 勞務(wù)合同和技術(shù)承包
- 個(gè)人勞務(wù)分包合同簡本
- 綠化護(hù)坡施工方案
- 產(chǎn)品測評表-產(chǎn)品用戶反饋收集
- 生物化學(xué)分析實(shí)驗(yàn)技術(shù)練習(xí)題集
- 商場餐飲經(jīng)營商鋪?zhàn)赓U合同
- 農(nóng)民宅基地轉(zhuǎn)讓合同
- 臨汾低溫冷庫施工方案
- 杭州室內(nèi)球場施工方案
- 鋁合金飛廊及蓋板施工方案
- (一模)東北三省三校2025年高三第一次聯(lián)合模擬考試 生物試卷(含答案)
- 2025年電力人工智能多模態(tài)大模型創(chuàng)新技術(shù)及應(yīng)用報(bào)告-西安交通大學(xué)
- 學(xué)習(xí)雷鋒主題班會雷鋒日學(xué)習(xí)雷鋒精神-
- 事故隱患內(nèi)部舉報(bào)獎(jiǎng)勵(lì)制度
- 2020-2024年安徽省初中學(xué)業(yè)水平考試中考?xì)v史試卷(5年真題+答案解析)
- 上春山二部合唱鋼琴伴奏正譜
- 小升初個(gè)人簡歷表
- 電工每日巡查簽到表
- 小學(xué)二年級心理健康教育-打開心門交朋友-(11張PPT)ppt課件
- (完整版)CNC84操作手冊
- PCB鍍金層孔隙率檢驗(yàn)方法研究
評論
0/150
提交評論