基于單片機(jī)的電子音樂(lè)門(mén)鈴_第1頁(yè)
基于單片機(jī)的電子音樂(lè)門(mén)鈴_第2頁(yè)
基于單片機(jī)的電子音樂(lè)門(mén)鈴_第3頁(yè)
基于單片機(jī)的電子音樂(lè)門(mén)鈴_第4頁(yè)
基于單片機(jī)的電子音樂(lè)門(mén)鈴_第5頁(yè)
已閱讀5頁(yè),還剩9頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

.圖2-4Proteus仿真軟件三、總體設(shè)計(jì)3.1系統(tǒng)需求設(shè)計(jì)是基于AT89C51單片機(jī)的可控音樂(lè)門(mén)鈴程序設(shè)計(jì)。依據(jù)單片機(jī)技術(shù)原理,通過(guò)PROTEUS仿真軟件對(duì)硬件電路進(jìn)行仿真制作以及利用KEIL軟件對(duì)音樂(lè)門(mén)鈴源程序進(jìn)行C語(yǔ)言編譯,而設(shè)計(jì)制作出的一個(gè)多功能音樂(lè)門(mén)鈴。系統(tǒng)需滿(mǎn)足以下要求,利用51單片機(jī)的I/O口產(chǎn)生一定頻率的方波,驅(qū)動(dòng)蜂鳴器,發(fā)出不同的音調(diào),從而演奏樂(lè)曲;同時(shí)客人可通過(guò)門(mén)鈴按鍵器播放音樂(lè),并顯示主人預(yù)設(shè)的提示信息;如果主人在家,可暫停并取消音樂(lè)。3.2總體設(shè)計(jì)方案音樂(lè)門(mén)鈴的系統(tǒng)結(jié)構(gòu)以AT89C51單片機(jī)位控制核心,加上2個(gè)按鍵、時(shí)鐘復(fù)位電路、放大器、蜂鳴器、LCD顯示模塊組成。單片機(jī)負(fù)責(zé)接收按鍵的輸入,根據(jù)輸入控制音樂(lè)播放曲目和顯示提示信息以及蜂鳴器發(fā)音。系統(tǒng)組成結(jié)構(gòu)圖如圖2-1所示。AT89C51單片機(jī)蜂鳴器放大器AT89C51單片機(jī)蜂鳴器放大器門(mén)鈴按鍵門(mén)鈴按鍵LCD1602顯示內(nèi)容LCD1602顯示內(nèi)容復(fù)位按鍵復(fù)位按鍵音樂(lè)停止音樂(lè)停止圖3-1系統(tǒng)組成結(jié)構(gòu)圖3.3系統(tǒng)功能流程當(dāng)客人來(lái)訪,按動(dòng)門(mén)鈴開(kāi)關(guān)K2,單片機(jī)根據(jù)開(kāi)關(guān)K1判斷主人是否在家,當(dāng)K1斷開(kāi)時(shí),即主人在家,則驅(qū)動(dòng)蜂鳴器播放主人預(yù)先設(shè)定的音樂(lè),并且LCD1602液晶顯示屏顯示容"Welcome!Pleasewait!",主人此時(shí)可關(guān)閉蜂鳴器和LCD提示前去開(kāi)門(mén)。當(dāng)K1閉合時(shí),即主人不在家,則蜂鳴器無(wú)任何聲音,同時(shí)LCD1602顯示容"Sorry!masteisnotathome!"。具體功能流程如圖所示:開(kāi)始開(kāi)始門(mén)鈴按鍵K1門(mén)鈴按鍵K1主人是否在家〔開(kāi)關(guān)K2主人是否在家〔開(kāi)關(guān)K2否否是是LCD顯示主人不在家LCD顯示LCD顯示主人不在家LCD顯示蜂鳴器播放音樂(lè)主人關(guān)閉音樂(lè)播放和LCD提示主人關(guān)閉音樂(lè)播放和LCD提示結(jié)束結(jié)束圖3-2系統(tǒng)功能流程圖四、硬件設(shè)計(jì)4.1復(fù)位電路的設(shè)計(jì)復(fù)位是單片機(jī)的初始化操作,其主要功能是把PC初始化為0000H,使單片機(jī)從0000H單元開(kāi)始執(zhí)行程序。除了進(jìn)入系統(tǒng)的正常初始化之外,當(dāng)由于程序運(yùn)行出錯(cuò)或操作錯(cuò)誤使系統(tǒng)處于死鎖狀態(tài)時(shí),為了擺脫困境,也需要按復(fù)位鍵以重新啟動(dòng)。在振蕩器工作時(shí)將RST腳保持至少兩個(gè)機(jī)器周期高電平,12時(shí)鐘模式為24個(gè)振蕩器周期,6時(shí)鐘模式為12振蕩器周期,可實(shí)現(xiàn)復(fù)位。為了保證上電復(fù)位的可靠RST保持高電平的時(shí)間至少為振蕩器啟動(dòng)時(shí)間通常為幾個(gè)毫秒再加上兩個(gè)機(jī)器周期復(fù)位后振蕩器以12時(shí)鐘模式運(yùn)行當(dāng)已通過(guò)并行編程器設(shè)置為6時(shí)鐘模式時(shí)除外。本次設(shè)計(jì)復(fù)位電路設(shè)計(jì),如圖4-1所示。圖4-1復(fù)位電路4.2時(shí)鐘電路的設(shè)計(jì)時(shí)鐘電路產(chǎn)生與單片機(jī)工作所需要的時(shí)鐘信號(hào),單片機(jī)本身就是一個(gè)復(fù)雜的同步時(shí)序電路,為了保證同步工作方式的實(shí)現(xiàn),電路應(yīng)在唯一的時(shí)鐘信號(hào)控制下嚴(yán)格的按時(shí)序進(jìn)行工作。而時(shí)序所研究的則是指令執(zhí)行中各信號(hào)之間的相互時(shí)間的關(guān)系。在51單片機(jī)部有一個(gè)高增益反向放大器,其輸入端為芯片引腳XTAL1,輸出端引腳為XTAL2,在芯片的外部通過(guò)這兩個(gè)腳跨接晶體振蕩器和微調(diào)電容,形成反饋電路,就構(gòu)成一個(gè)穩(wěn)定的自激振蕩器。如圖4-2所示:圖4-2時(shí)鐘電路的設(shè)計(jì)部程序存振蕩晶體可在1.2MHz~12MHz之間選擇,電容值無(wú)嚴(yán)格要求,但在電容值取值對(duì)振蕩頻率輸出的穩(wěn)定性、大小、振蕩電路起振速度有少許影響,C1、C2可在20pF~100pF之間取值,但在60pF~70pF時(shí)振蕩器有較高的頻率穩(wěn)定性。本設(shè)計(jì)選取晶振為12MHz,電容為30pH。4.3開(kāi)關(guān)電路的設(shè)計(jì)開(kāi)關(guān)K1為主人是否在家的控制開(kāi)關(guān),開(kāi)關(guān)K2模擬門(mén)鈴按鈕,開(kāi)關(guān)K3為主人控制開(kāi)關(guān),用于停止音樂(lè)提醒,詳細(xì)設(shè)計(jì)見(jiàn)圖4-3。K3K3K2K2圖4-3開(kāi)關(guān)電路的設(shè)計(jì)4.4蜂鳴器蜂鳴器是一種一體化結(jié)構(gòu)的電子訊響器,采用直流電壓供電,廣泛應(yīng)用于計(jì)算機(jī)、打印機(jī)、復(fù)印機(jī)、報(bào)警器、電子玩具、汽車(chē)電子設(shè)備、機(jī)、定時(shí)器等電子產(chǎn)品中作發(fā)聲器件。利用51單片機(jī)的I/O口產(chǎn)生一定頻率的方波,驅(qū)動(dòng)蜂鳴器,發(fā)出不同的音調(diào),從而演奏樂(lè)曲圖4-4蜂鳴器4.4總體硬件電路總體硬件電路實(shí)現(xiàn)功能如下,如圖4-5所示。⑴電路中用P3.2、P3.3控制按鍵。⑵P0.0-P0.7和P2.0-2.7控制數(shù)碼管的時(shí)間顯示。⑶P2.6控制蜂鳴器。圖4-5硬件仿真電路圖五、軟件設(shè)計(jì)一般說(shuō)來(lái),單片機(jī)演奏音樂(lè)基本都是單音頻率,它不包含相應(yīng)幅度的諧波頻率,也就是說(shuō)不能像電子琴那樣能奏出多種音色的聲音。因此單片機(jī)奏樂(lè)只需弄清楚兩個(gè)概念即可,也就是"音調(diào)"和節(jié)拍表示一個(gè)音符唱多長(zhǎng)的時(shí)間。5.1音調(diào)的確定不同音高的樂(lè)音是用C、D、E、F、G、A、B來(lái)表示,這7個(gè)字母就是音樂(lè)的音名,它們一般依次唱成DO、RE、MI、FA、SO、LA、SI,即唱成簡(jiǎn)譜的1、2、3、4、5、6、7,相當(dāng)于漢字"多來(lái)米發(fā)梭拉西"的讀音,這是唱曲時(shí)樂(lè)音的發(fā)音,所以叫"音調(diào)",即Tone。把C、D、E、F、G、A、B這一組音的距離分成12個(gè)等份,每一個(gè)等份叫一個(gè)"半音"。兩個(gè)音之間的距離有兩個(gè)"半音",就叫"全音"。在鋼琴等鍵盤(pán)樂(lè)器上,C–D、D–E、F–G、G–A、A–B兩音之間隔著一個(gè)黑鍵,他們之間的距離就是全音;E–F、B–C兩音之間沒(méi)有黑鍵相隔,它們之間的距離就是半音。通常唱成1、2、3、4、5、6、7的音叫自然音,那些在它們的左上角加上﹟號(hào)或者b號(hào)的叫變化音。﹟叫升記號(hào),表示把音在原來(lái)的基礎(chǔ)上升高半音,b叫降記音,表示在原來(lái)的基礎(chǔ)上降低半音?!?要產(chǎn)生音頻脈沖,只要算出某一音頻的周期〔1/頻率,然后將此周期除以2,即為半周期的時(shí)間。利用定時(shí)器計(jì)時(shí)這半個(gè)周期時(shí)間,每當(dāng)計(jì)時(shí)到后就將輸出脈沖的I/O反相,然后重復(fù)計(jì)時(shí)此半周期時(shí)間再對(duì)I/O反相,就可在I/O腳上得到此頻率的脈沖。〔2利用AT89C51的部定時(shí)器使其工作在計(jì)數(shù)器模式MODE1下,改變計(jì)數(shù)值TH0及TL0以產(chǎn)生不同頻率的方法。此外結(jié)束符和休止符可以分別用代碼00H和FFH來(lái)表示,若查表結(jié)果為00H,則表示曲子終了;若查表結(jié)果為FFH,則產(chǎn)生相應(yīng)的停頓效果。 計(jì)數(shù)脈沖值與頻率的關(guān)系公式如下: N=Fi2Fr N:計(jì)算值;Fi:部計(jì)時(shí)一次為1us,故其頻率為1MHz;〔3其計(jì)數(shù)值的求法如下:T=65536-N=65536-Fi2Fr例如:設(shè)K=65536,F=1000000=Fi=1MHz,球低音DO〔261Hz。中音DO〔523Hz。高音的DO〔1046Hz的計(jì)算值T=65536-N=65536-Fi2Fr=652Fr=65536-500000/Fr低音DO的T=65536-500000/262=63627低音DO的T=65536-500000/523=64580低音DO的T=65536-500000/1047=65059〔4C調(diào)各音符頻率與計(jì)數(shù)值T的對(duì)照表如表5-1所示。表5-1C調(diào)各音符頻率與計(jì)數(shù)值T的對(duì)照表低音頻率T參數(shù)中音頻率T參數(shù)高音頻率T參數(shù)Do2621908229Do523956115Do10465757Do﹟2771805217Do﹟554903108Do﹟11095454Re2941701204Re587852102Re11755151Re﹟3111608193Re﹟62280497Re﹟12454848Mi3301515182Mi65975991Mi13184545Fa3491433172Fa69871686Fa13974343Fa﹟3701351162Fa﹟74067681Fa﹟14804141So3921276153So78463877So15683838So﹟4151205145So﹟83160272So﹟16613636La4401136136La88056868La17603434La﹟4641078129La﹟93253664La﹟18653232Si4941012121Si98850661Si19763030相關(guān)代碼如下:ucharcodecuzhi[]={ 0xff,0xff,//占位 0xFC,0x8E,//中央C調(diào)1-7 0xFC,0xED, 0xFD,0x43, 0xFD,0x6A, 0xFD,0xB3, 0xFD,0xF3, 0xFE,0x2D, 0xFE,0x47, //高八度1-7 0xFE,0x76, 0xFE,0xA1, 0xFE,0xC7, 0xFE,0xD9, 0xFE,0xF9, 0xFF,0x16 };5.2節(jié)拍的確定若要構(gòu)成音樂(lè),光有音調(diào)是不夠的,還需要節(jié)拍,讓音樂(lè)具有旋律〔固定的律動(dòng),而且可以調(diào)節(jié)各個(gè)音的快滿(mǎn)度。休止符表示暫停發(fā)音。一首音樂(lè)是由許多不同的音符組成的,而每個(gè)音符對(duì)應(yīng)著不同頻率,這樣就可以利用不同的頻率的組合,加以與拍數(shù)對(duì)應(yīng)的延時(shí),構(gòu)成音樂(lè)。對(duì)于單片機(jī)來(lái)說(shuō),產(chǎn)生不同頻率的脈沖是非常方便的,利用單片機(jī)的定時(shí)/計(jì)數(shù)器來(lái)產(chǎn)生這樣的方波頻率信號(hào)。表5-2節(jié)拍與節(jié)拍碼對(duì)照節(jié)拍碼節(jié)拍數(shù)節(jié)拍碼節(jié)拍數(shù)11/4拍11/8拍22/4拍21/4拍33/4拍33/8拍41拍42/1拍51又1/4拍55/8拍61又1/2拍63/4拍82拍81拍A2又1/2拍A1又1/4拍C3拍C1又1/2拍F3又3/4拍相關(guān)代碼如下:ucharcodeDSY_CODE[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x00};//編程規(guī)則:字節(jié)高位是簡(jiǎn)譜,低位是持續(xù)時(shí)間,//代表多少個(gè)十六分音符//1-7代表中央C調(diào),8-E代表高八度,0代表停頓//最后的0是結(jié)束標(biāo)志voidDelay1<uintz>; //延時(shí)1MSvoidDelay<uintz>;//延時(shí)165MS,即十六分音符ucharcodeqnzl[]={//千年之戀0x32,0x31,0x21,0x32,0x52,0x32,0x31,0x21,0x32,0x62,0x32,0x31,0x21,0x32,0x82,0x71,0x81,0x71,0x51,0x32,0x22,0x32,0x31,0x21,0x32,0x52,0x32,0x31,0x21,0x32,0x62,0x32,0x31,0x21,0x32,0x83,0x82,0x71,0x72,0x02,0x63,0xA1,0xA2,0x62,0x92,0x82,0x52,0x31,0x51,0x63,0x51,0x63,0x51,0x63,0x51,0x62,0x82,0x7C,0x02,0x61,0x71,0x82,0x71,0x62,0x0A2,0x71,0x76,0x61,0x71,0x82,0x71,0x62,0x52,0x31,0x36,0x61,0x71,0x82,0x71,0x62,0xA3,0x73,0x62,0x53,0x42,0x82,0x88,0x02,0x74,0x93,0x89,0xff//結(jié)束標(biāo)志};//簡(jiǎn)譜音調(diào)對(duì)應(yīng)的定時(shí)器初值//適合11.0592M的晶振5.3編碼doremifasolasi分別編碼為1~7,重音do編為8,重音re編為9,停頓編為0。播放長(zhǎng)度以十六分音符為單位〔在本程序中為165ms,一拍即四分音符等于4個(gè)十六分音符,編為4,其它的播放時(shí)間以此類(lèi)推。音調(diào)作為編碼的高4位,而播放時(shí)間作為低4位,如此音調(diào)和節(jié)拍就構(gòu)成了一個(gè)編碼。以0xff作為曲譜的結(jié)束標(biāo)志,可以參考簡(jiǎn)譜碼如表4-4所示。歌曲播放的設(shè)計(jì):先將歌曲的簡(jiǎn)譜進(jìn)行編碼,儲(chǔ)存在一個(gè)數(shù)據(jù)類(lèi)型為unsignedchar的數(shù)組中。程序從數(shù)組中取出一個(gè)數(shù),然后分離出高4位得到音調(diào),接著找出相應(yīng)的值賦給定時(shí)器0,使之定時(shí)操作蜂鳴器,得出相應(yīng)的音調(diào);接著分離出該數(shù)的低4位,得到延時(shí)時(shí)間,接著調(diào)用軟件延時(shí)。表5-4簡(jiǎn)譜對(duì)應(yīng)的簡(jiǎn)譜碼、T值、節(jié)拍數(shù)簡(jiǎn)譜發(fā)音簡(jiǎn)譜碼T值節(jié)拍碼節(jié)拍數(shù)5低音SO16426011/4拍6低音LA26440022/4拍7低音TI36452433/4拍1中音DO46458041拍2中音RE56468451又1/4拍3中音MI66477761又1/2拍4中音FA76482082拍5中音SO864898A2又1/2拍6中音LA964968C3拍7中音TIA65030F3又3/4拍1高音DOB650582高音REC651103高音MID651574高音FAE651785高音SOF65217六、系統(tǒng)測(cè)試主人在家時(shí),開(kāi)關(guān)K1狀態(tài)斷開(kāi)。按下門(mén)鈴鍵就先顯示提示,然后隨機(jī)播放音樂(lè),在音樂(lè)播放結(jié)束或主人按下關(guān)閉音樂(lè)鍵時(shí)關(guān)顯示,如圖6-1所示。圖6-1主人在家時(shí)LCD狀態(tài)主人不在家,當(dāng)狀態(tài)開(kāi)關(guān)狀態(tài)閉合。按下門(mén)鈴鍵,只顯示提示,但不播放音樂(lè),而且提示延時(shí)一段時(shí)間后自動(dòng)關(guān)顯示。如圖6-2所示。圖6-2主人不在家時(shí)LCD狀態(tài)總結(jié)這次寶貴的學(xué)年設(shè)計(jì)活動(dòng)中,經(jīng)驗(yàn)才是對(duì)于我們最大的收獲,而且還增強(qiáng)了自身對(duì)未知問(wèn)題以及對(duì)知識(shí)的深化認(rèn)識(shí)的能力,用受益匪淺這個(gè)詞語(yǔ)來(lái)概括這次難忘的活動(dòng)我覺(jué)得再合適不過(guò)了。但是,光是完成了作品還是不可以自我滿(mǎn)足的,在從一開(kāi)始的時(shí)候就懷著將作品制作得更加人性化,更加令人滿(mǎn)意,更加地使功能完美又方便地被應(yīng)用領(lǐng)域這個(gè)最終目的下,隨著對(duì)單片機(jī)這門(mén)學(xué)科的認(rèn)識(shí)加深,到達(dá)了拓展的程度,我想這個(gè)目的將在不遠(yuǎn)的時(shí)期被實(shí)現(xiàn)。實(shí)驗(yàn)過(guò)程中,也對(duì)團(tuán)隊(duì)精神的進(jìn)行了考察,讓我們?cè)诤献髌饋?lái)更加默契,在成功后一起體會(huì)喜悅的心情。果然是團(tuán)結(jié)就是力量,只有互相之間默契融洽的配合才能換來(lái)最終完美的結(jié)果。此次設(shè)計(jì)也讓我明白了思路即出路,有什么不懂不明白的地方要及時(shí)請(qǐng)教或上網(wǎng)查詢(xún),只要認(rèn)真鉆研,動(dòng)腦思考,動(dòng)手實(shí)踐,就沒(méi)有弄不懂的知識(shí),收獲頗豐。在此向所有關(guān)心我的及幫助我的老師和同學(xué)們致以最真誠(chéng)的感。在本次計(jì)課程設(shè)計(jì)設(shè)計(jì)中,尤其要感董再秀老師在

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論