基于單片機(jī)的簡易電子琴課程設(shè)計(jì)_第1頁
基于單片機(jī)的簡易電子琴課程設(shè)計(jì)_第2頁
基于單片機(jī)的簡易電子琴課程設(shè)計(jì)_第3頁
基于單片機(jī)的簡易電子琴課程設(shè)計(jì)_第4頁
基于單片機(jī)的簡易電子琴課程設(shè)計(jì)_第5頁
已閱讀5頁,還剩12頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、單片機(jī)技術(shù)及應(yīng)用單片機(jī)技術(shù)及應(yīng)用課程設(shè)計(jì)報(bào)告課程設(shè)計(jì)報(bào)告 專專 業(yè):業(yè): 電子信息工程電子信息工程 班班 級:級: 08301 班班 姓姓 名:名: 指導(dǎo)教師:指導(dǎo)教師: 二二 0 一一一一 年十一月年十一月 十一日十一日目目 錄錄 一、概述一、概述.1 11.11.1 課程設(shè)計(jì)的目的及其意義課程設(shè)計(jì)的目的及其意義 .1 11.21.2 課程設(shè)計(jì)的任務(wù)和要求課程設(shè)計(jì)的任務(wù)和要求 .1 1 二、系統(tǒng)的基本原理二、系統(tǒng)的基本原理.2 22.12.1 音樂的相關(guān)知識(shí)音樂的相關(guān)知識(shí) .2 22.22.2 基本原理及其框圖基本原理及其框圖 .3 3 三、系統(tǒng)的硬件結(jié)構(gòu)三、系統(tǒng)的硬件結(jié)構(gòu).5 53.13.

2、1 單片機(jī)單片機(jī) 89c5189c51 的簡介的簡介 .6 63.23.2 鍵盤電路鍵盤電路 .7 73.33.3 振蕩電路振蕩電路 .7 73.43.4 復(fù)位電路復(fù)位電路 .8 83.53.5 音頻電路音頻電路 .9 9 四、系統(tǒng)軟件的設(shè)計(jì)四、系統(tǒng)軟件的設(shè)計(jì).1 10 04.14.1 系統(tǒng)軟件的主程序系統(tǒng)軟件的主程序 .1 10 04.24.2 系統(tǒng)的軟件的調(diào)試與仿真系統(tǒng)的軟件的調(diào)試與仿真 .1 12 2 五、心得體會(huì)五、心得體會(huì).1 13 3 六、指導(dǎo)老師意見六、指導(dǎo)老師意見.1 13 3 七、參考書目七、參考書目.1 14 4 附錄附錄 電子琴實(shí)物電子琴實(shí)物圖圖1414 1基于單片機(jī)簡易

3、電子琴基于單片機(jī)簡易電子琴一、概一、概 述述1.1 課題設(shè)計(jì)目的及其意義單片機(jī)(單片微型計(jì)算機(jī))是大規(guī)模集成電路技術(shù)發(fā)展的產(chǎn)物,具有高性能、高速度、體積小、價(jià)格低廉、穩(wěn)定可靠等特點(diǎn)。單片機(jī)的應(yīng)用相當(dāng)廣泛,從平常的家用電器到航空航天系統(tǒng)和國防軍事、尖端武器都能找到它的身影。因此,單片機(jī)的開發(fā)應(yīng)用已成為高科技和工程領(lǐng)域的一項(xiàng)重大課題。隨著社會(huì)的發(fā)展進(jìn)步,人們的生活水平也逐步提高,音樂已經(jīng)成為了我們生活中很重要的一部分,在工作和學(xué)習(xí)之余,欣賞音樂不僅使身心得到放松,同時(shí)也提高人們的精神品質(zhì)和個(gè)人素養(yǎng)。當(dāng)代,愛好音樂的年輕人越來越多,也有不少人自己練習(xí)彈奏樂器,作為業(yè)余愛好和一種放松的手段,鑒于一些樂

4、器學(xué)習(xí)難度大需花費(fèi)太多精力,且其價(jià)格太過于高昂,使得一部分有這種想法的人不得不放棄這種想法,而電子琴又是一種新型的鍵盤樂器,它是現(xiàn)代電子科技與音樂結(jié)合的產(chǎn)物,價(jià)格相對便宜,能夠滿足一般愛好者的需求,因此,在現(xiàn)代音樂中扮演著重要的角色。 故簡易電子琴的研制具有一定的社會(huì)意義。1.2 課題設(shè)計(jì)的任務(wù)與主要內(nèi)容本文的主要內(nèi)容是用 at89c51 單片機(jī)為核心控制元件,設(shè)計(jì)一個(gè)簡單的電子琴。以單片機(jī)作為主控核心,與鍵盤、揚(yáng)聲器等模塊組成核心主控制模塊,在主控模塊上設(shè)有 16 個(gè)按鍵和揚(yáng)聲器。定時(shí)器按設(shè)置的定時(shí)參數(shù)產(chǎn)生中斷,由于定時(shí)參數(shù)不同,就會(huì)發(fā)出不同頻率的脈沖,不同頻率的脈沖經(jīng)喇叭驅(qū)動(dòng)電路放大濾波后

5、,就會(huì)發(fā)出不同音調(diào)。先根據(jù)要求設(shè)計(jì)硬件電路和編寫相應(yīng)的程序,然后進(jìn)行仿真調(diào)試,最后細(xì)心 2焊接硬件電路圖,將程序烤入芯片中,最終達(dá)到設(shè)計(jì)目的。本系統(tǒng)運(yùn)行穩(wěn)定,其優(yōu)點(diǎn)是硬件電路簡單,軟件功能完善,控制系統(tǒng)可靠,性價(jià)比較高等,具有一定的實(shí)用和參考價(jià)值。具體實(shí)現(xiàn)的功能:按下音符鍵可以發(fā)出相應(yīng)的音符。二、基本組成和原理二、基本組成和原理 2.1 音樂相關(guān)知識(shí)在人類還沒有產(chǎn)生語言時(shí),就已經(jīng)知道利用聲音的高低、強(qiáng)弱等來表達(dá)自己的思想和感情。聲帶、琴弦等物體振動(dòng)時(shí)會(huì)發(fā)出聲波,聲波通過空氣傳播進(jìn)入人耳,人們就聽到了聲音。聲音有噪音和樂音之分振動(dòng)有規(guī)律的聲音是樂音,音樂中所用的聲音主要是樂音。 樂音聽起來有的高

6、、有的低,這就叫做音高。音高是由發(fā)聲物體振動(dòng)頻率的高低決定的,頻率高聲音就高,頻率低聲音就低。音持續(xù)時(shí)間的長短即時(shí)值,一般用拍數(shù)表示。休止符表示暫停發(fā)音。一首音樂是由許多不同的音符組成的,而每個(gè)音符對應(yīng)著不同的頻率,這樣就可以利用不同的頻率組合,加以拍數(shù)對應(yīng)的延時(shí),構(gòu)成音樂。如果單片機(jī)要自己播放音樂就必須考慮到節(jié)拍的設(shè)置。對于 at80c51 而言要產(chǎn)生一定頻率的方波一般是先將某口線輸出高電平,延遲一段時(shí)間后再輸出低電平。通過改變延遲時(shí)間可以改變單片機(jī)的輸出頻率。單片機(jī)的延時(shí)主要有兩種方式,即軟件延時(shí)和使用定時(shí)/計(jì)數(shù)器延時(shí)。其中軟件延時(shí)不是很精確,而電子琴電路由于每個(gè)音符的頻率值要求比較嚴(yán)格,

7、因此我們選用定時(shí)/計(jì)數(shù)器延時(shí)。由于本課程設(shè)計(jì)是由用戶通過鍵盤輸入彈奏樂曲的,所以節(jié)拍由用戶掌握,不由程序控制。因此,我們只需弄清楚音樂中的音符和對應(yīng)的頻率,利用單片機(jī)的定時(shí)/計(jì)數(shù)器來產(chǎn)生方波頻率信號即可。要產(chǎn)生相應(yīng)的音頻脈沖,只需要計(jì)算出某音頻的周期,再除以 2。利用計(jì)數(shù)器計(jì)時(shí)半周期,計(jì)滿時(shí)使 p2.0 反向,然后重復(fù)計(jì)時(shí)再反向。本例中,單片機(jī)工作在 12mhz 時(shí)鐘,使用定時(shí)器/計(jì)數(shù)器 t0,工作模式為 1,改變計(jì)數(shù)初值 th0、tl0 就可產(chǎn)生不同頻率的脈沖信號。 3例如低 3mi 音,頻率為 330hz,其周期 t=1/f=1/330=3030us,計(jì)數(shù)值n=3030/2=1515,所以

8、每計(jì)數(shù) 1515 次 p2.0 反向。計(jì)數(shù)初值 t=65536-n=64021。c調(diào)的各音符頻率與計(jì)數(shù)值 t 的對照表如表 1 所示。表 1 c 調(diào)各音符頻率與計(jì)數(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#3706

9、4185高 1 do104665058低 5 so39264260# 1 do#110965085# 5 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# 61

10、86565268中 4 fa69864820高 7 si1967652832.2 簡易電子琴基本原理及其框圖 41、基本思想: 簡易的電子琴系統(tǒng)主要是采用 at89c51 單片機(jī),單片機(jī)工作于 12mhz 的時(shí)鐘頻率,使用其定時(shí)/計(jì)數(shù)器 t0,工作模式為 1,設(shè)計(jì) 4*4 鍵盤矩陣,設(shè)置成16 個(gè)音,可隨意彈奏想要表現(xiàn)的音樂,因?yàn)閱纹瑱C(jī)產(chǎn)生的音頻脈沖沒有足夠的驅(qū)動(dòng)能力,所以用三極管放大電路實(shí)現(xiàn)音頻的放大,保證揚(yáng)聲器能產(chǎn)生所要實(shí)現(xiàn)的音符聲音。2、硬件框圖:3、軟件設(shè)計(jì)流程圖: 本設(shè)計(jì)采用 at89c51 單片機(jī)作為核心處理器件,按下復(fù)位鍵,進(jìn)入初始化,調(diào)用鍵盤掃面子程序,獲得鍵值,查詢音階表,獲

11、取定時(shí)初值,向喇叭輸入相應(yīng)頻率的脈沖驅(qū)動(dòng),發(fā)出相應(yīng)的音調(diào),若按鍵沒有釋放,則一直發(fā)聲;若按鍵松開,則停止發(fā)聲。當(dāng)讀到結(jié)束符時(shí),停止播放音樂。 具體軟件流程圖如下: 1)中斷服務(wù)子程序流程圖: 5 2)主程序流程圖: 三、系統(tǒng)的硬件結(jié)構(gòu)三、系統(tǒng)的硬件結(jié)構(gòu) 6硬件電路的設(shè)計(jì)主要包括芯片 89c51,、4*4 鍵盤電路、振蕩電路、復(fù)位電路及音頻電路組成。簡易電子琴硬件電路圖:3.1 單片機(jī) 89c51 的簡介at89c51 是一個(gè)低功耗,高性能 cmos 8 位單片機(jī),片內(nèi)含 4k bytes isp(in-system programmable)的可反復(fù)擦寫 1000 次的 flash 只讀程序存

12、儲(chǔ)器,器件采用 atmel 公司的高密度、非易失性存儲(chǔ)技術(shù)制造,兼容標(biāo)準(zhǔn) mcs-51 指令系統(tǒng)及 80c51 引腳結(jié)構(gòu),芯片內(nèi)集成了通用 8 位中央處理器和 isp flash 存儲(chǔ)單元,功能強(qiáng)大的微型計(jì)算機(jī)的 at89s51 可為許多嵌入式控制應(yīng)用系統(tǒng)提供高性價(jià)比的解決方案。at89s51 具有如下特點(diǎn):40 個(gè)引腳,4k bytes flash 片內(nèi)程序存儲(chǔ)器,128 bytes 的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器(ram),32 個(gè)外部雙向輸入/輸出(i/o)口,5個(gè)中斷優(yōu)先級 2 層中斷嵌套中斷,2 個(gè) 16 位可編程定時(shí)計(jì)數(shù)器,2 個(gè)全雙工串行通信口,看門狗(wdt)電路,片內(nèi)時(shí)鐘振蕩器。 此外

13、,at89s51 設(shè)計(jì)和配置了振蕩頻率可為 0hz 并可通過軟件設(shè)置省電模式??臻e模式下,cpu 暫停工作,而 ram 定時(shí)計(jì)數(shù)器,串行口,外中斷系統(tǒng)可繼續(xù)工作,掉電模式凍結(jié)振蕩器而保存 ram 的數(shù)據(jù),停止芯片其它功能直至外中斷激活或硬件復(fù)位。同時(shí)該芯片還具有 pdip、tqfp 和 plcc 等三種封裝形式,以適應(yīng)不同產(chǎn)品的需求。該系列單片機(jī)引腳與封裝如下圖所示: 7主要引腳功能: 1、rst(9):復(fù)位輸入。當(dāng)振蕩器復(fù)位時(shí),要保持 rst 引腳 2 個(gè)機(jī)器周期的高電平時(shí)間;2、xtal1(19):反向振蕩器放大器的輸入及內(nèi)部時(shí)鐘工作電路的輸入; 3、xtal2(18):來自反向振蕩器的輸

14、出;4、p1 口(18):p1 口是從內(nèi)部提供上拉電阻器的 8 位雙向 i/o 口,p1 口緩沖器能接收和輸出 4 個(gè) ttl 門電流;5、 /:當(dāng)保持低電平時(shí),單片機(jī)只訪問外部程序存儲(chǔ)器。為高_(dá)eappv_ea_ea電平時(shí),單片機(jī)只訪問內(nèi)部程序存儲(chǔ)器。3.2 鍵盤電路鍵盤是最常用的單片機(jī)輸入設(shè)備,大致可以分為獨(dú)立連接式鍵盤和矩陣式。獨(dú)立連接式鍵盤是最簡單的鍵盤電路,每個(gè)鍵獨(dú)立接入一根數(shù)據(jù)線。這種鍵盤結(jié)構(gòu)簡單,使用方便,但是占用的 i/o 口線較多。矩陣式鍵盤由行線和列線組成,按鍵位于行列的交叉點(diǎn)上,行列式鍵盤可節(jié)省 i/o 口,適合按鍵數(shù)較多的場合。所以本設(shè)計(jì)的 4*4 鍵盤采用矩陣式鍵盤。

15、 83.3 振蕩電路單片機(jī)的時(shí)鐘信號用來提供單片機(jī)內(nèi)各種位操作的時(shí)間基準(zhǔn),時(shí)鐘信號通常有兩種電路形式得到:內(nèi)部振蕩方式和外部振蕩方式。在引腳 xtal1 和 xtal2 外接晶體振蕩器(簡稱晶振)或陶瓷諧振器,就構(gòu)成了內(nèi)部震蕩方式。由于單片機(jī)內(nèi)部有一個(gè)高增益反相放大器,當(dāng)外接晶振后,就構(gòu)成了自激振蕩器并產(chǎn)生振蕩時(shí)鐘脈沖。晶振通常選用 6mhz、12mhz 或者24mhz。本設(shè)計(jì)中采用的是 12mhz。電容器 c1、c2 起穩(wěn)定振蕩頻率、快速起振的作用,電容值一般 530pf。內(nèi)部振蕩方式所得的時(shí)鐘信號比較穩(wěn)定,電路中使用較多。振蕩方式如下圖: 3.4 復(fù)位電路 9復(fù)位操作完成單片機(jī)內(nèi)電路的初始

16、化,是單片機(jī)從一種確定的狀態(tài)開始運(yùn)行。當(dāng)單片機(jī)的復(fù)位引腳ret出現(xiàn)5ms以上的高電平時(shí),單片機(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ù)位要求接通電源后,自動(dòng)實(shí)現(xiàn)復(fù)位操作。開關(guān)復(fù)位要求在電源接通的條件下,在單片機(jī)運(yùn)行期間,如果發(fā)生死機(jī),用按鈕開關(guān)操作使單片機(jī)復(fù)位。上電后,由于電容要充電,是rst持續(xù)一段時(shí)間高電平時(shí)間。當(dāng)單片機(jī)已經(jīng)在運(yùn)行之中時(shí),按下復(fù)位鍵也能使rst持續(xù)一段時(shí)間的高電平,從而實(shí)現(xiàn)上電且開關(guān)復(fù)位的操作。通常選擇c=1030uf,r=10

17、1k常用的復(fù)位電路如下圖所示:在單片機(jī)啟動(dòng)后,電容c兩端的電壓持續(xù)充電為5v,這是時(shí)候10k電阻兩端的電壓接近于0v,rst處于低電平所以系統(tǒng)正常工作。當(dāng)按鍵按下的時(shí)候,開關(guān)導(dǎo)通,這個(gè)時(shí)候電容兩端形成了一個(gè)回路,電容被短路,所以在按鍵按下的這個(gè)過程中,電容開始釋放之前充的電量。隨著時(shí)間的推移,電容的電壓從5v釋放到變?yōu)榱?.5v,甚至更小。根據(jù)串聯(lián)電路電壓為各處之和,這個(gè)時(shí)候10k電阻兩端的電壓為3.5v,甚至更大,所以rst引腳又接收到高電平。單片機(jī)系統(tǒng)自動(dòng)復(fù)位。3.5 音頻放大電路 10使用pnp管來放大,其中發(fā)射極接5v電源,集電極接喇叭,電路中的電容是用來隔離直流電用的。pnp 管放大

18、原理:當(dāng) pnp 管的 vcvbve 時(shí),使得集電結(jié)反偏,發(fā)射結(jié)正偏時(shí),管子的發(fā)射極電流流入管子,基極電流和集電極電流流出管子,且集電極電流跟基極電流之間成 關(guān)系,三極電流滿足 ie=ib+ic=ib(1+ib)。即,基極電流可以控制集電極電流,這種控制作用就稱為管子的放大作用。本課程設(shè)計(jì)的音頻放大電路圖(三極管型號為 9015):四、四、 系統(tǒng)軟件的設(shè)計(jì)系統(tǒng)軟件的設(shè)計(jì)4.1 系統(tǒng)的軟件主程序:#include #include #define uint unsigned int #define uchar unsigned charsbit p20 = p20; /p2.0 外接揚(yáng)聲器uin

19、t ftemp;unsigned int code tab = /定時(shí)半周期的初始值 64021,64103,64260,64400, /低音 3 4 5 6 64524,64580,64684,64777, /低音 7,中音 1 2 3 64820,64898,64968,65030, /中音 4 5 6 7 65058,65110,65157,65178; /高音 1 2 3 4/* * 函數(shù)功能 : 用掃描法讀 p1 外接 44 鍵盤 11*/ uchar keyscan(void) uchar i, j, temp, buffer4 = 0 xfe, 0 xfd, 0 xfb, 0 x

20、f7; for(j = 0; j 4; j+) /循環(huán)四次,掃描四行 p1 = bufferj; /在低四位分別輸出一個(gè)低電平 _nop_(); temp = 0 x80; /計(jì)劃先讀出 p1.7 位 for(i = 0; i = 1; /換右邊一位 return 16; /沒有鍵按下就返回 16 主函數(shù) */ void main(void) uchar key_value = 16, key_temp1, key_temp2;/讀出的鍵值 tmod = 0 x01; /t0 定時(shí)方式 1 et0 = 1; /允許 t0 中斷 ex0 = 1; /允許 int0 中斷 ea = 1;/開總中斷

21、 while(1) tr0 = 0; /t0 工作停,暫不發(fā)音 key_temp1 = keyscan(); /第一次讀入按鍵 12 if(key_temp1 != 16) /有鍵按下 key_temp2 = keyscan(); /再讀一次 if (key_temp1 = key_temp2) /兩次相等 key_value = key_temp1; /就確認(rèn)下來 ftemp = tabkey_value; /根據(jù)鍵值,取出定時(shí)半周期的初始值 tr0 = 1; /啟動(dòng)定時(shí)器 t0,發(fā)音 while (keyscan() 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)我們按鍵時(shí)如果成功就會(huì)聽到我們想要的音樂) 135 5、全文總結(jié)全文總結(jié)本次課程設(shè)計(jì)制作簡易電

溫馨提示

  • 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

提交評論