基于ISD2560語(yǔ)音芯片的錄放電路設計
3 系統工作原理及程序設計
ISD2560雖然提供有地址輸入線(xiàn),但它的內部信息段的地址一般無(wú)法讀出。因此,通常使用不需要知道地址的操作模式。但要讀出ISD2560內部信息地址,就需要專(zhuān)用的ISD開(kāi)發(fā)設備,而這些設備的價(jià)格比較昂貴。為此,本系統采用單片機來(lái)控制。該方法不需讀出信息地址,而是直接設置信息段起始地址。該設想的實(shí)現方式有多種。第一種方式由于ISD2560的地址分辨率為100ms,所以,可用單片機內部定時(shí)器定時(shí)100 ms,然后再利用一計數器對單片機定時(shí)次數進(jìn)行計數,這樣,計數器的計數值就是語(yǔ)音段所占用的地址單元。該方式能充分利用ISD2560內部的EEPROM,故在字段較多時(shí)可利用該方法;而如果語(yǔ)音字段較少,則可用第二種方式:即根據每一字段的內容多少直接分配地址單元。一般按每1 s說(shuō)3個(gè)字計算,60 s可以說(shuō)180個(gè)字,然后再根據ISD2560的地址分辨率為100 ms,計算出語(yǔ)音段所需的地址單元數。本系統即采用該方式。
3.1 AT89C2051對ISD2560的錄放音控制
錄音時(shí),先按下錄音鍵,由單片機通過(guò)口線(xiàn)設置語(yǔ)音段的起始地址,再使PD端、P/R端和其它相關(guān)端口為低電平以啟動(dòng)錄音;錄音結束,單片機又讓這些端口回到高電平,以完成一段語(yǔ)音的錄制。然后以同樣的方法,也可錄取第二段、第三段、等等。值得注意的是,錄音時(shí)間一般不能超過(guò)預先設定的每段語(yǔ)音的時(shí)間。
放音時(shí),可根據需播放的語(yǔ)音內容,找到相應的語(yǔ)音段起始地址,并通過(guò)接口線(xiàn)送出。然后將P/R端設為高電平,PD端設為低電平,并讓其產(chǎn)生一負脈沖以啟動(dòng)放音,這時(shí)單片機只需等待ISD2560的信息結束信號(即EOM的產(chǎn)生)。由于該信號為一負脈沖,且在負脈沖的上升沿,該段語(yǔ)音才播放結束,所以,單片機必須要檢測到該上升沿,才能播放第二段,否則,播放的語(yǔ)音將不連續,而且會(huì )產(chǎn)生啪啪聲,這一點(diǎn)在編制軟件時(shí)一定要注意。圖2所示是其錄放音程序框圖。
其具體的操作方法如下:
(1)錄音
將跳線(xiàn)插在“REC”一側,即為錄音狀態(tài),按下“REC”鍵,指示燈亮,即可對著(zhù)板上話(huà)筒講話(huà)錄音,松鍵時(shí),錄音停止并形成一段。再次按下,則錄下一段。操作時(shí),按“STOP”鍵為復位,再錄音時(shí),又將從第一段開(kāi)始。
(2)放音
將跳線(xiàn)插在“PLAY”一側,為放音狀態(tài),此后,按一下“PLAY”鍵即播放一段,一段結束后自動(dòng)停止放音,再按“AN”,則播放下一段。操作過(guò)程中,按“STOP”鍵為復位,再放音時(shí),又將從第一段開(kāi)始。
3.2 程序設計
本程序是以AT89C2051為ISD2560的控制器,晶振頻率為12 MHz來(lái)編寫(xiě)的。
下面給出錄取語(yǔ)音信息的錄音程序以及對這段語(yǔ)音進(jìn)行播放的源程序。實(shí)際上,播放時(shí)也可根據實(shí)際情況組合回放。需要時(shí),還可對該程序進(jìn)行擴充。其ISD2560語(yǔ)音錄放系統程序如下:
評論