崔巍 周宇
摘要:基于STC89C52設(shè)計(jì)一種應(yīng)用于高校音樂類專業(yè)學(xué)生琴房管理的語音提醒儀。使用STC89C52控制語音芯片、液晶顯示模塊和計(jì)時(shí)器模塊,通過RS232電平轉(zhuǎn)換,485芯片ADM2483組成總線連接每個(gè)琴房?jī)?nèi)的語音提醒儀,利用上位機(jī)琴房管理軟件與串口通信控件在總線上傳輸數(shù)據(jù)。該方案可以解決在琴房管理中人為地去提醒學(xué)生練琴時(shí)間已到。
關(guān)鍵詞:語音提醒儀;ADM2483;ISDl760
0引言
隨著人工智能的高速研發(fā)與應(yīng)用,高等院校藝術(shù)專業(yè)對(duì)學(xué)生琴房的管理也隨即引入可行智能化改進(jìn)即已成為順應(yīng)現(xiàn)實(shí)潮流發(fā)展的必然趨勢(shì)。市面上現(xiàn)有的琴房管理系統(tǒng)可以對(duì)學(xué)生練琴時(shí)間進(jìn)行統(tǒng)計(jì),但超出規(guī)定練琴時(shí)間后無法自動(dòng)提醒學(xué)生練琴時(shí)間已到,需要人為地去主動(dòng)提醒。針對(duì)這一狀況,設(shè)計(jì)研發(fā)了一款基于單片機(jī)控制的語音提醒儀。
1系統(tǒng)總體方案設(shè)計(jì)
本系統(tǒng)是在琴房管理系統(tǒng)的基礎(chǔ)上拓展設(shè)計(jì)并實(shí)現(xiàn)運(yùn)行的。學(xué)生在琴房管理室刷卡上琴,琴房管理軟件自動(dòng)分配一間空閑琴房給學(xué)生,同時(shí)上位機(jī)琴房管理軟件傳遞給相應(yīng)琴房單片機(jī)剩余時(shí)間信號(hào),當(dāng)學(xué)生走去該琴房刷卡進(jìn)門后,門禁系統(tǒng)檢測(cè)到開門信號(hào)后將信號(hào)傳遞給MCU。這時(shí)本次研發(fā)設(shè)計(jì)的語音提醒儀即會(huì)開始工作。
當(dāng)MCU接收到上位機(jī)提供的該學(xué)生練琴剩余時(shí)間的信號(hào)后,MCU就會(huì)循環(huán)檢測(cè)開門信號(hào)的到來,當(dāng)實(shí)際偵獲開門信號(hào)后,MCU一方面將計(jì)時(shí)器啟動(dòng)以及在LCD顯示屏上顯示“歡迎練琴,練琴倒計(jì)時(shí):XX:XX”,另一方面控制語音芯片播放“歡迎練琴,請(qǐng)愛護(hù)公物”提示音。此時(shí)即表征學(xué)生練琴開始,而后當(dāng)練琴剩余時(shí)間到零后,計(jì)時(shí)器給單片機(jī)發(fā)送信號(hào),而后有效控制LCD顯示器顯示練琴時(shí)間已到,并觸發(fā)語音芯片播放語音提示音“練琴時(shí)間已到,請(qǐng)整理好鋼琴并到琴房管理室刷卡下琴”。如學(xué)生在練琴剩余時(shí)間還未到時(shí)需要下琴,設(shè)計(jì)中該學(xué)生則只需到琴房管理室刷卡下琴即可,當(dāng)琴房管理室中琴房管理軟件接收到下琴信號(hào)以后,將會(huì)給相應(yīng)琴房單片機(jī)提交一個(gè)停止計(jì)時(shí)信號(hào),相應(yīng)琴房單片機(jī)就會(huì)停止計(jì)時(shí)并恢復(fù)初始默認(rèn)狀態(tài)。
系統(tǒng)的主要設(shè)計(jì)構(gòu)成有:上位機(jī)琴房管理軟件、總線通信模塊、單片機(jī)微控制器、文字顯示模塊、語音播報(bào)模塊、計(jì)時(shí)器。系統(tǒng)整體框架如圖1所示。
2系統(tǒng)硬件設(shè)計(jì)
2.1上位機(jī)琴房管理軟件、總線通信模塊、單片機(jī)微控制器
通過上位機(jī)琴房管理軟件可以到得學(xué)生練琴剩余時(shí)間數(shù)據(jù)和琴房分配房間號(hào)碼,利用VB軟件編程而與琴房管理軟件高效建立數(shù)據(jù)的讀取對(duì)接,進(jìn)一步用MSCOMM控件來設(shè)計(jì)支持串口通信。總線通信模塊使用PC機(jī)的RS 232串口輸出,借助MAX232電平轉(zhuǎn)換后接到485總線上,單片機(jī)通過ADM2483接到485總線上,從而研發(fā)可得PC機(jī)與多單片機(jī)的串口通信,單片機(jī)使用STC89C52,利用單片機(jī)內(nèi)自帶的串口通信接口與ADM2483相接,實(shí)現(xiàn)異步串行通信。本設(shè)計(jì)是針對(duì)延安大學(xué)魯藝學(xué)院學(xué)生琴房練琴倒計(jì)時(shí)設(shè)計(jì)提出的解決方案,魯藝學(xué)院現(xiàn)共有50間學(xué)生琴房,均使用485總線進(jìn)行連接。ADM2483芯片可提供256個(gè)總線節(jié)點(diǎn),完全可以滿足需求及日后的擴(kuò)展??偩€連接架構(gòu)示意即如圖2所示。
2.2語音提醒模塊設(shè)計(jì)
利用STC89C52單片機(jī)作為微控制器,一方面接收來自總線上ADM2483數(shù)據(jù)信號(hào),另一方面則是調(diào)度控制整個(gè)語音提醒模塊。顯示模塊使用LCDl2864帶中文字庫(kù)的液晶顯示器,采用串口模式傳送數(shù)據(jù),LCDl2864的RS、WR、E引腳分別與單片機(jī)的P0.1~P0.2連接。語音存儲(chǔ)模塊使用ISDl760語音芯片,采用自帶串口通信接口MISO、MOIS、SCLK、SS分別與單片機(jī)的PO.4-P0.7連接。計(jì)時(shí)模塊使用DSl337芯片,采用自帶串口通信接口I/O、SCLK、RST分別與單片機(jī)的P2.0~P2.2連接。由于本裝置檢測(cè)開門需求簡(jiǎn)單,待相應(yīng)琴房語音提醒儀接收到上位機(jī)發(fā)送的練琴剩余時(shí)間信號(hào)后,即轉(zhuǎn)入開門信號(hào)檢測(cè),當(dāng)檢測(cè)第一次開門信號(hào)后提醒儀就設(shè)置為工作狀態(tài),期間任何時(shí)候不再檢測(cè)。直到上位機(jī)發(fā)送來相應(yīng)的停止計(jì)時(shí)信號(hào)后,轉(zhuǎn)入初始狀態(tài)。研發(fā)過程中,設(shè)計(jì)選用了單片機(jī)的I/O口P0.3來展開高低電平檢測(cè)以甄別判斷是否開門。研究可得,整體運(yùn)行電路即如圖3所示。
3系統(tǒng)軟件設(shè)計(jì)
當(dāng)學(xué)生刷卡上琴時(shí),琴房管理軟件會(huì)自動(dòng)為該生分配一間空閑琴房,這時(shí)可以通過上位機(jī)琴房管理軟件運(yùn)行得到學(xué)生練琴剩余時(shí)間數(shù)據(jù)和分配琴房序號(hào),進(jìn)一步可以得到相應(yīng)琴房房間號(hào)以及該學(xué)生練琴剩余時(shí)間。上位機(jī)通過串口總線廣播地址,從機(jī)判斷接收到的地址是否與本機(jī)地址相等,如果相等則接收轉(zhuǎn)發(fā)的剩余時(shí)間信號(hào),與之關(guān)聯(lián)的提醒儀也隨即轉(zhuǎn)入檢測(cè)等待開門信號(hào)。當(dāng)檢測(cè)到開門信號(hào)后,就自行開始工作。單片機(jī)接收到上述指定的剩余時(shí)間信號(hào),啟動(dòng)DS1337計(jì)時(shí)器開始倒計(jì)時(shí),啟動(dòng)LCD12864進(jìn)行數(shù)字顯示,并且啟動(dòng)語音芯片ISD1760。然后,單片機(jī)將持續(xù)檢測(cè)總線結(jié)束信號(hào)(優(yōu)先級(jí)高)及計(jì)時(shí)器到時(shí)信號(hào)。當(dāng)總線停止信號(hào)進(jìn)來,系統(tǒng)直接轉(zhuǎn)到系統(tǒng)復(fù)位;當(dāng)計(jì)時(shí)器到時(shí)信號(hào)進(jìn)來,啟動(dòng)LCD顯示,啟動(dòng)語音芯片,而后系統(tǒng)復(fù)位。綜上可得,系統(tǒng)智能研發(fā)流程具體可如圖4所示。
4結(jié)束語
本設(shè)計(jì)采用了ADM2483芯片組成總線系統(tǒng),單片機(jī)通過RxD和TxD通信接口與總線相連。單片機(jī)通過I/O口與語音芯片的SPI接口、LCD12864顯示以及計(jì)時(shí)器DSl337相連,使用串口通信方式進(jìn)行通信,可以節(jié)省單片機(jī)的I/O,方便日后的功能擴(kuò)展。該方案可以改進(jìn)在琴房管理中人工提醒學(xué)生練琴時(shí)間已到這一基礎(chǔ)現(xiàn)狀所呈現(xiàn)的問題與不足。實(shí)驗(yàn)測(cè)試證明,設(shè)計(jì)的提醒儀功能穩(wěn)定性較高,并可在經(jīng)由進(jìn)一步的優(yōu)化和接口擴(kuò)展后即運(yùn)行應(yīng)用于延安大學(xué)魯藝學(xué)院的學(xué)生琴房管理實(shí)踐中。