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