課程設(shè)計基于單片機音樂倒數(shù)計時器的設(shè)計_第1頁
課程設(shè)計基于單片機音樂倒數(shù)計時器的設(shè)計_第2頁
課程設(shè)計基于單片機音樂倒數(shù)計時器的設(shè)計_第3頁
課程設(shè)計基于單片機音樂倒數(shù)計時器的設(shè)計_第4頁
課程設(shè)計基于單片機音樂倒數(shù)計時器的設(shè)計_第5頁
已閱讀5頁,還剩13頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、課程設(shè)計報告書課程名稱 單片機應(yīng)用技術(shù) 課程設(shè)計任務(wù)書課程設(shè)計題 目基于單片機音樂倒數(shù)計時器的設(shè)計課程設(shè)計時 間2013 年 3 月 25 日 2013 年 3 月 29 日課程設(shè)計小組成員課程設(shè)計目 的電類專業(yè)課程設(shè)計環(huán)節(jié),是學(xué)習(xí)電類專業(yè)核心課程所必需的教學(xué)環(huán)節(jié),是在教師的指導(dǎo)下,通過學(xué)生獨立完成課題來實現(xiàn)對學(xué)生的綜合性訓(xùn)練,培養(yǎng)學(xué)生運用課程中所學(xué)到的理論與實踐緊密結(jié)合,獨立解決實際問題的能力,同時也是對知識技能的鞏固和深化課程設(shè)計任 務(wù)設(shè)計一個簡易的倒數(shù)計數(shù)器課程設(shè)計主要技術(shù)指 標(biāo)利用AT89C51單片機結(jié)合字符型LCD顯示器設(shè)計一個簡易的倒數(shù)計數(shù)器,可用來煮方便面、煮開水或小睡片刻等。做

2、一小段時間倒計數(shù),當(dāng)?shù)褂嫈?shù)為0時,則發(fā)出一段音樂聲響,通知倒計數(shù)終了,該做應(yīng)當(dāng)做的事。 課程設(shè)計進(jìn)度計劃3月25日 確立課題 構(gòu)思3月26日 查找資料 3月27日 編寫程序 繪制元件圖3月28日 完成課題任務(wù)簽發(fā)時間2013年3月25 日任務(wù)完成時間2013 3 月 29日學(xué)生簽名指導(dǎo)教師簽名課程設(shè)計報告書一、 設(shè)計功能描述用4個按鍵操作來設(shè)置當(dāng)前想要倒計數(shù)的時間。一旦按下鍵則開始倒計數(shù),當(dāng)計數(shù)為0時,發(fā)出一陣音樂聲。程序執(zhí)行后工作指示燈LED閃動,表示程序開始執(zhí)行,按下操作鍵K1K4動作如下。 K1可調(diào)整倒計數(shù)的時間160分鐘。 K2設(shè)置倒計數(shù)的時間為5分鐘,顯示“0500”。 K3設(shè)置倒計

3、數(shù)的時間為10分鐘,顯示“1000”。 K4設(shè)置倒計數(shù)的時間為20分鐘,顯示“2000”。復(fù)位后LCD的畫面應(yīng)能顯示倒計時的分鐘和秒數(shù),此時按K1鍵,則在LCD上顯示出設(shè)置畫面。此時,若: a. 按操作鍵K2增加倒計數(shù)的時間1分鐘。 b. 按操作鍵K3減少倒計數(shù)的時間1分鐘。 c. 按操作鍵K4設(shè)置完成。 二、系統(tǒng)分析與設(shè)計1.原理圖 圖1-1為音樂倒數(shù)計時器原理圖,由復(fù)位電路,晶振電路,顯示電路,輸入電路組成,K1,K2,K3為設(shè)置時間開關(guān),K4為確認(rèn)開關(guān),上電LED燈亮,進(jìn)行設(shè)置,確認(rèn)后倒計時開始,LED燈滅,時間到后發(fā)出音樂提醒。1-1音樂倒數(shù)計時器原理圖2.單片機應(yīng)用系統(tǒng)說明(單片機介

4、紹及最小系統(tǒng)說明) 51系列單片機由CPU、存儲器、并行I/O口、 定時/計數(shù)器、串行口及中斷系統(tǒng)等組成,其各組成 部分通過內(nèi)部三總線相連。 (1)中央處理器(CPU) 中央處理器是整個單片機的核心部件,是8位 數(shù)據(jù)處理器,能處理8位二進(jìn)制數(shù)據(jù)或代碼,CPU 負(fù)責(zé)控制、指揮和調(diào)度整個單片機系統(tǒng)協(xié)調(diào)工作, 完成運算和控制功能等操作。(2) 數(shù)據(jù)存儲器(內(nèi)部RAM) 89C51/89S51內(nèi)部有256B RAM,其中包含 128B用戶數(shù)據(jù)存儲單元(地址為00H7FH)和128B 特殊功能寄存器單元(地址為0HFFH),它們是統(tǒng) 一編址的。特殊功能寄存器只能用于存放控制指令 數(shù)據(jù),而不能用于存放用戶

5、數(shù)據(jù)。所以用戶能使用 的RAM只有128B,可存放讀寫的數(shù)據(jù)和運算的中 間結(jié)果等。 (3)程序存儲器(內(nèi)部ROM) 89C51/89S51內(nèi)部有4KB Flash 存儲器 (89C52/89S52有8KB),程序存儲器用于存放用戶 程序和原始數(shù)據(jù)等。 (4)定時/計數(shù)器 89C51/89S51有2個16位的可編程定時/計數(shù)器 T0和T1(89C52/89S52有3個,除T0、T1以外,還 有一個定時/計數(shù)器T2),實現(xiàn)定時或計數(shù)功能。(5)并行輸入/輸出(I/O)口 51系列單片機有4個8位并行I/O口(P0、 P1、 P2和P3),用于單片機與外部設(shè)備之間的數(shù)據(jù)并行 輸入/輸出。 (6)串行

6、口 51系列單片機內(nèi)置一個全雙工異步串行通信口, 用于單片機與其他具有相應(yīng)接口的設(shè)備之間的異步 串行數(shù)據(jù)傳送。單片機是一種集成電路芯片,是采用超大規(guī)模集成電路技術(shù)把具有數(shù)據(jù)處理能力的中央處理器CPU隨機存儲器RAM、只讀存儲器ROM、多種I/O口和中斷系統(tǒng)、定時器/計時器等功能(可能還包括顯示驅(qū)動電路、脈寬調(diào)制電路、模擬多路轉(zhuǎn)換器、A/D轉(zhuǎn)換器等電路)集成到一塊硅片上構(gòu)成的一個小而完善的微型計算機系統(tǒng)。單片機最小系統(tǒng),或者稱為最小應(yīng)用系統(tǒng),是指用最少的元件組成的單片機可以工作的系統(tǒng)。對51系列單片機來說,最小系統(tǒng)一般應(yīng)該包括:單片機、晶振電路、復(fù)位電路。對51系列單片機來說,單片機+晶振電路+

7、復(fù)位電路,便組成了一個最小系統(tǒng).但是一般我們在設(shè)計中總是喜歡把按鍵輸入、顯示輸出等加到上述電路中,成為小系統(tǒng)。應(yīng)用89C51(52)單片機設(shè)計并制作一個單片機最小系統(tǒng),達(dá)到如下基本要求:(1)具有上電復(fù)位和手動復(fù)位功能。(2)使用單片機片內(nèi)程序存儲器。(3)具有基本的人機交互接口。按鍵輸入、LED顯示功能。(4)具有一定的可擴展性,單片機I/O口可方便地與其他電路板連接。單片機系統(tǒng)正常工作的保證,如果振蕩器不起振,系統(tǒng)將會不能工作;假如振蕩器運行不規(guī)律,系統(tǒng)執(zhí)行程序的時候就會出現(xiàn)時間上的誤差,這在通信中會體現(xiàn)的很明顯:電路將無法通信。他是由一個晶振和兩個瓷片電容組成的,x1和x2分別接單片機的

8、x1和x2,晶振和瓷片電容是沒有正負(fù)的,注意兩個瓷片電容相連的那端一定要接地。 給單片機一個復(fù)位信號(一個一定時間的低電平)使程序從頭開始執(zhí)行;一般有兩中復(fù)位方式:上電復(fù)位,在系統(tǒng)一上電時利用電容兩端電壓不能突變的原理給系統(tǒng)一個短時的低電平;手動復(fù)位,同過按鈕接通低電平給系統(tǒng)復(fù)位,這時如果手按著一直不放,系統(tǒng)將一直復(fù)位,不能正常工作。1-2單片機晶振電路與復(fù)位電路圖1-2為晶振電路與復(fù)位電路,又稱單片機最小電路3.顯示電路1-3顯示電路圖1-3為顯示電路,顯示電路由單片機和一個共陽4段數(shù)碼管組成,P1為輸入口,P2口為片選口。4輸入電路1-4輸入電路圖圖1-4為輸入電路,上電K2,K3,K4為

9、時間設(shè)置,K1為確定,確定后K2,K3為微調(diào),K4為確認(rèn),設(shè)置階段LED燈亮,開始后滅,倒計時結(jié)束后又蜂鳴器輸出音樂。三、 數(shù)據(jù)元件表數(shù)據(jù)元件表3-1元件名稱元件個數(shù)單片機 AT89C511開關(guān)5470R電阻110K電阻1蜂鳴器1共陽四段 數(shù)碼管1LED燈1石英晶體振蕩器1電解電容1原片電容2四、程序設(shè)計1.流程圖上電后進(jìn)行第一次設(shè)置,K2為5分鐘,K3為10分鐘,K4為20分鐘,K1為確定,按下K1后進(jìn)行2次設(shè)定K2為加1分鐘,K3為減1分鐘,K4為確定,確定后開始倒計時,期間按任何開關(guān)無效,時間到蜂鳴器發(fā)出音樂,按下復(fù)位鍵結(jié)束再次設(shè)置。如圖4-1所示。4-1流程圖2.程序ORG 0000H

10、LJMP START ;跳轉(zhuǎn)到主程序ORG 0003HLJMP JIA1FEN ;跳轉(zhuǎn)到外部中斷0ORG 000BHLJMP TIME0 ;跳轉(zhuǎn)到計數(shù)器中斷0ORG 0013HLJMP JIAN1FEN ;跳轉(zhuǎn)到外部中斷1ORG 0001BHLJMP TIME2 ;跳轉(zhuǎn)到計數(shù)器中斷1START:MOV IE,#0FH ;打開外部中斷0 1口和計數(shù)器中斷0 1口 MOV TCON,#05H ;讓外部中斷判別下降沿為信號 MOV TMOD,#11H ;讓計數(shù)器中斷0和1實行方式1 MOV TH0,#3CH ;T0賦1S初值 MOV TL0,#0B0H MOV R0,#0 ;秒鐘賦初值 MOV R1

11、,#0 ;分鐘賦初值 MOV R2,#20 ;T0 1S次數(shù)賦初值 MOV 40H,#00H;*初始時間的調(diào)試*K1:CLR P3.5 ;開啟LED燈MOV A,R0 ;兩位動態(tài)顯示的主程序MOV B,#10DIV ABMOV DPTR,#TABMOVC A,A+DPTRMOV P2,#04HMOV P1,ALCALL TIME1MOV A,BMOVC A,A+DPTRMOV P2,#08HMOV P1,ALCALL TIME1K2:MOV A,R1MOV B,#10DIV ABMOVC A,A+DPTRMOV P2,#01HMOV P1,ALCALL TIME1MOV A,BMOVC A,A

12、+DPTRMOV P2,#02HMOV P1,ALCALL TIME1JB P3.1,K3 ;按下K1按鈕 確定時間JNB P3.1,$SETB EA ;開啟EA,外部中斷和計數(shù)器中斷開啟LJMP X1 ;跳轉(zhuǎn)到時間微調(diào)子程序K3:JB P3.2,K4 ;按下K2按鈕 給予5分鐘定時JNB P3.2,$MOV R1,#5K4:JB P3.3,K5 ;按下K3按鈕 給予10分鐘定時JNB P3.3,$MOV R1,#10K5:JB P3.4,K1 ;按下K4按鈕 給予20分鐘定時JNB P3.4,$MOV R1,#20LJMP K1;*初始時間微調(diào)的子程序*X1: MOV A,R0MOV B,#

13、10DIV ABMOV DPTR,#TABMOVC A,A+DPTRMOV P2,#04HMOV P1,ALCALL TIME1MOV A,BMOV DPTR,#TABMOVC A,A+DPTRMOV P2,#08HMOV P1,ALCALL TIME1X2:MOV A,R1MOV B,#10DIV ABMOV DPTR,#TABMOVC A,A+DPTRMOV P2,#01HMOV P1,ALCALL TIME1MOV A,BMOV DPTR,#TABMOVC A,A+DPTRMOV P2,#02HMOV P1,ALCALL TIME1JB P3.4,NEXT1 ;按下K4按鈕 時間確定JN

14、B P3.4,$SETB TR0 ;開啟計數(shù)器T0CLR EX0 ;關(guān)閉外部中斷0(即K2開關(guān))CLR EX1 ;關(guān)閉外部中斷1(即K1開關(guān))LJMP X1;*歌曲主程序*NEXT1:CJNE R0,#0,X1 ;比較秒鐘是否已經(jīng)為0,若為0則下一步,如不為則繼續(xù)運行CJNE R1,#0,X1 ;比較分鐘是否已經(jīng)為0,若為0則下一步,如不為則繼續(xù)運行CLR TR0SETB P3.6KAISI:MOV A,40H ;蜂鳴器播放音樂的主程序 MOV DPTR,#TABLE MOVC A,A+DPTR CJNE A,#00H,PLAY MOV 40H,#00H LJMP KAISI PLAY:MOV

15、 R3,A ANL A,#0FH MOV R5,A MOV A,R3 ANL A,#0F0H CJNE A,#00H,MUSIC CLR TR1 LJMP DELMUSIC:SWAP A DEC A MOV 22H,A ADD A,22H MOV R5,A MOV DPTR,#TABLE1 MOVC A,A+DPTR MOV TH1,A MOV 21H,A MOV A,R5 INC A MOVC A,A+DPTR MOV TL1,A MOV 20H,A SETB TR1 DEL: LCALL DELAY1 INC 40H JB P3.1,HUIQU ;按下按鈕關(guān)閉音樂,并重新賦值,待再次開啟

16、JNB P3.1,$ LJMP STARTHUIQU:LJMP KAISI;*所有程序的子程序*DELAY1:MOV R7,#0EH ;音樂程序的延時子程序 L11:MOV R6,#125 L22:MOV R5,#248 DJNZ R5,$ DJNZ R6,L22 DJNZ R7,L11 RETJIA1FEN:CLR EA ;外部中斷0,分鐘微調(diào)加1分鐘INC R1CJNE R1,#60,Q1 ;比較分鐘是否到60MOV R1,#1 ;分鐘到60重新賦值Q1:SETB EARETIJIAN1FEN:CLR EA ;外部中斷1,分鐘微調(diào)減1分鐘CJNE R1,#1,Q2 ;比較分鐘是否到1MOV

17、 R1,#60 ;分鐘到1重新賦值Q2:DEC R1 SETB EA RETITIME0:DJNZ R2,NEXT ;計數(shù)器中斷0,T0溢出20次即1秒MOV R2,#20 ;R2重新賦值CJNE R0,#0,Q4 ;比較秒鐘是否為0CJNE R1,#0,Q3 ;比較分鐘是否為0SETB TR1 ;開啟計數(shù)器中斷1Q3:MOV R0,#60 ;秒鐘重新賦值DEC R1 ;減少1分鐘DEC R0 ;減少1秒鐘LJMP NEXTQ4:DEC R0 ;減少1秒鐘NEXT:MOV TH0,#3CH ;T0重新賦初值MOV TL0,#0B0HRETITIME2:PUSH ACC ;音樂程序使用的計數(shù)器中

18、斷1 PUSH PSW CPL P0.7 CPL P0.0 MOV TL1,20H MOV TH1,21H POP PSW POP ACC RETITIME1:MOV R4,#250 ;動態(tài)顯示1MS的延時子程序Q5:NOPNOPDJNZ R4,Q5MOV P2,#00H ;關(guān)閉片選口RETTAB:DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H ;數(shù)碼管顯示斷碼表TABLE1:DW 64260,64400,64580,64684,64777,64898,64968 ;樂譜表TABLE:DB 54H,64H,38H,44H,54H,18H,34H,44H,54H,64H,4CH ;音符斷碼表 DB 54H,64H,38H,44H,54H,28H,44H,14H,44H,54H,3CH DB

溫馨提示

  • 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)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論