電子音調(diào)發(fā)生器---單片機(jī)實(shí)驗(yàn)報(bào)告_第1頁(yè)
電子音調(diào)發(fā)生器---單片機(jī)實(shí)驗(yàn)報(bào)告_第2頁(yè)
電子音調(diào)發(fā)生器---單片機(jī)實(shí)驗(yàn)報(bào)告_第3頁(yè)
電子音調(diào)發(fā)生器---單片機(jī)實(shí)驗(yàn)報(bào)告_第4頁(yè)
電子音調(diào)發(fā)生器---單片機(jī)實(shí)驗(yàn)報(bào)告_第5頁(yè)
已閱讀5頁(yè),還剩14頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、單片機(jī)課程設(shè)計(jì)實(shí)驗(yàn)報(bào)告電子音調(diào)發(fā)生器電子音調(diào)發(fā)生器(-)實(shí)驗(yàn)?zāi)康?. 了解計(jì)算機(jī)發(fā)聲原理。2. 熟悉定時(shí)器和鍵盤掃描電路的工作原理及編程方法。(二)設(shè)計(jì)任務(wù)及要求利用實(shí)驗(yàn)平臺(tái)上的開(kāi)關(guān)k0-k7和蜂鳴器設(shè)計(jì)電子音調(diào)發(fā)生器,要求:1. 利用實(shí)驗(yàn)平臺(tái)上開(kāi)關(guān)k0-k7進(jìn)行音調(diào)選擇,即撥動(dòng)不同的開(kāi)關(guān)產(chǎn)生不同的音調(diào),依 次撥動(dòng)k0k7,蜂鳴器發(fā)出1234567i八個(gè)音調(diào)。2. 編寫2支歌曲,并可進(jìn)行選擇播放。(三)工作原理及設(shè)計(jì)思路1音節(jié)由不同頻率的方波產(chǎn)生,音節(jié)與頻率的關(guān)系如表1所示。要產(chǎn)生音頻方波,只要 算出某一音頻的周期(1/頻率),然后將此周期除以2,即為半周期的時(shí)間。利用計(jì)時(shí)器計(jì)時(shí) 此半周期吋間

2、,每當(dāng)計(jì)吋到后就將輸出方波的i/o反相,然后重復(fù)計(jì)時(shí)此半周期吋間再對(duì)i/o 反相,就可在i/o腳得到此頻率的方波。在zks-03實(shí)驗(yàn)儀上,產(chǎn)生方波的i/o腳選用p1.7, 通過(guò)跳線選擇器jp1將單片機(jī)的p1.7與蜂鳴器的驅(qū)動(dòng)電路相連。這樣p1.7輸出不同頻率的 方波,蜂鳴器便會(huì)發(fā)出不同的聲音。另外,音樂(lè)的節(jié)拍是由延時(shí)實(shí)現(xiàn)的,如果1拍為0.4秒, 1/4拍是0.1秒。只要設(shè)定延時(shí)時(shí)間,就可求得節(jié)拍的時(shí)間。延時(shí)作為基本延時(shí)時(shí)間,節(jié)拍 值只能是它的整數(shù)倍,每個(gè)音節(jié)相應(yīng)的定時(shí)器初值x可按下法計(jì)算:(1/2) *( 1 /f)=(l2/fose)*(216-x)b|j x=216-(fose/24f)其

3、中f:音調(diào)頻率,當(dāng)晶振fose= 11.0592mhz時(shí),音節(jié)“1”相應(yīng)的定時(shí)器初值為x,則可得x二63777d二f921h其它的可同樣求得。音調(diào)頻率(hz)x(hex)1262e9212294f9e13330fa8c4349fad85392fb686440fbe97494fc5b1523fc8f表1各音調(diào)對(duì)應(yīng)頻率及計(jì)數(shù)器初值2蜂鳴器模塊由驅(qū)動(dòng)電路和kcl206無(wú)源一體蜂鳴器組成。蜂鳴器電路如圖6所示。三 極管選的是s8550o圖6(4)實(shí)驗(yàn)設(shè)計(jì)1. 實(shí)現(xiàn)功能設(shè)計(jì)實(shí)現(xiàn)兩個(gè)主要功能:電子琴與咅樂(lè)播放。1、電子琴:可播放12345671 個(gè)音調(diào)。2、音樂(lè)播放:同時(shí)按下ko,kl時(shí)啟動(dòng)播放歌曲歡樂(lè)頌

4、;同時(shí)按下k7,k6時(shí)啟動(dòng)播放 歌曲因?yàn)閻?ài)情2. 流程圖圖1程序流程圖3. 軟件設(shè)計(jì)思路電子琴主要的工作是將按鍵的信息讀取,然后根據(jù)按鍵的數(shù)字,用計(jì)數(shù)器輸出相對(duì)應(yīng)的 頻率,實(shí)現(xiàn)電子琴的音調(diào)。程序主要為5部分,鍵盤掃描、中斷計(jì)時(shí)、數(shù)碼顯示、音樂(lè)播放、主程序,他們分別執(zhí) 行不同的功能。4. 各部分功能具體介紹(1) 鍵盤鍵值讀取程序根據(jù)鍵盤值判斷是執(zhí)行電子琴還是播放音樂(lè)。同時(shí)判斷出如果是電子琴是哪種音調(diào),如 果是播放音樂(lè),是哪首歌。(2) 中斷計(jì)時(shí)中斷部分,通過(guò)設(shè)置不同的計(jì)數(shù)初值,控制pl.7產(chǎn)生不同頻率的方波.(3) 音樂(lè)播放音樂(lè)播放部分主要是播放音樂(lè),實(shí)現(xiàn)按鍵電子琴和播放程序里面的音樂(lè)的功能。

5、信號(hào)從 pl.7輸出后,要先經(jīng)過(guò)三極管放大,才能驅(qū)動(dòng)蜂鳴器。(4) 主程序主程序主要是通過(guò)對(duì)按鍵掃描,執(zhí)行相應(yīng)操作,在該程序中在播放音斥過(guò)程中按pl.2(kl) 可停止播放。源程序:org 0000h;啟動(dòng)鍵盤選擇程序:;按下k0-k7鍵分別對(duì)應(yīng)1-i這8個(gè)音符;同吋按下ko,kl吋啟動(dòng)播放歌曲歡樂(lè)頌;同時(shí)按下k7,k6時(shí)啟動(dòng)播放歌曲因?yàn)閻?ài)情keypro:jb p1.2,g01;p1.2 口為 1 時(shí)跳轉(zhuǎn)ljmp gomus1;p1.2 口為0時(shí)判斷p1.4是否也為0,p1.4為0時(shí)長(zhǎng)轉(zhuǎn)移go1:jbp1.4,go2ljmp gomus4 g10:ljmp keyp02 go2:jbp1.5,

6、go3ljmp keyp03go3:jbp1.6,go4ljmp keyp04go4:jb p3.2,go5ljmp keyp05go5:jb p3.3,go6ljmp keyp06go6:jb p3.4,go8goo:ljmpkeyp01 ;p1.4 口不為 0, p1.2 口為 0 時(shí)發(fā) 1 咅;檢查pl.2不為0后,pl.4 口為0發(fā)“2”音;pl.5 口為 0 發(fā) “3” 咅;pl.6 口為 0 發(fā) “4” 音;p3.2 口為 0 發(fā) “5” 音;p3.3 口為 0 發(fā) “6” 音ljmp gomus2go7:ljmpkeyp07 ;p3.4 口為 0 發(fā) “7” 音go8:jb p3

7、.5,keypro ;都為1則重新掃描ljmp g0mus3g09:ljmp keyp08gomus1:jbp1.4,gooljmpmustart1;跳到再次判定k6;判定k6不為0,則p3.5 口為0發(fā)“i”音;k0,kl同為0播歌1, kl不為0,返冋1.2發(fā) t 音gomus2:jb p3.5,go7ljmp mustart2 ;k6,k7 同為 0 播歌 2, k7 不為 0,返回 3.4 發(fā) “7” 音gomus3:jb p3.4,go9;k7 為 0,再檢查 k6 是否為 0ljmp mustart2gomus4:jbp1.2,g10 ljmpmustart1keyp01:setb

8、p1.7mov r3,#100main01:mov tmod,#01hmov tl0,#44hmov th0,#0fch setb trowait1:jnb tfo,wait1 clr tfo cplp1.7djnz r3,main01 mov a,#0f9h acallshow;kl為0,再檢查ko是否為0;音調(diào)1的方波發(fā)生;設(shè)循環(huán)初值,使開(kāi)關(guān)在0時(shí)播放一段時(shí)間;設(shè)置定吋器to工作方式1;音調(diào)1對(duì)應(yīng)初值fc44h;啟動(dòng)t0工作;定時(shí)未到,循環(huán)等待;定時(shí)到,清tfo;由卩17輸出,信號(hào)取反ljmp keyprokeyp02:setb pl.7mov r3,#100main02:;音調(diào)2的方波發(fā)

9、生mov tmod,#01hmov tl0,#0aehmov th0,#0fchsetb trowait2:jnb tf0,wait2clr tfocplp1.7djnz r3,main02mov a,#0a4hacallshowljmp keyprokeyp03:setb pl.7mov r3,#100main03:mov tmod,#01hmov tl0,#0ahmov th0,#0fdh;咅調(diào)3的方波發(fā)生setb trowait3:jnb tf0,wait3clr tfocplp1.7djnz r3,maino3mov a,#0b0hacallshowljmp keyprokeyp04:

10、setb pl.7mov r3,#100setb pl.6main04:mov tmod,#01hmov tl0,#034hmov th0,#0fdhsetb trowait4:jnb tf0,wait4clr tfocplp1.7djnz r3,main04 mov a,#99h acallshowljmp keyprokeyp05:setb pl.7mov r3,#100main05:mov tmod,#01hmov tl0,#82hmov th0,#0fdhsetb trowait5:jnb tf0,wait5clr tfocplp1.7djnz r3,main05 mov a,#92h

11、 acall showljmp keyprokeyp06:setb pl.7mov r3,#100main06:mov tmod,#01hmov tl0,#0e2hmov th0,#0fdhsetb tro;咅調(diào)4的方波發(fā)生;咅調(diào)5的方波發(fā)生;音調(diào)6的方波發(fā)牛wait6:jnb tf0,wait6clr tfocplp1.7djnz r3,main06acall showmov a,#82hljmp keyprokeyp07:setb pl.7mov r3,#100main07:mov tmod,#01hmov tl0,#06hmov th0,#0fehsetb trowait7:jnb tf

12、0,wait7clr tfocplp1.7djnz r3,main07mov a,#0f8hacall showljmp keyprokeyp08:setbp1.7mov r3,#100main08:mov tmod,#01hmov tl0,#22hmov th0,#0fehsetb trowait8:jnb tf0,wait8clr tfocplp1.7djnz r3,main08mov a,#80hacall showljmp keyprojieli:jmp keypromustart1:mov r0,#00hmovr1,#ooh rtab:mova,romov dptr,#ryth mo

13、vc a,a+dptr mov r2,ar2計(jì)數(shù)器中;音調(diào)7的方波發(fā)牛;音調(diào)i的方波發(fā)生;歌曲1的播放程序;節(jié)拍表指針置零;咅符表指針置零;查表法將一個(gè)節(jié)拍數(shù)據(jù)取出放ttab:mova,r1mov dptr,#tone movca,a+dptr mov r3,aincr1mova,r1mov dptr,#tone movca,a+dptr mov r4,asetbp 1.7loop:mov r5,#3bhmain:mov tmod,#01hmov tl0,r4mov th0,r3 setb trowait:jnb tf0,wait clr tfo cplp1.7maya:jbp1.2,mayb

14、 jbp1.4,mayb ljmp ramayb:jb p3.4,jielijb p3.5jieliljmp mustart2ra: mov a,#86hacall showdjnz r5,maindjnz r2,loopinc roincr1cjner1,#166,rtabljmp keypro;歡樂(lè)頌咅符表tone:;3342 1 1 2 db;取出咅符表高8位;指針加1;取出低8位;輸出相應(yīng)音調(diào)的方波;判斷1.2, 1.4 口是否有為1;判斷3.4, 3.5 口是否有為1;3.4, 3.5 口皆為0則放第二首歌;無(wú)打斷則繼續(xù)放第一首歌;兩個(gè)表的指針都加1;判斷是否取完554333220f

15、dh,0ah,0fdh,0ah,0fdh,34h,0fdh,82h,0fdh,82h,0fdh,34h,0fdh,0ah,0fch,0aeh,0fch,44h,0fch,44h,0fch,0aeh,0fdh,0ah,0fdh,0ah,0fch,0aehqfch,oaeh;33455432 1123211db0fdh,0ah,0fdh,0ah,0fdh,34h,0fdh,82h,0fdh,82h,0fdh,34h,0fdh,0ah,0fch,0aeh,0fch,44h,0fch,44h,0fch,0aeh,0fdh,0ah,0fch,0aeh,0fch,44h.0fch.44h92 231234

16、31 234311253db0fch,0aeh,0fch,0aeh,0fdh,0ah,0fch,44h,0fch,0aeh,0fdh,0ah,0fdh,34h,0fdh,0ah,0fch,44h,0fch,0aeh,0fdh,0ah,0fdh,34h,0fdh,0ah,0fch,4 4h,0fch,44h,0fch,0aeh,0fbh,04h, ofdh,oah;334554321123211db0fdh,0ah,0fdh,0ah,0fdh,34h,0fdh,82h,0fdh,82h,0fdh,34h,0fdh,0ah,0fch,0aeh,0fch,44h,0fch,44h,0fch,0aeh

17、,0fdh,0ah,0fch,0aeh,0fch,44 h,0fch,44h;歡樂(lè)頌節(jié)拍表ryth:db 0&0&0&0&0&0&0&0&0&0&0&0& 12,04,16db 0&0&0&0&0&0&0&0&0&0&0&0& 12,04,16db 0&08,0&08,0&04,04,0&08,0&04,04,0&08,0&08,0&08db

18、 0&08,0&08,0&08,0&08,0&08,08,08,12,04,16mustart2:mov r0,#00hmov r1 ,#00hrtab2:mov a,romov dptr,#ryth2movc a,a+dptrmov r2,attab2:mov a,r1mov dptr,#tone2movc a,a+dptrmov r3,aincr1mov a,r1mov dptr,#tone2movc a,a+dptrmov r4,asetbp 1.7loop2:mov r5,#3bhmain2:mov tmod,#01hmov tl0,r4mov

19、th0,r3setb trowait22:jnb tf0,wait22clr tfocplp1.7maya1:jb p3.4,mayb1 jb p3.5,mayb1 ljmp rbmayb1:jbp12,back jb pl.4,back ljmpmustart1back:ljmp jielirb:mova,#8ehacallshowdjnz r5,main2djnz r2,loop2inc roincr1cjner1,#222,rtab2ljmp keypro;判斷3.4, 3.5 口是否有為1;1.2, 1.4 口皆為0則放第一首歌;無(wú)打斷則繼續(xù)放第二首歌;因?yàn)閻?ài)情音符表tone2:; 2

20、35255db3.50fch,0aeh,0fdh,0ah,0fdh,82h,0fdh,0ah,0fdh,82h,0fdh,82h,0fdh,0ah,0fch,0aeh,0fdh,82h,0fdh,82h,;67iii7i7753db0fdh,0e2h,0feh,06h,0feh,22h,0feh,22h,0feh,22h,0feh,06h,0feh,22h,0feh,06h,0feh,06h,0fdh,82h,0fdh,0ah;5355656551db 0fdh,82h,0fdh,0ah,0fdh,82h,0fdh,82h,0fdh,0e2h,0fdh,82h,0fdh,0e2h,0fdh,8

21、2h,0fdh,82h,0fch,44h;6132632665db0fbh,90h,0fch,44h,0fdh,0ah,0fch,0aeh,0fbh,90h,0fdh,0ah,0f9h,21h,0fbh,90h,0fdh,0e2h,0fdh,82h;因?yàn)閻?ài)情節(jié)拍表ryth2:db 0& 0&04,12,04,04,04, 04, 04, 16db 04 ,04,04,04,08,04,08, 03, 01, 04, 20db 08, 08,04,04,12,04,03, 01, 04, 20db 04, 04,04,04,04,04,04, 04, 04, 32show:mov p2,a;retend(5)電路圖1l . c1xtal1crystalqir2pn5spz wa9 pzfaio f2ta11 pz.wa1z fzata13 f7a*a1« fz

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論