火車站信號(hào)自動(dòng)語(yǔ)音播報(bào)系統(tǒng)的設(shè)計(jì)
2.2 信號(hào)查詢子程序
信號(hào)查詢子程序的流程見(jiàn)圖7,系統(tǒng)30多路信號(hào)分別占用AT89C51單片機(jī)的部分I/O線和可編程接口8255的A、B、C口24路輸入線。程序?qū)Χ嗦沸盘?hào)進(jìn)行逐一查詢,并對(duì)到來(lái)的有效信號(hào)進(jìn)行分單元標(biāo)記儲(chǔ)存,以便將參數(shù)傳遞給主控程序。本文引用地址:http://m.butianyuan.cn/article/188578.htm
2.3 語(yǔ)音播報(bào)子程序
ISD4004芯片所有操作必須由微控制器控制的操作命令,通過(guò)串行通信協(xié)議SPI接口送入。SPI控制寄存器控制芯片的錄放音、信息檢索、上電、掉電、開(kāi)始和停止等功能,由軟件編程指令改變SPI控制寄存器的控制位來(lái)實(shí)現(xiàn),SPI控制寄存器的控制位如圖8所示,指令格式是:8位控制碼+16位地址碼。ISD的任何操作在運(yùn)行位C4置1時(shí)開(kāi)始,置0時(shí)結(jié)束,如果遇到EOM或OVF,則產(chǎn)生一個(gè)中斷,使用“讀”指令使中斷狀態(tài)位移出ISD的MISO引腳時(shí),控制及地址數(shù)據(jù)也同步從MOSI端移入。因此要注意移入的數(shù)據(jù)是否與器件當(dāng)前進(jìn)行的操作兼容。當(dāng)然,也允許在一個(gè)SPI周期里,同時(shí)執(zhí)行讀狀態(tài)和開(kāi)始新的操作(即新移入的數(shù)據(jù)與器件當(dāng)前的操作可以不兼容)。
語(yǔ)音播報(bào)子程序,要嚴(yán)格按照以上ISD4004的要求編程,其流程見(jiàn)圖9。系統(tǒng)確認(rèn)當(dāng)前播報(bào)信號(hào)有效時(shí),通過(guò)查找語(yǔ)音存放地址,得到16位的播報(bào)地址。首先要調(diào)用上電子程序,送上電指令,然后等待約25μs的延遲,再傳送16位放音起始地址參數(shù)和8位從指定地址開(kāi)始放音的指令,分別調(diào)用數(shù)據(jù)發(fā)送子程序,完成信息的播報(bào)。
2.4 數(shù)據(jù)發(fā)送子程序
數(shù)據(jù)發(fā)送子程序流程圖見(jiàn)圖1O,主要將16位放音地址和8位功能控制指令數(shù)據(jù)按照SPI協(xié)議標(biāo)準(zhǔn),在串行時(shí)鐘同步下傳送到ISD4004的MOSI。
2.5 上電、掉電子程序
ISD4004可實(shí)現(xiàn)電源操作模式的管理,通過(guò)指令編程完成上電和掉電的操作,其程序流程圖見(jiàn)圖11和圖12。芯片掉電后進(jìn)入低功耗狀態(tài),耗電電流1μA左右,只有在上電操作完成后芯片才能正常工作。
3 結(jié) 語(yǔ)
闡述了基于ISD4004芯片設(shè)計(jì)的單片機(jī)控制語(yǔ)音播報(bào)系統(tǒng)在火車站信號(hào)控制室實(shí)際應(yīng)用的一個(gè)事例,主要介紹了系統(tǒng)軟、硬件的設(shè)計(jì)方法,其目的就在于提供一種多路工業(yè)過(guò)程控制在線語(yǔ)音提示或報(bào)警的微機(jī)控制模塊,可以稍加改造,方便地與常規(guī)工業(yè)控制系統(tǒng)或設(shè)備配合使用,甚至還可以方便地與復(fù)雜系統(tǒng)和DCS系統(tǒng)配合使用,完成各種工業(yè)控制和監(jiān)測(cè)系統(tǒng)的工作狀態(tài)報(bào)警和操作提示。
評(píng)論