基于AT89S52和K9F6408UOA的語音數(shù)字系統(tǒng)設計
2.5 PWM輸出電路
本設計采用單片機輸出PWM信號驅動音頻放大電路,PWM輸出電路如圖4所示。PWM是一種利用微處理器的數(shù)字輸出控制模擬電路的有效技術,對一系列脈沖的寬度進行調制,等效獲得所需波形,并且由于沒有使用D/A轉換器,系統(tǒng)成本減少很多。PWM的優(yōu)點是從處理器到被控系統(tǒng)信號都是數(shù)字形式的,無需進行D/A轉換。讓信號保持為數(shù)字形式可將噪聲影響降到最小。此外PWM信號很容易通過MCU的軟件進行控制,即使電路稍微有些系統(tǒng)誤差,易于通過軟件進行校正。
圖4中,利用單片機的P1.7引腳輸出一定寬度的PWM信號,通過三極管整形后,作用在慣性環(huán)節(jié)上,得到的輸出信號PWMOUT將作用在音頻功放電路上,還原為聲音。
2.6 音頻功率放大電路
為了使系統(tǒng)有足夠大的輸出,驅動揚聲器發(fā)聲,便于調節(jié)音量,在PWM輸出電路后使用了音頻信號功率放大器LM386構建功率放大電路,如圖5所示。
LM386型音頻功率放大器主要應用于低電壓消費類產品。為使外圍元件最少,電壓增益內置為20。但在其引腳1和8之間外接電阻和電容,便可將電壓增益調為任意值,直至200。輸入端以地位參考,同時輸出端被自動偏置到電源電壓的一半,在6 V電源電壓下,其靜態(tài)功耗僅為24 mW,使得LM386特別適用于電池供電的場合。PWMOUT為PWM輸出電路的輸出,揚聲器為8 Ω,0.5 W。經過調試發(fā)現(xiàn)將電源+5 V用10μF和0.1μF的電容濾波后,會減小很多噪聲,效果較好。
3 系統(tǒng)軟件設計
系統(tǒng)具有錄音、放音、暫停、清除存儲內容等功能,各種功能由按鍵來選擇,系統(tǒng)首先掃描各個按鍵的狀態(tài),如果有按鍵按下,就轉往相應的處理程序,系統(tǒng)程序流程如圖6所示。
3.1 系統(tǒng)初始化程序
系統(tǒng)初始化程序主要對單片機中斷、定時器、LCD初始化、鍵盤、PWM、K9F6408UOA存儲接口,以及ADC0809地址、程序中要用到的各個變量進行設置。
3.2 按鍵掃描程序
由于錄音和暫停是由和外部中斷引腳相連的2個按鍵來設置,一旦按鍵按下就進入錄音或放音程序,所以按鍵掃描程序用于掃描放音鍵和清除鍵是否按下。
3.3 錄音程序
與外部中斷O相連的按鍵按下,則進入錄音程序。
錄音過程實質上是啟動ADC0809對模擬音頻信號進行采樣,并將A/D轉換結果存儲到外圍數(shù)據(jù)存儲器中的過程,故其主要包含對ADC0809進行讀取,對外圍數(shù)據(jù)存儲器進行寫入兩個部分。
提取聲音數(shù)據(jù)時,要注意采樣頻率、采樣位數(shù)、存儲容量與存儲時間的關系,通常8 kHz的采樣頻率和8位的采樣位數(shù)可獲得清晰的語音以及較好的音樂聲,并且占有較少的存儲空間。
以8 kHz的采樣頻率啟動ADC0809,并讀取上次采樣結果,寫到外擴Flash存儲器的代碼片段如下:
評論