單片機(jī)式語音播報伏特表
——
關(guān)鍵詞: 單片機(jī) 語音播報 模數(shù)轉(zhuǎn)換(ADC) 伏特表
引言
傳統(tǒng)的伏特表在我們的日常生活及科學(xué)研究中起到了其獨特的作用,但是在科學(xué)技術(shù)日新月異、集成芯片在日常生活中的應(yīng)用越來越廣泛的今天顯得比較落伍:①它們的量程往往在出廠以前就限定好的,不能根據(jù)具體使用場合進(jìn)行相應(yīng)調(diào)整;②測量精度有限;③不能夠?qū)y量結(jié)果用語音播放出來。本文將介紹一種由單片機(jī)最小系統(tǒng)[1][3]、模-數(shù)轉(zhuǎn)換電路[3] [5]、語音電路[2][4]、LED顯示電路[1][3]組成的單片機(jī)式語音播報伏特表。
1、硬件設(shè)計
整個系統(tǒng)的組成可以分成四大部分:單片機(jī)、模-數(shù)轉(zhuǎn)換電路、語音電路、LED顯示電路。下面就主要的部分進(jìn)行具體介紹。
1.1、單片機(jī)
目前流行的單片機(jī)很多,其中89C51自帶有片內(nèi)ROM和一定數(shù)量的RAM,一般不需要擴(kuò)展片外的存儲器,并且能和MCS—51產(chǎn)品兼容。本設(shè)計選擇89C51單片機(jī),如下圖所示:
圖 1-1 89C51單片機(jī)
本設(shè)計選用簡單基本的經(jīng)典復(fù)位電路,它利用電容和電阻的充放電來產(chǎn)生一個達(dá)到時間要求的連續(xù)低電壓,并輸入到單片機(jī)的復(fù)位管腳。
1.2、 模-數(shù)轉(zhuǎn)換電路
模-數(shù)轉(zhuǎn)換選擇8位的ADC即AD0809,模塊分布如圖 1-2,測量范圍由REF(-)和REF(+)接的電壓決定,使用的時候可以根據(jù)具體的需求更改測量量程。 {{分頁}}
工作原理如下:首先,地址控制模塊中,由單片機(jī)送來“通道控制信號”選擇我們所需要的通道,隨后ALE信號鎖定該通道。此時,外界的模擬輸入就可以通過“模擬輸入開關(guān)”進(jìn)入AD轉(zhuǎn)換器。這時,只要START信號一有效馬上就開始進(jìn)行AD轉(zhuǎn)換。
AD轉(zhuǎn)換的過程其實就是一個“和參考電壓比較,逐次逼近”的過程。由“256電阻階梯”模塊提供參考電壓,并在“開關(guān)陣列”的控制下,和輸入進(jìn)行比較,直到在“S.A.R.”模塊中得到一個比較精確的數(shù)字化輸出值,這時由“控制/定時模塊”發(fā)送EOC信號通知外部AD轉(zhuǎn)換完畢。所的到的數(shù)字信號存于“輸出鎖存模塊”中,只要單片機(jī)來一個OUTPUT ENABLE信號即可輸出數(shù)據(jù)。
圖 1-2 ADC模塊圖
ADC芯片如下:
圖 1-3 ADC芯片圖
模-數(shù)轉(zhuǎn)換工作主要是由硬件完成的,其軟件部分相當(dāng)簡單. {{分頁}}
1.3、 語音播報
從設(shè)計的要求、芯片的性能等方面考慮,設(shè)計時選擇了ISD1400。它的功能齊全,控制信號只使用89C51的I/O控制線。內(nèi)含64K/128K EEPROM存儲器、消除噪聲的話筒前置放大器和自動增益調(diào)節(jié)AGC電路、適合語音的專用濾波電路、具有極高溫度穩(wěn)定性能的時鐘振蕩電路及全部語音處理電路。這種電路還提了多種應(yīng)用方式選擇和接口,并可方便地應(yīng)用到各種集成化電子語音系統(tǒng)中。語音錄放組件可用于各種一段式語音留言裝置、語音報警及語音提示裝置中,能夠在電源斷開的情況下,長期保存信息。設(shè)計時具體的連接如下:
圖 1-4 語音系統(tǒng)
ISD1420可分段存貯20秒語音信息,按每秒鐘可讀3個漢字計算,20秒可分段貯存609多個漢字語音。將ISD1420的A2~A7與單片機(jī)CPU的I/O口連接,這樣可單獨提取64段語音信息,并在軟件的支持下可自動組合成若干段完整的長短語句。接通電源,電路自動進(jìn)入節(jié)電準(zhǔn)備狀態(tài)。按住錄音鍵(REC保持低電平),電路進(jìn)入錄音狀態(tài),錄音指示燈亮,直至REC變高或存儲器錄滿,錄音結(jié)束進(jìn)入準(zhǔn)備狀態(tài)。錄音完畢即可使用。
1.4、 LED顯示方案
顯示方案常用的有兩種:串口和并口。由于設(shè)計中,對于89C51的I/O口利用緊張的關(guān)系,我們選用串口來顯示。為了能夠同時顯示3個LED數(shù)碼管,本系統(tǒng)需要增加三個74LS164做串——并轉(zhuǎn)換。同時,由于電壓的關(guān)系,還需要加上限流電阻。在譯碼方面有硬件和軟件兩種方式,為了減小硬件的復(fù)雜程度,設(shè)計采用軟件查表譯碼的方法。
2 軟件設(shè)計
軟件的設(shè)計實行模塊化,主要由模數(shù)轉(zhuǎn)換、誤差判斷(如果一直測同一值即誤差很小就不二次播報)、碼制轉(zhuǎn)換、LED顯示、語音播報幾大模塊構(gòu)成。軟件
流程圖如下:
{{分頁}}
3、軟件調(diào)試
本系統(tǒng)的軟件系統(tǒng)全部采用C51來編寫,由于一般的仿真器對C51的支持有一定的缺陷,軟件調(diào)試比較復(fù)雜.除了語法差錯外,當(dāng)確認(rèn)程序沒問題時,通過直接下載到單片機(jī)來調(diào)試.采取的是自下到上的調(diào)試方法,即單獨調(diào)試好每一個模塊,然后再連接成一個完整的系統(tǒng)調(diào)試.
4、硬件調(diào)試
調(diào)試時使用標(biāo)準(zhǔn)電源,digital multimeter DT9505數(shù)字萬用表可以判定系統(tǒng)測量的精度。系統(tǒng)供電電壓:5V(標(biāo)準(zhǔn))
對所測的數(shù)據(jù)進(jìn)行分析可以得出以下結(jié)論:用標(biāo)準(zhǔn)的5伏電壓供電的時候,所測的電壓只在個別的電壓范圍內(nèi)有0.01伏的誤差,其他范圍幾乎沒有誤差。由于軟件算法的限制,最大誤差在5伏處,為0.02伏。
5、軟硬件聯(lián)調(diào)
通過設(shè)定仿真器的屬性,從而通過仿真器實現(xiàn)軟硬件聯(lián)調(diào)。對應(yīng)每個模塊功能在硬件電路實現(xiàn),通過仿真器的單步執(zhí)行或斷點執(zhí)行及全速執(zhí)行,來觀察硬件電路的反應(yīng)是否正常。在調(diào)試過程中對出現(xiàn)的問題進(jìn)行修改和改進(jìn),為硬件的脫機(jī)運行打下基礎(chǔ)。
焊接硬件電路在認(rèn)真檢查的基礎(chǔ)上,還要掌握好焊接的時間。為避免虛焊,要求焊錫與導(dǎo)線充分接觸,但我們均采用膠皮導(dǎo)線,過高的溫度會使膠皮脫落,在與其他導(dǎo)線交叉的情況下容易造成兩導(dǎo)線的短接,產(chǎn)生不可靠性。在焊接時,亦容易將座子的塑膠材料燒壞。
使用模擬仿真頭與使用真實仿真頭調(diào)試有點區(qū)別。模擬仿真頭調(diào)試的時候不易出現(xiàn)真實仿真頭調(diào)試時產(chǎn)生的硬調(diào)故障。真實仿真頭要接收硬件電路的中斷信號,并進(jìn)入中斷服務(wù)子程序完成相應(yīng)的動作。所以,本設(shè)計軟件中本應(yīng)該用定時器精確延時的地方,不得不用軟件延時,導(dǎo)致設(shè)計未能夠充分利用資源,增大了CPU的負(fù)擔(dān)。
6、結(jié)論
研究的基于MCS—51單片機(jī)的語音播報伏特表,采用串口擴(kuò)展(LED部分)、實時轉(zhuǎn)換(ADC部分)、按鍵復(fù)位等技術(shù),可以對直流電壓進(jìn)行比較高精度的測量并用語音播報該值。系統(tǒng)的運行可靠、穩(wěn)定。對系統(tǒng)測量結(jié)果分析可以看出:用標(biāo)準(zhǔn)的5伏電壓供電時,所測的電壓誤差在0.01伏范圍內(nèi)。
伏特表的量程調(diào)整也是很方便的,在實際的運用過程中,不同的用戶可以根據(jù)自己的實際需要,更改REF(—)和REF(+)值便可調(diào)整量程。
7、參考文獻(xiàn):
[1] 全國大學(xué)生電子設(shè)計競賽組委會 .第五界全國大學(xué)生電子設(shè)計競賽獲獎作品選編 北京:北京理工大學(xué)出版社
[2] winbond. ISD1400 Series Single-Chip Voice Record/Playback Devices 16-and 20-Second Durations . America : Electronics Corporation America
[3] 上海市教育委員會組 丁元杰. 單片微機(jī)原理及應(yīng)用 北京:機(jī)械工業(yè)出版社 P176――185 P200――-204
[4] http://www.21cm.com.cn/product/zy1420/ISD1420shouce.pdf
[5] http://stocks.find-ic.com/search.asp?p=AD0809
評論