版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
基于單片機控制的音樂盒系統(tǒng)的硬件和軟件設(shè)計案例目錄TOC\o"1-3"\h\u31607基于單片機控制的音樂盒系統(tǒng)的硬件和軟件設(shè)計案例 129666第1章系統(tǒng)硬件設(shè)計 1290491.1硬件設(shè)計工具 1272961.2總體電路設(shè)計 1302331.3各模塊電路設(shè)計 2186451.3.1時鐘電路模塊設(shè)計 290501.3.2鍵盤電路設(shè)計 3176731.3.3顯示電路設(shè)計 440861.3.4燈光模塊設(shè)計 651721.3.5發(fā)聲模塊設(shè)計 714743第2章系統(tǒng)軟件設(shè)計 8203612.1軟件設(shè)計工具 8261312.2系統(tǒng)整體設(shè)計框圖 864712.3軟件設(shè)計思路 9233962.4單片機發(fā)聲設(shè)計 103372.1.1音調(diào)設(shè)計 1031792.1.2節(jié)拍設(shè)置 11285202.1.3顯示設(shè)置 112242第3章調(diào)試運行及實物的焊接 1318479附錄一:設(shè)計圖 16第1章系統(tǒng)硬件設(shè)計1.1硬件設(shè)計工具在過去四年的學習過程中,主要學習的單片機設(shè)計仿真軟件是Proteus系列設(shè)計仿真軟件,它是非常好用的仿真單片機及外圍器件的工具,受到廣大單片機愛好者、學校相關(guān)專業(yè)的老師與同學們、與單片機研究工作相關(guān)的科技工作者們的青睞。1.2總體電路設(shè)計本次設(shè)計的電路模塊包括:時鐘電路模塊、鍵盤模塊、顯示模塊、燈光模塊以及發(fā)聲模塊總體電路仿真設(shè)計圖如圖所示:圖4-1電路仿真設(shè)計圖1.3各模塊電路設(shè)計1.3.1時鐘電路模塊設(shè)計STC89C52單片機產(chǎn)生時鐘信號的方式有兩種,分布為外部產(chǎn)生方式與內(nèi)部產(chǎn)生方式。本次設(shè)計僅需要用內(nèi)部產(chǎn)生方式來生成時鐘信號即可。由STC89C52單片機的引腳圖可以看到,STC89C52單片機上有兩個名為XTAL1(18號引腳)與XTAL2(19號引腳)的引腳。其中,XTAL1為片內(nèi)振蕩器反相放大器,也是時鐘振蕩器電路的輸入端,XTAL2為片內(nèi)振蕩器反相放大器的輸出端。在這兩個引腳之間外接晶振(石英晶體),就構(gòu)成了一個自激振蕩器,此時就可以在單片機內(nèi)部產(chǎn)生時鐘脈沖信號。時鐘電路模塊圖如圖所示:圖4-2時鐘電路模塊圖圖中兩個電容的作用是快速起振并且可以穩(wěn)定頻率。1.3.2鍵盤電路設(shè)計按照設(shè)計要求和個人的設(shè)計思路,本次音樂盒的設(shè)計需要大量的按鍵,但根據(jù)設(shè)計需求,沒有辦法將足夠的單個獨立的按鍵全部接入到STC89C52單片機上,所以,矩陣鍵盤是一個非常不錯的選擇。矩陣鍵盤按鍵數(shù)量足夠,且更有利于布局,可以更好的規(guī)劃單片機其他器件的分布。使用時需要將列線接上電源,作為I/O口的輸入使用,同時,行線則作為I/O口的輸出端使用。鍵盤模塊設(shè)計圖如圖所示:
圖4-3鍵盤模塊設(shè)計圖由于矩陣鍵盤本身也有許多I/O接口,如果和STC89C52單片機連接需要繪制多條連接線,所以我選擇將各I/O接口先通過總線連接,然后再對應(yīng)與STC89C52單片機連接。1.3.3顯示電路設(shè)計因為已經(jīng)確定了本次設(shè)計所需要的顯示模塊為1602字符型液晶顯示屏,但由于1602液晶顯示屏I/O接口較多,所以需要將1602顯示屏接在STC89C52單片機的P0接口上。若將STC89C52單片機的P0口作為I/O口的輸出使用的時候,P0輸出的低電平為0,但輸出的高電平卻為高阻態(tài),此時的高阻態(tài)就相當于浮空狀態(tài),此時的P0口不能真正的輸出高電平。P0端口8位中的一位結(jié)構(gòu)圖見下圖:
圖4-4P0接口工作原理圖由上圖可以知道,P0端口是由兩個邏輯門:一個與非門、一個與門,還有一個鎖存器、多個輸入緩沖器、切換開關(guān)以及場效應(yīng)管驅(qū)動電路構(gòu)成的。仔細觀察圖片里所以的標識,圖右邊的標識為P0.x引腳,由此可以知道P0口的任意一個引腳,即P0.0~P0.7這八個引腳的電路組成皆是與上圖相同的半導體。當P0.0~P0.7這八個引腳作為輸出端的時候,它們的功能就是為所接的負載提供電流時,此時引腳與負載之間的連線上必須加上一個上拉電阻,該上拉電阻中的一個引腳需要接VCC,其目的是由電源通過這個上拉電阻給負載提供電流。但如果P0.0~P0.7口當作輸入使用時,則不需要上拉電阻,但必須要先將P0.0~P0.7口置1。這是因為P0.0~P0.7被當作一般I/O口使用時,上拉場效應(yīng)管是一直處于截止狀態(tài),無法工作的。要想P0.0~P0.7口工作,就必須將端口置1,如果不這么做,那么下拉場效應(yīng)管會一直處于導通狀態(tài),相應(yīng)的STC89C52單片機永遠只能讀到0,無法正常工作。置1后,下拉場效應(yīng)管會被截止,端口的狀態(tài)為高阻浮空狀態(tài)此時端口才可以正確讀入數(shù)據(jù)。LCD1602顯示屏與STC89C52單片機之間存在有兩種連接方式,根據(jù)它們用到的數(shù)據(jù)線數(shù)量不同,可以把他們分為直接控制方式和間接控制方式。除此以外,它們沒有任何區(qū)別。直接控制方式:LCD1602顯示屏的引腳包括3根控制線,分布為E,RS和RW,還有8根數(shù)據(jù)線,它們與單片機正確連接后便可以正常工作。我所需要的功能只是向LCD1602顯示屏中寫入命令和數(shù)據(jù),所以必須要將VSS直接接地,VEE引腳可以調(diào)式顯示器的對比度,所以要在VEE引腳與地之間連接一個10kΩ的滑動變阻器來實現(xiàn)對比度的調(diào)整[8]。
間接控制方式:間接控制方式的特點是利用HD44780所具有的4位數(shù)據(jù)總線來工作,這樣做的好處是可以簡化電路接口,因此這種工作方式也被稱為四線制工作方式。該方法僅采用DB4~DB7引腳,將其與單片機連接通信,先把數(shù)據(jù)或命令傳輸?shù)礁?位,再將其他的數(shù)據(jù)與命令傳輸?shù)降?位,這樣做可以減少接線數(shù)量。此方法的工作過程較為繁瑣,因此,若I/O口的數(shù)量充足,則一般不考慮這種方法,若I/O口的數(shù)量緊張,此方法可以很好的解決問題。在本次設(shè)計中,I/O口的數(shù)量充足,所以使用直接控制方式即可完成設(shè)計。需要注意的一點是1602字符型液晶顯示屏的顯示特點,即每一行最多可以顯示16個字符,可顯示兩行。顯示模塊設(shè)計圖如圖所示:圖4-5顯示模塊設(shè)計圖1.3.4燈光模塊設(shè)計根據(jù)設(shè)計題目要求,需要在設(shè)計時將不同顏色的LED燈排列成心形,并在播放音樂時點亮即可。LED燈,也就是發(fā)光二極管,是一種固態(tài)的半導體器件。LED燈其實是一個環(huán)氧樹脂封裝起來的晶片,該晶片是一個半導體,晶片的一端連接電源,該極為正極,另一端附在一個支架上,這一段為負極。半導體晶片由兩部分組成,分別為P型和N型,構(gòu)成一個簡單的P-N結(jié)。在P型里面空穴占主導地位,而在N型這邊,主要成分是電子。通電后,電流會將電子推向P區(qū)并與P區(qū)里原有的空穴進行復合,在復合過程中會形成光子,并且以該形式發(fā)出能量,這就是LED燈發(fā)光的原理。P-N結(jié)的材料會影響光的波長,因此,不同材料的P-N結(jié)可以發(fā)出不同顏色的光[9]。燈光模塊設(shè)計圖如圖所示:圖4-6燈光模塊設(shè)計圖1.3.5發(fā)聲模塊設(shè)計此部分僅需要連接一個“SOUNDER”模塊即可,其他需求可以在程序中解決。發(fā)聲模塊設(shè)計圖如圖所示:圖4-7發(fā)聲模塊設(shè)計圖
第2章系統(tǒng)軟件設(shè)計2.1軟件設(shè)計工具在過去四年的學習過程中,我們主要使用KeiluVision4編程軟件對所設(shè)計的單片機進行軟件編程,KeiluVision4于2009年2月發(fā)布,其設(shè)計了較為靈活的窗口管理系統(tǒng),對使用者而言可以更好的利用屏幕空間管理更多的窗口,使用起來更加簡潔高效。KeiluVision5于2013年10月發(fā)布,其核心功能與KeiluVision4相比并未有太大的變化,且軟件運行起來更加穩(wěn)定,減少了閃退等事故的發(fā)生幾率,所以本次設(shè)計我選擇使用KeiluVision4的升級版KeiluVision5來進行程序編譯工作。2.2系統(tǒng)整體設(shè)計框圖圖5-1系統(tǒng)設(shè)計框圖2.3軟件設(shè)計思路在過去四年的學習中,C語言的學習和使用是學校編程教學內(nèi)容的重點,且KeiluVision5對單片機C語言的軟件開發(fā)有很好的兼容性,所以本次設(shè)計可以用C語言解決編程問題。2.4單片機發(fā)聲設(shè)計單片機所能發(fā)出的聲音非常單一,根本無法滿足音樂盒的需求,所以僅靠單片機完成設(shè)計是不可能的。因此,我們需要結(jié)合音調(diào)和節(jié)拍,在編程過程中對其進行調(diào)整,來達到讓音樂盒演奏歌曲的目的。僅有不同的聲音還不能夠組成音樂盒,節(jié)拍同樣也很重要,節(jié)拍主要控制單片機發(fā)出音符的時間,此時就需要對所要播放歌曲的樂譜進行研究,必須要知道所播放內(nèi)容中每一個音符的順序,還有音符持續(xù)的時間,這樣編寫出的程序才能使音樂盒正常發(fā)聲。2.1.1音調(diào)設(shè)計首先需要了解音調(diào),音調(diào)在簡譜中表現(xiàn)為:1、2、3、4、5、6、7,對應(yīng)的讀法為:do、re、mi、fa、so、la、xi。根據(jù)世界范圍統(tǒng)一標準,樂器的發(fā)聲標準都是220Hz。在音樂中,標準音高被規(guī)定為中央C音上方的A音,它的頻率為f=440Hz,1(do)與高音1,2(re)與高音2等類似的音調(diào)正好相差一個倍頻程,在音樂學中稱它相差一個八度音。一般說來,通過對單片機的定時器做定時中斷,就可以讓單片機發(fā)出相應(yīng)的頻率,再對單片機上的蜂鳴器重復清零、置位操作,或者是將單片機上對應(yīng)的I/O口重復取反操作,便可以讓蜂鳴器發(fā)出相應(yīng)的聲音。當我們設(shè)定不同的定時值后,蜂鳴器就可以發(fā)出不同頻率的聲音[10]。以標準音高A為例,A的頻率f=440Hz,那么它對應(yīng)的周期就應(yīng)該是:T=蜂鳴器I/O口反應(yīng)時間圖如圖所示:圖5-2蜂鳴器I/O口反應(yīng)時間圖
由上圖可知,單片機上對應(yīng)的蜂鳴器的I/O接口來回取反的時間應(yīng)為T的一半,即t的值為1136μs,這個t也是單片機定時器上應(yīng)有的中斷觸發(fā)時間。假設(shè)f使外接晶振的振蕩器頻率,那么定時器的預置初始值為:Temp=65536-TH=TL=Temp%256其中,SYSTEM_OSC=22.1184MHz、TH=0xF7、TL=0xD8。2.1.2節(jié)拍設(shè)置音符節(jié)拍的設(shè)置需要結(jié)合一小段簡譜,如下圖所示:圖5-3簡譜示例圖其中1、2、5為一類,3、4為一類,6為一類總共三類。在簡譜中,單獨一個數(shù)字的出現(xiàn)表示一個四分音符,也就人們常說的一拍,如圖5-3所示的1、2下面有一條橫線,這表示1、2聲音發(fā)出的時長為八分音符長,即為四分音符的一半,表示半拍,3、4下面有兩條橫線,表示3、4聲音發(fā)出的時長為十六分音符長,即為八分音符的一半,表示四分之一拍,5的下面有一條橫線,表示其時長為八分音符長,即為四分音符的一半,表示半拍,6作為單獨的數(shù)字出現(xiàn),下面沒有橫線,其時長為四分音符長,表示一拍。一般說來,若沒有特殊標注出一拍的時長或沒有特別說明,那么我們默認一拍的時長大約為400—500ms。若我取一拍的時長為400ms,那么當以四分音符為一拍節(jié)拍時,四分音符的時長就為400ms,八分音符的時長就為四分音符的一半,即為200ms,十六分音符的時長就為八分音符的一半,八分音符的四分之一,即為100ms。在單片機中,選擇以計數(shù)器的模式來進行控制,將單片機初始化后,TH0與TL0就會計算半周期時間,I/O端口在一遍計時結(jié)束之后會出現(xiàn)反轉(zhuǎn),重復半周期時間,I/O端口發(fā)生反轉(zhuǎn)以后,單片機I/O引腳就可以接收到頻率脈沖,該脈沖輸出到揚聲器后,單片機就可以發(fā)出想要的音樂了。2.1.3顯示設(shè)置LCD1602液晶顯示屏的讀、寫操作時序圖如下所示:圖5-4LCD1602液晶顯示屏的讀操作時序圖圖5-5LCD1602液晶顯示屏的寫操作時序圖由于1602液晶顯示屏是一個慢顯示器件,因此顯示屏在顯示前要先做一些其他操作,即在每條指令執(zhí)行之前,顯示模塊都要先確定模塊的忙標志的電平信號,若忙標志處于高電平,即表示顯示屏處于忙狀態(tài),則無法執(zhí)行指令,指令將會失效,若忙標志處于低電平,則表示顯示屏處于不忙狀態(tài),此時則可以執(zhí)行指令即可在顯示屏上顯示字符。要顯示字符時要先告訴顯示模塊應(yīng)該在哪個位置顯示字符,之后才能完成顯示。
第3章調(diào)試運行及實物的焊接在搭建好設(shè)計的Proteus仿真并完成編程后,就需要將編譯好的出現(xiàn)導入Proteus的單片機中,觀察其運行結(jié)果。首先,雙擊Proteus里的單片機,如圖6-1所示,添加事先編譯好的.hex文件。圖6-1文件添加圖添加好文件后,點擊左下角的開始,電路通電,此時就可以開始測試所編譯的程序是否可以運行了。鍵盤各按鍵的功能如圖6-2所示:
圖6-2按鍵功能圖按鍵1~7:1~7這八個按鍵分別對應(yīng)的是七個不同的音,即:“do、re、mi、fa、so、la、xi”,當電路電源接通后,按動1~7中的任意一個按鍵,都可以發(fā)出其對應(yīng)的聲音;按鍵8:8號按鍵對應(yīng)的是“高音do”,按動8號鍵即可發(fā)出“高音do”的聲音;按鍵9:按鍵9為歌曲選擇按鍵;按鍵10:按鍵10為空閑按鍵,沒有任何實際功能;音樂盒按鍵:當電路電源接通后,按下音樂盒按鍵,可播放存儲好的音樂,且默認為順序播放,此時按鍵1~8失效,即在音樂盒按鍵按下后,按動按鍵1~8不會有任何功能;電子琴按鍵:在音樂播放的過程中,按下電子琴按鍵,音樂立刻停止播放,此時按動按鍵1~8,可發(fā)出相應(yīng)的聲音;選擇歌曲按鍵:按下選擇歌曲按鍵后,需要再按動按鍵1~9,此時會播放所選擇的音樂,同時,按鍵1~8的電子琴功能失效,按動按鍵后不會發(fā)出相應(yīng)的聲音。如果在音樂盒播放音樂的過程中按下選擇歌曲按鍵,正在播放的歌曲會立即暫停,之后的操作不變;單曲循環(huán)按鍵:按下單曲循環(huán)按鍵后,當前多播放的音樂會進入單曲循環(huán)模式,若在沒有音樂播放的情況下按動該按鍵,則不會有任何功能;
順序播放按鍵:在單曲循環(huán)按鍵按下后,歌曲進入單曲循環(huán)模式,此時若想繼續(xù)循環(huán)播放音樂,按下此按鍵即可實現(xiàn)順序播放音樂功能,如果在沒有音樂播放的情況下按下該按鍵,則沒有任何功能實現(xiàn);開始/暫停按鍵:在音樂播放的過程中按下開始/暫停按鍵,即可實現(xiàn)音樂的開始與暫停。在音樂盒播放音樂的同時,1602顯示屏可正常顯示,LED等也正常發(fā)光。完成仿真與程序編譯并調(diào)試成功以后,就要對實物進行焊接,由于之前并沒有大量實物焊接的經(jīng)驗,所以就需要在購買實物元件時適量的多準備一點,以防焊錯后沒有替代。在焊接時需要注意:注意要分清LED燈、電解電容、蜂鳴器的正負極性,它們都是需要將長的管腳接到正極、短的管腳接負極,一定不能焊接反,若是焊接反的話,輕則相應(yīng)的元器件被燒毀,重則可能產(chǎn)生爆炸,影響到焊接人員的安全[11]。在焊接電阻時,一定要注意電阻的阻值,不可以將錯誤的電阻焊接到電路里,否則電流受到影響,實物的成功率會受到很大的影響,且該失誤很不容易排查出來。焊接每個元器件時要精準的控制好焊接
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 中國冠脈直接測量FFR耗材行業(yè)發(fā)展現(xiàn)狀、進出口貿(mào)易及市場規(guī)模預測報告
- 2026年企業(yè)知識產(chǎn)權(quán)保護知識競賽試卷及答案(共3套)
- 2026年保密知識競賽試題庫及答案
- 職業(yè)性錳中毒的康復機器人應(yīng)用
- 遵義2025年貴州遵義市湄潭縣遴選街道辦事處所屬事業(yè)單位事業(yè)工勤人員筆試歷年參考題庫附帶答案詳解
- 蘇州江蘇蘇州工業(yè)園區(qū)勞動監(jiān)察大隊等5家單位招聘輔助人員21人筆試歷年參考題庫附帶答案詳解
- 瀘州2025年四川瀘州瀘縣玉蟾街道便民服務(wù)中心招聘事業(yè)單位工作人員2人筆試歷年參考題庫附帶答案詳解
- 杭州2025年浙江杭州市臨安區(qū)應(yīng)急管理局招聘編外工作人員筆試歷年參考題庫附帶答案詳解
- 德宏2025年云南德宏州檢驗檢測院招聘碩士及以上研究生筆試歷年參考題庫附帶答案詳解
- 山東2025年山東海事職業(yè)學院暑期招聘教師85人筆試歷年參考題庫附帶答案詳解
- 低空經(jīng)濟發(fā)展白皮書-深圳方案
- 員工崗位評估管理制度
- GA/T 2157-2024毛細管電泳遺傳分析儀
- 工業(yè)機器人技術(shù)基礎(chǔ)電子教案
- 能源與動力工程測試技術(shù) 課件 第十章 轉(zhuǎn)速、轉(zhuǎn)矩及功率測量
- 2025年安徽省中考模擬英語試題(原卷版+解析版)
- 2024-2025學年云南省昆明市盤龍區(qū)五年級(上)期末數(shù)學試卷(含答案)
- 論地理環(huán)境對潮汕飲食文化的影響
- 值班人員在崗情況檢查記錄表周一
- 赤峰南臺子金礦有限公司金礦2022年度礦山地質(zhì)環(huán)境治理計劃書
- 徐州市銅山區(qū)法院系統(tǒng)書記員招聘考試真題
評論
0/150
提交評論