單片機(jī)課程設(shè)計(jì)報(bào)告音樂盒的設(shè)計(jì)_第1頁
單片機(jī)課程設(shè)計(jì)報(bào)告音樂盒的設(shè)計(jì)_第2頁
單片機(jī)課程設(shè)計(jì)報(bào)告音樂盒的設(shè)計(jì)_第3頁
單片機(jī)課程設(shè)計(jì)報(bào)告音樂盒的設(shè)計(jì)_第4頁
單片機(jī)課程設(shè)計(jì)報(bào)告音樂盒的設(shè)計(jì)_第5頁
已閱讀5頁,還剩11頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、1緒 論1.1課題背景 近年來隨著科技的飛速發(fā)展,單片機(jī)的應(yīng)用正在不斷深入,同時(shí)帶動(dòng)傳統(tǒng)控制檢測技術(shù)日益更新。在實(shí)時(shí)檢測和自動(dòng)控制的單片機(jī)應(yīng)用系統(tǒng)中,單片機(jī)往往作為一個(gè)核心部件來使用,僅單片機(jī)方面知識是不夠的,還應(yīng)根據(jù)具體硬件結(jié)構(gòu)軟硬件結(jié)合,加以完善。 自上世紀(jì)90年代,嵌入式技術(shù)已經(jīng)成為通信和消費(fèi)類電子產(chǎn)品的共同發(fā)展方向。移動(dòng)通信終端是集成移動(dòng)通信功能的嵌入式系統(tǒng)產(chǎn)品,是一個(gè)軟件和硬件有效綜合、集成的系統(tǒng)。 21世紀(jì)是知識經(jīng)濟(jì)時(shí)代。其中以電子技術(shù)的發(fā)展最為迅速,以電子產(chǎn)品為介質(zhì)的通訊和應(yīng)用更是日新月異,不短飆升。實(shí)際型的應(yīng)用技術(shù)越來越向著頂端發(fā)展,更新周期不斷縮短。在人才競爭的當(dāng)今社會(huì),選擇

2、有著實(shí)際技術(shù)型的人才已經(jīng)是用人單位首先考慮的因素。為此,學(xué)校開展了電子課程技術(shù)的設(shè)計(jì),目的在于提高和加強(qiáng)學(xué)生的實(shí)踐技能,為就業(yè)奠定基礎(chǔ)。電子課程設(shè)計(jì)是配合電子技術(shù)基礎(chǔ)的課程與實(shí)驗(yàn)教學(xué)的一個(gè)非常重要的教學(xué)環(huán)節(jié)。它能鞏固電子技術(shù)的理論知識,提高電子電路的設(shè)計(jì)水平,加強(qiáng)綜合分析 和解決問題的能力,進(jìn)一步培養(yǎng)學(xué)生的實(shí)驗(yàn)技能和動(dòng)手能力,啟發(fā)學(xué)生的創(chuàng)新意識和創(chuàng)新思維。這將對學(xué)生畢業(yè)以后從事電子方面的工作有很大的幫助。2音樂盒的設(shè)計(jì)2.1技術(shù)要求能夠產(chǎn)生低中高三個(gè)音調(diào)的7個(gè)標(biāo)準(zhǔn)音階do,re,m,fa,so,la,si;并在按下相應(yīng)的數(shù)字鍵的時(shí)候數(shù)碼管顯示相應(yīng)數(shù)字;自選一首歌曲,查找到相關(guān)的樂譜,確定音階和

3、節(jié)拍,并編寫相關(guān)的源程序是蜂鳴器能夠播放出該歌曲。2.2設(shè)計(jì)方案及實(shí)現(xiàn)2.2.1 方案一任務(wù)要求:以89s51為核心,根據(jù)設(shè)計(jì)指標(biāo)設(shè)計(jì)電路的框圖,畫出電路邏輯圖和裝配圖,查閱資料,確定所需各元器件型號和參數(shù),自擬調(diào)整測試方法,并調(diào)試電路使其達(dá)到設(shè)計(jì)指標(biāo)要求。2.2.2方案設(shè)計(jì)根據(jù)任務(wù)要求,可以通過以下原理圖(圖2-1)來實(shí)現(xiàn)該音樂盒的設(shè)計(jì).復(fù)位電路琴鍵 電路放大電路p0.0|p0.7p1.0時(shí)鐘電路單片機(jī)80c51圖2-1基本原理圖本方案的琴鍵輸入是通過獨(dú)立式鍵盤來完成的,這樣便于控制且直觀,如上圖設(shè)計(jì)原理所示我們可以畫出比較直觀的流程圖如圖 2-2所示。圖2-2程序流程圖主流程圖ny等待中斷

4、,判斷是否中斷定時(shí)器的初始化讀入p0的狀態(tài),跳轉(zhuǎn)至相應(yīng)的程序段判斷是否抖動(dòng)態(tài)讀入p0狀關(guān)閉定時(shí)器進(jìn)行識別程序開始中斷返回對p1.0求反重裝計(jì)時(shí)器的值y中斷程序流程圖 居于上述流程圖我們可以通過proteus軟件畫出該實(shí)驗(yàn)的原理圖(圖2-3):圖2-3實(shí)驗(yàn)原理圖2.2.3方案實(shí)現(xiàn)對于音樂盒而言發(fā)出悅耳的音樂是其最主要的功能,那么對于使用單片機(jī)來制作出來的音樂盒怎么實(shí)現(xiàn)音符的發(fā)聲呢?通過查看資料我們知道音符的發(fā)音主要靠不同的音頻脈沖。利用單片機(jī)的內(nèi)部定時(shí)器/計(jì)數(shù)器0,使其工作在模式1,定時(shí)中斷,然后控制引腳的輸出音樂(本實(shí)驗(yàn)采用p1.0做為輸出引腳)。只要算出某一音頻的周期(1/頻率),然后將此周

5、期除以2,即為半周期的時(shí)間,利用定時(shí)器計(jì)時(shí)這個(gè)半周期時(shí)間,每當(dāng)計(jì)時(shí)到后就將輸出脈沖的i/o反相,然后重復(fù)計(jì)時(shí)此半周期時(shí)間再對i/o反相,就可在i/o腳上得到此頻率的脈沖。具體做法如下所示(以中音do為例):例如:中音1(do)的音頻=523hz,周期t=1/523s=1912定時(shí)器/計(jì)數(shù)器0的定時(shí)時(shí)間為:t/2=1912/2=956定時(shí)器956的計(jì)數(shù)值=定時(shí)時(shí)間/機(jī)器周期=956/1=956(時(shí)鐘頻率=12mhz)裝入t0計(jì)數(shù)器初值為65536-956=64580將64580裝入t0寄存器中,啟動(dòng)t0工作后,每計(jì)數(shù)956次時(shí)將產(chǎn)生溢出中斷,進(jìn)入中斷服務(wù)時(shí),每次對p1.0引腳的輸出值進(jìn)行取反,就

6、可得到中音do(523hz)的音符音頻。將51單片機(jī)內(nèi)部定時(shí)器工作在計(jì)數(shù)器模式1下,改變計(jì)數(shù)初值th0,tl0以產(chǎn)生不同的頻率。下表2-1是c調(diào)各音符頻率與計(jì)數(shù)初值t的對照表: 頻率(hz)/初值()音符頻率(hz)/初值()低1do262/63627中1do 523/64580高1do 1042/65056低2re 294/63835中2re589/64687 高2re 1245/65134低3m 330/64021 中3m 661/64780高3m 1318/65157低4fa 350/64107中4fa700/64822 高4fa 1397/65178低5so 393/64264 中5s

7、o 786/64900高5so 1568/65217 低6la 441/64402中6la882/64969高6la1760/65252低7si495/64526 中7si990/65031高7si1967/65282表2-1 c調(diào)各音符頻率與計(jì)數(shù)初值t的對照表2.2.3.1 詳細(xì)參數(shù)本實(shí)驗(yàn)以intel公司的80c51為核心,配合鍵盤系統(tǒng),放大電路,時(shí)鐘電路和數(shù)碼管顯示電路實(shí)現(xiàn)音樂的演奏。80c51:高性能的靜態(tài)80c51 設(shè)計(jì) 由先進(jìn)cmos 工藝制造并帶有非易失性flash 程序存儲(chǔ)器 全部支持12 時(shí)鐘和6 時(shí)鐘操作 p89c51x2 和p89c52x2/54x2/58x2 分別包含12

8、8 字節(jié)和256 字節(jié)ram 32 條i/o 口線 3 個(gè)16 位定時(shí)/計(jì)數(shù)器 6 輸入4 優(yōu)先級嵌套中斷結(jié)構(gòu) 1 個(gè)串行i/o 口 可用于多機(jī)通信 i/o 擴(kuò)展或全雙工uart以及片內(nèi)振蕩器和時(shí)鐘電路。此外,由于器件采用了靜態(tài)設(shè)計(jì),可提供很寬的操作頻率范圍,頻率可降至0 。可實(shí)現(xiàn)兩個(gè)由軟件選擇的節(jié)電模式,空閑模式和掉電模式,空閑模式凍結(jié)cpu但ram定時(shí)器,串口和中斷系統(tǒng)仍然工作掉電模式保存ram的內(nèi)容 但是凍結(jié)振蕩器 導(dǎo)致所有其它的片內(nèi)功能停止工作。由于設(shè)計(jì)是靜態(tài)的時(shí)鐘可停止而不會(huì)丟失用戶數(shù)據(jù) 運(yùn)行可從時(shí)鐘停止處恢復(fù)。鍵盤系統(tǒng):鍵盤系統(tǒng)的鏈接電路圖如圖2-31所示:圖2-31鍵盤系統(tǒng)的鏈接

9、電路圖當(dāng)用手按下一個(gè)鍵時(shí),往往按鍵在閉合位置和斷開位置之間跳幾下才穩(wěn)定到閉合狀態(tài)的情況;在釋放一個(gè)鍵時(shí),也回會(huì)出現(xiàn)類似的情況。這就是抖動(dòng)。抖動(dòng)的持續(xù)時(shí)間隨鍵盤材料和操作員而異,不過通??偸遣淮笥?0ms。很容易想到,抖動(dòng)問題不解決就會(huì)引起對閉合鍵的識別。用軟件方法可以很容易地解決抖動(dòng)問題,這就是通過延遲10ms來等待抖動(dòng)消失,這之后,在讀入鍵盤碼。具體編碼如下所示mai: clr tr0 ;關(guān)閉上一次定時(shí),進(jìn)入下一次按鍵判斷mov tmod, #01hmov ie, #82hmov a, p1mov 30h, a ;保存鍵盤狀態(tài)值 lcall d10ms ;延遲10ms消除抖動(dòng)mov a ,

10、p1 ;再讀鍵盤狀態(tài)cjne a, 30h, mai ;兩次結(jié)果不同,是抖動(dòng)引起,轉(zhuǎn)mai放大電路分析如圖2-4所示:圖2-4放大電路輸出原理圖管進(jìn)此部分的放大電路簡單容易實(shí)現(xiàn)??梢圆捎靡粋€(gè)小功率pnp型硅管9012,利用“分壓 偏置式工作點(diǎn)穩(wěn)定直流通路”,達(dá)到了對靜態(tài)工作點(diǎn)的穩(wěn)定。分壓電阻分別選擇1k和5.5k。蜂鳴器一端接+5v電壓,一端接晶體管的發(fā)射極。由p1.0輸出預(yù)定的方波,加到晶體行放大,再輸出到嗡寧器,很好的實(shí)現(xiàn)了頻率、聲音的轉(zhuǎn)換。時(shí)鐘電路如圖2-5所示:此系統(tǒng)的時(shí)鐘電路設(shè)計(jì)是采用內(nèi)部方式,即是利用芯片內(nèi)部的振蕩電路。mcs-51內(nèi)部有一個(gè)用于構(gòu)成振蕩器的高增益反相放大器。電容值

11、選擇22f,所以此系統(tǒng)電路的晶體振蕩器的值為6 mhz。圖2-5 msc-51片內(nèi)振蕩電路2.3方案二2.3.1 方案設(shè)計(jì)基于方案一我們知道采用的是獨(dú)立的鍵盤做為音符的輸入,方案二則采用矩陣鍵盤來進(jìn)行輸入,具體電路原理圖如圖2-6所示。圖2-6方案二原理圖圖2-6 原理圖2.3.2方案實(shí)現(xiàn)本方案的實(shí)現(xiàn)基本和方案一相同,唯一不同的地方就值本實(shí)驗(yàn)采用矩陣鍵盤作為音符輸入來實(shí)現(xiàn)。由于矩陣鍵盤需獨(dú)立的編碼,矩陣鍵盤的功能如下1、識別鍵盤有無按鍵按下,若無鍵按下返回。2、如果有鍵按下,找出具體的按鍵值(順序碼)矩陣鍵盤鍵值查找程序鍵值存入30h單元key_scan: mov p1,#0f0h mov a

12、,p1 anl a,#0f0h mov b,a mov p1,#0fh mov a,p1 anl a,#0fh orl a,b cjne a,#0ffh,key_in1 retkey_in1: mov b,a mov dptr,#keytable mov r3,#0ffh key_in2: inc r3 mov a,r3 movc a,a+dptr cjne a,b,key_in3 mov a,r3 mov 30h,a retkey_in3: cjne a,#00h,key_in2 ret key_table: db 0eeh,0edh,0ebh,0e7h,0deh db 0ddh,0dbh,

13、0d7h,0beh,0bdh db 0bbh,0b7h,07eh,07dh,07bh, 077h db 00h end3總結(jié) 兩周的課程設(shè)計(jì)已經(jīng)結(jié)束。此次課程設(shè)計(jì)題目并不十分復(fù)雜,但是在設(shè)計(jì)過程中還是遇到了很多意想不到的困難。在查閱資料之后,我把困難逐個(gè)解決;在設(shè)計(jì)中,所學(xué)知識得到進(jìn)一步的鞏固,使我掌握了平時(shí)沒注意到的一些細(xì)節(jié)問題;設(shè)計(jì)中使我大概掌握了設(shè)計(jì)思想,必須把握全局。我對本題目的的評價(jià)是:所選硬件的對應(yīng)軟件編程比較簡單,從而簡化了編程過程,但是軟件編程部分,數(shù)據(jù)轉(zhuǎn)換有些應(yīng)使用循環(huán)結(jié)構(gòu)得到的結(jié)果我用了順序結(jié)構(gòu),所以使程序顯得有些冗長,但是由于水平有限和時(shí)間關(guān)系沒能改進(jìn)??傮w來說,此次設(shè)計(jì)

14、是比較有意義的,是提高學(xué)習(xí)效率和學(xué)習(xí)積極性的一種很好的途徑。4參考文獻(xiàn)1.高鋒.單片微型計(jì)算機(jī)原理與接口技術(shù).科學(xué)出版社,2003年2.李傳軍.單片機(jī)原理及應(yīng)用(第一版)m.河南科學(xué)技術(shù)出版社,2006年3.楊志忠.數(shù)字電子技術(shù).高等教育出版社(第二版)m,2003年4.張友德.單片微型機(jī)原理、應(yīng)用與實(shí)驗(yàn)m.上海:復(fù)旦大學(xué)出版社,2000年5.李全利.單片機(jī)原理及接口技術(shù).高等教育出版社,2004年5附錄 5.1 程序的編寫源程序如下所示: numtim equ 20hgewei equ 21hshiwei equ 22hscanled equ 23horg 0000hljmp maiorg

15、000bhljmp timorg 100h mai: mov r2,#3fh mov p2,r2 clr tr0 mov tmod, #01h mov ie, #82h mov a, p0 mov 30h, a lcall d10ms mov a , p0 cjne a, 30h, mai jnb p0.0, n1 jnb p0.1, n2 jnb p0.2, n3 jnb p0.3, n4 jnb p0.4, n11 jnb p0.5, n6 jnb p0.6, n7 jnb p0.7, n8n11: ljmp n5n6: ljmp la n7: ljmp haha n8: ljmp heh

16、en1: mov dptr, #tab mov a, #00h movc a, a+dptr mov r1, a mov a, #01h movc a, a+dptr mov r0, a mov th0, r1 mov tl0 ,r0 setb tr0 mov a,#06h mov p2,a re1: jb p0.0, mai ajmp re1 n2: mov dptr, #tab mov a, #02h movc a, a+dptr mov r1, a mov a, #03h movc a, a+dptr mov r0, a mov th0, r1 mov tl0, r0 setb tr0

17、mov a,#5bh mov p2,are2: jb p0.1,mai ajmp re2 n3: mov dptr, #tab mov a, #04h movc a, a+dptr mov r1, a mov a, #05h movc a, a+dptr mov r0, a mov th0, r1 mov tl0, r0 setb tr0 mov a,#4fh mov p2,are3: jb p0.2,n9 ajmp re3n9: ljmp main4: mov dptr, #tab mov a, #06h movc a, a+dptr mov r1, a mov a, #07h movc a

18、, a+dptr mov r0, a mov th0, r1 mov tl0, r0 setb tr0 mov a,#66h mov p2,are4: jb p0.3, a1 ajmp re4a1: ljmp main5: mov dptr, #tab mov a, #08h movc a, a+dptr mov r1, a mov a, #09h movc a, a+dptr mov r0, a mov th0, r1 mov tl0, r0 setb tr0 mov a,#6dh mov p2,are5: jb p0.4, a2 ajmp re5a2: ljmp maila: mov dp

19、tr, #tab mov a, #0ah movc a, a+dptr mov r1, a mov a, #0bh movc a, a+dptr mov r0, a mov th0, r1 mov tl0, r0 setb tr0 mov a,#7dh mov p2,are6: jb p0.5, a3 ajmp re6a3: ljmp mai haha: mov dptr, #tab mov a, #0ch movc a, a+dptr mov r1, a mov a, #0dh movc a, a+dptr mov r0, a mov th0, r1 mov tl0, r0 setb tr0

20、 mov a,#07h mov p2,are7: jb p0.6,a4 ajmp re7a4: ljmp mai hehe: mov tmod,#00000001b setb ea setb et0 mov numtim,#01hstart0: mov 30h,#00h next : mov a,30h mov dptr,#table movc a,a+dptr mov r2,a jz end0 anl a,#0fh mov r5,a mov a,r2 swap a anl a,#0fh jnz sing clr tr0 jmp d0 sing: dec a mov 22h,a rl a mo

21、v dptr,#table1 movc a,a+dptr mov th0,a mov 21h,a mov r1,a mov a,22h rl a inc a movc a,a+dptr mov tl0,a mov 20h,a mov r0,a setb tr0 mov a,#7fh mov p2,a d0: lcall delay jb p0.7,end0 inc 30h jmp next end0: clr tr0 jb p0.7,n10 ajmp start0n10: ljmp maitim: push acc push psw mov tl0,r0 mov th0,r1 cpl p1.0 pop psw pop acc reti delay: mov r7,#02h d3: mov r4,#187 d4: mov r3,#248 djnz r3,$ djnz r4,d4 djnz r7,d3 djnz r5,delay retre8: jb p0.7,a5 ajmp re8a5: ljmp mai d10ms: mov r1, #100 d1: mov r2, #98 nopd2: djnz r2, d2 table: djnz r1, d1 re

溫馨提示

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

評論

0/150

提交評論