單片機課程設(shè)計定時鬧鐘的設(shè)計_第1頁
單片機課程設(shè)計定時鬧鐘的設(shè)計_第2頁
單片機課程設(shè)計定時鬧鐘的設(shè)計_第3頁
單片機課程設(shè)計定時鬧鐘的設(shè)計_第4頁
單片機課程設(shè)計定時鬧鐘的設(shè)計_第5頁
已閱讀5頁,還剩17頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、河南城建學(xué)院本科課程設(shè)計報告提供全套畢業(yè)論文,各專業(yè)都有河南城建學(xué)院電子技術(shù)基礎(chǔ)課程設(shè)計報告定 時 鬧 鐘姓 名: 連波 學(xué) 號: 094412130 專業(yè)班級: 0944121 指導(dǎo)老師: 張洛花 所在院系:電氣與信息工程學(xué)院 2014年12月24日摘要本設(shè)計是一個定時鬧鐘,它僅使用單片的40引腳單片機完成鬧鐘的全部功能。設(shè)計目的是為了學(xué)習(xí)和鞏固單片機知識,使對已學(xué)過的基礎(chǔ)知識能有更深入的理解,學(xué)會獨立思考、獨立思考、獨立工作,以及提高對所學(xué)應(yīng)用基本理論分析和解決實際問題的能力。本文設(shè)計的定時鬧鐘采用80c51芯片,用匯編語言進行編程,時、分、秒用6位led數(shù)碼管顯示。在電路中通過四個按鍵s

2、1、s2、s3和s4來進行定時和調(diào)時,定時時間到通過喇叭發(fā)出報警聲。設(shè)計系統(tǒng)的主要功能 能顯示 時時分分秒秒。能夠設(shè)置定時時間、 修改定時時間。到定時時間能發(fā)出報警1 系統(tǒng)總體方案及硬件設(shè)計1.1系統(tǒng)總體方案1)由于要顯示數(shù)字時間,所以需要6位數(shù)碼管。2)時間的定時用時鐘電路,修改時間和定時用手動按鍵控制,報警聲通過喇叭發(fā)出。3)80c51單片機加上外圍器件(2個3位共陽數(shù)碼管,8個限流電阻和一個蜂鳴器)和應(yīng)用程序(isis 7 professional軟件和keil編譯軟件),構(gòu)成相應(yīng)的應(yīng)用系統(tǒng)。1.2系統(tǒng)設(shè)計方框圖晶振及復(fù)位按鈕 單片機80c518個限流電阻蜂鳴器6位共陽數(shù)碼管顯示選位圖1

3、系統(tǒng)設(shè)計方框圖1.3硬件設(shè)計1.3.1芯片:80c5180c51芯片內(nèi)不包含一個8位中央處理器cpu,4kb程序存儲器rom,128b隨機存取存儲器,ram,4個8位并行i/o接口,1個全雙工串行通信接口,2個16 位定時器、計數(shù)器級及21個特殊功能寄存器。由先進cmos 工藝制造并帶有非易失性flash 程序存儲器 全部支持12 時鐘和6 時鐘操作 p89c51x2 和p89c52x2/54x2/58x2 分別包含128 字節(jié)和256 字節(jié)ram 32 條i/o 口線 3 個16 位定時/計數(shù)器 6 輸入4 優(yōu)先級嵌套中斷結(jié)構(gòu) 1 個串行i/o 口 可用于多機通信 i/o 擴展或全雙工uar

4、t以及片內(nèi)振蕩器和時鐘電路。此外,由于器件采用了靜態(tài)設(shè)計,可提供很寬的操作頻率范圍,頻率可降至0 。可實現(xiàn)兩個由軟件選擇的節(jié)電模式,空閑模式和掉電模式,空閑模式凍結(jié)cpu但ram定時器,串口和中斷系統(tǒng)仍然工作掉電模式保存ram的內(nèi)容 但是凍結(jié)振蕩器 導(dǎo)致所有其它的片內(nèi)功能停止工作。由于設(shè)計是靜態(tài)的時鐘可停止而不會丟失用戶數(shù)據(jù) 運行可從時鐘停止處恢復(fù)。.1.3.2蜂鳴器由p3.7口控制蜂鳴器,使其定時時間到能發(fā)出報警聲。1.3.3時鐘電路單片機的時鐘產(chǎn)生方法有兩種:內(nèi)部時鐘方式和外部時鐘方式。本系統(tǒng)中單片機采用內(nèi)部時鐘方式。最常用的內(nèi)部時鐘方式是采用外接晶體和電容組成的并聯(lián)諧振回路。振蕩晶體可在

5、1.2mhz12mhz之間。電容值無嚴格要求,但電容取值對振蕩頻率輸出的穩(wěn)定性、大小和振蕩電路起振速度有少許影響,一般可在20pf100pf之間取值。單片機的時鐘電路:如圖所示 限流電阻:8個10k電阻控制按鍵:本系統(tǒng)要進行時間的調(diào)整和定時,因此用4個手動按鍵對其進行控制。1.3.4顯示器模塊的設(shè)計利用2個七段數(shù)碼管6個選位引腳連接c51單片機 p2.5 p2.0接口,其他8個引腳分別通過限流電阻與c51單片機的p0.0 - p0.7和共陽極數(shù)碼管連接。數(shù)碼管:單片機中通常使用7段led,led是發(fā)光二極管顯示器的縮寫。led顯示器由于結(jié)構(gòu)簡單,價格便宜,體積小,亮度高,電壓低,可靠性高,壽命

6、長,響應(yīng)速度快,顏色鮮艷,配置靈活,與單片機接口方便而得到廣泛應(yīng)用。led顯示器是由若干個發(fā)光二極管組成顯示字段的顯示部件,當(dāng)發(fā)光二極管導(dǎo)通時,相應(yīng)的一個點或一個筆劃發(fā)光,控制不同組合的二極管導(dǎo)通,就能顯示出各種字符。如圖所示2軟件設(shè)計2.1劃分模塊根據(jù)設(shè)計要求,定時鬧鐘程序可分為以下幾個模塊:1)顯示時間的設(shè)置;2)鬧鐘時間的設(shè)置:4)定時時間的響應(yīng)。顯示時間s4按下?s3按下?s1按下?顯示鬧鐘時間調(diào)整鬧鐘調(diào)整響鈴主程序響鈴判斷yyynynnn初始化開始3.2程序流程圖 程序流程圖2.3匯編程序 org 0000h ljmp start org 000bh ljmp time;初始化;st

7、art: mov sp, #50h mov 20h,#00h ;定義秒 mov 21h,#00h ;定義分 mov 22h,#00h ;定義時 mov 23h,#01h ;定義鬧鐘分鐘 mov 24h,#01h ;定義鬧鐘小時 mov 25h,#00h mov 26h,#01h mov 30h,#00h ;bcd second mov 31h,#00h mov 32h,#00h ;bcd minute mov 33h,#00h mov 34h,#00h ;bcd hour mov 35h,#00h mov 36h,#01h mov 37h,#00h mov 38h,#01h mov 39h,#

8、00h mov 50h,#00h ;按鍵次數(shù) mov tmod,#01h ;16位計數(shù)器 mov th0, #03ch ;賦初值 mov tl0, #0b0h mov ie, #87h ;中斷允許 setb tr0 ;啟動t0 mov r2,#14h mov p2,#0ffh clr p3.7;主程序;main: lcall timepro ;調(diào)用鬧鐘判斷gb: lcall display1;調(diào)用時間顯示 jb p1.3,m1 ;p1.3=1時轉(zhuǎn)移 s4沒有按下 lcall settime ;調(diào)用settime調(diào)時子程序 ljmp mainm1: jb p1.2,m2 ;p1 g.2=1時轉(zhuǎn)移

9、s3 lcall setatime ;調(diào)用setatime子程序 ljmp mainm2: jb p1.0,m4 ;p1.01時轉(zhuǎn)移 s1 lcall lookatime ;調(diào)用lookatime顯示鬧鐘子程序m4: ljmp main;延時子程序 ;delay: mov r4,#030hdl00: mov r5,#0ffhdl11: mov r6,#9hdl12: djnz r6,dl12 djnz r5,dl11 djnz r4,dl00 ret;時間調(diào)整;settime: ;設(shè)置時間l0: lcall display1mm1: jb p1.3,l1 ;p1.3=1時轉(zhuǎn)移 mov c,p1

10、.3 jc mm1 lcall delay1 ;延時 jc mm1mstop1: mov c,p1.3 ;p1.3為0時轉(zhuǎn)移 jnc mstop1 lcall delay1 ;延時 mov a,50h inc 50h cjne a,#00h,hj1 ljmp l0hj1: mov c,p1.3 jnc mstop1 inc 22h ;小時自加一 mov a,22h cjne a,#18h,go12 ;小時計數(shù)循環(huán) mov 22h,#00h ;復(fù)位 mov 34h,#00h mov 35h,#00h ljmp l0l1: jb p1.1,l2 ;p1.1=1時轉(zhuǎn)移 mov c,p1.1 jc l

11、1 lcall delay1 ;延時 jc l1mstop2: mov c,p1.1 ;p1.10時轉(zhuǎn)移 jnc mstop2 lcall delay1 ;延時 mov c,p1.1 jnc mstop2 inc 21h ;分鐘加一 mov a,21h cjne a,#3ch,go11 ;分鐘計數(shù)循環(huán) mov 21h,#00h ; 復(fù)位 mov 32h,#00h mov 33h,#00h ljmp l0 go11: mov b,#0ah div ab mov 32h,b ; 將a的低4位存入32單元 mov 33h,a ; 將a的高4位存入33單元 ljmp l0go12: mov b,#0a

12、h div ab mov 34h,b ;將a的低4位存入34單元 mov 35h,a ; 將a的高4位存入35單元 ljmp l0l2: jb p1.0,l0 ; p1.01時轉(zhuǎn)移 mov c,p1.0 jc l2 lcall delay1 ;延時 mov c,p1.0 jc l2stop1: mov c,p1.0 ; p1.00時轉(zhuǎn)移 jnc stop1 lcall delay1 ;延時 mov c,p1.0 jnc stop1 mov 50h,#00h ljmp main; 設(shè)置鬧鐘;setatime:lcall display2 ; 調(diào)用display2顯示鬧鐘n0: lcall dis

13、play2mm2: jb p1.2,n1 ;p1.2=1時轉(zhuǎn)移 mov c,p1.2 jc mm2 lcall delay1 ; 延時 jc mm2mstop3: mov c,p1.2 ; p1.20時轉(zhuǎn)移 jnc mstop3 lcall delay1 ; 延時 mov a,50h inc 50h cjne a,#00h,hj2 ljmp n0hj2: mov c,p1.2 jnc mstop3 inc 24h ;小時加一 mov a,24h cjne a,#24,go22 ;小時計數(shù)循環(huán) mov 24h,#00h ;復(fù)位 mov 38h,#00h mov 39h,#00h ljmp n0n

14、1: jb p1.1,n2 ;p1.11時轉(zhuǎn)移 mov c,p1.1 jc n1 lcall delay1 ;延時 jc n1mstop4: mov c,p1.1 ;p1.10時轉(zhuǎn)移 jnc mstop4 lcall delay1 ;延時 mov c,p1.1 jnc mstop4 inc 23h ;分鐘加一 mov a,23h cjne a,#60,go21 ;分鐘計數(shù)循環(huán) mov 23h,#00h ;復(fù)位 mov 36h,#00h mov 37h,#00h ljmp n0go21: mov b,#0ah div ab mov 36h,b ;將a的低4位存入36單元 mov 37h,a ;將

15、a的高4位存入37單元 ljmp n0go22: mov b,#0ah div ab mov 38h,b ;將a的低4位存入38單元 mov 39h,a ;將a的高4位存入39單元 ljmp n0n2: jb p1.0 ,n0 ;p1.01時轉(zhuǎn)移 mov c,p1.0 jc n2 lcall delay1 ;延時 mov c,p1.0 jc n2stop2: mov c,p1.0 jnc stop2 lcall delay1 mov c,p1.0 jnc stop2 mov 50h,#00h ljmp maintimepro: mov a,21h mov b,23h cjne a,b,bk ;

16、判斷定時鬧鐘的分鐘 mov a,22h mov b,24h cjne a,b,bk ;判斷定時鬧鐘的小時 setb 25h.0 mov c,25h.0 lcall timeout ;調(diào)用timeout bk:rettimeout: x1: lcall bz ;調(diào)用喇叭響應(yīng)程序 lcall display2 ;延時 clr 25h.0 ;調(diào)用喇叭響應(yīng)程序結(jié)束 jb p1.0, x1 ;p1.01時轉(zhuǎn)移 lcall delay ;延時 clr 25h.0 ljmp display1 bz: clr p3.7 mov r7,#250 ;喇叭響應(yīng)時間 t2: mov r6,#124 t3: djnz

17、r6,t3 djnz r7,t2 setb p3.7 retlookatime:lcall display2 mm: jnb p1.0,lookatime lcall delay1 ljmp maindelay1: mov r4,#14h ;時間延時dl001: mov r5,#0ffhdl111: djnz r5,dl111 djnz r4,dl001 ret;*定時*time: push acc ;保護現(xiàn)場 push psw movth0,#03ch ;初值 movtl0,#0b0h djnz r2,ret0 movr2,#14h mov a,20h clr c inc a ;秒自加一 c

18、jne a,#3ch,go1 ;秒計數(shù)循環(huán) mov 20h,#0 ;復(fù)位 mov 30h,#0 mov 31h,#0 mov a,21h inc a ;分鐘自加一 cjne a,#3ch,go2 ;分鐘計數(shù)循環(huán) mov 21h,#0h ;復(fù)位 mov 32h,#0 mov 33h,#0 mov a,22h inc a ;小時自加一 cjne a,#18h,go3 ;小時計數(shù)循環(huán) mov 22h,#00h ;復(fù)位 mov 34h,#0 mov 35h,#0 ajmp ret0go1:mov 20h,a mov b,#0ah div ab mov 31h,a ;將a的低4位存入31單元 mov 3

19、0h,b ;將a的高4位存入30單元 ajmp ret0go2: mov 21h,a mov b,#0ah div ab mov 33h,a ;將a的低4位存入33單元 mov 32h,b ;將a的高4位存入32單元 ajmpret0go3:mov 22h,a mov b,#0ah div ab mov 35h,a ;將a的低4位存入35單元 mov 34h,b ;將a的高4位存入34單元 ajmpret0ret0: pop psw ;恢復(fù)現(xiàn)場 pop acc reti;*顯示子程序*display1:mov r0,#30h mov r3,#0feh mov a,r3play1: mov p2

20、,a mov a,r0 ;取要顯示的數(shù)據(jù) mov dptr,#dseg1 ;指向字形段碼首地址 movc a,a+dptr cpl a ;查表取字形段碼 mov p0,a ;指向p0口 lcall dl1 mov p2,#0ffh mov a,r3 ;判斷是否顯示到最低位 rl a ;左移一位 jnb acc.6,ld1 inc r0 ;緩沖器地址加一 mov r3,a ljmp play1ld1: retdisplay2: push acc ;保護現(xiàn)場 push psw mov r0,#36h mov r3,#0fbh mov a,r3play2: mov p2,a mov a,r0 ;取要

21、顯示的數(shù)據(jù) mov dptr,#dseg1 ;指向字形段碼首地址 movc a,a+dptr cpl a ;查表取字形段碼 mov p0,a ;指向p0口 lcall dl1 ;調(diào)用dl1 mov p2,#0ffh mov a,r3 ;判斷是否顯示到最低位 rl a ;左移一位 jnb acc.6,ld2 inc r0 ;緩沖器地址加一 mov r3,a ljmp play2 ;調(diào)用play2ld2: pop psw pop acc ;恢復(fù)現(xiàn)場 ret ;delay;dl1: mov r7,#20hdl: mov r6,#20hdl6: djnz r6,$ djnz r7,dl retdseg

22、1: db 3fh,06h,5bh,4fh,66h ;七段碼表 db 6dh,7dh,07h,7fh,6fh end3 protell軟件仿真:通過s1、s2、s3和s4四個按鍵,對時間進行修改和鬧鐘的設(shè)置。定時時間到能發(fā)出報警聲,使用keil軟件編輯程序,生成hex文件,然后用protel進行仿真,系統(tǒng)運行初始狀態(tài):按下s1鍵顯示鬧鐘,松開后顯示時間;按下s4鍵進入時間修改模式,再按s4鍵時間的時加1,按s2分加1,調(diào)整結(jié)束后按下s1恢復(fù)正常顯示;按下s3鍵進入鬧鐘修改模式,再按s3鍵鬧鐘的時加1,按s2分加1,調(diào)整結(jié)束后按下s1恢復(fù)正常顯示。4 課程設(shè)計體會:課程設(shè)計是培養(yǎng)學(xué)生綜合運用所學(xué)知識,發(fā)現(xiàn)、提出、分析和解決實際問題,鍛煉實踐能力的重要環(huán)節(jié),是對學(xué)生實際工作能力的具體訓(xùn)練和考察過程。隨著科學(xué)技術(shù)發(fā)展的日新日異,單片機已經(jīng)成為當(dāng)今計算機應(yīng)用中空前活躍的領(lǐng)域,在生活中可以說得是無處不在,作為二十一世紀的大學(xué)生來說掌握單片機的開發(fā)技術(shù)是十分重要的。通過本次單片機原理及

溫馨提示

  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論