




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、 簡易電子琴設(shè)計與實現(xiàn)一、概 述1.1 課題設(shè)計目的及其意義單片機(jī)(單片微型計算機(jī))是大規(guī)模集成電路技術(shù)發(fā)展的產(chǎn)物,具有高性能、高速度、體積小、價格低廉、穩(wěn)定可靠等特點(diǎn)。單片機(jī)的應(yīng)用相當(dāng)廣泛,從平常的家用電器到航空航天系統(tǒng)和國防軍事、尖端武器都能找到它的身影。因此,單片機(jī)的開發(fā)應(yīng)用已成為高科技和工程領(lǐng)域的一項重大課題。隨著社會的發(fā)展進(jìn)步,人們的生活水平也逐步提高,音樂已經(jīng)成為了我們生活中很重要的一部分,在工作和學(xué)習(xí)之余,欣賞音樂不僅使身心得到放松,同時也提高人們的精神品質(zhì)和個人素養(yǎng)。當(dāng)代,愛好音樂的年輕人越來越多,也有不少人自己練習(xí)彈奏樂器,作為業(yè)余愛好和一種放松的手段,鑒于一些樂器學(xué)習(xí)難度大
2、需花費(fèi)太多精力,且其價格太過于高昂,使得一部分有這種想法的人不得不放棄這種想法,而電子琴又是一種新型的鍵盤樂器,它是現(xiàn)代電子科技與音樂結(jié)合的產(chǎn)物,價格相對便宜,能夠滿足一般愛好者的需求,因此,在現(xiàn)代音樂中扮演著重要的角色。 故簡易電子琴的研制具有一定的社會意義。1.2 課題設(shè)計的任務(wù)與主要內(nèi)容本文的主要內(nèi)容是用AT89C51單片機(jī)為核心控制元件,設(shè)計一個簡單的電子琴。以單片機(jī)作為主控核心,與鍵盤、揚(yáng)聲器等模塊組成核心主控制模塊,在主控模塊上設(shè)有16個按鍵和揚(yáng)聲器。定時器按設(shè)置的定時參數(shù)產(chǎn)生中斷,由于定時參數(shù)不同,就會發(fā)出不同頻率的脈沖,不同頻率的脈沖經(jīng)喇叭驅(qū)動電路放大濾波后,就會發(fā)出不同音調(diào)。
3、先根據(jù)要求設(shè)計硬件電路和編寫相應(yīng)的程序,然后進(jìn)行仿真調(diào)試,最后細(xì)心焊接硬件電路圖,將程序烤入芯片中,最終達(dá)到設(shè)計目的。本系統(tǒng)運(yùn)行穩(wěn)定,其優(yōu)點(diǎn)是硬件電路簡單,軟件功能完善,控制系統(tǒng)可靠,性價比較高等,具有一定的實用和參考價值。具體實現(xiàn)的功能:按下音符鍵可以發(fā)出相應(yīng)的音符。二、基本組成和原理 2.1 音樂相關(guān)知識在人類還沒有產(chǎn)生語言時,就已經(jīng)知道利用聲音的高低、強(qiáng)弱等來表達(dá)自己的思想和感情。聲帶、琴弦等物體振動時會發(fā)出聲波,聲波通過空氣傳播進(jìn)入人耳,人們就聽到了聲音。聲音有噪音和樂音之分振動有規(guī)律的聲音是樂音,音樂中所用的聲音主要是樂音。 樂音聽起來有的高、有的低,這就叫做音高。音高是由發(fā)聲物體振
4、動頻率的高低決定的,頻率高聲音就高,頻率低聲音就低。音持續(xù)時間的長短即時值,一般用拍數(shù)表示。休止符表示暫停發(fā)音。一首音樂是由許多不同的音符組成的,而每個音符對應(yīng)著不同的頻率,這樣就可以利用不同的頻率組合,加以拍數(shù)對應(yīng)的延時,構(gòu)成音樂。如果單片機(jī)要自己播放音樂就必須考慮到節(jié)拍的設(shè)置。對于AT80C51而言要產(chǎn)生一定頻率的方波一般是先將某口線輸出高電平,延遲一段時間后再輸出低電平。通過改變延遲時間可以改變單片機(jī)的輸出頻率。單片機(jī)的延時主要有兩種方式,即軟件延時和使用定時/計數(shù)器延時。其中軟件延時不是很精確,而電子琴電路由于每個音符的頻率值要求比較嚴(yán)格,因此我們選用定時/計數(shù)器延時。由于本課程設(shè)計是
5、由用戶通過鍵盤輸入彈奏樂曲的,所以節(jié)拍由用戶掌握,不由程序控制。因此,我們只需弄清楚音樂中的音符和對應(yīng)的頻率,利用單片機(jī)的定時/計數(shù)器來產(chǎn)生方波頻率信號即可。要產(chǎn)生相應(yīng)的音頻脈沖,只需要計算出某音頻的周期,再除以2。利用計數(shù)器計時半周期,計滿時使P2.0反向,然后重復(fù)計時再反向。本例中,單片機(jī)工作在12MHz時鐘,使用定時器/計數(shù)器T0,工作模式為1,改變計數(shù)初值TH0、TL0就可產(chǎn)生不同頻率的脈沖信號。例如低3MI音,頻率為330Hz,其周期T=1/f=1/330=3030us,計數(shù)值N=3030/2=1515,所以每計數(shù)1515次P2.0反向。計數(shù)初值T=65536-N=64021。C調(diào)的
6、各音符頻率與計數(shù)值T的對照表如表1所示。表1 C調(diào)各音符頻率與計數(shù)值T對照表音符頻率(HZ)簡譜碼(T值)音符頻率(HZ)簡譜碼(T值)低 1 DO26263628# 4 FA#74064860# 1 DO#27763731中 5 SO78464898低 2 RE29463853# 5 SO#83164934# 2 RE#31163928中 6 LA88064968低 3 M33064021# 693264994低 4 FA34964103中 7 SI98865030# 4 FA#37064185高 1 DO104665058低 5 SO39264260# 1 DO#110965085# 5
7、SO#41564331高 2 RE117565110低 6 LA44064400# 2 RE#124565134# 646664463高 3 M131865157低 7 SI49464524高 4 FA139765178中1 DO52364580# 4 FA#148065198# 1 DO#55464633高 5 SO156865217中 2 RE58764684# 5 SO#166165235# 2 RE#62264732高 6 LA176065252中 3 M65964777# 6186565268中 4 FA69864820高 7 SI1967652832.2 簡易電子琴基本原理及其框圖
8、1、 基本思想: 簡易的電子琴系統(tǒng)主要是采用AT89C51單片機(jī),單片機(jī)工作于12MHZ的時鐘頻率,使用其定時/計數(shù)器T0,工作模式為1,設(shè)計4*4鍵盤矩陣,設(shè)置成16個音,可隨意彈奏想要表現(xiàn)的音樂,因為單片機(jī)產(chǎn)生的音頻脈沖沒有足夠的驅(qū)動能力,所以用三極管放大電路實現(xiàn)音頻的放大,保證揚(yáng)聲器能產(chǎn)生所要實現(xiàn)的音符聲音。2、硬件框圖:3、 軟件設(shè)計流程圖: 本設(shè)計采用AT89C51單片機(jī)作為核心處理器件,按下復(fù)位鍵,進(jìn)入初始化,調(diào)用鍵盤掃面子程序,獲得鍵值,查詢音階表,獲取定時初值,向喇叭輸入相應(yīng)頻率的脈沖驅(qū)動,發(fā)出相應(yīng)的音調(diào),若按鍵沒有釋放,則一直發(fā)聲;若按鍵松開,則停止發(fā)聲。當(dāng)讀到結(jié)束符時,停止
9、播放音樂。 具體軟件流程圖如下: 1)中斷服務(wù)子程序流程圖: 2)主程序流程圖: 三、系統(tǒng)的硬件結(jié)構(gòu)硬件電路的設(shè)計主要包括芯片89C51,、4*4鍵盤電路、振蕩電路、復(fù)位電路及音頻電路組成。簡易電子琴硬件電路圖:3.1 單片機(jī)89C51的簡介AT89C51是一個低功耗,高性能CMOS 8位單片機(jī),片內(nèi)含4k Bytes ISP(In-system programmable)的可反復(fù)擦寫1000次的Flash只讀程序存儲器,器件采用ATMEL公司的高密度、非易失性存儲技術(shù)制造,兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng)及80C51引腳結(jié)構(gòu),芯片內(nèi)集成了通用8位中央處理器和ISP Flash存儲單元
10、,功能強(qiáng)大的微型計算機(jī)的AT89S51可為許多嵌入式控制應(yīng)用系統(tǒng)提供高性價比的解決方案。AT89S51具有如下特點(diǎn):40個引腳,4k Bytes Flash片內(nèi)程序存儲器,128 bytes的隨機(jī)存取數(shù)據(jù)存儲器(RAM),32個外部雙向輸入/輸出(I/O)口,5個中斷優(yōu)先級2層中斷嵌套中斷,2個16位可編程定時計數(shù)器,2個全雙工串行通信口,看門狗(WDT)電路,片內(nèi)時鐘振蕩器。 此外,AT89S51設(shè)計和配置了振蕩頻率可為0Hz并可通過軟件設(shè)置省電模式??臻e模式下,CPU暫停工作,而RAM定時計數(shù)器,串行口,外中斷系統(tǒng)可繼續(xù)工作,掉電模式凍結(jié)振蕩器而保存RAM的數(shù)據(jù),停止芯片其它功能直至外中斷
11、激活或硬件復(fù)位。同時該芯片還具有PDIP、TQFP和PLCC等三種封裝形式,以適應(yīng)不同產(chǎn)品的需求。該系列單片機(jī)引腳與封裝如下圖所示:主要引腳功能: 1、 RST(9):復(fù)位輸入。當(dāng)振蕩器復(fù)位時,要保持RST引腳2個機(jī)器周期的高電平時間;2、 XTAL1(19):反向振蕩器放大器的輸入及內(nèi)部時鐘工作電路的輸入; 3、 XTAL2(18):來自反向振蕩器的輸出;4、 P1口(18):P1口是從內(nèi)部提供上拉電阻器的8位雙向I/O口,P1口緩沖器能接收和輸出4個TTL門電流;5、 /:當(dāng)保持低電平時,單片機(jī)只訪問外部程序存儲器。為高電平時,單片機(jī)只訪問內(nèi)部程序存儲器。3.2 鍵盤電路鍵盤是最常用的單片
12、機(jī)輸入設(shè)備,大致可以分為獨(dú)立連接式鍵盤和矩陣式。獨(dú)立連接式鍵盤是最簡單的鍵盤電路,每個鍵獨(dú)立接入一根數(shù)據(jù)線。這種鍵盤結(jié)構(gòu)簡單,使用方便,但是占用的I/O口線較多。矩陣式鍵盤由行線和列線組成,按鍵位于行列的交叉點(diǎn)上,行列式鍵盤可節(jié)省I/O口,適合按鍵數(shù)較多的場合。所以本設(shè)計的4*4鍵盤采用矩陣式鍵盤。3.3 振蕩電路單片機(jī)的時鐘信號用來提供單片機(jī)內(nèi)各種位操作的時間基準(zhǔn),時鐘信號通常有兩種電路形式得到:內(nèi)部振蕩方式和外部振蕩方式。在引腳XTAL1和XTAL2外接晶體振蕩器(簡稱晶振)或陶瓷諧振器,就構(gòu)成了內(nèi)部震蕩方式。由于單片機(jī)內(nèi)部有一個高增益反相放大器,當(dāng)外接晶振后,就構(gòu)成了自激振蕩器并產(chǎn)生振蕩
13、時鐘脈沖。晶振通常選用6MHz、12MHz或者24MHz。本設(shè)計中采用的是12MHz。電容器C1、C2起穩(wěn)定振蕩頻率、快速起振的作用,電容值一般530pF。內(nèi)部振蕩方式所得的時鐘信號比較穩(wěn)定,電路中使用較多。振蕩方式如下圖: 3.4 復(fù)位電路復(fù)位操作完成單片機(jī)內(nèi)電路的初始化,是單片機(jī)從一種確定的狀態(tài)開始運(yùn)行。當(dāng)單片機(jī)的復(fù)位引腳RET出現(xiàn)5ms以上的高電平時,單片機(jī)就完成了復(fù)位操作。如果RST持續(xù)為高電平,單片機(jī)就處于循環(huán)復(fù)位狀態(tài),而無法執(zhí)行程序。因此要求單片機(jī)復(fù)位后能脫離復(fù)位狀態(tài)。根據(jù)應(yīng)用要求,復(fù)位操作通常有2種基本形式:上電復(fù)位、開關(guān)復(fù)位。上電復(fù)位要求接通電源后,自動實現(xiàn)復(fù)位操作。開關(guān)復(fù)位要
14、求在電源接通的條件下,在單片機(jī)運(yùn)行期間,如果發(fā)生死機(jī),用按鈕開關(guān)操作使單片機(jī)復(fù)位。上電后,由于電容要充電,是RST持續(xù)一段時間高電平時間。當(dāng)單片機(jī)已經(jīng)在運(yùn)行之中時,按下復(fù)位鍵也能使RST持續(xù)一段時間的高電平,從而實現(xiàn)上電且開關(guān)復(fù)位的操作。通常選擇C=1030uF,R=101k常用的復(fù)位電路如下圖所示:在單片機(jī)啟動后,電容C兩端的電壓持續(xù)充電為5V,這是時候10K電阻兩端的電壓接近于0V,RST處于低電平所以系統(tǒng)正常工作。當(dāng)按鍵按下的時候,開關(guān)導(dǎo)通,這個時候電容兩端形成了一個回路,電容被短路,所以在按鍵按下的這個過程中,電容開始釋放之前充的電量。隨著時間的推移,電容的電壓從5V釋放到變?yōu)榱?.5
15、V,甚至更小。根據(jù)串聯(lián)電路電壓為各處之和,這個時候10K電阻兩端的電壓為3.5V,甚至更大,所以RST引腳又接收到高電平。單片機(jī)系統(tǒng)自動復(fù)位。3.5 音頻放大電路使用PNP管來放大,其中發(fā)射極接5V電源,集電極接喇叭,電路中的電容是用來隔離直流電用的。PNP管放大原理:當(dāng)PNP管的VC<VB<VE時,使得集電結(jié)反偏,發(fā)射結(jié)正偏時,管子的發(fā)射極電流流入管子,基極電流和集電極電流流出管子,且集電極電流跟基極電流之間成關(guān)系,三極電流滿足IE=IB+IC=IB(1+·IB)。即,基極電流可以控制集電極電流,這種控制作用就稱為管子的放大作用。本課程設(shè)計的音頻放大電路圖(三極管型號為
16、9015):四、 系統(tǒng)軟件的設(shè)計4.1 系統(tǒng)的軟件主程序:#include <reg51.h> #include <intrins.h> #define uint unsigned int #define uchar unsigned charsbit P20 = P20; /P2.0外接揚(yáng)聲器uint FTemp;unsigned int code tab = /定時半周期的初始值 64021,64103,64260,64400, /低音3 4 5 6 64524,64580,64684,64777, /低音7,中音1 2 3 64820,64898,64968,65
17、030, /中音4 5 6 7 65058,65110,65157,65178; /高音1 2 3 4/* * 函數(shù)功能 : 用掃描法讀 P1 外接 4×4 鍵盤*/ uchar Keyscan(void) uchar i, j, temp, Buffer4 = 0xfe, 0xfd, 0xfb, 0xf7; for(j = 0; j < 4; j+) /循環(huán)四次,掃描四行 P1 = Bufferj; /在低四位分別輸出一個低電平 _nop_(); temp = 0x80; /計劃先讀出P1.7位 for(i = 0; i < 4; i+) /循環(huán)四次,檢查四列 if(!
18、(P1 & temp) /從高四位,截取1位 return (i + j * 4); /返回取得的按鍵值 temp >>= 1; /換右邊一位 return 16; /沒有鍵按下就返回16 主函數(shù) */ void Main(void) uchar Key_Value = 16, Key_Temp1, Key_Temp2;/讀出的鍵值 TMOD = 0x01; /T0定時方式1 ET0 = 1; /允許T0中斷 EX0 = 1; /允許INT0中斷 EA = 1;/開總中斷 while(1) TR0 = 0; /T0工作停,暫不發(fā)音 Key_Temp1 = Keyscan()
19、; /第一次讀入按鍵 if(Key_Temp1 != 16) /有鍵按下 Key_Temp2 = Keyscan(); /再讀一次 if (Key_Temp1 = Key_Temp2) /兩次相等 Key_Value = Key_Temp1; /就確認(rèn)下來 FTemp = tabKey_Value; /根據(jù)鍵值,取出定時半周期的初始值 TR0 = 1; /啟動定時器T0,發(fā)音 while (Keyscan() < 16); /等待釋放 P20 = 1; /停止發(fā)音 /= void T0_INT(void) interrupt 1 TL0 = FTemp; /載入定時半周期的初始值 TH0 = FTemp >> 8; P20 = P20; /發(fā)音 4.2 系統(tǒng)的軟件的調(diào)試仿真 硬件電路制作完成并調(diào)試好后,便可將程序編譯好下載到單片機(jī)試運(yùn)行。這里我們使用Proteus軟件進(jìn)行仿真,加載編譯好的.HEX即文件到單片機(jī)后,點(diǎn)擊運(yùn)行按鈕即可,仿真電路圖如下:(當(dāng)我們按鍵時如果成功就會聽到我們想要的音樂)5、 全文總結(jié)本次課程設(shè)計制作簡易
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年行政管理公共關(guān)系學(xué)試題測評報告
- 消費(fèi)行為的經(jīng)濟(jì)學(xué)分析試題及答案
- 2025年企業(yè)負(fù)責(zé)人安全培訓(xùn)考試試題B卷附答案
- 2025新入職員工安全培訓(xùn)考試試題含答案【輕巧奪冠】
- 2024-2025生產(chǎn)經(jīng)營負(fù)責(zé)人安全培訓(xùn)考試試題(能力提升)
- 水利水電工程行業(yè)前景展望試題及答案
- 2025-2030年鋼筋行業(yè)市場深度調(diào)研及前景趨勢與投資研究報告
- 2025-2030年解熱止痛藥行業(yè)市場現(xiàn)狀供需分析及投資評估規(guī)劃分析研究報告
- 2025-2030年蘿芙木行業(yè)市場發(fā)展分析及發(fā)展趨勢與投資研究報告
- 2025-2030年能源金融產(chǎn)業(yè)市場發(fā)展分析及前景趨勢與投資戰(zhàn)略研究報告
- 2025四川愛眾集團(tuán)第一批次招聘10人筆試參考題庫附帶答案詳解
- 2025年初中地理學(xué)業(yè)水平考試模擬試卷:地圖與地球知識綜合訓(xùn)練試題卷及答案
- 2025年湖北荊州市監(jiān)利市暢惠交通投資有限公司招聘筆試參考題庫含答案解析
- 酒店入股合同協(xié)議書
- 銀行sql考試題及答案
- 隔離技術(shù)知識試題及答案
- 2025三方貿(mào)易協(xié)議合同范本 貿(mào)易合同范本
- 2025-2030中國聚苯醚行業(yè)市場發(fā)展趨勢與前景展望戰(zhàn)略研究報告
- 山東省臨沂市2025年普通高等學(xué)校招生全國統(tǒng)一考試(模擬)歷史及答案(臨沂二模)
- 2025-2030中國無煙原煤行業(yè)市場現(xiàn)狀供需分析及市場深度研究發(fā)展前景及規(guī)劃可行性分析研究報告
- 《房屋征收與補(bǔ)償政策解析》課件
評論
0/150
提交評論