崔海霞
【摘 要】本設(shè)計采用單片機(jī)控制喇叭實(shí)現(xiàn)一個小型音樂盒。采用揚(yáng)聲器發(fā)聲來實(shí)現(xiàn)歌曲的播放,流暢播放出歌曲并可以通過按鍵進(jìn)行上下曲切換和開始/暫停,使用LCD1602顯示播放的歌曲序號和名稱。同時進(jìn)行歌曲播放計時。
【關(guān)鍵詞】單片機(jī);音樂盒
一、研究內(nèi)容
(一)音樂發(fā)音原理
播放一段音樂需要的是兩個元素,一個是音調(diào),另一個是音符。音調(diào)主要由聲音的頻率決定,同時也與聲音強(qiáng)度有關(guān)。對一定強(qiáng)度的純音,音調(diào)隨頻率的升降而升降;對一定頻率的純音、低頻純音的音調(diào)隨聲強(qiáng)增加而下降,高頻純音的音調(diào)卻隨強(qiáng)度增加而上升。另外,音符的頻率有所不同。音符的發(fā)音主要靠不同的音頻脈沖。利用單片機(jī)的內(nèi)部定時器/計數(shù)器0,使其工作在模式1,定時中斷,然后控制P1.0引腳的輸出音樂。
(二)研究的主要內(nèi)容
利用STC89C51單片機(jī),結(jié)合LCD顯示模塊、喇叭、放大電路,完成音樂盒的播放;具體設(shè)計實(shí)現(xiàn)的功能如下:通過按鍵控制多首音樂播放,并可通過按鍵選擇一個開始,一個暫停,一個翻上首,一個翻下首;通過顯示電路顯示播放歌曲名和編號;通過DS18B20實(shí)時采集環(huán)境溫度并顯示。能夠?qū)Ω枨シ艜r長進(jìn)行計時,并顯示。
二、系統(tǒng)硬件方案選擇
采用STC89C51單片機(jī)作為主控芯片。STC89C51是宏晶科技公司生產(chǎn)的一款低功耗、高性能的八位CMOS微處理器,片內(nèi)具有8k在線編程Flash存儲器。STC89C51單片機(jī)的內(nèi)核采用的是MCS-51內(nèi)核,指令完全兼容MCS-51,但是該單片機(jī)越做了升級使得芯片具有很多傳統(tǒng)的51單片機(jī)不具備的功能,例如該芯片還有4K的EEPROM存儲,在需要使用到掉電存儲數(shù)據(jù)的時候就可以直接使用單片機(jī)內(nèi)部的存儲,不在需要在外接存儲芯片進(jìn)行存儲。STC89C51單片機(jī)具有的開發(fā)簡單、可在線編程下載、成本低是非常不錯的選擇。
三、系統(tǒng)總體方案
本設(shè)計的具體的系統(tǒng)方案如下圖1所示。
選取STC89C51作為本設(shè)計的主控芯片,采用DS18B20采集溫度,通過LCD1602顯示歌曲名稱和序號和溫度值,并可以通過按鍵實(shí)現(xiàn)歌曲的開始/暫停播放,上下曲的切換等功能。
四、系統(tǒng)硬件電路設(shè)計
(一)STC89C51單片機(jī)的最小系統(tǒng)
本設(shè)計中采用的12M的石英晶振。和晶振并聯(lián)的兩個電容的大小對振蕩頻率有微小影響,可以起到頻率微調(diào)作用。當(dāng)采用石英晶振時,電容可以在20~40pF之間選擇(本設(shè)計使用30pF);當(dāng)采用陶瓷諧振器件時,電容要適當(dāng)?shù)卦龃笠恍?0~50pF之間。通常選取30pF的陶瓷電容就可以了。
完整的STC89C51單片機(jī)最小系統(tǒng)電路圖如圖2所示。
圖2 STC89C51單片機(jī)最小系統(tǒng)
(二)DS18B20溫度傳感器的介紹
DS18B20溫度傳感器是美國DALLAS半導(dǎo)體公司最新推出的一種改進(jìn)型智能溫度傳感器,與傳統(tǒng)的熱敏電阻等測溫元件相比,它能直接讀出被測溫度,并且可根據(jù)實(shí)際要求通過簡單的編程實(shí)現(xiàn)9~12位的數(shù)字值讀數(shù)方式。DS18B20溫度傳感器引腳圖如圖3所示。
(三)揚(yáng)聲器部分
揚(yáng)聲器采用的是直徑4CM,8歐,0.5W的小喇叭,播放聲音準(zhǔn)確清楚。通過一端接地,一端接PNP三極管的集電極,三極管的基級接一個可調(diào)電阻,進(jìn)行調(diào)節(jié)揚(yáng)聲器發(fā)出的聲音。
(四)獨(dú)立按鍵電路的設(shè)計
本設(shè)計中設(shè)置有按鍵電路,通過幾個獨(dú)立按鍵進(jìn)行人機(jī)交互。按鍵通過一點(diǎn)連接單片機(jī)的I/O口一端連接電源地。這樣設(shè)計是因?yàn)閱纹瑱C(jī)的I/O在懸空沒有作為輸出的情況下是默認(rèn)高電平的,在按鍵沒有按下則相當(dāng)于該I/O處于懸空狀態(tài)。當(dāng)按下后I/O口的電平就會被拉低,這樣單片機(jī)只需要進(jìn)行循環(huán)的檢測I/O口是否有出現(xiàn)低電平就可以判斷是否有按鍵按下,當(dāng)然這種按鍵是金屬解除的方式所以會有抖動紋波的情況,所以在程序中需要適當(dāng)?shù)募由隙虝旱难訒r消抖。
(五)系統(tǒng)硬件測試
系統(tǒng)硬件電路的測試主要是檢測電路是否出現(xiàn)漏焊、短路、斷路、虛焊、一些具有方向的元件是否方向弄錯、電路設(shè)計錯誤等情況。
對于漏焊、元件方向弄錯的檢測方法是將實(shí)物電路板對照著PCB圖的線路,檢查每一個元件和導(dǎo)線在實(shí)物上是否有出現(xiàn)。如果發(fā)現(xiàn)沒有或者對不上的情況下需及時的重新對照確定漏焊時及時的補(bǔ)焊。
對于短路、斷路、虛焊這些情況采用數(shù)字萬用表。將數(shù)字萬用表打到二極管檔位,然后通過紅表筆和黑表筆碰一起,萬用表會發(fā)出鳴叫警示。根據(jù)這個原理就可以用來檢測短路、斷路、虛焊。在需要檢測的元件或?qū)Ь€的兩端用兩根表筆檢測,如果導(dǎo)通蜂鳴器會鳴叫,如果斷開蜂鳴器不叫。這樣根據(jù)我們所需要檢測的情況,在結(jié)合檢測的現(xiàn)象就可以測出線路是否有問題。
五、結(jié)論
通過硬件的選擇和軟件的設(shè)計,實(shí)現(xiàn)了單片機(jī)控制喇叭實(shí)現(xiàn)一個小型音樂盒。可以實(shí)現(xiàn)歌曲的播放、歌曲播放計時、按鍵進(jìn)行上下曲切換和開始/暫停并且使用LCD1602顯示播放的歌曲序號和名稱。
【參考文獻(xiàn)】
[1]王法能,單片機(jī)原理及應(yīng)用,科學(xué)出版社.2004.
[2]樓然苗,李光飛,51系列單片機(jī)設(shè)計實(shí)例[M],北京:北京航空航天大學(xué)出版社.2003.
[3]劉勇 編 數(shù)字電路,電子工業(yè)出版社,2004.