單片機數(shù)字時鐘課程設(shè)計報告_第1頁
單片機數(shù)字時鐘課程設(shè)計報告_第2頁
單片機數(shù)字時鐘課程設(shè)計報告_第3頁
單片機數(shù)字時鐘課程設(shè)計報告_第4頁
單片機數(shù)字時鐘課程設(shè)計報告_第5頁
已閱讀5頁,還剩18頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、單片機數(shù)字時鐘設(shè)計目錄1.引言22.關(guān)鍵詞23.內(nèi)容摘要24.設(shè)計內(nèi)容24.1任務(wù)書24.2設(shè)計思路電路原理框圖34.3軟件設(shè)計方面44.4硬件設(shè)計方面45主要元器件的概述46.仿真實現(xiàn)76.1引腳連接(電路連接圖)76.2仿真結(jié)果(電路原理圖)86.3 PCB圖96.4實驗操作97.元件清單108.程序附錄13總結(jié)20參考文獻20【引言】高精度的計時工具大多數(shù)都使用了石英晶體振蕩器,由于電子鐘、石英表、石英鐘都采用了石英技術(shù),因此走時精度高、穩(wěn)定性好、使用方便、不需要經(jīng)常調(diào)校。數(shù)字電子時鐘,自從它發(fā)明的那天起,就成為人類的朋友,是人們?nèi)粘I钪斜夭豢缮俚谋匦杵?,廣泛用于個人家庭以及車站、航站

2、、劇院、辦公室等公共場所,給人們的生活、學(xué)習(xí)、工作、娛樂帶來極大的方便。但隨著時間的推移,科學(xué)技術(shù)的不斷發(fā)展,生活節(jié)奏越來越快,競爭日益激烈,人們對時間計量的精度要求越來越高,應(yīng)用越來越廣?!緝?nèi)容摘要】本實驗采用LCD液晶屏作為顯示系統(tǒng),以STC89C51單片機為核心,由液晶顯示屏,鍵盤,電容電阻,晶振等元器件組成。所組成的模塊能夠?qū)嶒灂r,分,秒的數(shù)據(jù)顯示,通過程序設(shè)計運用四個按鍵SB0,SB1, SB2, SB3能夠?qū)崿F(xiàn)對數(shù)字時鐘時間的設(shè)置和調(diào)整。本實驗將寫好的軟件燒錄到單片機中,通過單片機來實現(xiàn),是實驗的電路圖更加簡單明了,系統(tǒng)穩(wěn)定性大大提高?!娟P(guān)鍵詞】單片機,數(shù)字時鐘,中斷,定時,匯編任

3、務(wù)書設(shè)計題目:單片機數(shù)字時鐘設(shè)計主要內(nèi)容與目標(biāo):1:通過單片機內(nèi)定時器控制走時,準(zhǔn)確持續(xù)走時,調(diào)時不影響走時;2:在LCD上顯示時,分,秒;3:通過五個按鍵能夠?qū)r間進行設(shè)定和調(diào)整。具有的設(shè)計基本條件:1:PC機一臺;2:STC89C51單片機一塊;3:Keil C調(diào)試環(huán)境、Proteus仿真軟件,Protel畫圖軟件。計劃設(shè)計進程:1:明確課題對程序功能,運算精度等方面的要求及硬件條件2:把復(fù)雜問題分解為若干模塊,確定各模塊處理方法,畫出流程圖。3:編制程序,根據(jù)流程圖精心選擇合適的指令和尋址方式來編制源程序4:對程序進行匯編,調(diào)試和修改,直到程序運行結(jié)果正確為止。5:購買器材,連接、制作硬

4、件;6:將軟件功能在硬件上得到實現(xiàn),做出數(shù)字鐘實物。設(shè)計思路電路原理框圖:初始化LCD顯示賦值時鐘芯片賦初值是定鬧鐘程序取時鐘否送顯示鍵按下.軟件設(shè)計方面:1:采用模塊化程序結(jié)構(gòu)設(shè)計軟件,首先將整個軟件分成若干功能模塊;2:根據(jù)設(shè)計原理圖編寫程序;3:通過keil軟件編寫調(diào)試程序;4:與硬件一起聯(lián)調(diào),最后完成全部調(diào)試工作。硬件設(shè)計方面:1:將整個硬件系統(tǒng)劃分為若干單元電路,繪出整個邏輯電路,注明單元電路元件接口信號;2:完成各單元電路設(shè)計,包括選擇各類元器件和電路板設(shè)計。主要元件概述:單片機STC89C52概述實驗用到的引腳功能1:電源(1) VCC-芯片電源,接+5V(2) VSS-接地端2

5、:時鐘XTAL1,XTAL2-晶體振蕩電路反向輸入端和輸出端。3:P0口:接LCD進行數(shù)據(jù)顯示P2口:接LCD控制P3口:接按鍵REST功能:復(fù)位信號輸入端單片機引腳圖:1602液晶模塊概述:主要技術(shù)參數(shù)顯示容量:16*2個字符芯片工作電壓:4.55.5V工作電流:2.0mA(5.0V)模塊最佳工作電壓(5.0V)1602各引腳功能:第1腳:VSS為地電源。第2腳:VDD接5V正電源。第3腳:V0為液晶顯示器對比度調(diào)整端,接正電源時對比度最弱,接地電源時對比度最高,本實驗中通過使用一個10K的電位器調(diào)整對比度。第4腳:RS為寄存器選擇,高電平時選擇數(shù)據(jù)寄存器,低電平時選擇指令寄存器。第5腳:R

6、W為讀寫信號線,高電平時進行讀操作,低電平時進行寫操作。第6腳:E端為使能端,當(dāng)E端由高電平跳變?yōu)榈碗娖綍r,液晶模塊執(zhí)行命令。第714腳:D0D7為8位雙向數(shù)據(jù)線。第1516腳:空腳,可以用來接背光。(15腳接正極,16腳接負極)1602信號真值表RSRWE功能00下降沿寫指令代碼01高電平 讀忙標(biāo)志和AC值10下降沿寫數(shù)據(jù)11高電平讀數(shù)據(jù)仿真實現(xiàn):電路原理圖:仿真效果圖:PCB圖:實驗操作:本時鐘設(shè)置有五個按鍵,其中S1為復(fù)位鍵,S2為調(diào)時移位鍵,S3為移位+,S4為移位-,S5為退出,當(dāng)需要調(diào)時時,摁下S2,可以調(diào)分,再摁下S2就可以調(diào)小時,分別用S3和S4鍵來調(diào)整時間的加減,調(diào)完后摁S5

7、退出元件清單:元件名稱:數(shù)量:STC89C511塊LCD16021塊按鍵5個瓷片電容22pF2個電解電容10uF1個9排阻1個14腳單排插座1個1個DIP40插座1個12MHz晶振1個可調(diào)電阻1個10K電阻1個程序附錄:COM EQU 50H;LCD指令寄存器 DAT EQU 51H;LCD數(shù)據(jù)寄存器 RS EQU P2.4;LCD寄存器選擇信號 RW EQU P2.5;LCD讀/寫選擇信號 E EQU P2.6 ;LCD使能信號NUM EQU 20H;中斷次數(shù)SEC EQU 21H;秒MIN EQU 22H;分HOU EQU 23H;時YIW EQU 27H;移位數(shù)單元HOU1 EQU 28

8、H;小時的十位HOU0 EQU 29H;小時的個位MIN1 EQU 2BH;分鐘的十位MIN0 EQU 2CH;分鐘的個位SEC1 EQU 2EH;秒的十位SEC0 EQU 2FH;秒的個位;-;-主程序開始- ORG 0000HLJMP MAIN ORG 000BH ;定時器T0中斷入口地址AJMP TIME ;跳轉(zhuǎn)到中斷服務(wù)程序ORG 0030HMAIN:MOV SP,#60HLCALL INT ;調(diào)用LCD間接控制方式下的初始化子程序 MOV COM,#01H;LCD清0命令 LCALL PR1 ;調(diào)用寫命令字程序MOV COM,#06H;輸入方式命令,光標(biāo)右移 LCALL PR1MOV

9、 R2,#10H ;共顯示 16個字符 bMOV R3,#00HMOV 20H,#20H ;中斷次數(shù)MOV 21H,#55H ;秒MOV 22H,#59H ;分MOV 23H,#23H ;時MOV 27H,#00H ;移位數(shù)單元 MOV IP,#02H ;設(shè)定PT0(定時器0中斷優(yōu)先級設(shè)定位)為高優(yōu)先級,即PT0=1MOV IE,#82H ;總禁止位開EA=1.定時器0溢出中斷允許位ET01.MOV TMOD,#01H ;設(shè)定定時器T0工作方式1(GATE=0,C/T=0,M1=0,M0=1) MOV TL0,#0B0H ;定時器的專用寄存器(SFR)TL0,指定時器T0的低字節(jié) MOV TH

10、0,#3CH ;定時器的專用寄存器(SFR)TH0,指定時器T0的高字節(jié) SETB TR0;TR0(TCON.4),定時器0運行控制位,由軟件置位/復(fù)位來開啟和關(guān)閉定時器/計數(shù)器0DISP:LCALL FORMATMOV COM,#80H;設(shè)置DDRAM地址,首地址為 第一行 第一個字符的地址 80HLCALL PR1MOV 2AH,#:MOV 2DH,#:MOV R0,#HOU1MOV R1,#08HTDIS:;顯示時間MOV A,R0CJNE A,#:,GOADDTJMP OUTTGOADDT:ADD A,#30HOUTT: MOV DAT,ALCALL PR2INC R0DJNZ R1,

11、TDISMOV COM,#0C0H;設(shè)置DDRAM地址,首地址為 第一行 第一個字符的地址 xxHLCALL PR1MOV 32H,#-MOV 35H,#-MOV R1,#08H LJMP DISPFORMAT:;將時間數(shù)據(jù)格式化MOV A,SEC ;處理秒SEC-SEC1,SEC0 ANL A,#0FH;MOV SEC0,A MOV A,21HANL A,#0F0H;SWAP A;高4位和低4位互換MOV SEC1,A;秒的十位MOV A,MIN ;處理分鐘MIN-MIN1,MIN0 ANL A,#0FH MOV MIN0,A ;分的個位MOV A,22H ANL A,#0F0H SWAP

12、A MOV MIN1,A ;分的十位MOV A,HOU ;處理小時HOU-HOU1,HOU0 ANL A,#0FH MOV HOU0,A MOV A,23H ANL A,#0F0H SWAP A MOV HOU1,A RET TIME:PUSH ACC ;保護現(xiàn)場 PUSH PSW MOV TL0,#0B0H ;賦定時初值 MOV TH0,#3CHLCALL FUNTION INC NUM ;中斷次數(shù),滿20次加MOV A,NUMCJNE A,#20,RETI1 MOV 20H,#00H ;一秒鐘時間到,中斷次數(shù)清零 MOV A,SEC ADD A,#01H ;秒鐘加一DA A MOV SEC

13、,A CJNE A,#60H,RETI1 MOV SEC,#00H ;一分鐘時間到 ,秒清零MOV A,MIN ADD A,#01H ;分鐘加一DA A MOV MIN,A CJNE A,#60H,RETI1 MOV MIN,#00H ;一小時時間到 ,分清零 MOV A,HOU ;小時加一ADD A,#01H DA A MOV HOU,A CJNE A,#24H,RETI1 MOV HOU,#00H ;到時間達到24小時,小時清零.RETI1: POP PSW ;恢復(fù)現(xiàn)場 POP ACC RETI ;中斷返回NOP NOP ;-按鍵判斷子程序-;子程序名:FUNTION;-FUNTION:J

14、NB P3.0,FUN1;判斷移位鍵是否按下,如按下跳到FUN1,沒按判斷27H是否為0MOV A,27HCJNE A,#00H,FUN2;不為零判斷27H是否為1RETFUN1:LCALL DELAY0 MOV A,27H ADD A,#01HDA AMOV 27H,ACLR CMOV A,27HMOV B,#06HSUBB A,BJC FUN2MOV 27H,#00H RETFUN2:MOV A,27H CJNE A,#01H,JUD2;判斷27H是否等于2JB P3.1,DEC1 ;判斷加法按鍵是否按下,按下22H加1,不按下判斷減是否按下 LCALL DELAY0MOV A,22HAD

15、D A,#01HDA AMOV 22H,A;判斷分鐘是否大于60,如果大于60就清零 CLR C MOV A,22H MOV B,#60H SUBB A,B JC EXIT2 MOV 22H,#00HJMP EXIT2DEC1:;判斷減法按鍵是否按下JB P3.2,EXIT2DEC 22HLCALL DELAY0;判斷分是否小于零,如果小于零就變59 MOV A,22H CJNE A,#0FFH,SU1MOV 22H,#59H JMP EXIT2SU1:ANL A,#0FH CJNE A,#0FH,EXIT2 ANL 22H,#0F0H XRL 22H,#09HJMP EXIT2JUD2: C

16、JNE A,#02H,EXIT;判斷27H是否等于3JB P3.1,DEC2 ;判斷加是否按下,按下23H加1,不按下判斷減是否按下 LCALL DELAY0MOV A,23HADD A,#01HDA AMOV 23H,A;判斷小時是否大于24,如果大于24就清零 CLR C MOV A,23H MOV B,#25H SUBB A,B JC EXIT2 MOV 23H,#00HJMP EXIT2EXIT2:JMP EXITDEC2:;判斷減是否按下 JB P3.2,EXITDEC 23HDA ALCALL DELAY0;判斷小時是否小于零,如果小于零就變23 MOV A,23H CJNE A,

17、#0FFH,SU2 MOV 23H,#23HJMP EXITSU2:ANL A,#0FH CJNE A,#0FH,EXIT ANL 23H,#0F0H XRL 23H,#09H JMP EXIT EXIT:JNB P3.3,FUN4;如果EXIT按下,跳到FUN4 ,27H清零RETFUN4:MOV 27H,#00H RET;-;-LCD間接控制方式下的初始化子程序-;-INT:LCALL DELAY MOV P1,#38H;工作方式設(shè)置指令代碼 CLR RSCLR RWMOV R2,#03;循環(huán)量=3 INTT1:SETB ECLR EDJNZ R2,INTT1MOV P1,#38H;工作方

18、式設(shè)置 SETB ECLR EMOV COM,#38H;工作方式設(shè)置 LCALL PR1MOV COM,#01H;清屏 LCALL PR1MOV COM,#06H;輸入方式命令,光標(biāo)右移 LCALL PR1MOV COM,#0CH;設(shè)置顯示方式 LCALL PR1RET;-延時子程序-DELAY:MOV R6,#09HDELAY2:MOV R7,#3FHDELAY1:NOPDJNZ R7,DELAY1DJNZ R6,DELAY2RETDELAY0:MOV R5,#03H;消除按鍵抖動延時程序MOV R6,#0EFHMOV R7,#0EFHWAIT:DJNZ R7,WAITDJNZ R6,WAITDJNZ R5,WAITRET;-;-LCD寫指令子程序-;-PR1:PUSH ACC CLR RSSETB RWPR11:MOV P0,#0FFHSETB ELCALL DELAYNOPMOV A,P0CLR EJB ACC.7,PR11CLR RWMOV P0,COMSETB ECLR EPOP ACCRET;-;-LCD寫顯示數(shù)據(jù)子程序-;-PR2:PUSH ACCCLR RSSETB RWPR21:MOV P0,#0FFHSETB ELCALL DELAYMOV A,P0 ;讀BF和AC6-0值 CLR EJB ACC.7,PR21SETB RSCLR RWMO

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論