基于C8051F單片機的移動式音樂噴泉設計
關鍵詞: C8051F單片機;音樂噴泉;單片機控制
目前在公共場所噴泉一般只是將音樂和噴泉高低簡單配合, 無法真正體現(xiàn)音樂的旋律、節(jié)奏;或者是采用了高成本復雜的控制系統(tǒng),搭建復雜的外圍電路實現(xiàn)功能;并且多數(shù)只能在現(xiàn)場觀賞,不能進入家庭。本文介紹基于C8051F單片機控制的小型室內(nèi)移動式音樂噴泉。它使用了較少的外圍器件和較為簡單的電路設計,成本低、體積小、水型變換多樣,實用性強,適合室內(nèi)觀賞。
1 系統(tǒng)設計
本系統(tǒng)采集音樂信號,根據(jù)音樂信號的強弱來控制水泵電機的轉(zhuǎn)速以及LED彩燈的亮滅。系統(tǒng)的總體結構如圖1所示,由音樂輸入部分、音響放大部分、單片機控制部分和輸出控制部分組成。C8051F單片機作為系統(tǒng)的主芯片,一方面采集音樂信號,另一方面依據(jù)采集到的音樂信號的強弱輸出延時不等的矩形波來控制可控硅的導通時間,進而控制水泵電機的轉(zhuǎn)速,從而達到控制噴水高度的目的。彩燈的亮滅也由單片機依據(jù)音樂采樣值的大小來控制。
2 系統(tǒng)硬件設計
硬件系統(tǒng)由單片機電路、音頻電路、水泵控制電路、彩燈控制電路、電源電路等組成。
2.1 單片機電路
單片機要采集音樂信號,并據(jù)此調(diào)節(jié)I/O口的輸出來控制水泵和彩燈。主芯片選用C8051F系列單片機中的C8051F310。C8051F系列單片機是集成的混合信號片上系統(tǒng)SoC,它具有與MCS-51內(nèi)核及指令集完全兼容的微控制器。除了具有標準8051的數(shù)字外設部件之外,片內(nèi)還集成了數(shù)據(jù)采集和控制系統(tǒng)中常用的模擬部件和其他數(shù)字外設及功能部件,包括模擬多路選擇器、可編程增益放大器、ADC、DAC、電壓比較器、電壓基準、溫度傳感器等等。這樣不僅可以簡化單片機的外圍電路,而且處理速度和靈活度都大大增強,并且具有片內(nèi)調(diào)試電路,通過10針的JTAG接口可以進行非侵入式、全速的在系統(tǒng)調(diào)試,設計調(diào)試周期短。所選的C8051F310內(nèi)部集成了一個10位ADC,兩個模擬比較器,4個通用16位計數(shù)器/定時器,1個可編程精密內(nèi)部振蕩器,32腳LQFP封裝,2.7V~3.6V供電電壓。
C8051F310的最小系統(tǒng)電路如圖2所示。包括復位和晶振,JTAG程序下載和調(diào)試端口,AS1117供電芯片,把單片機的I/O口都用插針轉(zhuǎn)接出來以便于設計和調(diào)試。
2.2 音頻電路
音頻電路由音響放大器和音樂預處理電路兩部分組成。音響放大電路將音樂外放,包括兩級放大和一級功放。音樂預處理電路是將音頻信號經(jīng)由放大濾波輸入到單片機供片內(nèi)AD采集。整個系統(tǒng)采用單電源5V供電,選用可以使用單電源供電的運算放大器LM324。功放由4V~12V供電,功率由可達1.25W的LM386完成,可以推動喇叭達到揚聲器的作用。信號經(jīng)音頻電路初步處理后送入單片機內(nèi)部AD,由定時器控制以8k采樣率采集音樂信號。
2.3 水泵控制電路
本系統(tǒng)采用可控硅調(diào)相的方法控制噴泉水泵的轉(zhuǎn)速。電路如圖3所示,由單片機的I/O口輸出矩形波,通過光耦控制可控硅的導通角,進而控制水泵電機的轉(zhuǎn)速,調(diào)整噴泉的輸出高度。選用單相可控硅BT169控制220V的雙向交流電。交流通過二極管1N4007(耐壓值1000V)組成的整流橋后變?yōu)?00Hz脈動的直流,由單片機P0.4依據(jù)音樂采樣結果輸出矩形波,通過光耦控制可控硅的通斷,以達到調(diào)相的目的。
采用這種方法關鍵是要保證矩形波與100Hz脈動直流保持同相,由AD采樣的結果決定100Hz脈動直流的每一個周期有多長時間是導通的。所以將100Hz脈動直流分壓后作為單片機內(nèi)部比較器的一個輸入端,另一個輸入端接一個由5V分來的固定電壓(本系統(tǒng)使用了0.5V),當比較器的輸出結果發(fā)生變化時,由定時器定一段時間(本系統(tǒng)定為100Hz脈動直流由0.5V下降到0V的時間),這樣就找到了每個周期的起點,然后再根據(jù)AD采樣的結果決定不等的延時來輸出矩形波導通可控硅。AD采樣結果大,每個周期的延時短,可控硅導通的時間長,水泵電機轉(zhuǎn)速快,反之亦然。
2.4 彩燈控制電路
彩燈是為了渲染色彩增強節(jié)奏感而設計的。電路如圖4所示,使用高亮LED,有紅綠藍白黃五種顏色,設計成內(nèi)外環(huán)繞的三圈,每圈六個燈,顏色搭配得當。每圈的燈并聯(lián)占用一個I/O口,用三極管8050放大提供足夠的電流驅(qū)動,依據(jù)音樂采樣值大小決定點亮的燈的圈數(shù)。
3 系統(tǒng)軟件設計
在硬件上本系統(tǒng)使用了單片機內(nèi)部的AD、比較器、定時器、中斷等資源,故軟件編程就包含這幾個方面的設置和使用。定時器T0控制AD的采樣速率。定時器T1在比較器的下降沿中斷中被啟動,延時一段時間,找到100Hz脈動直流每個周期的起點。定時器T2在定時器T1的中斷中被啟動,依據(jù)不同的AD采樣值延時不等的時間,在T2的中斷程序中輸出矩形波啟動可控硅。單片機的I/O口采用交叉開關配置,用端口輸入方式寄存器(PnMDIN)選擇所有端口引腳的輸入方式(模擬或數(shù)字,復位后為數(shù)字輸入方式),用端口輸出方式寄存器(PnMDOUT)選擇所有端口引腳的輸出方式(漏極開路或推挽,復位后為漏極開路輸出方式),被配置為模擬輸入的端口要用端口跳過寄存器(PnSKIP)選擇為被交叉開關跳過。I/O口初始化程序如下:
XBR1=0x40; //交叉開關使能
P0MDOUT=0x10 | P0MDOUT; //P0.4為推挽輸出,
//作為矩形波輸出口
P1MDIN=0xfb P1MDIN;//P1.2為模擬輸入,
//作為音樂輸入口
P1SKIP=0x04 | P1SKIP; // P1.2被交叉開關跳過
AMX0P=0x02; //設置P1.2為AD輸入通道
AMX0N=0xff;
P1MDIN=0xde P1MDIN; //P1.0,P1.5為比較器模擬輸入
P1SKIP=0x21 | P1SKIP; //P1.0,P1.5被交叉開關跳過
CPT0MX=0x10; //選擇P1.0為比較器正輸入,
//P1.5為比較器負輸入
4 設計結果
設計的音樂噴泉LED彩燈經(jīng)過熱縮管的絕緣處理后用導線纏繞在塑料軟管上,然后再固定在盆內(nèi)。圍繞塑料軟管開幾個小孔,再安裝塑料插頭作為噴水裝置??梢杂秒娔X或者mp3作為音源,噴泉高低和彩燈隨著音樂的啟停節(jié)奏發(fā)生變化。系統(tǒng)的主要控制電路被安裝在盒子里放置于旁邊,注意絕緣,安全用電。
設計的噴泉控制系統(tǒng)基于C8051F單片機,采用了音頻放大,可控硅控制等簡潔的外圍電路,經(jīng)過焊接、組裝、調(diào)試后,可以很好實現(xiàn)控制功能,具有很強的實用性,尤其是具有體積小、易移動、適合家庭和室內(nèi)使用的特點。本方案也可以在功能上加以擴展,如加上對樂曲的頻域分析,結合頻域特點控制水泵;還可以制作霧化器來渲染效果等
評論