![電子音調(diào)發(fā)生器_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/1/c3622ee9-e5ed-4627-be64-893b77cf9b39/c3622ee9-e5ed-4627-be64-893b77cf9b391.gif)
![電子音調(diào)發(fā)生器_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/1/c3622ee9-e5ed-4627-be64-893b77cf9b39/c3622ee9-e5ed-4627-be64-893b77cf9b392.gif)
![電子音調(diào)發(fā)生器_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/1/c3622ee9-e5ed-4627-be64-893b77cf9b39/c3622ee9-e5ed-4627-be64-893b77cf9b393.gif)
![電子音調(diào)發(fā)生器_第4頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/1/c3622ee9-e5ed-4627-be64-893b77cf9b39/c3622ee9-e5ed-4627-be64-893b77cf9b394.gif)
![電子音調(diào)發(fā)生器_第5頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/1/c3622ee9-e5ed-4627-be64-893b77cf9b39/c3622ee9-e5ed-4627-be64-893b77cf9b395.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、單片機(jī)課程設(shè)計單片機(jī)課程設(shè)計電子音調(diào)發(fā)生器實(shí)驗報告班級:目錄1. 設(shè)計目的- 1 -2. 設(shè)計要求- 1 -3.設(shè)計原理- 1 -4.設(shè)計方案及思路- 2 -4.1 總體框圖- 2 -4.2蜂鳴電路- 3 -5.軟件設(shè)計流程及描述- 3 -5.1軟件設(shè)計思路- 4 -5.2各部分功能介紹- 4 -5.2.1鍵盤鍵值讀取程序- 4 -5.2.2中斷計時- 4 -5.2.3音樂播放- 4 -5.2.4主程序- 4 -6.實(shí)驗源程序- 5 -7.實(shí)驗結(jié)果- 11 -8.實(shí)驗總結(jié)及體會- 11 -附:參考文獻(xiàn)- 11 -1. 設(shè)計目的1.了解計算機(jī)發(fā)聲原理。2.熟悉定時器和鍵盤掃描電路的工作原理及編程
2、方法。2. 設(shè)計要求利用JD51開發(fā)板上的按鍵S1S4和蜂鳴器設(shè)計電子音調(diào)發(fā)生器,要求:1.利用JD51開發(fā)板上的按鍵S1S4進(jìn)行音調(diào)選擇,即按下不同的開關(guān)產(chǎn)生不同的音調(diào),依次按動S1S4 及組合按鍵,蜂鳴器發(fā)出1234567i八個音調(diào);并在數(shù)碼管上顯示。2.編寫2支歌曲,并可進(jìn)行選擇播放。3.設(shè)計原理音節(jié)由不同頻率的方波產(chǎn)生,音節(jié)與頻率的關(guān)系通過查表可得。要產(chǎn)生音頻方波,只要算出某一音頻的周期(1/頻率),然后將此周期除以2,即為半周期的時間。利用計時器計時此半周期時間,每當(dāng)計時到后就將輸出方波的I/O反相,然后重復(fù)計時此半周期時間再對I/O反相,就可在I/O腳得到此頻率的方波。 在JD51
3、單片機(jī)上,產(chǎn)生方波的I/O腳選用P2.4,通過跳線選擇器將單片機(jī)的P2.4與蜂鳴器的驅(qū)動電路相連。這樣P2.4輸出不同頻率的方波,蜂鳴器便會發(fā)出不同的聲音。另外,音樂的節(jié)拍是由延時實(shí)現(xiàn)的,如果1拍為0.4秒,1/4拍是0.1秒。只要設(shè)定延時時間,就可求得節(jié)拍的時間。延時作為基本延時時間,節(jié)拍值只能是它的整數(shù)倍。每個音節(jié)相應(yīng)的定時器初值X可按下法計算: (1/2)*(1/f)=(12/fose)*(216-x)即 x=216-(fose/24f)其中f:音調(diào)頻率,當(dāng)晶振fose=11.0592MHz時,音節(jié)“1”相應(yīng)的定時器初值為x,則可得x=63777D=F921H 其它的可同樣求得。 表1
4、音調(diào)頻率(Hz)X(HEX)1262F9212294F9E13330FA8C4349FAD85392FB686440FBE97494FC5Bi523FC8F4.設(shè)計方案及思路4.1 總體框圖數(shù)碼管顯示電路 矩陣鍵控制 89C51 單片機(jī) 聲音輸出電路按鍵重播控制音樂播放控制 硬件圖4.2蜂鳴電路模塊鳴器驅(qū)動電路和89C51組成。 選擇一只壓電式蜂鳴器,壓電式蜂鳴器工作時約需要100MA驅(qū)動電流。當(dāng)89C51輸出為低電平時蜂鳴器產(chǎn)生蜂鳴音,89C51 輸出為高電平時,蜂鳴器不發(fā)聲。5.軟件設(shè)計流程及描述根據(jù)要實(shí)現(xiàn)的功能,流程圖如下:熟悉定時器和鍵盤掃描電路的工作原理及編程方法。開始系統(tǒng)初始化判斷
5、按鍵判斷按鍵電子琴液晶顯示播放音調(diào)播放音樂功能選擇音樂5.1軟件設(shè)計思路電子琴主要的工作是將按鍵的信息讀取,然后根據(jù)按鍵的數(shù)字,用計數(shù)器輸出相對應(yīng)的頻率,實(shí)現(xiàn)電子琴的音調(diào)。程序主要為5部分,鍵盤掃描、中斷計時、數(shù)碼顯示、音樂播放、主程序,他們分別執(zhí)行不同的功能。5.2各部分功能介紹5.2.1鍵盤鍵值讀取程序鍵盤鍵值讀取程序包括鍵盤掃描、消除抖動、鍵譯碼等內(nèi)容。按鍵的識別主要有兩種方法:行反轉(zhuǎn)法和行掃描法。因為鍵盤為機(jī)械開關(guān),容易引入抖動。為了消除抖動干擾,在程序中要加入消除抖動的部分。5.2.2中斷計時中斷部分,中斷定時器1主要負(fù)責(zé)輸出不同頻率的方波,產(chǎn)生聲音,中斷定時器1主要是計時按鍵時間及
6、按鍵間隔時間的功能,在播放音樂的時候,還擔(dān)任著播放音樂的節(jié)拍的任務(wù)。5.2.3音樂播放音樂播放部分主要是播放音樂,實(shí)現(xiàn)按鍵重播和播放程序里面的音樂的功能。5.2.4主程序主程序主要是隨時發(fā)出按鍵的聲音功能,并且通過不同P口的掃描,判斷是否是播放按鍵聲音還是播放音樂,還是繼續(xù)發(fā)出按鍵聲音。6.實(shí)驗源程序匯編程序:/*SB1 1音 SB2 2音 SB3 3音 SB4 4音 SB1SB2 5音 SB2SB3 6音 SB3SB4 7音 SB1SB4 i音 SB1SB3 第一首歌 SB2SB4 第二首歌 */ORG 0000HLJMP KEYP0KEYP0: MOV R0,#00H CLR TR0 SE
7、TB P2.4 ;關(guān)蜂鳴器 SETB P2.3 ;關(guān)數(shù)碼管WU: MOV R0,P3 ;掃描鍵盤輸入 CJNE R0,#0FFH,KEYPO1 ;有輸入時跳轉(zhuǎn) JMP WUKEYPO1:CJNE R0,#0FBH,KEYPO2 ;輸入1音,非1音跳轉(zhuǎn) SETB P2.4 ;蜂鳴器置于高電平 MOV R3,#200MAIN01:MOV TMOD,#01H ;初始化,工作方式1 MOV TL0,#21H ;寫入計數(shù)初值 MOV TH0,#0F9H SETB TR0 ;啟動計數(shù) WAIT1:JNB TF0,WAIT1 CLR TF0 CPL P2.4 ;蜂鳴器響 CLR P2.3 ;數(shù)碼管顯示1 M
8、OV A,#11111001B MOV P0,A DJNZ R3,MAIN01 LJMP KEYP0 ;返回程序KEYP0 KEYPO2:CJNE R0,#0F7H,KEYPO3 ; 輸入2音,非2音跳轉(zhuǎn)SETB P2.4 ;蜂鳴器置于高電平MOV R3,#200 MAIN02:MOV TMOD,#01H MOV TL0,#0E1H ;寫入計數(shù)初值 MOV TH0,#0F9H SETB TR0WAIT2:JNB TF0,WAIT2 CLR TF0 CPL P2.4 ;蜂鳴器響 CLR P2.3 ;數(shù)碼管顯示2 MOV A,#10100100B MOV P0,A DJNZ R3,MAIN02LJ
9、MP KEYP0KEYPO3:CJNE R0,#0EFH,KEYPO4 ; 輸入3音,非3音跳轉(zhuǎn)SETB P2.4 ;蜂鳴器置于高電平MOV R3,#200MAIN03:MOV TMOD,#01H MOV TL0,#08CH MOV TH0,#0FAH SETB TR0WAIT3:JNB TF0,WAIT3 CLR TF0 CPL P2.4 CLR P2.3 MOV A,#10110000B MOV P0,A DJNZ R3,MAIN03LJMP KEYP0KEYPO4:CJNE R0,#0DFH,KEYPO5 ; 輸入4音,非4音跳轉(zhuǎn)SETB P2.4MOV R3,#200MAIN04:MO
10、V TMOD,#01H MOV TL0,#0D8H MOV TH0,#0FAH SETB TR0WAIT4:JNB TF0,WAIT4 CLR TF0 CPL P2.4 CLR P2.3 MOV A,#10011001B MOV P0,A DJNZ R3,MAIN04LJMP KEYP0KEYPO5:CJNE R0,#0F3H,KEYPO6 ; 輸入5音,非5音跳轉(zhuǎn)SETB P2.4MOV R3,#200 MAIN05:MOV TMOD,#01H MOV TL0,#068H MOV TH0,#0FBH SETB TR0WAIT5:JNB TF0,WAIT5 CLR TF0 CPL P2.4 C
11、LR P2.3 MOV A,#10010010B MOV P0,A DJNZ R3,MAIN05LJMP KEYP0KEYPO6:CJNE R0,#0E7H,KEYPO7 ; 輸入6音,非6音跳轉(zhuǎn)SETB P2.4MOV R3,#200 MAIN06:MOV TMOD,#01H MOV TL0,#0E9H MOV TH0,#0FBH SETB TR0WAIT6:JNB TF0,WAIT6 CLR TF0 CPL P2.4 CLR P2.3 MOV A,#10000010B MOV P0,A DJNZ R3,MAIN06LJMP KEYP0KEYPO7:CJNE R0,#0CFH,KEYPO8
12、; 輸入7音,非7音跳轉(zhuǎn)SETB P2.4MOV R3,#200 MAIN07:MOV TMOD,#01H MOV TL0,#05BH MOV TH0,#0FCH SETB TR0WAIT7:JNB TF0,WAIT7 CLR TF0 CPL P2.4 CLR P2.3 MOV A,#11111000B MOV P0,A DJNZ R3,MAIN07LJMP KEYP0KEYPO8:CJNE R0,#0DBH,KEYPO9 ; 輸入i音,非i音跳轉(zhuǎn) SETB P2.4 MOV R3,#200 MAIN08:MOV TMOD,#01H MOV TL0,#08FH MOV TH0,#0FCH SE
13、TB TR0WAIT8:JNB TF0,WAIT8 CLR TF0 CPL P2.4 CLR P2.3 MOV A,#10000000B MOV P0,A DJNZ R3,MAIN08LJMP KEYP0KEYPO9:CJNE R0,#0EBH,KEYPO10 ;跳轉(zhuǎn)到第一首歌程序 LJMP MUSTART1KEYPO10:CJNE R0,#0D7H,JIELI ;跳轉(zhuǎn)到第二首歌程序 LJMP MUSTART2JIELI:JMP KEYP0 ;返回主程序MUSTART1: ;歌曲1的播放程序 MOV R0,#00H ;節(jié)拍表指針置零 MOV R1,#00H ;音符表指針置零RTAB:MOV A
14、,R0 MOV DPTR,#RYTH MOVC A,A+DPTR ;查表法將一個節(jié)拍數(shù)據(jù)取出放R2計數(shù)器中 MOV R2,ATTAB:MOV A,R1 MOV DPTR,#TONE MOVC A,A+DPTR MOV R3,A ;取出音符表高8位 INC R1 ;指針加1 MOV A,R1 MOV DPTR,#TONE MOVC A,A+DPTR MOV R4,A ;取出低8位 SETB P2.4 ;輸出相應(yīng)音調(diào)的方波LOOP:MOV R5,#3BHMAIN:MOV TMOD,#01H MOV TL0,R4 MOV TH0,R3 SETB TR0WAIT:JNB TF0,WAIT CLR TF
15、0 CPL P2.4MAYA:JB P3.2,MAYB ;判斷P3.2口是否有為1 JB P3.4,MAYB ;判斷P3.4口是否有為1 LJMP RA ;P3.4口為0則跳轉(zhuǎn)到程序RAMAYB:JB P3.3,JIELI ;判斷P3.3口是否有為1 JB P3.5,JIELI ;判斷P3.5口是否有為1 LJMP MUSTART2 ;P3.5口為0則放第二首歌RA: DJNZ R5,MAIN ;無打斷則繼續(xù)放第一首歌 DJNZ R2,LOOPINC R0 ;兩個表的指針都加1INC R1CJNE R1,#88,RTAB ;判斷是否取完LJMP KEYP0TONE:DB 0FBH,68H,0F
16、DH,6EH,0FDH,45H,0FCH,0EFH,0FCH,8FH,0FCH,8FH,0FCH,8FH,0FCH,5BH,0FCH,8FHDB 0FCH,0EFH,0FDH,45H,0FBH,68H,0FBH,68H,0FCH,8FH,0FCH,5BH,0FBH,0E9H,0FBH,68H,0FBH,68HDB 0FAH,0DBH,0FAH,8CH,0F9H,21H,0FAH,8CH,0FAH,0D8H,0FBH,68H,0FBH,68H,0FBH,68H,0FBH,68HDB 0FBH,0E9H,0FBH,0E9H,0FBH,68H,0FBH,0E9H,0FCH,5BH,0FAH,8CH,
17、0FCH,8FH,0FCH,8FH,0FCH,5BHDB 0FCH,8FH,0FCH,0EFH,0FCH,0EFH,0FCH,0EFH,0FCH,8FH,0FDH,45H,0FDH,6EH,0FCH,0EFHRYTH:DB 04,04,04,04,04,04,04,04,04,04DB 04,05,04,04,04,04,04,04,04,04DB 04,04,04,06,04,04,04,07,04,04DB 04,04,04,06,04,04,04,07,04,04DB 04,04,04,04MUSTART2: MOV R0,#00H MOV R1,#00HRTAB2: MOV A,R1
18、MOV DPTR,#TABLE1 MOVC A,A+DPTR MOV R2,ATTAB2: MOV A,R1 MOV DPTR,#TONE2 MOVC A,A+DPTR MOV R3,A INC R1 MOV A,R1 MOV DPTR,#TONE2 MOVC A,A+DPTR MOV R4,A SETB P2.4LOOP2: MOV R5,#9BHMAIN2: MOV TMOD,#01H MOV TL0,R4 MOV TH0,R3 SETB TR0WAITR:JNB TF0,WAITR CLR TF0 CPL P2.4MAYA1:JB P3.3,MAYB1 JB P3.5,MAYB1 LJM
19、P RBMAYB1:JB P3.2,BACK JB P3.4,BACK LJMP MUSTART1BACK:LJMP JIELIRB: DJNZ R5,MAIN2 DJNZ R2,LOOP2 INC R0INC R1CJNE R1,#64,RTAB2LJMP KEYP0TONE2:DB 0FBH,68H,0FDH,6EH,0FDH,45H,0FCH,0EFH,0FCH,8FH,0FCH,8FH,0FCH,8FH,0FCH,5BH,0FCH,8FHDB 0FCH,0EFH,0FDH,45H,0FBH,68H,0FBH,68H,0FCH,8FH,0FCH,5BH,0FBH,0E9H,0FBH,68H,0FBH,68HDB 0FAH,0DBH,0FAH,8CH,0F9H,21H,0FAH,8CH,0FAH,0D8H,0FBH,68H,0FBH,68H,0FBH,68H,0FBH,68HDB 0FBH,0E9H,0FBH,0E9H,0FBH,68H,0FBH,0E9H,0FCH,5BH,0FAH,8CH,0FCH,8FH,0FCH,8FH
溫馨提示
- 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025版企業(yè)新貸款還款協(xié)議標(biāo)準(zhǔn)文本
- 2025年互聯(lián)網(wǎng)證券交易合同樣本
- 2025年戰(zhàn)略策劃以外的技術(shù)保密協(xié)議書
- 2025年呼和浩特從業(yè)資格證貨運(yùn)考試答案
- 2025年動產(chǎn)交易合同
- 2025年陜西貨運(yùn)從業(yè)資格證試題庫及答案大全
- 2025年度能源工程發(fā)展策劃聯(lián)合體協(xié)議
- 2025年居間銷售代理合同范本
- 2025年勞動合同爭議處理律師協(xié)作協(xié)議
- 2025年債務(wù)延期還款協(xié)議制定策略
- 學(xué)校保潔服務(wù)投標(biāo)方案(技術(shù)標(biāo))
- 青島中國(山東)自由貿(mào)易試驗區(qū)青島片區(qū)(青島前灣綜合保稅區(qū))管理委員會選聘35人筆試歷年參考題庫附帶答案詳解
- 《社區(qū)工作者培訓(xùn)課件 新浪版》
- 弘揚(yáng)與傳承中華傳統(tǒng)文化課件(共16張PPT)
- 鋼琴基礎(chǔ)教程教案
- 電子課件-《飯店服務(wù)心理(第四版)》-A11-2549
- 糖基轉(zhuǎn)移酶和糖苷酶課件(PPT 111頁)
- 部編版五年級語文下冊全冊教材分析
- 自來水業(yè)務(wù)辦理授權(quán)委托書
- 電子商務(wù)客戶服務(wù)ppt課件匯總(完整版)
- 2022危險化學(xué)品及石化化工項目必須進(jìn)園區(qū)的規(guī)定文件匯總
評論
0/150
提交評論