房百慶 王延兵 趙力
摘 要:音樂(lè)報(bào)警作為傳統(tǒng)聲音報(bào)警的一種新型表現(xiàn)形式,得到了越來(lái)越多的關(guān)注。若使用數(shù)字電路完成相應(yīng)的功能,則電路會(huì)變得相當(dāng)復(fù)雜,且成本也非常高。因此,該文提出了一種基于51單片機(jī)的數(shù)字音樂(lè)報(bào)警電路設(shè)計(jì)方案,其功能是通過(guò)軟件編程實(shí)現(xiàn)的,不但降低了硬件電路的復(fù)雜性,而且其成本也大大降低。該設(shè)計(jì)AT89C51單片機(jī)為核心,輔以LCD1602顯示屏、4個(gè)獨(dú)立按鍵和蜂鳴器等硬件。通過(guò)按鍵可實(shí)現(xiàn)英文歡迎提示字符的設(shè)置、音樂(lè)播放時(shí)顯示歌曲序號(hào)及名稱(chēng)、在報(bào)警過(guò)程中可通過(guò)4個(gè)功能鍵實(shí)現(xiàn)選擇樂(lè)曲、暫停和播放等功能。
關(guān)鍵詞:音樂(lè)報(bào)警系統(tǒng) 單片機(jī) AT89C51
中圖分類(lèi)號(hào): TP274.2 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1674-098X(2014)04(c)-0061-03
電子音樂(lè)作為現(xiàn)代音樂(lè)的一種形式,與古典音樂(lè)截然不同。電子音樂(lè)是對(duì)傳統(tǒng)音樂(lè)的延承和背叛,它通過(guò)電流產(chǎn)生的聲音打破了音樂(lè)的結(jié)構(gòu)及人們習(xí)慣的聽(tīng)覺(jué)經(jīng)驗(yàn)[1]。電子音樂(lè)既是音樂(lè)電聲的一個(gè)重要內(nèi)容,也是一種科技的見(jiàn)證。特別是,自從電子合成器問(wèn)世以來(lái),電子音樂(lè)又進(jìn)入了一個(gè)更高的階段[2]。由于電子音樂(lè)的普及,電子合成器可以解決相當(dāng)一部分的歌唱及舞廳的伴奏問(wèn)題,即:可以事先制作伴奏音樂(lè)或背景音樂(lè),而不需要樂(lè)隊(duì),或者部分代替樂(lè)隊(duì)[3-4]。由于音樂(lè)合成器制作和修改方便、成本低、音樂(lè)豐滿(mǎn),所以市場(chǎng)需求量很大,因此許多國(guó)家的廠商都在發(fā)展并不斷推出新型號(hào),每年都有更新?lián)Q代。
本設(shè)計(jì)是以AT89C51單片機(jī)為核心,輔以LCD1602顯示屏和蜂鳴器等外部電路構(gòu)成數(shù)字音樂(lè)報(bào)警系統(tǒng)。利用單片機(jī)I/O口產(chǎn)生一定頻率的方波,驅(qū)動(dòng)蜂鳴器,發(fā)出各種不同的音調(diào),從而演奏樂(lè)曲,并能夠由LCD1602顯示屏顯示相應(yīng)的歌曲信息。鍵盤(pán)在單片機(jī)應(yīng)用系統(tǒng)中能實(shí)現(xiàn)向單片機(jī)輸入數(shù)據(jù),傳送命令等功能,是人工操作音樂(lè)報(bào)警系統(tǒng)的的主要手段。
1 數(shù)字音樂(lè)報(bào)警電路的工作原理
單片機(jī)對(duì)某一引腳以一定的頻率循環(huán)置1置0,該引腳便產(chǎn)生一定頻率的方波,將放大后的方波作用于特定的物理實(shí)件(蜂鳴器),就會(huì)產(chǎn)生一定頻率的聲音。若改變輸出方波的頻率,產(chǎn)生的聲音也會(huì)隨之改變。通過(guò)控制輸出方波的時(shí)間長(zhǎng)短,聲音的長(zhǎng)短也可以得到控制,因此,根據(jù)樂(lè)譜,以類(lèi)似的音節(jié)及相同的節(jié)拍,就可以利用單片機(jī)產(chǎn)生電子音樂(lè)。每個(gè)音符分為簡(jiǎn)譜碼和節(jié)拍碼。簡(jiǎn)譜碼為D0-L到SI-H,節(jié)拍碼為1到16,對(duì)應(yīng)的節(jié)拍表如表1所示。
方波的產(chǎn)生是由定時(shí)器控制的。單片機(jī)工作時(shí),定時(shí)器T0工作在定時(shí)方式1,改變TH0及TL0便可產(chǎn)生不同的音頻頻率。需要注意的是,必須考慮中斷響應(yīng)時(shí)間的影響,尤其在高音部分。若忽略中斷響應(yīng)時(shí)間,會(huì)使音頻頻率比標(biāo)準(zhǔn)值低幾十Hz,相當(dāng)于1/4音程,很容易聽(tīng)出來(lái);中斷響應(yīng)時(shí)間對(duì)低音部分影響不大。一般中斷響應(yīng)時(shí)間為3~6個(gè)機(jī)器周期,經(jīng)過(guò)反復(fù)試驗(yàn),取5個(gè)機(jī)器周期作為校正最為恰當(dāng)。表1中所給的定時(shí)初值就是考慮了中斷響應(yīng)時(shí)間后的定時(shí)常數(shù)。另外,為避免T1中斷可能引起雜音,應(yīng)將定時(shí)器T0中斷設(shè)為高優(yōu)先級(jí)。
在音樂(lè)中使用的各個(gè)固定頻率的音叫音級(jí)。常用符號(hào)C、D、E、F、G、A、B、c、d、e、……a1、b1、c2、d2……表示,它們對(duì)應(yīng)于鋼琴上的白鍵。兩音之間音高的距離叫音程。在上述音級(jí)中,E與F、B與C之間音高的距離僅為其它相鄰音級(jí)之間距離的一半,稱(chēng)它們之間的音程為半音音程,而稱(chēng)其它相鄰各音之間的距離為全音音程。在這些全音音程之間又加入新的半音音級(jí),用符號(hào)﹟C、﹟D、﹟F、﹟G、﹟A、﹟c、﹟d、﹟f等表示,對(duì)應(yīng)于鋼琴上的黑鍵。音持續(xù)時(shí)間的長(zhǎng)短即時(shí)值,一般用拍數(shù)表示。休止符表示暫停發(fā)音,如表2所示。
2 硬件設(shè)計(jì)
本設(shè)計(jì)以AT89C51單片機(jī)為核心,由主控模塊、輸入模塊、顯示模塊及聲音模塊四部分組成,各模塊連接如圖1所示。整體電路圖如圖2所示。
主控模塊是由AT89C51單片機(jī)、時(shí)鐘電路、復(fù)位電路共同構(gòu)成單片機(jī)最小系統(tǒng),其核心為AT89C51單片機(jī)。主控模塊能夠按照預(yù)先編譯好的程序文件執(zhí)行相應(yīng)功能,接收輸入模塊傳送來(lái)的信號(hào),依據(jù)程序向顯示模塊、聲音模塊發(fā)送驅(qū)動(dòng)信號(hào),實(shí)現(xiàn)對(duì)顯示屏顯示及蜂鳴器發(fā)聲的控制。
輸入模塊負(fù)責(zé)向主控模塊提供控制信號(hào)。它由四個(gè)獨(dú)立按鍵組成,分別接入單片機(jī)I/O口(P1.0~P1.3)。當(dāng)按下按鍵時(shí),將單片機(jī)相應(yīng)的I/O口拉至低電平,主控模塊通過(guò)不斷掃描輸入模塊的電平狀態(tài)判斷是否有控制信號(hào)輸入,實(shí)現(xiàn)相應(yīng)功能。
顯示模塊負(fù)責(zé)顯示歡迎信息及播放音樂(lè)時(shí)相應(yīng)的曲目信息。該模塊核心為L(zhǎng)CD1602顯示屏,能夠顯示2行16列共32個(gè)字符。上拉10K電阻用以提升單片機(jī)I/O口的驅(qū)動(dòng)能力。
聲音模塊負(fù)責(zé)播放音樂(lè),其核心為蜂鳴器。該模塊接收來(lái)自主控模塊的驅(qū)動(dòng)信號(hào),發(fā)出聲音。
3 軟件設(shè)計(jì)
軟件編程通常采用結(jié)構(gòu)化程序設(shè)計(jì),一般有“自上而下”和“自下而上”兩種方式,“自上而下”法的核心就是主框架的構(gòu)建。它的合理與否關(guān)系到程序最終的功能的復(fù)雜程度和性能的優(yōu)劣[5-6]。
本系統(tǒng)采用4個(gè)獨(dú)立按鍵作為輸入鍵盤(pán),可分別實(shí)現(xiàn)開(kāi)關(guān)、播放\暫停、以及播放曲目的選擇。在開(kāi)機(jī)按鈕按下時(shí)有英文歡迎提示字符,音樂(lè)報(bào)警時(shí)顯示歌曲序號(hào)及名稱(chēng)。在報(bào)警程中可通過(guò)功能鍵實(shí)現(xiàn)選擇樂(lè)曲、暫停和播放。軟件部分針對(duì)《揮著翅膀的女孩》、《同一首歌》和《兩只蝴蝶》三首樂(lè)曲進(jìn)行設(shè)計(jì)。系統(tǒng)主模塊的程序流程圖如3所示。采用的程序調(diào)試軟件為Keil μVision4,所采用的仿真軟件為ISIS 7 Professional軟件。
3.1 顯示模塊驅(qū)動(dòng)
LCD 1602需顯示歡迎、播放曲目等信息,其初始化過(guò)程如下:(1)延時(shí)15ms;(2)寫(xiě)指令38H(不檢測(cè)忙信號(hào));(3)延時(shí)5 ms;(4)寫(xiě)指令38H (不檢測(cè)忙信號(hào));(5)延時(shí)5 ms;(6)寫(xiě)指令38H(不檢測(cè)忙信號(hào));(7)以后每次寫(xiě)指令、讀/寫(xiě)數(shù)據(jù)操作均需要檢測(cè)忙信號(hào);(8)寫(xiě)指令38H:顯示模式設(shè)置;(9)寫(xiě)指令08H:顯示關(guān)閉;(10)寫(xiě)指令01H:顯示清屏;(11)寫(xiě)指令06H:顯示光標(biāo)移動(dòng)設(shè)置;(12)寫(xiě)指令0CH:顯示開(kāi)及光標(biāo)設(shè)置。LCD 1602顯示屏初始化程序如圖4所示。endprint
3.2 按鍵模塊驅(qū)動(dòng)
本設(shè)計(jì)采用非編碼鍵盤(pán)實(shí)現(xiàn)輸入,為消除機(jī)械觸點(diǎn)產(chǎn)生的抖動(dòng),采用軟件消除:當(dāng)在首次檢測(cè)到有鍵按下時(shí),執(zhí)行延時(shí)20 ms子程序,再確認(rèn)是否仍保持閉合,如保持閉合,則確認(rèn)有鍵按下,進(jìn)行相應(yīng)處理。軟件消抖程序如圖5所示。
3.3 初始化及中斷處理程序
初始化及中斷處理程序如圖6所示。
4 軟件編譯及仿真
軟件編譯成功,結(jié)果如圖7所示。
將生成的“MUSIC BOX.HEX”文件裝載到ISIS 7 Professional已搭建好的硬件仿真環(huán)境中,進(jìn)行仿真調(diào)試。在Keil中編寫(xiě)編譯程序通過(guò)仿真,可實(shí)現(xiàn)預(yù)期的音樂(lè)盒功能,仿真結(jié)果如圖8所示。
5 結(jié)語(yǔ)
基于AT89C51單片機(jī)設(shè)計(jì)的數(shù)字音樂(lè)報(bào)警系統(tǒng)具有發(fā)音準(zhǔn)確、節(jié)能環(huán)保、易于操作等特點(diǎn)。本設(shè)計(jì)以“硬件軟件化”為指導(dǎo)思想,充分發(fā)揮單片機(jī)功能,大部分功能通過(guò)軟件編程來(lái)實(shí)現(xiàn),電路簡(jiǎn)單明了,系統(tǒng)穩(wěn)定性高。在開(kāi)機(jī)按鈕按下時(shí),該音樂(lè)報(bào)警系統(tǒng)能夠顯示英文歡迎提示字符,報(bào)警時(shí)顯示歌曲序號(hào)及名稱(chēng);在報(bào)警過(guò)程中可通過(guò)功能鍵選擇樂(lè)曲,暫停,播放;根據(jù)節(jié)拍表1和音符表2可以演奏任意樂(lè)曲。在調(diào)試過(guò)程中,成功播放了《揮著翅膀的女孩》、《同一首歌》和《兩只蝴蝶》等三首樂(lè)曲,均取得了良好效果。由于單片機(jī)所被占用的I/O 口不多,因此系統(tǒng)具有一定的可擴(kuò)展性。
參考文獻(xiàn)
[1] 孫展.具體音樂(lè)與電子音樂(lè)的相互滲透——電子音響型作品《Whos Voice(1998)》的制作札記[C]//中國(guó)電影電視技術(shù)學(xué)會(huì)影視科技論文集.2002.
[2] 陳學(xué)煌,潘曉利.MIDI音源及其在聲控電子樂(lè)器中的應(yīng)用[C]//2006年聲頻工程學(xué)術(shù)交流會(huì)論文集.2006.
[3] 王銀玲.一種單片機(jī)控制的音樂(lè)盒制作[J].電子制作,2010(11).
[4] 遠(yuǎn)飛.基于單片機(jī)的音樂(lè)播放器的仿真與制作[J].電子元器件應(yīng)用,2010(12).
[5] 孫毅剛,彭宇,趙光權(quán).單片機(jī)原理及接口技術(shù)[M].北京:人民郵電出版社, 2011.
[6] 馬忠梅,籍順心,張凱,等.單片機(jī)的C語(yǔ)言應(yīng)用程序設(shè)計(jì)[M].北京:北京航空航天大學(xué)出版社,2003.endprint
3.2 按鍵模塊驅(qū)動(dòng)
本設(shè)計(jì)采用非編碼鍵盤(pán)實(shí)現(xiàn)輸入,為消除機(jī)械觸點(diǎn)產(chǎn)生的抖動(dòng),采用軟件消除:當(dāng)在首次檢測(cè)到有鍵按下時(shí),執(zhí)行延時(shí)20 ms子程序,再確認(rèn)是否仍保持閉合,如保持閉合,則確認(rèn)有鍵按下,進(jìn)行相應(yīng)處理。軟件消抖程序如圖5所示。
3.3 初始化及中斷處理程序
初始化及中斷處理程序如圖6所示。
4 軟件編譯及仿真
軟件編譯成功,結(jié)果如圖7所示。
將生成的“MUSIC BOX.HEX”文件裝載到ISIS 7 Professional已搭建好的硬件仿真環(huán)境中,進(jìn)行仿真調(diào)試。在Keil中編寫(xiě)編譯程序通過(guò)仿真,可實(shí)現(xiàn)預(yù)期的音樂(lè)盒功能,仿真結(jié)果如圖8所示。
5 結(jié)語(yǔ)
基于AT89C51單片機(jī)設(shè)計(jì)的數(shù)字音樂(lè)報(bào)警系統(tǒng)具有發(fā)音準(zhǔn)確、節(jié)能環(huán)保、易于操作等特點(diǎn)。本設(shè)計(jì)以“硬件軟件化”為指導(dǎo)思想,充分發(fā)揮單片機(jī)功能,大部分功能通過(guò)軟件編程來(lái)實(shí)現(xiàn),電路簡(jiǎn)單明了,系統(tǒng)穩(wěn)定性高。在開(kāi)機(jī)按鈕按下時(shí),該音樂(lè)報(bào)警系統(tǒng)能夠顯示英文歡迎提示字符,報(bào)警時(shí)顯示歌曲序號(hào)及名稱(chēng);在報(bào)警過(guò)程中可通過(guò)功能鍵選擇樂(lè)曲,暫停,播放;根據(jù)節(jié)拍表1和音符表2可以演奏任意樂(lè)曲。在調(diào)試過(guò)程中,成功播放了《揮著翅膀的女孩》、《同一首歌》和《兩只蝴蝶》等三首樂(lè)曲,均取得了良好效果。由于單片機(jī)所被占用的I/O 口不多,因此系統(tǒng)具有一定的可擴(kuò)展性。
參考文獻(xiàn)
[1] 孫展.具體音樂(lè)與電子音樂(lè)的相互滲透——電子音響型作品《Whos Voice(1998)》的制作札記[C]//中國(guó)電影電視技術(shù)學(xué)會(huì)影視科技論文集.2002.
[2] 陳學(xué)煌,潘曉利.MIDI音源及其在聲控電子樂(lè)器中的應(yīng)用[C]//2006年聲頻工程學(xué)術(shù)交流會(huì)論文集.2006.
[3] 王銀玲.一種單片機(jī)控制的音樂(lè)盒制作[J].電子制作,2010(11).
[4] 遠(yuǎn)飛.基于單片機(jī)的音樂(lè)播放器的仿真與制作[J].電子元器件應(yīng)用,2010(12).
[5] 孫毅剛,彭宇,趙光權(quán).單片機(jī)原理及接口技術(shù)[M].北京:人民郵電出版社, 2011.
[6] 馬忠梅,籍順心,張凱,等.單片機(jī)的C語(yǔ)言應(yīng)用程序設(shè)計(jì)[M].北京:北京航空航天大學(xué)出版社,2003.endprint
3.2 按鍵模塊驅(qū)動(dòng)
本設(shè)計(jì)采用非編碼鍵盤(pán)實(shí)現(xiàn)輸入,為消除機(jī)械觸點(diǎn)產(chǎn)生的抖動(dòng),采用軟件消除:當(dāng)在首次檢測(cè)到有鍵按下時(shí),執(zhí)行延時(shí)20 ms子程序,再確認(rèn)是否仍保持閉合,如保持閉合,則確認(rèn)有鍵按下,進(jìn)行相應(yīng)處理。軟件消抖程序如圖5所示。
3.3 初始化及中斷處理程序
初始化及中斷處理程序如圖6所示。
4 軟件編譯及仿真
軟件編譯成功,結(jié)果如圖7所示。
將生成的“MUSIC BOX.HEX”文件裝載到ISIS 7 Professional已搭建好的硬件仿真環(huán)境中,進(jìn)行仿真調(diào)試。在Keil中編寫(xiě)編譯程序通過(guò)仿真,可實(shí)現(xiàn)預(yù)期的音樂(lè)盒功能,仿真結(jié)果如圖8所示。
5 結(jié)語(yǔ)
基于AT89C51單片機(jī)設(shè)計(jì)的數(shù)字音樂(lè)報(bào)警系統(tǒng)具有發(fā)音準(zhǔn)確、節(jié)能環(huán)保、易于操作等特點(diǎn)。本設(shè)計(jì)以“硬件軟件化”為指導(dǎo)思想,充分發(fā)揮單片機(jī)功能,大部分功能通過(guò)軟件編程來(lái)實(shí)現(xiàn),電路簡(jiǎn)單明了,系統(tǒng)穩(wěn)定性高。在開(kāi)機(jī)按鈕按下時(shí),該音樂(lè)報(bào)警系統(tǒng)能夠顯示英文歡迎提示字符,報(bào)警時(shí)顯示歌曲序號(hào)及名稱(chēng);在報(bào)警過(guò)程中可通過(guò)功能鍵選擇樂(lè)曲,暫停,播放;根據(jù)節(jié)拍表1和音符表2可以演奏任意樂(lè)曲。在調(diào)試過(guò)程中,成功播放了《揮著翅膀的女孩》、《同一首歌》和《兩只蝴蝶》等三首樂(lè)曲,均取得了良好效果。由于單片機(jī)所被占用的I/O 口不多,因此系統(tǒng)具有一定的可擴(kuò)展性。
參考文獻(xiàn)
[1] 孫展.具體音樂(lè)與電子音樂(lè)的相互滲透——電子音響型作品《Whos Voice(1998)》的制作札記[C]//中國(guó)電影電視技術(shù)學(xué)會(huì)影視科技論文集.2002.
[2] 陳學(xué)煌,潘曉利.MIDI音源及其在聲控電子樂(lè)器中的應(yīng)用[C]//2006年聲頻工程學(xué)術(shù)交流會(huì)論文集.2006.
[3] 王銀玲.一種單片機(jī)控制的音樂(lè)盒制作[J].電子制作,2010(11).
[4] 遠(yuǎn)飛.基于單片機(jī)的音樂(lè)播放器的仿真與制作[J].電子元器件應(yīng)用,2010(12).
[5] 孫毅剛,彭宇,趙光權(quán).單片機(jī)原理及接口技術(shù)[M].北京:人民郵電出版社, 2011.
[6] 馬忠梅,籍順心,張凱,等.單片機(jī)的C語(yǔ)言應(yīng)用程序設(shè)計(jì)[M].北京:北京航空航天大學(xué)出版社,2003.endprint