新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > IS22C011/20語(yǔ)音芯片的原理及在MCS-51單片機(jī)中的應(yīng)用

IS22C011/20語(yǔ)音芯片的原理及在MCS-51單片機(jī)中的應(yīng)用

作者: 時(shí)間:2012-03-06 來(lái)源:網(wǎng)絡(luò) 收藏

5 在MCS-51

5.1 硬件連接

當(dāng)IS22C011/20的S1~S4、STB/BUSY等信號(hào)端由MCS-51或其它接口(如8255A)控制時(shí)可方便地實(shí)現(xiàn)單段一次、多次或多段連續(xù)觸發(fā),圖7為8031與IS22C011/20連接線路。由于8031在復(fù)位時(shí)的口線輸出為高電平,而S1~S4為高電平有效,因此P1. 0~P1.3可通過(guò)4069反相器與S1~S4相連。將STB/BUSY控制端與P3.5(T1口)相連可用于單段多次或多段連續(xù)觸發(fā),T1口工作于方式 2可自動(dòng)再裝入8位計(jì)數(shù)方式,并允許T1口中斷。一旦前段播放完畢,則由STP信號(hào)觸發(fā)T1口向CPU發(fā)出中斷申請(qǐng),以進(jìn)行再次觸發(fā)或觸發(fā)下一段,因此, STP/BUSY信號(hào)選項(xiàng)應(yīng)選擇STP信號(hào),而S1~S4則用于選擇脈沖觸發(fā)。由于防抖觸發(fā)延遲時(shí)間為15ms,因此觸發(fā)時(shí)的脈沖寬度必須大于15ms,本文中的程序設(shè)計(jì)為30ms。

43.jpg

5.2 軟件編寫

以下為單段一次、再次播放和二段連播程序清單,其中“DEL”為觸發(fā)脈沖脈寬延時(shí)子程序,脈寬為30ms。為了提高CPU的工作效率,程序中采用T0 口中斷定時(shí)方式。R0用于設(shè)置播放次數(shù)或段落數(shù),#00H為單段一次播放,#01H為單段二次或二段連播。R1、R2的低四位設(shè)置二次播放的觸發(fā)譯碼,單段二次連播時(shí)R1、R2應(yīng)設(shè)置相同的譯碼,單段一次時(shí)R2可不用。由于采用4069反相驅(qū)動(dòng),因此R1、R2中設(shè)置的觸發(fā)譯碼應(yīng)將表1中的譯碼取反。具體的程序清單如下:



評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉