蘆紅永
摘? ? 要:本文主要介紹了筆者基于51單片機開發(fā)的一套靜音報警裝置,延時報警時間可在6—54秒之間進行設(shè)置,具有高可靠性,通用性好,體積小巧,性價比高等特點。
關(guān)鍵詞:單片機;靜音;報警
唐山廣播電視臺電臺總控室有一套完善的音頻監(jiān)測報警系統(tǒng),當直播間送入總控室的音頻信號消失時,會發(fā)出報警聲音提醒值班人員進行處理。但是這些報警聲音僅僅局限于總控室內(nèi)的值班人員可以聽到,直播間的主持人和導(dǎo)播間的導(dǎo)播是聽不到的,當有靜音報警時,值班人員先墊好補白音樂再打電話到導(dǎo)播間,通知導(dǎo)播或主持人,甚至有時候?qū)Рラg電話會由于熱線的原因占線,無法及時與導(dǎo)播間進行聯(lián)系,造成節(jié)目較長時間的斷播,節(jié)目的連貫性受到影響。而且對于我臺而言,一般直播間的靜音故障都不是由于設(shè)備故障引起的,大多是人為因素。如果有一套物美價廉的裝置放在導(dǎo)播桌上,當直播間里音頻信號靜音時會發(fā)出警報,主持人或?qū)Рゾ湍茉诘谝粫r間知道靜音了,就會大大提高了播出的安全性。為了解決以上問題,我研究了這套裝置安裝在導(dǎo)播間。
它采用的是5V直流電源供電,可以使用手機充電器給它供電,音頻輸入口是常見的3.5mm耳機接口。裝置上有一個數(shù)碼管,這個數(shù)碼管能夠循環(huán)顯示數(shù)字1到9,分別對應(yīng)6到54秒的延時時間,它通過按鈕進行設(shè)置,每按一下,數(shù)字加1。裝置上有一個紅色指示燈,當有靜音報警時,蜂鳴器報警,紅色指示燈點亮,還有一個綠色指示燈,當綠色燈點亮?xí)r代表有外接電源輸入。裝置上還有5個電平指示燈,1紅1黃3綠,當有音頻信號的時候,電平指示燈會隨著音頻信號的大小進行閃爍,沒有音頻信號時,5個電平指示燈全部熄滅。開機數(shù)碼管顯示數(shù)字2,默認當檢測到靜音的時候開始計時,12秒之內(nèi)如果一直靜音狀態(tài),蜂鳴器開始報警,紅色報警燈點亮。如果12秒內(nèi)有了音頻信號,不再計時,再次檢測到靜音時從新計時。
硬件電路上,單片機我選用的是宏晶公司的STC12C5A60S2芯片,它是傳統(tǒng)51單片機的升級版,速度更快,功耗更低。為了配合單片機工作,我選用了12M的晶振和22pF的電容。音頻電平顯示我使用的是TA7666芯片,它靈敏度可調(diào),外圍電路簡單。音頻檢測放大電路我使用的是LM358N雙運算放大器芯片。其他還用到了一些電容、電阻、三極管、數(shù)碼管、蜂鳴器等,電路圖如下。
音頻信號經(jīng)過C3電容從LM358N芯片的5腳輸入,放大后的信號從LM358N的7腳輸出,U1:B在這里起放大作用,U1:A作為電壓比較器使用,滑動變阻器RV2調(diào)節(jié)門限電壓的大小,當音頻信號靜音的時候,調(diào)整RV2,可以在LM358N的1腳輸出接近0V的電壓,當音頻信號正常時,1腳輸出電壓遠高于0V,1腳輸出的電壓分為兩路,一路經(jīng)過電容C4送到了TA7666芯片的1腳輸入口,作為音頻信號電平顯示,調(diào)整滑動變阻器RV1,達到靈敏度最佳,閃爍效果最好。另一路送入STC12C5A60S2芯片的P1.0口,利用單片機的ADC功能進行電壓采集,P1.0口是擁有1024級電壓的采集能力的,可以把5V的電壓平均分成1024份,將采集到的電壓值和程序里設(shè)定的電壓閾值進行比較,如果低于閾值,就判定為靜音狀態(tài),高于閾值,判定為正常狀態(tài)。由于單片機P0口在默認情況下有很強的灌電流的能力而拉電流的能力不足,故而將P0口設(shè)為低電平觸發(fā)。報警紅色LED燈正極接在VCC上,負極接在單片機的P0.1口上。蜂鳴器的正極接在VCC上,負極接在8550三極管的發(fā)射極,基極接在P0.0口上,集電極接GND。設(shè)置按鈕串聯(lián)一個1K的限流電阻接到GND。數(shù)碼管的8個負極引腳分別連接到單片機的P2.0——P2.7接口,正極經(jīng)過1個1K阻值的限流電阻連接到電源VCC。
軟件設(shè)計部分,用的是C語言編寫,之所以用C語言,主要在于它通俗易懂,開發(fā)方便。編譯軟件選擇Keil uVision4,程序流程圖如圖所示。
開始上電,默認延遲12秒報警,主程序循環(huán)采集單片機P1.0口的模擬電壓值并判斷是否靜音。首先判斷設(shè)置按鈕是否被按下,當發(fā)現(xiàn)按鍵被按下的時候,執(zhí)行程序改變延時參數(shù)。當按鍵沒被按下時,程序繼續(xù)往下執(zhí)行并判斷是否靜音。當發(fā)現(xiàn)靜音狀態(tài),程序進入延時程序,在延時程序運行過程中,隨時檢測聲音的有無,如果還是沒有聲音,繼續(xù)進入報警程序,如果監(jiān)測到有了聲音,返回主程序繼續(xù)監(jiān)測P1.0口電壓。在報警子程序里,也隨時監(jiān)測是否靜音,如果靜音,會一直循環(huán)報警,如果有聲音,則返回到主程序繼續(xù)監(jiān)測P1.0口電壓。整個程序設(shè)計調(diào)試過程中還包括一些細節(jié)需要注意,比如按鍵的軟件去抖動,單片機P1口的模式設(shè)置為開漏狀態(tài)等,否則會引起不穩(wěn)定。
結(jié)束語:
在整個裝置開發(fā)過程中,我先用Proteus畫原理圖然后進行仿真,仿真成功后用面包板搭建電路,驗證軟硬件沒有問題后,在洞洞板上焊接出成品,這樣就完成了整個制作過程。這套裝置首先放到了我臺經(jīng)濟廣播導(dǎo)播間,從直播間耳機分配器引出一路音頻信號作為音頻輸入,長時間使用下來,取得了良好的效果。
參考文獻:
[1]張新、陳躍琴,51單片機應(yīng)用開發(fā)25例——基于Proteus仿真,電子工業(yè)出版社
[2]明日科技,C語言從入門到精通,清華大學(xué)出版社