單片機簡易電子琴_第1頁
單片機簡易電子琴_第2頁
單片機簡易電子琴_第3頁
單片機簡易電子琴_第4頁
單片機簡易電子琴_第5頁
已閱讀5頁,還剩30頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

《微機原理》課外設(shè)計制作終期報告題 目(B1):組號:任課教師:組長:成 員:成 員:成 員:成員:2023年五月十六日名目一.試驗?zāi)康亩O(shè)計要求三.試驗方案四.試驗結(jié)果及分析五.收獲與體六.會團隊分工合作七.附錄代碼課外設(shè)計工程:簡易電子琴一.試驗?zāi)康?/音量可以設(shè)定等功能的簡易電子琴。二.設(shè)計要求1〕按下播放按鍵,播放預(yù)設(shè)音樂。2〕1,2,3,4,5,6,7,1?8個音階〔C調(diào)。3〕液晶屏顯示當(dāng)前的操作信息〔如播放的樂曲名,彈奏的音符。演奏按鍵的發(fā)聲時長和音量大小可調(diào)??梢詫ρ葑喟存I的發(fā)聲做升調(diào)/降調(diào)處理。三.試驗方案試驗材料試驗材料:1〕2〕3〕電阻、電容、三極管假設(shè)干,使用元件:AT89C51、LM324,喇叭,按鍵等。原件介紹AT89C514KFLASH〔FPEROM—FlashProgrammableandErasableReadOnlyMemory〕的低電壓、高性能CMOS8AT89C20512K1000AT89C51種敏捷性高且價廉的方案。LM3243.032MC17411端,“V+”、“V-”為正、負(fù)電源端,“Vo”為輸出端。兩個信號輸入端中,Vi-〔-〕為反相輸入端,表示運放輸出端Vo入端的相位相反;Vi+〔+〕為同相輸入端,表示運放輸出端Vo號與該輸入端的相位一樣。LM324裂電源的操作也有可能和低電源電流消耗是獨立的電源電壓的幅度??梢愿啙嵉卦趩坞娫聪到y(tǒng)中實現(xiàn)的電路LM324系列,這是用來在數(shù)字系統(tǒng)中,輕松地將供給所需的接口電路,而無需額外的±15V5V設(shè)計思路設(shè)計并制作一個簡易的電子琴可承受集成電路設(shè)計,基于AT89S524*416164--5從而可以用來彈奏寵愛的樂曲。由于一首音樂是由很多不同音階組成,每個音階對應(yīng)不同的頻率,這樣我們可用不同頻率組合,即可構(gòu)可用單片機的定時/012MHz1MHz,假設(shè)選擇工作方1,那TT=216~5*105/相應(yīng)的頻率,那么依據(jù)不同的頻率表程序即可。而升降調(diào)的實現(xiàn)則可以通過頻率范范和減半來實現(xiàn)。音符頻率〔Hz〕簡譜碼〔T值〕1DO523645802RE587646843MI659647774FA698648205SO784648986LA880649687SI98865030LCD1602顯示設(shè)計16x0232〔16列2行〕16021602數(shù)字、符號等的點陣型液晶模塊。5X75X11顯示圖形。1602LCD16X2,即可以顯示兩行,每行16〔顯示字符和數(shù)字。如圖,板載的變阻器W11602顯示屏的比照度。本次承受的Mini80e升級版開發(fā)板在電路設(shè)計上,將顯示屏的數(shù)據(jù)口放在P0RSRWE分別對應(yīng)P2.4P2.5P2.6LCD1602的使用手冊,可以對LCD1602發(fā)聲音調(diào)設(shè)計12,即為半周期的時間。利用計時器計時此半周期時間,每當(dāng)計時到后就將輸出方波的I/0I/OI/OZKS-03產(chǎn)生方波的I/OP1.6,通過跳線選擇器JP1P1.6與揚聲器的驅(qū)動電路相連。這樣P1.610.41/40.1間。延時作為根本延時時間,節(jié)拍值只能是它的整數(shù)倍。每個音階相應(yīng)的定時器初值X當(dāng)晶振fose=12MHzX11總體框圖如下:發(fā)聲時長設(shè)計0掌握發(fā)生頻率時,1而選用承受三層256*256*n。調(diào)整n即可調(diào)整發(fā)生時長。發(fā)聲音量設(shè)計LM386音機和收音機之中。LM38623為同相輸入端;引腳56418710μF。音量調(diào)整電路圖:四.試驗結(jié)果及分析了,下面就是我們的試驗結(jié)果。8〔C。111。加長音長。可以對演奏按鍵的發(fā)聲做升調(diào)/4,可從圖中4按下播放按鍵,播放預(yù)設(shè)音樂。我們在這里預(yù)設(shè)的音樂為梁祝。此外音調(diào)大小是有一個外圍電路做的,在試驗原理中可以看到。五.收獲與體會5工程對于我們組來說有很大的難度。首先遇到的難題就是編寫代碼。的代碼的最低要求是通過keil燒入單片機內(nèi)不能實現(xiàn)功能,也是讓人心力交瘁的。段的時候,依據(jù)電路圖把電路連接好以后,揚聲器沒有任何的反響。經(jīng)過一系列的檢查才覺察杜邦線的接線有問題,音頻輸出口P1.6到了第六個角〔實際上是P1.5〕還在調(diào)試的最終階段的種種問題,經(jīng)過查閱資料才把簡易電子琴順當(dāng)完成設(shè)計。六.團隊分工合作潘黎:查找資料、撰寫終期報告原媛:編輯程序、修改及完善黃靜:編輯程序、修改及完善劉曉涵:調(diào)試程序、測試功能徐雅文:查找資料、撰寫中期報告附錄;代碼局部LCDRSEQUP2.4 ;定義管腳和接口LCDRWEQUP2.5E EQUP2.6SPKEQUP1.6LCDDATAEQUP0KEYEQUP3JIEPAIEQU24H ;節(jié)拍YINDIAOEQU25H ;升降調(diào)ORG00HLJMPSTARORG0BH;T0掌握音調(diào)發(fā)聲頻率LJMPTIME0ORG1BH;T1掌握音樂播放LJMPTIME1ORG30HTIME0:MOVTL0,R3MOVTH0,R2CPLSPKRETITH01:DB008H,007H,006H,006H,005H,004H,004H,004HTL01:DB028H,043H,079H,016H,070H,0D7H,04FH,011HTIME1:MOVTL1,20HMOVTH1,21HCPLSPK ;由該口輸出音頻數(shù)據(jù);CLRP1.2RETISTAR:MOVSP,#70HMOVTMOD,#11H MOVIE,#8AHCLRTR0MOVR3,#0FFH;LOW_8_BITMOVR2,#0FFH;HIGH_8_BITCLRYINDIAO.0 ;推斷是否升降調(diào)位清零MOVP2,0MOVP0,0MAIN:LCALLPANDUAN ;調(diào)用推斷按鍵子程序JZMAIN ;都不按下返回連續(xù)推斷CJNEA,#9,M1 9M1:JNCM2 ;假設(shè)按鍵為>=9M2DECA 18PUSHACCMOVR5,ALCALLPRINT ;調(diào)用屏幕顯示POPACCLCALLBF ;調(diào)用單音播放SJMPMAINM2:CJNEA,#9,M3 ;按鍵大于9跳轉(zhuǎn)LCALLKEY9 ;調(diào)用播放鍵子程序LCALLDELAY1MOV LCDDATA,#01H 清屏LCALLENABLELJMPMAINM3:CJNEA,#10,M4 INCJIEPAIANLJIEPAI,#07HLJMPMAINM4:CJNEA,#11,M5DECJIEPAIANLJIEPAI,#07HLJMPMAINM5:CJNEA,#14,M6SETBYINDIAO.0CLRYINDIAO.1LJMPMAINM6:CJNEA,#15,M7SETBYINDIAO.0

11;升降調(diào)執(zhí)行;降調(diào);升降調(diào)執(zhí)行SETBYINDIAO.1 ;升調(diào)LJMPMAINM7:CJNEA,#13,M8 13CLRYINDIAO.0LJMPMAINM8:LJMPMAINKEY9:LCALLDELAY1MOV LCDDATA,#01HLCALLENABLEMOV LCDDATA,#38HLCALLENABLEMOV LCDDATA,#0CHLCALLENABLEMOV

;沒有升降調(diào);播放已有音樂;調(diào)用延時;清屏及設(shè)置屏幕LCALLENABLEMOV LCDDATA,#80H 顯示屏第一行起始地址MOV R1,#16LCALLENABLEMOV DPTR,#GEMING1LCALLDISPMOV R1,#16MOV LCDDATA,#0C0HLCALLENABLEMOV DPTR,#GEMING2LCALLDISPPUSHACCMOV30H,#00HJIXU3:MOVA,30HMOVDPTR,#QUMU1MOVCA,@A+DPTRMOVR2,A

;顯示歌名;其次行起始地址JZEND0ANLA,#0FHMOVR5,AMOVA,R2SWAPAANLA,#0FHJNZSONGCLRTR1JMPD1SONG:DECAMOV22H,ARLAMOVDPTR,#QUMU0MOVCA,@A+DPTRMOVTH1,AMOV21H,AMOVA,22HRLAINCAMOVCA,@A+DPTRMOVTL1,AMOV20H,ASETBTR1D1:LCALLDELAY2INC30HJMPJIXU3END0:CLRTR1POPACCRETDELAY1:MOVR7,#1 ;延時子程序S1:MOV R6,#255S2:DJNZR6,S2DJNZR7,S1RETDELAY2:MOVR7,#02HD2:MOVR4,#255D3:MOVR3,#248DJNZR3,$DJNZR4,D3DJNZR7,D2DJNZR5,DELAY2RETPANDUAN:MOVP3,#0FHMOVA,P3XRLA,#0FHJNZJIXU1RETJIXU1: ;消退按鍵抖動MOVR6,#255HJ:MOVR7,#255DJNZR7,$DJNZR6,HJMOVP3,#0FHMOVA,P3XRLA,#0FHJNZJIXU2RETJIXU2:MOVP3,#0FHMOVA,P3MOVP3,#0F0HORLA,P3MOVB,0CJNEA,#0FFH,K1 ;掃描按鍵LJMPYYK1:INCBCJNEA,#7EH,K2LJMPYYK2:INCBCJNEA,#0BEH,K3LJMPYYK3:INCBCJNEA,#0DEH,K4LJMPYYK4:INCBCJNEA,#0EEH,K5LJMPYYK5:INCBCJNEA,#7DH,K6LJMPYYK6:INCBCJNEA,#0BDH,K7LJMPYYK7:INCBCJNEA,#0DDH,K8LJMPYYK8:INCBCJNEA,#0EDH,K9LJMPYYK9:INCBCJNEA,#7BH,K10LJMPYYK10:INCBCJNEA,#0BBH,K11LJMPYYK11:INCBCJNEA,#0DBH,K12LJMPYYK12:INCBCJNEA,#0EBH,K13LJMPYYK13:INCBCJNEA,#77H,K14LJMPYYK14:INCBCJNEA,#0B7H,K15LJMPYYK15:INCBCJNEA,#0D7H,K16LJMPYYK16:INCBCJNEA,#0E7H,YYYY:MOVA,B ;將按鍵數(shù)值放于ARETPRINT: ;顯示屏顯示按鍵及節(jié)拍音調(diào)LCALLDELAY1 ;延時一段時間MOV LCDDATA,#01H 清屏LCALLENABLEMOV LCDDATA,#38H 38H,設(shè)定LCD5*7點陣,8LCALLENABLEMOV LCDDATA,#0CHON,閃耀ONLCALLENABLEMOV 增量移位LCALLENABLEMOV LCDDATA,#80HMOV R1,#16LCALLENABLEMOV

0FH,顯示ON,光標(biāo);寫指令06H,光標(biāo)輸入方式;第一行起始字符地址;第一行顯示字符表頭地址LCALLDISP ;顯示第一行數(shù)據(jù)MOV LCDDATA,#0C0HMOV R1,#16LCALLENABLEMOV DPTR,#TITLEDLCALLDISPMOV R1,#5MOV LCDDATA,#0C0HLCALLENABLEMOV DPTR,#TITLEBLCALLDISPMOVLCDDATA,#0C5HLCALLENABLEMOVA,#”1”ADDA,R5LCALLDISP1MOVLCDDATA,#0C6HLCALLENABLEMOVA,#””JNBYINDIAO.0,PINGJBYINDIAO.1,JIANGMOVA,#”*” ;升調(diào)符號為*SJMPPINGJIANG:MOVA,#”_” _PING:LCALLDISP1MOV R1,#5MOV LCDDATA,#0C8H ;其次行起始字符地址LCALLENABLEMOV DPTR,#TITLEC ;其次行顯示字符表頭地址LCALLDISPMOVLCDDATA,#0CDHLCALLENABLEMOVA,#”1”ADDA,JIEPAILCALLDISP1RETENABLE:CLR LCDRS;寫指令子程序CLR LCDRWCLR ELCALLDELAY1SETBERETDISP:MOVA,#00H ;將ACCMOVCA,@A+DPTR ;查表取得要顯示的數(shù)據(jù)LCALLDISP1 ;寫入一個數(shù)據(jù)INC DPTR 1,預(yù)備取下一個數(shù)據(jù)DJNZR1,DISPRET;-----------------DISP1: MOV LCDDATA,ASETBLCDRSCLR CLR EMOVR7,#255S3:DJNZR7,S3SETBERETBF:MOVR4,AMOVDPTR,#TL01MOVCA,@A+DPTRMOVB,#02JNBYINDIAO.0,TWOJBYINDIAO.1,ONEZERO:DIVABSJMPTWOONE:MULABTWO:CPLA

;升調(diào);降調(diào)INCAMOVR3,AMOVA,R4MOVDPTR,#TH01MOVCA,@A+DPTRMOVB,#02JNBYINDIAO.0,TWO2JBYINDIAO.1,ONE2ZERO2:DIVABSJMPTWO2ONE2:MULABTWO2:CPLAINCAMOVR2,AMOVA,R4SETBTR0LCALLDELAYCLRTR0RETDELAY: ;掌握節(jié)拍的延時ANLJIEPAI,#07XRLJIEPAI,#0FFHXRLJIEPAI,#0FFHINCJIEPAIMOVR5,JIEPAIDECJIEPAI

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論