版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p> 單片機(jī)原理課程設(shè)計(jì)報(bào)告</p><p><b> 題目:</b></p><p> 用protues實(shí)現(xiàn)硬件實(shí)驗(yàn)25 電子琴</p><p><b> 要求:</b></p><p><b> 2.1設(shè)計(jì)任務(wù) </b></p><
2、;p> a.設(shè)計(jì)一個(gè)4X6的24個(gè)按鍵矩陣,并且1---7鍵每個(gè)鍵對應(yīng)一個(gè)音。</p><p> b.用AT80C51將鍵盤連接設(shè)計(jì)成為電子琴。</p><p> c.編寫電子琴的程序,要達(dá)到可以隨意彈奏想要表達(dá)的音樂的目的。</p><p> d.程序的分析與調(diào)試。</p><p><b> 2.2設(shè)計(jì)要求<
3、/b></p><p> a.用匯編語言編程實(shí)現(xiàn)程序設(shè)計(jì)。</p><p> b.利用查表,中斷等方式實(shí)現(xiàn)目的。</p><p> c.系統(tǒng)的各個(gè)功能模塊要清楚,有序。</p><p><b> 2.3設(shè)計(jì)說明</b></p><p> a、利用定時(shí)器,可以發(fā)出不同頻率的脈沖,不同
4、頻率的脈沖經(jīng)</p><p> 喇叭驅(qū)動(dòng)電路放大濾波后,就會發(fā)出不同的音調(diào).</p><p> b、定時(shí)器按設(shè)置的定時(shí)參數(shù)產(chǎn)生中斷,這一次中斷發(fā)出脈沖低電平,下一次反轉(zhuǎn)發(fā)出脈沖高電平.由于定時(shí)參數(shù)不同,就發(fā)出了不同頻率的脈沖. 本實(shí)驗(yàn)中按鍵一次,會發(fā)50個(gè)脈沖.發(fā)完后繼續(xù)檢測鍵盤,如果鍵還按下,繼續(xù)發(fā)音。</p><p><b> 各音階標(biāo)稱頻率值:
5、</b></p><p><b> 2.4課設(shè)目的</b></p><p> a. 了解計(jì)算機(jī)發(fā)聲原理。</p><p> b. 進(jìn)一步熟悉定時(shí)器編程方法.</p><p> c. 進(jìn)一步熟悉鍵盤掃描電路工作原理及編程方法</p><p><b> 三.總體說明:&
6、lt;/b></p><p> 本系統(tǒng)采用單片機(jī)AT80C51為電子琴的控制核心,系統(tǒng)主要包括播放模塊、按鍵控制模塊。下面對各模塊的設(shè)計(jì)逐一進(jìn)行論證比較。</p><p><b> 3.1 播放模塊</b></p><p> 播放模塊是喇叭構(gòu)成。它幾乎不存在噪聲,音響效果較好。而且由于所需驅(qū)動(dòng)功率較小,且價(jià)格低廉,所以,被廣泛應(yīng)用
7、。 </p><p> 3.2按鍵控制顯示模塊</p><p> 電子琴設(shè)有24個(gè)按鍵,其中7個(gè)作為音符輸入。7個(gè)按鍵分別代表7個(gè)音符,包括中音段的全部音符。當(dāng)按下剩余的17個(gè)按鍵時(shí),實(shí)現(xiàn)數(shù)碼管顯示全為8.8.8.8.8.8.</p><p> 3.3總體硬件組成框圖</p><p><b> 硬件設(shè)計(jì):</b>
8、</p><p><b> 4.1鍵盤顯示電路</b></p><p><b> 數(shù)碼顯示電路</b></p><p><b> 鍵盤按鍵電路</b></p><p> 鍵盤采用編程掃描方式,顯示譯碼管采用動(dòng)態(tài)顯示方式,左端74LS374和74LS245的輸入端接分別接
9、地址鎖存器74LS373的輸入端。</p><p> 4.2片選(74ls138)</p><p> 4.3地址鎖存器(74ls373)</p><p> 輸入端接單片機(jī)P0口,輸出分別為A0—A7</p><p> 4.4單片機(jī)(80c51)</p><p> 4.5 音頻輸出及8255</p>
10、<p> 輸入端D0—D7分別接入單片機(jī)P0口,A0A1接入地址鎖存器輸出端A0A1</p><p> 單片機(jī)工作于12MHZ時(shí)鐘頻率,使用其定時(shí)/計(jì)數(shù)器T0,工作模式為1,改變計(jì)數(shù)值TH0和TL0可以產(chǎn)生不同頻率的脈沖信號,在此情況下,C調(diào)的各音符頻率與計(jì)數(shù)值T的對照如下表:</p><p><b> 五.軟件設(shè)計(jì)</b></p>
11、<p><b> 5.1程序框圖</b></p><p><b> 5.2 源程序</b></p><p> mode equ 082h</p><p> PORTA equ 08000h</p><p> CTL equ 08003h</p><
12、p> OUTBIT equ 09002h</p><p> IN equ 09001h</p><p> Pulse equ 55h</p><p> PulseCNT equ 50h</p><p> ToneHigh equ 51h</p><p> ToneLow equ
13、 52h</p><p> Tone equ 53h</p><p> KeyBuf equ 54h</p><p> Speaker equ PORTA</p><p> ljmp Start</p><p> org 000bh</p><p> Timer0
14、Int: ;設(shè)置中斷0</p><p><b> push PSW</b></p><p><b> clr TR0</b></p><p> mov TH0, ToneHigh</p><p> mov TL0, ToneLow</p
15、><p><b> setb TR0</b></p><p> mov a, Pulse</p><p> mov dptr, #Speaker</p><p> movx @dptr,a</p><p> inc Pulse</p><p> de
16、c PulseCNT</p><p><b> pop PSW</b></p><p><b> reti</b></p><p> ToneTable: ;設(shè)置7個(gè)音節(jié)的頻率</p><p> dw 64578, 64686, 6477
17、8, 64821, 64898, 64968, 65029</p><p> TestKey: ;檢測鍵輸入</p><p> mov dptr, #OUTBIT</p><p> mov a, #0</p><p> movx @dptr, a</p><p>
18、; mov dptr, #IN</p><p> movx a, @dptr</p><p><b> cpl a</b></p><p> anl a, #0fh</p><p><b> ret</b></p><p><b> Key
19、Table:</b></p><p> db 16h, 15h, 14h, 0ffh</p><p> db 13h, 12h, 11h, 10h</p><p> db 0dh, 0ch, 0bh, 0ah</p><p> db 0eh, 03h, 06h, 09h</p><
20、;p> db 0fh, 02h, 05h, 08h</p><p> db 00h, 01h, 04h, 07h</p><p> GetKey: 讀入鍵值</p><p> mov dptr, #OUTBIT</p><p> mov P2, dph<
21、;/p><p> mov r0, #Low(IN)</p><p> mov r1, #00100000b</p><p> mov r2, #6</p><p><b> KLoop:</b></p><p> mov a, r1</p><p>&
22、lt;b> cpl a</b></p><p> movx @dptr, a</p><p><b> cpl a</b></p><p><b> rr a</b></p><p> mov r1, a</p><p> m
23、ovx a, @r0</p><p><b> cpl a</b></p><p> anl a, #0fh</p><p> jnz Goon1</p><p> djnz r2, KLoop</p><p> mov r2, #0ffh</p>&l
24、t;p> sjmp Exit</p><p><b> Goon1:</b></p><p> mov r1, a</p><p> mov a, r2</p><p><b> dec a</b></p><p><b> rl
25、 a</b></p><p><b> rl a</b></p><p> mov r2, a ; r2 = (r2-1)*4</p><p> mov a, r1</p><p> mov r1, #4</p><p><b
26、> LoopC:</b></p><p><b> rrc a</b></p><p> jc Exit</p><p><b> inc r2</b></p><p> djnz r1, LoopC</p><p><b&g
27、t; Exit:</b></p><p> mov dptr, #OUTBIT</p><p><b> clr a</b></p><p> movx @dptr, a</p><p> mov a, r2</p><p> mov dptr, #Key
28、Table</p><p> movc a, @a+dptr</p><p><b> ret</b></p><p><b> Start:</b></p><p> mov sp, #70h</p><p> mov a, #mode</p>
29、<p> mov dptr,#CTL</p><p> movx @dptr,a</p><p> mov TMOD, #01 ; Timer</p><p> mov IE, #82h ; EA=1, IT0 = 1</p><p> mov Tone,#0</p>
30、<p><b> MLoop:</b></p><p> call TestKey</p><p> jz MLoop</p><p> call GetKey</p><p><b> mov b, a</b></p><p> jz M
31、Loop ; = 0, < 1</p><p> anl a, #!7</p><p> jnz MLoop ; > 7</p><p><b> dec b</b></p><p><b> mov a, b</b><
32、;/p><p> rl a ; a = a*2</p><p><b> mov b, a</b></p><p> mov dptr, #ToneTable</p><p> movc a, @a+dptr</p><p> mov ToneHi
33、gh, a</p><p> mov TH0, a</p><p><b> mov a, b</b></p><p><b> inc a</b></p><p> movc a, @a+dptr</p><p> mov ToneLow, a</p
34、><p> mov TL0, a</p><p><b> setb TR0</b></p><p> mov PulseCNT, #100</p><p><b> Wait:</b></p><p> mov a,PulseCNT</p><
35、;p><b> jnz Wait</b></p><p><b> clr TR0</b></p><p> ljmp MLoop</p><p><b> end</b></p><p><b> 六.使用說明</b></p&g
36、t;<p> 開啟仿真模式,單片機(jī)處于工作模式,當(dāng)按下鍵盤的1—7鍵時(shí),會分別發(fā)出音調(diào)為DO RI MI FA SO LA TI七個(gè)音,但按下其他鍵時(shí),顯示譯碼管會始終顯示8.8.8.8.8.8.</p><p><b> 七.心得體會</b></p><p> 首先通過此次單片機(jī)課程設(shè)計(jì),我明白更加深了了解了許多單片機(jī)知識,并且將這些學(xué)習(xí)的東西通
37、過課設(shè)體現(xiàn)在了實(shí)實(shí)在在的電路當(dāng)中。在以往的學(xué)習(xí)中,都是學(xué)習(xí)的一些理論上的知識,而真正怎樣運(yùn)用到實(shí)踐中并沒有認(rèn)真想過。課本上的知識畢竟是死的,而實(shí)踐過程中往往會發(fā)生很多狀況,該如何發(fā)現(xiàn)問題,解決問題,是需要我們來認(rèn)真思考的。這種能力也是我們亟待培養(yǎng)的。我覺得這次的課設(shè),就是一次小小的鍛煉,在課設(shè)過程中找到問題,分析問題,并找出方法來解決它,這個(gè)過程就是理論與實(shí)際的結(jié)合過程,既鍛煉了我們的動(dòng)手能力,又鞏固了我們的理論知識,兩全其美。<
38、/p><p> 在者通過兩人的合作,讓我明白了團(tuán)結(jié)協(xié)作的重要性,兩人相互團(tuán)結(jié)互相努力,會使工作變得簡單而又有趣,更可以激發(fā)對方的潛力,互相督促,共同進(jìn)步,增加友誼。</p><p> 并且,這次課設(shè)不僅教會了我很多知識增進(jìn)了友誼,同時(shí)也磨練了我的意志。告訴我們只要堅(jiān)持就一定會成功。不管電路圖、程序如何復(fù)雜,只要細(xì)心去連就一定會實(shí)現(xiàn)預(yù)定的目標(biāo)。</p><p> 總
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 單片機(jī)課程設(shè)計(jì)(電子琴)
- 單片機(jī)課程設(shè)計(jì)-電子琴
- 單片機(jī)課程設(shè)計(jì)——電子琴
- 電子琴課程設(shè)計(jì)--基于單片機(jī)的電子琴設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)---電子琴設(shè)計(jì)
- 單片機(jī)簡易電子琴單片機(jī)課程設(shè)計(jì)
- 電子琴課程設(shè)計(jì)--基于單片機(jī)的電子琴設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)---電子琴設(shè)計(jì)
- 電子琴課程設(shè)計(jì)-- 基于單片機(jī)的電子琴設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)簡易電子琴
- 簡易電子琴單片機(jī)課程設(shè)計(jì)
- 簡易電子琴單片機(jī)課程設(shè)計(jì)
- 簡易電子琴單片機(jī)課程設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)報(bào)告--電子琴
- 電子琴單片機(jī)課程設(shè)計(jì)--電子琴模擬實(shí)驗(yàn)
- 單片機(jī)課程設(shè)計(jì)簡易電子琴
- 單片機(jī)課程設(shè)計(jì)——簡易電子琴
- 單片機(jī)課程設(shè)計(jì)---簡易電子琴
- 單片機(jī)課程設(shè)計(jì)—基于單片機(jī)的電子琴
- 單片機(jī)課程設(shè)計(jì)--簡易電子琴設(shè)計(jì)
評論
0/150
提交評論