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