<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 一種基于單片機控制的ISD4004語(yǔ)音芯片應用電路

一種基于單片機控制的ISD4004語(yǔ)音芯片應用電路

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

3 軟件設計
3.1 程序流程圖
如圖2所示:

一種基于單片機控制的ISD4004語(yǔ)音芯片應用電路

圖2

3.2 程序工作思想
電路上電后,程序首先完成程序的初始化,隨后查詢(xún)按鍵狀態(tài),進(jìn)入系統待機狀態(tài)。如果有按鍵按下,則轉去執行該按鍵指向的工作程序。按鍵包括放音鍵,停止鍵,加一,減一鍵以及特殊語(yǔ)鍵。在待機狀態(tài)下,如果放音鍵首次被按下,程序將首先判斷是去還是回(公交車(chē)路徑一般是既去又回的),并點(diǎn)亮相應的指示燈。自動(dòng)讀出第一站的放音內容,站號顯示1。如果不是首次按下,程序則首先判斷當前站號,并以該站號為依據獲得存放該站放音內容的首地址。調用放音子程序,讀入前面獲得的本站放音內容首地址,開(kāi)始放音。每一句放音完畢后,ISD4004的中斷引腳(25腳)會(huì )自動(dòng)送一低電平信號。在硬件設計中,該引腳與的 P3.3連接。因此,會(huì )引起一次中斷,在中斷子程序中會(huì )有一個(gè)計數器記錄中斷次數,從而判斷何時(shí)一站結束,站號加一并刷新顯示。加一鍵按下后則使程序放音內容轉向下一站,減一鍵則使程序放音內容轉向上一站,相應的站號顯示也將隨之刷新。特殊語(yǔ)鍵按下后,程序轉向執行特殊語(yǔ)放音(譬如拐彎請注意等語(yǔ)句)。停止鍵被按下將中止當前的放音狀態(tài)。
3.3 部分工作子程序
為了便于讀者對ISD4004應用的理解,本文給出了部分操作程序。
該部分程序主要完成放音操作,把獲得的放音內容的地址送到ISD4004中,完成放音。下面給出的就是放音部分程序。放音子程序:
PLAY:
ACALL POWERUP ;上電子程序
ACALL DELAY25 ;延遲子程序,至少延遲25ms
CLR P1.6 ;選中ISD4004
MOV PLAY2,#11100000B ;存放SETPLAY命令
MOV A,PLAY0 ;送放音地址低8位
ACALL SEND ;調用送地址子程序
MOV A,PLAY1 ;送放音地址高8位
ACALL SEND
MOV A,PLAY2 ;送SETPLAY命令
ACALL SEND
SETB P1.6
CLR P1.6
MOV PLAYING,#11110000B ;送入放音指令
MOV A,PLAYING
ACALL SEND
SETB P1.6
RET
POWERUP: ;送上電指令子程序
MOV POWING,#00100000B ;送入語(yǔ)音芯片上電信號
MOV A,POWUPING
CLR P1.6
ACALL SEND
SETB P1.6
RET
SEND: ;向ISD4004送指令,地址等的子程序
CLR MOSI
CLR P3.2
MOV R1,#8
OUTBIT1:
CLR P3.2 ;時(shí)鐘下降
RRC A
MOV MOSI,C ;輸出1位
NOP
NOP
NOP
SETB P3.2 ;時(shí)鐘上升沿到
NOP
NOP
NOP
DJNZ R1,OUTBIT1
RET
3.4 編程以及調試時(shí)要注意的一些問(wèn)題
在放音程序中,要嚴格按照ISD4004的要求編程。首先要送上電指令,然后等待25毫秒的延遲,再送16位放音起始地址,最后送8位的開(kāi)始放音指令。
在放音電路的調試過(guò)程中,首先測量ISD4004的工作電壓是否3伏,如果是則進(jìn)入下級調試。再看是否可以送入放音地址,對此可以測量AUDOUT引腳的電壓,若為1.2伏則說(shuō)明可以讀入放音地址。隨后測量是否能夠放音,可以測量AUDOUT引腳電壓,若為1.2伏,則說(shuō)明ISD4004芯片工作正常,應該可以放音。如果還沒(méi)有聽(tīng)到放音,則可以調試后級放音電路,看是否后級電路的問(wèn)題。

4 結束語(yǔ)
本文通過(guò)對ISD4004語(yǔ)音芯片在語(yǔ)音報站器中的一個(gè)實(shí)際應用的簡(jiǎn)單介紹,使讀者熟悉了的基本應用。同時(shí)本文介紹的報站器電路已經(jīng)經(jīng)過(guò)上車(chē)實(shí)驗調試,能夠可靠穩定工作。

參考文獻
1 李華 《MCS-51系列實(shí)用接口技術(shù)》 北京航空航天大學(xué)出版社 1993年
2 薛鈞義 張彥斌 《MCS-51/96系列單片微型計算機及其應用》 西安交通大學(xué)出版社 1997年第2版
3 王振紅 李洋 郝承祥 《ISD4004語(yǔ)音芯片的工作原理及其在智能控制系統中的應用》 電子器件 2002年3月第25卷第1期


上一頁(yè) 1 2 下一頁(yè)

關(guān)鍵詞: 1SD4004 單片機 89C52

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>