摘要: 本文將介紹一種基于單片機的語音播報伏特表,該系統(tǒng)可以對直流電壓進行比較高精度的測量并用語音播報該值。同時,亦可以通過改變ADC中REF(—)和 REF(+)的值實現(xiàn)對不同范圍的直流電壓的測量。 關(guān)鍵詞: 單片機 語音播報 模數(shù)轉(zhuǎn)換(ADC) 伏特表 [b]引言 [/b] 傳統(tǒng)的伏特表在我們的日常生活及科學(xué)研究中起到了其獨特的作用,但是在科學(xué)技術(shù)日新月異、集成芯片在日常生活中的應(yīng)用越來越廣泛的今天顯得比較落伍:①它們的量程往往在出廠以前就限定好的,不能根據(jù)具體使用場合進行相應(yīng)調(diào)整;②測量精度有限;③不能夠?qū)y量結(jié)果用語音播放出來。本文將介紹一種由單片機最小系統(tǒng)[1][3]、模-數(shù)轉(zhuǎn)換電路[3] [5]、語音電路[2][4]、LED顯示電路[1][3]組成的單片機式語音播報伏特表。 [b]1、硬件設(shè)計 [/b] 整個系統(tǒng)的組成可以分成四大部分:單片機、模-數(shù)轉(zhuǎn)換電路、語音電路、LED顯示電路。下面就主要的部分進行具體介紹。 1.1、單片機 目前流行的單片機很多,其中89C51自帶有片內(nèi)ROM和一定數(shù)量的RAM,一般不需要擴展片外的存儲器,并且能和MCS—51產(chǎn)品兼容。本設(shè)計選擇 89C51單片機,如下圖所示:
圖 1-1 89C51單片機 本設(shè)計選用簡單基本的經(jīng)典復(fù)位電路,它利用電容和電阻的充放電來產(chǎn)生一個達(dá)到時間要求的連續(xù)低電壓,并輸入到單片機的復(fù)位管腳。 1.2、 模-數(shù)轉(zhuǎn)換電路 模-數(shù)轉(zhuǎn)換選擇8位的ADC即AD0809,模塊分布如圖 1-2,測量范圍由REF(-)和REF(+)接的電壓決定,使用的時候可以根據(jù)具體的需求更改測量量程。 工作原理如下:首先,地址控制模塊中,由單片機送來“通道控制信號”選擇我們所需要的通道,隨后ALE信號鎖定該通道。此時,外界的模擬輸入就可以通過 “模擬輸入開關(guān)”進入AD轉(zhuǎn)換器。這時,只要START信號一有效馬上就開始進行AD轉(zhuǎn)換。 AD轉(zhuǎn)換的過程其實就是一個“和參考電壓比較,逐次逼近”的過程。由“256電阻階梯”模塊提供參考電壓,并在“開關(guān)陣列”的控制下,和輸入進行比較,直到在“S.A.R.”模塊中得到一個比較精確的數(shù)字化輸出值,這時由“控制/定時模塊”發(fā)送EOC信號通知外部AD轉(zhuǎn)換完畢。所的到的數(shù)字信號存于“輸出鎖存模塊”中,只要單片機來一個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與單片機CPU 的I/O口連接,這樣可單獨提取64段語音信息,并在軟件的支持下可自動組合成若干段完整的長短語句。接通電源,電路自動進入節(jié)電準(zhǔn)備狀態(tài)。按住錄音鍵 (REC保持低電平),電路進入錄音狀態(tài),錄音指示燈亮,直至REC變高或存儲器錄滿,錄音結(jié)束進入準(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è)計采用軟件查表譯碼的方法。 [b]2 軟件設(shè)計 [/b] 軟件的設(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)程序沒問題時,通過直接下載到單片機來調(diào)試.采取的是自下到上的調(diào)試方法,即單獨調(diào)試好每一個模塊,然后再連接成一個完整的系統(tǒng)調(diào)試. [b]4、硬件調(diào)試 [/b] 調(diào)試時使用標(biāo)準(zhǔn)電源,digital multimeter DT9505數(shù)字萬用表可以判定系統(tǒng)測量的精度。系統(tǒng)供電電壓:5V(標(biāo)準(zhǔn))
對所測的數(shù)據(jù)進行分析可以得出以下結(jié)論:用標(biāo)準(zhǔn)的5伏電壓供電的時候,所測的電壓只在個別的電壓范圍內(nèi)有0.01伏的誤差,其他范圍幾乎沒有誤差。由于軟件算法的限制,最大誤差在5伏處,為0.02伏。 [b] 5、軟硬件聯(lián)調(diào)[/b] 通過設(shè)定仿真器的屬性,從而通過仿真器實現(xiàn)軟硬件聯(lián)調(diào)。對應(yīng)每個模塊功能在硬件電路實現(xiàn),通過仿真器的單步執(zhí)行或斷點執(zhí)行及全速執(zhí)行,來觀察硬件電路的反應(yīng)是否正常。在調(diào)試過程中對出現(xiàn)的問題進行修改和改進,為硬件的脫機運行打下基礎(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)故障。真實仿真頭要接收硬件電路的中斷信號,并進入中斷服務(wù)子程序完成相應(yīng)的動作。所以,本設(shè)計軟件中本應(yīng)該用定時器精確延時的地方,不得不用軟件延時,導(dǎo)致設(shè)計未能夠充分利用資源,增大了CPU的負(fù)擔(dān)。 [b] 6、結(jié)論 [/b] 研究的基于MCS—51單片機的語音播報伏特表,采用串口擴展(LED部分)、實時轉(zhuǎn)換(ADC部分)、按鍵復(fù)位等技術(shù),可以對直流電壓進行比較高精度的測量并用語音播報該值。系統(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] 上海市教育委員會組 丁元杰. 單片微機原理及應(yīng)用 北京:機械工業(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