單片機(jī)原理課程設(shè)計(jì)報告電子琴_第1頁
單片機(jī)原理課程設(shè)計(jì)報告電子琴_第2頁
單片機(jī)原理課程設(shè)計(jì)報告電子琴_第3頁
單片機(jī)原理課程設(shè)計(jì)報告電子琴_第4頁
單片機(jī)原理課程設(shè)計(jì)報告電子琴_第5頁
已閱讀5頁,還剩10頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、北京工商大學(xué)計(jì)算機(jī)與信息工程學(xué)院 單片機(jī)原理課程設(shè)計(jì)報告題目:用PROTEUS實(shí)現(xiàn):硬件實(shí)驗(yàn)二十五 電子琴專業(yè):電氣工程及其自動化班級:學(xué)號:姓名: 同組姓名:指導(dǎo)教師: 單片機(jī)原理課程設(shè)計(jì)報告一 題目:用protues實(shí)現(xiàn)硬件實(shí)驗(yàn)25 電子琴二 要求:2.1設(shè)計(jì)任務(wù) a設(shè)計(jì)一個4X6的24個按鍵矩陣,并且1-7鍵每個鍵對應(yīng)一個音。b用AT80C51將鍵盤連接設(shè)計(jì)成為電子琴。c編寫電子琴的程序,要達(dá)到可以隨意彈奏想要表達(dá)的音樂的目的。d程序的分析與調(diào)試。2.2設(shè)計(jì)要求a用匯編語言編程實(shí)現(xiàn)程序設(shè)計(jì)。b利用查表,中斷等方式實(shí)現(xiàn)目的。c系統(tǒng)的各個功能模塊要清楚,有序。2.3設(shè)計(jì)說明 a、利用定時器,

2、可以發(fā)出不同頻率的脈沖,不同頻率的脈沖經(jīng)喇叭驅(qū)動電路放大濾波后,就會發(fā)出不同的音調(diào).b、定時器按設(shè)置的定時參數(shù)產(chǎn)生中斷,這一次中斷發(fā)出脈沖低電平,下一次反轉(zhuǎn)發(fā)出脈沖高電平.由于定時參數(shù)不同,就發(fā)出了不同頻率的脈沖. 本實(shí)驗(yàn)中按鍵一次,會發(fā)50個脈沖.發(fā)完后繼續(xù)檢測鍵盤,如果鍵還按下,繼續(xù)發(fā)音。各音階標(biāo)稱頻率值:音階1234567頻率(HZ)444.0493.8554.3587.3659.2739.9830.62.4課設(shè)目的a. 了解計(jì)算機(jī)發(fā)聲原理。b. 進(jìn)一步熟悉定時器編程方法.c. 進(jìn)一步熟悉鍵盤掃描電路工作原理及編程方法三總體說明:本系統(tǒng)采用單片機(jī)AT80C51為電子琴的控制核心,系統(tǒng)主要

3、包括播放模塊、按鍵控制模塊。下面對各模塊的設(shè)計(jì)逐一進(jìn)行論證比較。3.1 播放模塊播放模塊是喇叭構(gòu)成。它幾乎不存在噪聲,音響效果較好。而且由于所需驅(qū)動功率較小,且價格低廉,所以,被廣泛應(yīng)用。 3.2按鍵控制顯示模塊電子琴設(shè)有24個按鍵,其中7個作為音符輸入。7個按鍵分別代表7個音符,包括中音段的全部音符。當(dāng)按下剩余的17個按鍵時,實(shí)現(xiàn)數(shù)碼管顯示全為8.8.8.8.8.8.3.3總體硬件組成框圖按鍵控制顯示模塊播放模塊 喇叭中心控制模塊 AT80C51 按 鍵 狀 態(tài) 三 硬件設(shè)計(jì):電 子 琴 全 圖4.1鍵盤顯示電路數(shù)碼顯示電路鍵盤按鍵電路鍵盤采用編程掃描方式,顯示譯碼管采用動態(tài)顯示方式,左端7

4、4LS374和74LS245的輸入端接分別接地址鎖存器74LS373的輸入端。RDWR片選信號CS1A0A1A2Mov dptr, #8001hMovx a, dptrMov dptr,#8002hMovx dptr, aMov dptr,#8004hMov dptr,a4.2片選(74ls138)A15A14A13A124.3地址鎖存器(74ls373)輸入端接單片機(jī)P0口,輸出分別為A0A74.4單片機(jī)(80c51)4.5 音頻輸出及8255片選輸入端D0D7分別接入單片機(jī)P0口,A0A1接入地址鎖存器輸出端A0A1單片機(jī)工作于12MHZ時鐘頻率,使用其定時/計(jì)數(shù)器T0,工作模式為1,改變

5、計(jì)數(shù)值TH0和TL0可以產(chǎn)生不同頻率的脈沖信號,在此情況下,C調(diào)的各音符頻率與計(jì)數(shù)值T的對照如下表:音符頻率(HZ)計(jì)數(shù)值(T值)音符頻率(HZ)計(jì)數(shù)值(T值)低1DO26263628#4FA#74064860#1DO#27763737中5SO78464898低2RE29463835#5SO#83194934#2RE#31163928中6LA88064968低3MI33064021#6LA#93264994低4FA34964103中7SI96865030#4FA#37064185低1DO104665058低SO39264260#1DO#110965085#5SO#41564331高2RE117

6、565110低6LA44064400#2RE#124565134#6LA#46664463高3MI131865157低7SI49464524高4FA139765178中1DO52364580#4FA#149065198#1DO#55464633高5SO156865217中2RE58764633#5SO#166165235#2RE#62264884高6LA176065252中3MI65964732#6LA#186565268中4FA69864820高7SI196765283五軟件設(shè)計(jì)5.1程序框圖5.2 源程序mode equ 082hPORTA equ 08000hCTL equ 08003h

7、OUTBIT equ 09002hIN equ 09001hPulse equ 55hPulseCNT equ 50hToneHigh equ 51hToneLow equ 52hTone equ 53hKeyBuf equ 54hSpeaker equ PORTA ljmp Start org 000bhTimer0Int: ;設(shè)置中斷0 push PSW clr TR0 mov TH0, ToneHigh mov TL0, ToneLow setb TR0 mov a, Pulse mov dptr, #Speaker movx dptr,a inc Pulse dec PulseCNT

8、pop PSW retiToneTable: ;設(shè)置7個音節(jié)的頻率 dw 64578, 64686, 64778, 64821, 64898, 64968, 65029TestKey: ;檢測鍵輸入 mov dptr, #OUTBIT mov a, #0 movx dptr, a mov dptr, #IN movx a, dptr cpl a anl a, #0fh retKeyTable: db 16h, 15h, 14h, 0ffh db 13h, 12h, 11h, 10h db 0dh, 0ch, 0bh, 0ah db 0eh, 03h, 06h, 09h db 0fh, 02h,

9、 05h, 08h db 00h, 01h, 04h, 07hGetKey: 讀入鍵值 mov dptr, #OUTBIT mov P2, dph mov r0, #Low(IN) mov r1, #00100000b mov r2, #6KLoop: mov a, r1 cpl a movx dptr, a cpl a rr a mov r1, a movx a, r0 cpl a anl a, #0fh jnz Goon1 djnz r2, KLoop mov r2, #0ffh sjmp ExitGoon1: mov r1, a mov a, r2 dec a rl a rl a mov

10、 r2, a ; r2 = (r2-1)*4 mov a, r1 mov r1, #4LoopC: rrc a jc Exit inc r2 djnz r1, LoopCExit: mov dptr, #OUTBIT clr a movx dptr, a mov a, r2 mov dptr, #KeyTable movc a, a+dptr retStart: mov sp, #70h mov a, #mode mov dptr,#CTL movx dptr,a mov TMOD, #01 ; Timer mov IE, #82h ; EA=1, IT0 = 1 mov Tone,#0MLo

11、op: call TestKey jz MLoop call GetKey mov b, a jz MLoop ; = 0, < 1 anl a, #!7 jnz MLoop ; > 7 dec b mov a, b rl a ; a = a*2 mov b, a mov dptr, #ToneTable movc a, a+dptr mov ToneHigh, a mov TH0, a mov a, b inc a movc a, a+dptr mov ToneLow, a mov TL0, a setb TR0 mov PulseCNT, #100Wait: mov a,Pul

12、seCNT jnz Wait clr TR0 ljmp MLoop end六使用說明開啟仿真模式,單片機(jī)處于工作模式,當(dāng)按下鍵盤的17鍵時,會分別發(fā)出音調(diào)為DO RI MI FA SO LA TI七個音,但按下其他鍵時,顯示譯碼管會始終顯示8.8.8.8.8.8.七心得體會首先通過此次單片機(jī)課程設(shè)計(jì),我明白更加深了了解了許多單片機(jī)知識,并且將這些學(xué)習(xí)的東西通過課設(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è)過程中找到問題,分析問題,并找出方法來解決它,這個過程就是理論與實(shí)際的結(jié)合過程,既鍛煉了我們的動手能力,又鞏固了我們的理論知識,兩全其美。在者通過兩人的合作,讓我明白了團(tuán)結(jié)協(xié)作的重要性,兩人相互

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論