• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

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

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

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

    3 軟件設(shè)計
    3.1 程序流程圖
    如圖2所示:

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

    圖2

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

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

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


    上一頁 1 2 下一頁

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

    評論


    相關(guān)推薦

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

    關(guān)閉
    主站蜘蛛池模板: 桐柏县| 门源| 师宗县| 武强县| 湘潭市| 闽侯县| 扎赉特旗| 香河县| 汝阳县| 明溪县| 延庆县| 洛浦县| 饶平县| 盘山县| 米泉市| 丰台区| 罗田县| 石渠县| 巩留县| 兴文县| 维西| 河曲县| 新密市| 烟台市| 象山县| 高邮市| 台北县| 元阳县| 驻马店市| 安远县| 青川县| 襄垣县| 波密县| 新源县| 旺苍县| 雷波县| 赤水市| 临潭县| 曲沃县| 财经| 宜州市|