基于51單片機的數(shù)字鐘設(shè)計與制作_第1頁
基于51單片機的數(shù)字鐘設(shè)計與制作_第2頁
基于51單片機的數(shù)字鐘設(shè)計與制作_第3頁
基于51單片機的數(shù)字鐘設(shè)計與制作_第4頁
基于51單片機的數(shù)字鐘設(shè)計與制作_第5頁
已閱讀5頁,還剩8頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

精選優(yōu)質(zhì)文檔-----傾情為你奉上精選優(yōu)質(zhì)文檔-----傾情為你奉上專心---專注---專業(yè)專心---專注---專業(yè)精選優(yōu)質(zhì)文檔-----傾情為你奉上專心---專注---專業(yè)基于52單片機制作的數(shù)字鐘1.設(shè)計任務(wù)⑴時間顯示:上電后,系統(tǒng)自動進入時鐘顯示,從00:00:00開始計時,此時可以設(shè)定當前時間.⑵時間調(diào)整:按下k1,k2,k3鍵可以順序設(shè)置秒、分、時,并在相應(yīng)數(shù)碼管上顯示設(shè)置值,直至6位設(shè)置完畢。2.系統(tǒng)基本方案選擇和論證本時鐘的設(shè)計具體有兩種方法。一是通過單純的數(shù)字電路來實現(xiàn);二是使用單片機來控制實現(xiàn)。本次設(shè)計選取了較為簡單的單片機控制;而選擇這一方法后還要進行各個芯片的選擇。以下是我在這次設(shè)計中所用的方案。2.1芯片的選擇方案一:采用AT89C51芯片,其為高性能CMOS8位單片機,該芯片內(nèi)含有4kbytes的可反復(fù)擦寫的只讀程序存儲器(PEROM)、128bytes的隨機存取數(shù)據(jù)存儲器(RAM)、32位可編程I/O口線、2個16位定時/計數(shù)器、6個中斷源、可編程串行UART通道及低功耗空閑和掉電模式,但是由于AT89C51芯片可擦寫的空間不夠大,且中斷源提供的較小,為防止運行過程中出現(xiàn)不必要的問題,我們不選用AT89C51。方案二:采用AT89C52芯片,它除了具備AT89C51的所有功能與部件外,其最大的優(yōu)勢就是AT89C52提供了8K字節(jié)可擦寫Flash閃速存儲器空間、8個中斷源、及256*8字節(jié)內(nèi)部存儲器(RAM),解決了我們對可反復(fù)擦寫的Flash閃速存儲器空間大小與中斷源的不夠問題的擔心。2.2顯示模塊選擇方案和論證方案一:采用LCD,電路比較簡單,且在軟件設(shè)計上也相對簡單,具有低功耗功能。價格貴。方案二:采用LED數(shù)碼管顯示,顯示較為清楚。價格便宜。所以本方案采用LED數(shù)碼管顯示。2.3時鐘信號的選擇方案和論證直接采用單片機定時計數(shù)器提供的秒信號,使用程序?qū)崿F(xiàn)年、月、日、周、時、分、秒計數(shù)。采用此種方案可減少芯片的使用,節(jié)約成本,實現(xiàn)的時間誤差較小。2.4電路設(shè)計最終方案決定綜上各方案所述,對此次數(shù)字時鐘的方案選定為:采用AT89C52作為主控制系統(tǒng);并由其定時計數(shù)器提供時鐘;LED作為顯示電路來實現(xiàn)功能。3.1數(shù)字鐘電路設(shè)計框圖3.1.1如圖3-1LCD動態(tài)掃描顯示模塊LCD動態(tài)掃描顯示模塊AT89C52主控制器主控制器開關(guān)調(diào)節(jié)模塊晶振電路模塊復(fù)位電路圖3-1電路設(shè)計框圖3.2主控制芯片AT89C52的原理及說明AT89C52是美國ATMEL公司生產(chǎn)的低電壓,高性能CMOS8位單片機,片內(nèi)含8kbytes的可反復(fù)擦寫的只讀程序存儲器(PEROM)和藹可親256bytes的隨機存取數(shù)據(jù)存儲器(RAM),器件采用ATMEL公司的高密度、非易失性存儲技術(shù)生產(chǎn),與標準MCS-51指令系統(tǒng)及8052產(chǎn)品引腳兼容,片內(nèi)置通用8位中央處理器(CPU)和Flash存儲單元,功能強大AT89C52單片機適合于許多較為復(fù)雜控制應(yīng)用場合。圖3-2AT89S52引腳3.2(1)與MCS-51產(chǎn)品指令和引腳完全兼容(2)8k字節(jié)可重擦寫Flash閃速存儲器(3)1000次擦寫周期(4)全靜態(tài)操作:0Hz—24MHz(5)三級加密程序存儲器(6)256×8字節(jié)內(nèi)部RAM(7)32個可編程I/O口線(8)3個16位定時/計數(shù)器(9)8個中斷源(10)可編程串行UART通道(11)低功耗空閑和掉電模式3.2.2引腳功能Vcc(40):電源電壓GND(20):接地P0口(32-39):P0口是一個8位雙向I/O接口,也即地址/數(shù)據(jù)總線復(fù)用口。作為輸出口用時,每位吸收電流的方式驅(qū)動8個TTL邏輯門電路,對端口P0寫“1”P1口(1-8):P1是一個帶內(nèi)部上拉電阻的8位雙向I/O口,P1的輸出緩沖級可驅(qū)動(吸收或輸出電流)4個TTL邏輯門電路,對端口寫“1”通過內(nèi)部的上拉電阻把端口拉到高電平時,此時可作輸入口。作為輸入品使用時,因為內(nèi)部存在上拉電阻,某個引腳被外部信號拉低時會輸出一個電流。與AT89C51不同之處是,P1.0和P1.1還可以分別作為定時/計數(shù)器2的外部計數(shù)輸入(P1.0/T2)P2口(21-28):P2是一個帶有內(nèi)部上拉電阻的8位雙向I/O口,P2的輸出緩沖級可驅(qū)動(吸收或輸出電流)4個TTL邏輯門電路,對端口P2寫“1”P3口(10-17):P3是一組帶有內(nèi)部上拉電阻的8位雙向I/O口,P3口輸出緩沖級可驅(qū)動(吸收或輸出電流)4個TTL邏輯門電路,對端口P3寫“1”端口引腳第二功能P3.0RXD(串行輸入口)P3.1TXD(串行輸出口)P3.2INT0(外中斷0)P3.3INT1(外中斷1)P3.4T0(定時/計數(shù)器0)P3.5T1(定時/計數(shù)器1)P3.6WR(外部數(shù)據(jù)存儲器寫通道)P3.7RD(外部數(shù)據(jù)存儲器讀通道)表3-1P3口的第二功能RST(9):復(fù)位信號輸入端。當振蕩器工作時,RST引腳出現(xiàn)兩個機器周期以上高電平將使單片機復(fù)位。ALE/PROG(30):地址鎖存有效信號輸出端。當訪問片外程序存儲器或數(shù)據(jù)存儲器時,ALE(地址鎖存允許)輸出脈沖用于鎖存地址的低8位字節(jié),一般情況下,ALE仍以時鐘振蕩頻率的1/6輸出固定的脈沖信號,因此它可對外輸出時鐘或用于定時目的,要注意的是:每當訪問外部數(shù)據(jù)存儲器時將跳過一個ALE脈沖。PSEN(29):程序存儲允許輸出端。是片外程序存儲器的讀選通信號,當AT89C52由外部程序存儲器取指令(或數(shù)據(jù))時,每個周期兩次PSEN有效,即輸出兩個脈沖。在此期間,當訪問外部數(shù)據(jù)存儲器,將跳過兩次PSEN信號。EA/VPP(31):外部訪問允許。欲使CPU僅訪問外部程序存儲器(地址為0000H—FFFFH),EA端必須保持低電平(接地),需注意的是:如果加密位LB1被編程,復(fù)位時內(nèi)部會鎖EA端狀態(tài)。如EA端為高電平(接Vcc端),CPU則執(zhí)行內(nèi)部程序存儲器中的指令。Flash存儲器編程時,該引腳加上+12V的編程允許電源Vpp,當然這必須是該器件是使用12V編程電壓Vpp。XTAL1(19):振蕩器反相放大器的及內(nèi)部時鐘發(fā)生器的輸入端。XTAL1(18):振蕩器反相放大器的輸出端。通過XTAL1、XTAL2外接晶振后,即可構(gòu)成自激振蕩器,驅(qū)動內(nèi)部時鐘發(fā)生器向主機提供時鐘信號。4、特殊功能寄存器在AT89C52片內(nèi)存儲器中,80H-FFH共128個單元為特殊功能寄存器(SFR),其中包括B寄存器、累加器、程序狀態(tài)寄存器(PSW)、定時/計數(shù)器控制、中斷優(yōu)級控制寄存器(IP)、P3口鎖存寄存器、中斷允許控制寄存器(IE)、串行口控制寄存器等。它們可運用來設(shè)置片內(nèi)電路的運行方式,記錄電路的運行狀態(tài),MCS-51單片機對特殊功能寄存器采取與片內(nèi)RAM統(tǒng)一編址的方法,可按字節(jié)地址直接尋址。在已有的基礎(chǔ)上AT89C52與AT89C51相比還提供了兩個定時/計數(shù)器。定時/計數(shù)器2的控制和狀態(tài)位位于T2CON與T2MOD,該功能的數(shù)在自動裝載的情況下可裝入到寄存器中,提高了效率。3.3數(shù)字鐘的外圍電路設(shè)計3.3.1時鐘電路(1)單片機時鐘時鐘是單片機的心臟,單片機各功能部件的運行都是以時鐘頻率為基準,有條不紊的一拍一拍地工作。因此,時鐘頻率直接影響單片機的速度,時鐘電路的質(zhì)量也直接影響單片機系統(tǒng)的穩(wěn)定性。常用的時鐘電路有兩種方式:一種是內(nèi)部時鐘方式,另一種為外部時鐘方式。本文用的是內(nèi)部時鐘方式。電路設(shè)計如圖3-7所示。圖3-3單片機時鐘AT89S52單片機內(nèi)部有一個用于構(gòu)成振蕩器的高增益反相放大器,該高增益反向放大器的輸入端為芯片引腳XTAL1,輸出端為引腳XTAL2。這兩個引腳跨接石英晶體振蕩器和微調(diào)電容,就構(gòu)成一個穩(wěn)定的自激振蕩器。(2)復(fù)位電路AT89S52單片機的復(fù)位是由外部的復(fù)位電路來實現(xiàn)的。復(fù)位引腳RST通過一個斯密特觸發(fā)器與復(fù)位電路相連,斯密特觸發(fā)器用來抑制噪聲,在每個機器周期的S5P2,斯密特觸發(fā)器的輸出電平由復(fù)位電路采樣一次,然后才能得到內(nèi)部復(fù)位操作所需要的信號。上電復(fù)位:上電復(fù)位電路是—種簡單的復(fù)位電路,只要在RST復(fù)位引腳接一個電容到VCC,接一個電阻到地就可以了。上電復(fù)位是指在給系統(tǒng)上電時,復(fù)位電路通過電容加到RST復(fù)位引腳一個短暫的高電平信號,這個復(fù)位信號隨著VCC對電容的充電過程而回落,所以RST引腳復(fù)位的高電平維持時間取決于電容的充電時間。為了保證系統(tǒng)安全可靠的復(fù)位,RST引腳的高電平信號必須維持足夠長的時間。圖3-4復(fù)位電路如圖3-12所示,上電自動復(fù)位是通過外部復(fù)位電路的電容充電來實現(xiàn)的。只要Vcc的上升時間不超過1ms,就可以實現(xiàn)自動上電復(fù)位。也能手動復(fù)位。4.1數(shù)字鐘原理圖

4.2數(shù)字鐘元件清單4.3數(shù)字鐘源程序S_SET BIT P1.0 ;數(shù)字鐘秒控制位M_SET BIT P1.1 ;分鐘控制位H_SET BIT P1.2 ;小時控制位SECOND EQU 30HMINUTE EQU 31HHOUR EQU 32HTCNT EQU 34H ORG 00H SJMP START ORG 0BH LJMP INT_T0START: MOV DPTR,#TABLE MOV HOUR,#0 ;初始化 MOV MINUTE,#0 MOV SECOND,#0 MOV TCNT,#0 MOV TMOD,#01H MOV TH0,#(65536-50000)/256 ;定時50毫秒 MOV TL0,#(65536-50000)MOD256 MOV IE,#82H SETB TR0;****************************************************;判斷是否有控制鍵按下,是哪一個鍵按下A1: LCALL DISPLAY JNB S_SET,S1 JNB M_SET,S2 JNB H_SET,S3 LJMP A1S1: LCALL DELAY ;去抖動 JB S_SET,A1 INC SECOND ;秒值加1 MOV A,SECOND CJNE A,#60,J0 ;判斷是否加到60秒 MOV SECOND,#0 LJMP K1S2: LCALL DELAY JB M_SET,A1K1: INC MINUTE ;分鐘值加1 MOV A,MINUTECJNE A,#60,J1 ;判斷是否加到60分 MOV MINUTE,#0 LJMP K2S3: LCALL DELAY JB H_SET,A1K2: INC HOUR ;小時值加1 MOV A,HOUR CJNE A,#24,J2 ;判斷是否加到24小時 MOV HOUR,#0 MOV MINUTE,#0 MOV SECOND,#0 LJMP A1;****************************************************;等待按鍵抬起J0: JB S_SET,A1 LCALL DISPLAY SJMP J0J1: JB M_SET,A1 LCALL DISPLAY SJMP J1J2: JB H_SET,A1 LCALL DISPLAY SJMP J2;***********************************************;定時器中斷服務(wù)程序,對秒,分鐘和小時的計數(shù)INT_T0: MOV TH0,#(65536-50000)/256 MOV TL0,#(65536-50000)MOD256 INC TCNT MOV A,TCNTCJNE A,#20,RETUNE ;計時1秒 INC SECOND MOV TCNT,#0 MOV A,SECOND CJNE A,#60,RETUNE INC MINUTE MOV SECOND,#0 MOV A,MINUTE CJNE A,#60,RETUNE INC HOUR MOV MINUTE,#0 MOV A,HOUR CJNE A,#24,RETUNE MOV HOUR,#0 MOV MINUTE,#0 MOV SECOND,#0 MOV TCNT,#0RETUNE: RETI;******************************************;顯示控制子程序DISPLAY:MOV A,SECOND ;顯示秒 MOV B,#10 DIV AB CLR P3.6 MOVC A,@A+DPTR MOV P0,A LCALL DELAY SETB P3.6 MOV A,B CLR P3.7MOVC A,@A+DPTR MOV P0,A

溫馨提示

  • 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)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論