版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
引言我們的地球被一層大氣包圍著,其中氧氣占21%,78%是氮?dú)猓?%是其它氣體。這1%氣體當(dāng)中,就有只有一小部分為二氧化碳?xì)怏w,約為300ppm(百萬(wàn)分之一,即0.03%)。雖然含量較少,但是二氧化碳的作用缺越來(lái)越受到高度的重視。大氣二氧化碳持續(xù)增加,從而對(duì)整個(gè)地球的氣候產(chǎn)生重大影響,讓人們對(duì)二氧化碳這一微量氣體有了新的認(rèn)識(shí)。另一方面,做為植物光和作用的原料氣體,二氧化碳的應(yīng)用技術(shù)水平對(duì)農(nóng)業(yè)大國(guó)來(lái)說(shuō)也是至關(guān)重要。在辦公室的公共場(chǎng)合,二氧化碳測(cè)量也十分必須。二氧化碳在空氣中的含量越高,對(duì)人體的影響就越大,當(dāng)二氧化碳含量高出0.7%時(shí),人體就會(huì)感到不舒服,當(dāng)二氧化碳含量超過(guò)10%時(shí),人體就會(huì)出現(xiàn)昏迷和死亡。達(dá)到20%,人就會(huì)在幾秒內(nèi)死亡。因此在人群比較密集的地方,二氧化碳含量是一個(gè)非常重要的參數(shù),直接關(guān)系到人體舒適度和安全。當(dāng)代電子技術(shù)飛速發(fā)展,大規(guī)模集成電路不斷普及應(yīng)用,給人們的生活帶來(lái)巨大的變化。同時(shí)人們對(duì)于自己的生活質(zhì)量要求也不斷提高。如何根據(jù)實(shí)際需求設(shè)計(jì)二氧化碳濃度測(cè)量系統(tǒng)就成為一個(gè)具有現(xiàn)實(shí)意義的課題。傳感技術(shù)應(yīng)用的領(lǐng)域越來(lái)越廣泛,同時(shí)對(duì)其的要求也越來(lái)越高,需求越來(lái)越迫切。二氧化碳傳感器的技術(shù)研究也越來(lái)越成熟,產(chǎn)品的性能也越來(lái)越高。同時(shí),語(yǔ)音芯片應(yīng)用不斷普及,語(yǔ)音芯片產(chǎn)品的發(fā)展也十分迅速,新型號(hào)的語(yǔ)音芯片的功能更加強(qiáng)大。這使得設(shè)計(jì)一個(gè)二氧化碳濃度測(cè)量系統(tǒng)在技術(shù)層面上的難度逐漸降低。本文中設(shè)計(jì)的系統(tǒng),正是針對(duì)人群密集公共場(chǎng)所對(duì)二氧化碳濃度測(cè)量需求而設(shè)計(jì)。該系統(tǒng)能夠?qū)矆?chǎng)合的二氧化碳濃度進(jìn)行測(cè)量,并且能將測(cè)得濃度顯示和語(yǔ)音播報(bào),當(dāng)濃度過(guò)高時(shí)還可以向辦公室等公共場(chǎng)所的人員進(jìn)行報(bào)警提示,使得能及時(shí)提醒人員通風(fēng)以降低二氧化碳濃度。公共場(chǎng)所二氧化碳濃度播報(bào)器圍繞AT89S52來(lái)作為核心控制元件設(shè)計(jì)整個(gè)系統(tǒng),通過(guò)外圍電路的設(shè)計(jì),利用液晶和語(yǔ)音芯片實(shí)現(xiàn)對(duì)二氧化碳濃度的現(xiàn)實(shí)以及播報(bào)。本系統(tǒng),具有成本低,技術(shù)開(kāi)發(fā)難度小,適用性、靈活性較好,具有一定得應(yīng)用性。1設(shè)計(jì)方案二氧化碳語(yǔ)音播報(bào)器,顧名思義,即該系統(tǒng)實(shí)現(xiàn)的功能為對(duì)二氧化碳濃度的測(cè)試同時(shí)對(duì)其濃度進(jìn)行播報(bào)。二氧化碳濃度通過(guò)傳感器轉(zhuǎn)化成電量信號(hào),再通過(guò)單片機(jī)進(jìn)行采集處理。系統(tǒng)中的核心控制單元為單片機(jī),圍繞單片機(jī)設(shè)計(jì)相應(yīng)系統(tǒng)需求功能模塊。系統(tǒng)需求分析:系統(tǒng)需求分析主要是通過(guò)系統(tǒng)要求實(shí)現(xiàn)的功能對(duì)各個(gè)模塊部分應(yīng)該所具備的功能進(jìn)行分析。本系統(tǒng)基于AT89S52單片機(jī),實(shí)現(xiàn)對(duì)于室內(nèi)二氧化碳的濃度測(cè)量及及時(shí)播報(bào)。系統(tǒng)的所需要的功能有:實(shí)現(xiàn)對(duì)二氧化碳濃度的測(cè)量;語(yǔ)音播放功能;按鍵控制;LCD顯示功能。對(duì)于各部分性能有以下4點(diǎn)要求。(1)LCD顯示器正確測(cè)量結(jié)果,測(cè)量結(jié)果動(dòng)態(tài)變化,并且可以控制切換設(shè)置界面菜單;(2)二氧化碳濃度定時(shí)播報(bào),可以通過(guò)按鍵控制進(jìn)行播報(bào),可以實(shí)現(xiàn)對(duì)濃度值的正確播報(bào);(3)系統(tǒng)出現(xiàn)異??梢詮?fù)位;(4)系統(tǒng)具有按鍵控制功能。1.2方案設(shè)計(jì)1.2.1數(shù)據(jù)采集通過(guò)信號(hào)采集電路,主要是將二氧化碳的濃度值這一非電量信號(hào)轉(zhuǎn)化為模擬電信號(hào)再轉(zhuǎn)化為能通過(guò)單片機(jī)處理的數(shù)字量。因此前向通道由傳感器、信號(hào)放大電路和AD轉(zhuǎn)化電路組成。1.2.2控制部分本系統(tǒng)中控制信號(hào)主要是用來(lái)設(shè)置定時(shí)播報(bào)時(shí)間和報(bào)警濃度限值以及按鍵控制語(yǔ)音播報(bào),根據(jù)實(shí)際功能的需求,可以通過(guò)軟件使按鍵的功能靈活使用,僅需獨(dú)立按鍵即可以達(dá)到控制功能。1.2.3顯示部分因?yàn)橛胁煌脑O(shè)置功能要實(shí)現(xiàn),用LCD顯示比較方便,可以切換不同設(shè)置界面和二氧化碳濃度顯示界面。1.2.4語(yǔ)音播報(bào)單片機(jī)控制語(yǔ)音芯片來(lái)進(jìn)行語(yǔ)音播報(bào)。每次播報(bào)的內(nèi)容中有很多是重復(fù)的,只有二氧化碳的濃度值是變動(dòng)的。因此通過(guò)單片機(jī)來(lái)動(dòng)態(tài)調(diào)動(dòng)語(yǔ)音芯片內(nèi)的語(yǔ)音內(nèi)容實(shí)現(xiàn)相應(yīng)的播報(bào)內(nèi)容。1.3設(shè)計(jì)框圖基于以上的功能分析和設(shè)計(jì)的方案。單片機(jī)輸入端接收傳感器的測(cè)量信號(hào)和鍵盤控制信號(hào),輸出端控制液晶顯示和音樂(lè)芯片音樂(lè)芯片驅(qū)動(dòng)揚(yáng)聲器放音。設(shè)計(jì)框圖如下:LCD顯示(二氧化碳濃度及各設(shè)置菜單的顯示)二氧化碳?xì)怏w傳感器LCD顯示(二氧化碳濃度及各設(shè)置菜單的顯示)二氧化碳?xì)怏w傳感器C51單片機(jī)控制系統(tǒng)按鍵控制揚(yáng)聲器語(yǔ)音芯片按鍵控制揚(yáng)聲器語(yǔ)音芯片圖1.1系統(tǒng)總體框圖二氧化碳濃度為非電量信號(hào),不能由單片機(jī)直接處理,要先經(jīng)過(guò)傳感器,將二氧化碳濃度(非電量信號(hào))轉(zhuǎn)化電壓信號(hào)(電量信號(hào))。然后由單片機(jī)進(jìn)行數(shù)據(jù)處理,將采集到得電壓信號(hào)轉(zhuǎn)化成對(duì)應(yīng)的二氧化碳濃度值。再通過(guò)單片機(jī)控制液晶顯示濃度值,并控制語(yǔ)音芯片進(jìn)通過(guò)揚(yáng)聲器進(jìn)行語(yǔ)音播報(bào)。按鍵向單片機(jī)提供控制信號(hào),控制單片機(jī)實(shí)現(xiàn)報(bào)警濃度設(shè)置功能。2硬件設(shè)計(jì)本應(yīng)用系統(tǒng)的硬件電路設(shè)計(jì)包含4部分內(nèi)容:一是信號(hào)采集部分;二是控制單元部分;三是液晶顯示電路;四是語(yǔ)音電路。系統(tǒng)的擴(kuò)展和模塊設(shè)計(jì)應(yīng)遵循下列原則:(1)盡可能選擇標(biāo)準(zhǔn)化、模塊化的典型電路,提高設(shè)計(jì)的成功率和結(jié)構(gòu)的靈活性;(2)外圍電路配置的水平應(yīng)充分滿足應(yīng)用系統(tǒng)的功能要求;(3)硬件結(jié)構(gòu)應(yīng)結(jié)合應(yīng)用軟件方案一并考慮。硬件結(jié)果與軟件方案會(huì)產(chǎn)生相互影響,考慮的原則是:軟件能實(shí)現(xiàn)的功能盡可能由軟件來(lái)實(shí)現(xiàn),以簡(jiǎn)化硬件結(jié)構(gòu)。但必須注意,由軟件實(shí)現(xiàn)的硬件功能,其響應(yīng)時(shí)間要比直接用硬件響應(yīng)來(lái)的長(zhǎng),而且占用CPU時(shí)間。所以,選擇軟件方案時(shí),要考慮到這些因素;(4)整個(gè)系統(tǒng)中相關(guān)的器件要盡可能做到性能匹配;(5)單片機(jī)外接電路較多時(shí),必須考慮其驅(qū)動(dòng)能力。驅(qū)動(dòng)能力不足時(shí),系統(tǒng)工作不可靠,解決的辦法是增加驅(qū)動(dòng)能力,增設(shè)線驅(qū)動(dòng)器或減少芯片功耗,降低總線負(fù)載。2.1傳感器選擇及信號(hào)采集部分=1\*GB2⑴傳感器選擇及其性能測(cè)量二氧化碳濃度,傳感器的選擇十分重要。傳感器的性能直接決定后續(xù)電路的設(shè)計(jì)以及整個(gè)系統(tǒng)設(shè)計(jì)的難度。因此了解二氧化碳傳感器的種類,加以選擇十分重要。目前,國(guó)際成熟的二氧化碳傳感器有電化學(xué)式、半導(dǎo)體陶瓷式、固體電解質(zhì)式、紅外吸收式等四種原理產(chǎn)品。半導(dǎo)體陶瓷式二氧化碳傳感器以其制作簡(jiǎn)單、成本低廉、抗惡劣環(huán)境等特點(diǎn),受到業(yè)內(nèi)人士的重視。但是,這種類型的二氧化碳傳感器市場(chǎng)上不多,可能技術(shù)還不夠成熟。紅外吸收式的CO2傳感器的精度及穩(wěn)定性能都很好,但是由于它需要與光學(xué)系統(tǒng)組裝在一起成為一個(gè)完整的裝置。而這種裝置體積大,價(jià)格高,因此,在一般的公共場(chǎng)合中不方便使用。電化學(xué)式及熱傳導(dǎo)式的CO2傳感器雖然體積小,但是其精度、穩(wěn)定性及對(duì)氣體的選擇性都不太理想。且電化學(xué)式的CO2傳感器還存在著必須在電解質(zhì)溶液中使用的缺點(diǎn)。本系統(tǒng)采用的傳感器MS4100為固態(tài)電解質(zhì)測(cè)量方式,具有對(duì)二氧化碳反應(yīng)靈敏,受溫度和濕度影響小,成本低。二氧化碳傳感器相對(duì)于其他一般的煙霧傳感價(jià)格較為昂貴,而且技術(shù)相對(duì)成熟的產(chǎn)品大多為進(jìn)口,MS4100在眾多二氧化碳傳感器中,價(jià)格適中,性能比較穩(wěn)定,器采用原理是固態(tài)電解質(zhì)測(cè)量方式,使用時(shí)需要預(yù)熱。本產(chǎn)品預(yù)熱時(shí)間為1個(gè)小時(shí)。工作電壓5伏,與系統(tǒng)其它芯片可以統(tǒng)一供電,同時(shí)量程可以滿足公共場(chǎng)合測(cè)量二氧化碳濃度的需求。相應(yīng)時(shí)間較快只需5秒,輸出電壓易于放大,可以使測(cè)量電路簡(jiǎn)化。而且輸出電壓與二氧化碳?xì)怏w濃度成線性關(guān)系,使得數(shù)據(jù)處理較為簡(jiǎn)單主要參數(shù):量程:0~30,000ppm工作電壓:5VDC±0.5%功耗:至少800mW輸出電勢(shì):430~540mV(0ppmCO2)準(zhǔn)確性:±5%;圖2.1MS4100二氧化碳傳感器輸出電壓與氣體濃度關(guān)系曲線,以及內(nèi)部原理可見(jiàn)圖2.2和圖2.3所示。圖2.2傳感器靈敏度曲線圖圖2.3傳感器內(nèi)部結(jié)構(gòu)圖圖2.2中濃度與輸出電動(dòng)勢(shì)(EMF)關(guān)系表達(dá)式為:EMF=EMF0-R×Log(Concentration)(2—1)其中EMF0為co2為0ppm時(shí),輸出的電壓,一般為470~540mv之間。R為曲線的斜率,一般在55~75之間。Concentration代表二氧化碳濃度,單位為PPM。EMF為實(shí)際電壓,即為1腳和6腳電壓差。在圖2.3中可以知道,傳感器電源供電端為3腳和4腳。此傳感器的電源端為加熱器供電,電源接入方向沒(méi)有要求。當(dāng)加熱器加熱到一定溫度時(shí),電解質(zhì)部分才能和空氣中的二氧化碳產(chǎn)生反應(yīng),此時(shí)1腳和6腳產(chǎn)生電動(dòng)勢(shì)。1腳和6腳的電壓滿足式(2—1)。電路中我們可以測(cè)得的1腳和6腳的電動(dòng)勢(shì)即為EMF。而公式(2-1)中R和EMF0中都為參數(shù),所以要求的二氧化碳濃度Concentration可從以下公式中求得:(2—2)其中EMF0=534,R=65為廠商提供的在溫度為25攝氏度,濕度為65%時(shí)的標(biāo)定值。由于沒(méi)有標(biāo)準(zhǔn)的二氧化碳濃度測(cè)量?jī)x來(lái)進(jìn)行標(biāo)定,系統(tǒng)中數(shù)據(jù)處理將采用廠商提供的標(biāo)準(zhǔn)。二氧化碳傳感器的測(cè)量濃度單位為:百萬(wàn)分單位或ppm。600ppm濃度的二氧化碳意味著:每1,000,000公升的空氣中有600公升的二氧化碳(或在1公升的空氣中有0.6毫升的二氧化碳)。=2\*GB2⑵放大電路設(shè)計(jì)傳感器的輸出電動(dòng)勢(shì)為1腳和6腳的差值,因此選擇用差分放大電路實(shí)現(xiàn)對(duì)電量信號(hào)的放大,同時(shí),AD轉(zhuǎn)換采用ADC0809,其參考電壓為正5伏,因此要把信號(hào)放大到電壓范圍內(nèi),根據(jù)傳感器靈敏特性曲線知輸出電壓范圍為(0~540mv),所以電路放大十倍就可以。放大電路設(shè)計(jì)如下:圖2.4差分放大電路若設(shè)1腳輸出電壓為,6腳輸出電壓為,放大電路輸出電壓為,運(yùn)放正極電壓,運(yùn)放負(fù)極電壓,則根據(jù)虛短和虛斷概念有:(vi1-vn)/R4=(vn-vo)/R5(2—3)(vi2-vp)/R1=vp/R2(2—4)當(dāng)R4/R1=R3/R2時(shí),Vo=R4*(vi2-vi1)/R1(2—5)本電路要放大信號(hào)十倍,所以R4、R3取20k,R1、R2取2k。運(yùn)放6腳輸出電壓接ADC0809模擬輸入端。本電路選用op07運(yùn)算放大器,op07是高精度低失調(diào)電壓的精密運(yùn)放集成電路,用于微弱信號(hào)的放大,如果使用雙電源.能達(dá)到最好的放大效果。給op07提供正負(fù)12伏電壓,而系統(tǒng)中其他部分供電電壓為+5伏,通過(guò)7805將+12伏電壓轉(zhuǎn)化成+5伏,這樣外部供電就只需提供正負(fù)12伏電壓即可。圖2.5電壓轉(zhuǎn)化電路=3\*GB2⑶模數(shù)轉(zhuǎn)化模數(shù)轉(zhuǎn)化采用ADC0809將模擬信號(hào)轉(zhuǎn)化成數(shù)字信號(hào),提供給單片機(jī)處理。本系統(tǒng)中ADC0809只有一路輸入,即二氧化碳傳感器的放大信號(hào),所以芯片三條地址選擇線直接接地,即只選中IN0通道。數(shù)據(jù)端接P0口,其他控制端連接如下圖:圖2.6ADC0809接口電路ADC0809控制端口直接接單片機(jī)普通I/O口,通過(guò)I/O口模擬ADC0809時(shí)序,實(shí)現(xiàn)對(duì)ADC0809的控制,從而獲得最終數(shù)模轉(zhuǎn)換后的數(shù)據(jù)。ADC0809由一個(gè)8路模擬開(kāi)關(guān)、一個(gè)地址鎖存與譯碼器、一個(gè)A/D轉(zhuǎn)換器和一個(gè)三態(tài)輸出鎖存器組成。多路開(kāi)關(guān)可選通8個(gè)模擬通道,允許8路模擬量分時(shí)輸入,共用A/D轉(zhuǎn)換器進(jìn)行轉(zhuǎn)換。三態(tài)輸出鎖器用于鎖存A/D轉(zhuǎn)換完的數(shù)字量,當(dāng)OE端為高電平時(shí),才可以從三態(tài)輸出鎖存器取走轉(zhuǎn)換完的數(shù)據(jù)。ADC0809時(shí)鐘由單片機(jī)ALE端4分頻后得到,單片機(jī)的晶振為12MHz,ALE端為晶振頻率的1/6,即2MHz,所以ADC0809的時(shí)鐘信號(hào)頻率為500KHz。4分頻信號(hào)可由兩級(jí)D觸發(fā)器獲得。2.2控制單元電路=1\*GB2⑴單片機(jī)最小系統(tǒng)AT89S52單片機(jī)是一種低功耗、高性能CMOS8位微控制器,具有8K在系統(tǒng)可編程Flash存儲(chǔ)器。使用Atmel公司高密度非易失性存儲(chǔ)器技術(shù)制造,與工業(yè)80C51產(chǎn)品指令和引腳完全兼容。片上Flash允許程序存儲(chǔ)器在系統(tǒng)可編程,亦適于常規(guī)編程器。在單芯片上,擁有靈巧的8位CPU和在系統(tǒng)可編程Flash,使得AT89S52單片機(jī)為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、超有效的解決方案。本系統(tǒng)主要通過(guò)IO口來(lái)控制個(gè)部分電路以及接受信號(hào),32位I/O口控制線足以滿足系統(tǒng)功能需求。AT89S52具有P0、P1、P2、P3四個(gè)I/O口。由于外圍電路比較多,所以要合理的利用端口,同一個(gè)器件盡量使用同一個(gè)I/O端口。根據(jù)這個(gè)原則,各模塊之間因合理分配。P0口接ADC0809數(shù)據(jù)端口,P2口用來(lái)控制ADC0809和語(yǔ)音芯片(語(yǔ)音芯片采用端口模擬SPI控制,需要4條I/O口控制線,ADC0809需要3條),P1接液晶數(shù)據(jù)端,而液晶使能端和鍵盤控制接P3口。如圖2.7所示。需要注意的是,P0口作為普通I/0口時(shí)需要增加上拉電阻。=2\*GB2⑵鍵盤控制根據(jù)系統(tǒng)功能考慮,系統(tǒng)的按鍵控制有以下5個(gè)功能。=1\*GB2⑴啟動(dòng)語(yǔ)音播報(bào);=2\*GB2⑵進(jìn)入播報(bào)定時(shí)時(shí)間設(shè)置菜單;=3\*GB2⑶修改時(shí)間;=4\*GB2⑷進(jìn)入報(bào)警限值設(shè)置菜單;=5\*GB2⑸修改報(bào)警數(shù)值?;谝陨瞎δ茉O(shè)置鍵盤按鍵的功能。語(yǔ)音播報(bào)可以用以個(gè)獨(dú)立按鍵控制。關(guān)于播報(bào)間隔時(shí)間和設(shè)置報(bào)警限值,可以采用一個(gè)按鍵進(jìn)行功能切換:按第一次,進(jìn)入播報(bào)時(shí)間間隔設(shè)置;按第二次,進(jìn)入設(shè)置報(bào)警限值;按第三次,退出設(shè)置菜單。然后再用2個(gè)鍵控制數(shù)值的增減即可。基于以上功能設(shè)計(jì),可以不必使用4×4鍵盤,只用獨(dú)立按鍵即可,即3個(gè)按鍵直接接單片機(jī)I/O口。這樣的好處是可以使得布局簡(jiǎn)單。硬件功能的設(shè)計(jì)要根據(jù)具體功能需要,而不是全部都是標(biāo)準(zhǔn)設(shè)置。按鍵與接口連接如圖2.8所示。圖2.7單片機(jī)控制電路圖2.8按鍵接口電路3個(gè)按鍵接單片機(jī)I/O口,通過(guò)對(duì)I/O口的電位判斷判斷否有鍵按下。在顯示濃度值時(shí),可以通過(guò)P34的按鍵控制語(yǔ)音播報(bào)。在進(jìn)入設(shè)置菜單時(shí),可以通過(guò)P33口按鍵切換菜單,通過(guò)P36和P34來(lái)上調(diào)和下調(diào)設(shè)置。2.3液晶顯示部分字符與數(shù)字顯示部分才用LCD1602液晶顯示模塊,1602液晶模塊內(nèi)部的字符發(fā)生存儲(chǔ)器(CGROM)已經(jīng)存儲(chǔ)了160個(gè)不同的點(diǎn)陣字符圖形,這些字符有:阿拉伯?dāng)?shù)字、英文字母的大小寫(xiě)、常用的符號(hào)、和日文假名等,足夠系統(tǒng)需求的功能要求。每一個(gè)字符都有一個(gè)固定的代碼,比如大寫(xiě)的英文字母“A”的代碼是01000001B(41H),顯示時(shí)模塊把地址41H中的點(diǎn)陣字符圖形顯示出來(lái),我們就能看到字母“A”。1602采用標(biāo)準(zhǔn)的16腳接口,其中:第1腳:VSS為電源地第2腳:VDD接5V電源正極第3腳:V0為液晶顯示器對(duì)比度調(diào)整端,接正電源時(shí)對(duì)比度最弱,接地電源時(shí)對(duì)比度最高(對(duì)比度過(guò)高時(shí)會(huì)產(chǎn)生“鬼影”,使用時(shí)可以通過(guò)一個(gè)10K的電位器調(diào)整對(duì)比度)。第4腳:RS為寄存器選擇,高電平1時(shí)選擇數(shù)據(jù)寄存器、低電平0時(shí)選擇指令寄存器。第5腳:RW為讀寫(xiě)信號(hào)線,高電平(1)時(shí)進(jìn)行讀操作,低電平(0)時(shí)進(jìn)行寫(xiě)操作。第6腳:E(或EN)端為使能(enable)端。第7~14腳:D0~D7為8位雙向數(shù)據(jù)端。第15~16腳:空腳或背燈電源。15腳背光正極,16腳背光負(fù)極。根據(jù)引腳對(duì)應(yīng)功能,將雙向數(shù)據(jù)端接單片機(jī)P1口,控制端接到P3口(使液晶模塊與單片機(jī)端口連接全部處于同側(cè)),接口連接設(shè)計(jì)如下:圖2.9液晶模塊接口電路2.4語(yǔ)音電路本系統(tǒng)中語(yǔ)音播報(bào)的內(nèi)容的特點(diǎn)是有很多內(nèi)容是相同的,只有每次測(cè)量到得數(shù)據(jù),即二氧化碳的濃度是動(dòng)態(tài)測(cè)量不斷變化。其他的播報(bào)內(nèi)容中的文字信息也有重復(fù)內(nèi)容,因此要充分利用單片機(jī)的控制能力,實(shí)現(xiàn)動(dòng)態(tài)控制自動(dòng)調(diào)用語(yǔ)音內(nèi)容組合成播報(bào)內(nèi)容。本系統(tǒng)選擇了ISD1720語(yǔ)音芯片,是華邦公司新推出的ISD1700系列芯片中的一種。改系列芯片提供多種功能而且音質(zhì)較好。芯片內(nèi)部包含自動(dòng)增益控制、麥克風(fēng)前置擴(kuò)大器、揚(yáng)聲器驅(qū)動(dòng)線路、振蕩器與內(nèi)存等的全方位整合系統(tǒng)功能。芯片特點(diǎn):可錄、放音十萬(wàn)次,存儲(chǔ)內(nèi)容可以斷點(diǎn)保留一百年。兩種控制方式,兩種錄音輸入方式,兩種放音輸出方式。工作電壓在2.4V-5.5V之間,最高不能超過(guò)6V。用戶可以自己根據(jù)需求在芯片中在任意地址空間錄入所需的播放內(nèi)容,同時(shí)也可以按地址直接調(diào)用錄好的內(nèi)容進(jìn)行播放。這樣就可以滿足系統(tǒng)的播報(bào)要求。而語(yǔ)音芯片的外圍電路比較簡(jiǎn)單,僅需一些電阻、電容,電容主要是起到濾波的作用。本系統(tǒng)中單片機(jī)通過(guò)SPI模式控制語(yǔ)音芯片。主控單片機(jī)主要通過(guò)四線(SCLK,MOSI,MISO,/SS)SPI協(xié)議對(duì)ISD1720進(jìn)行串行通信,本系統(tǒng)中通過(guò)I/O口模擬串行通信,與單片機(jī)的連接僅需4個(gè)端口。系統(tǒng)中將其與P2.0-P2.3連接。語(yǔ)音芯片接口電路如圖2.10所示。圖2.10語(yǔ)音芯片接口電路語(yǔ)音芯片的語(yǔ)音輸出端SP+輸出的信號(hào)強(qiáng)度有限,所以要通過(guò)LM386設(shè)計(jì)一個(gè)放大電路來(lái)驅(qū)動(dòng)揚(yáng)聲器工作。LM386電壓增益內(nèi)置為20,當(dāng)在1腳和8腳之間加一只外接電阻和電容,可使電壓增益最大增益到200。如圖2.11所示,可以通過(guò)R12,10k的電位器來(lái)控制輸出音頻的大小5腳作為輸出腳與1.25W的喇叭相連,為了濾掉低頻濾波,減少雜音以及儲(chǔ)存能量,在5腳和喇叭之間需加上一個(gè)220UF的極性電容。為了使喇叭發(fā)出的聲音柔和動(dòng)聽(tīng),要在5腳和地之間接上一個(gè)0.047UF和10歐的電阻。在7腳和地之間接上一個(gè)10U的電容能濾除噪聲。在這里只選3腳作為輸入端,所以另一反相輸入端2腳接地。語(yǔ)音放大電路如圖2.11所示。圖2.11語(yǔ)音放大電路3軟件設(shè)計(jì)應(yīng)用系統(tǒng)中的應(yīng)用軟件是根據(jù)系統(tǒng)功能要求設(shè)計(jì)的,應(yīng)該可靠地實(shí)現(xiàn)系統(tǒng)的各種功能。一個(gè)優(yōu)秀的應(yīng)用系統(tǒng)的軟件應(yīng)具有下列特點(diǎn):(1)根據(jù)軟件功能要求,將系統(tǒng)軟件分成若干個(gè)相對(duì)獨(dú)立的部分。設(shè)計(jì)出軟件的總體結(jié)構(gòu),使其結(jié)構(gòu)清晰、簡(jiǎn)捷、流程合理。(2)要樹(shù)立結(jié)構(gòu)化程序設(shè)計(jì)風(fēng)格,各功能程序?qū)崿F(xiàn)模塊化、子程序化。既便于調(diào)試、鏈接,又便于移植、修正。(3)建立正確的數(shù)學(xué)模型。即根據(jù)功能要求,描繪出各個(gè)輸入和輸出變量之間的數(shù)學(xué)關(guān)系,它是關(guān)系到系統(tǒng)性能好壞的重要因素。(4)為提高軟件設(shè)計(jì)的總體效率,以簡(jiǎn)明、直觀的方法對(duì)任務(wù)進(jìn)行描述,在編寫(xiě)應(yīng)用軟件之前,應(yīng)繪制出程序流程圖。(5)注意在程序的有關(guān)位置處寫(xiě)上功能注釋,提高程序的可讀性。(6)加強(qiáng)軟件抗干擾設(shè)計(jì),它是提高計(jì)算機(jī)應(yīng)用系統(tǒng)可靠性的有利措施。本系統(tǒng)的軟件包括以下幾個(gè)程序模塊:(1)按鍵識(shí)別程序與處理程序;(2)ADC0809驅(qū)動(dòng)程序;(3)LCD顯示程序;(4)語(yǔ)音播報(bào)程序;(5)數(shù)據(jù)處理部分。3.1主程序流程圖程序主要要實(shí)現(xiàn)的功能:?jiǎn)?dòng)ADC0809進(jìn)行模數(shù)轉(zhuǎn)化,并將所得數(shù)據(jù)轉(zhuǎn)化成實(shí)際的二氧化碳濃度,并且控制液晶顯示,控制語(yǔ)音芯片進(jìn)行語(yǔ)音播報(bào)。程序主流程如圖3.1.設(shè)置菜單按鍵是否按下播報(bào)鍵是否按下設(shè)置菜單按鍵是否按下開(kāi)始系統(tǒng)初始化啟動(dòng)AD0809數(shù)模轉(zhuǎn)化是否結(jié)束數(shù)據(jù)處理液晶顯示二氧化碳濃度設(shè)置報(bào)警時(shí)間限值設(shè)置菜單按鍵是否按下顯示時(shí)間設(shè)置菜單設(shè)置時(shí)間設(shè)置菜單按鍵是否按下播報(bào)鍵是否按下設(shè)置菜單按鍵是否按下開(kāi)始系統(tǒng)初始化啟動(dòng)AD0809數(shù)模轉(zhuǎn)化是否結(jié)束數(shù)據(jù)處理液晶顯示二氧化碳濃度設(shè)置報(bào)警時(shí)間限值設(shè)置菜單按鍵是否按下顯示時(shí)間設(shè)置菜單設(shè)置時(shí)間否否否否是是是是顯示設(shè)置報(bào)警限菜單顯示設(shè)置報(bào)警限菜單是是否否否否是是是是語(yǔ)音播報(bào)語(yǔ)音播報(bào)否否圖3.1系統(tǒng)主程序流程圖3.2ADC0809程序設(shè)計(jì)ADC0809是典型的逐次比較A/D轉(zhuǎn)換器,通常都是以二進(jìn)制碼輸出的,數(shù)據(jù)的輸出符合微處理器數(shù)據(jù)總線的要求。控制ADC0809要按照其時(shí)序進(jìn)行。START為啟動(dòng)轉(zhuǎn)換信號(hào),該信號(hào)的上升沿使逐次逼近寄存器復(fù)位,從它的下降沿開(kāi)始進(jìn)行A/D轉(zhuǎn)換。ALE是地址鎖存信號(hào),在ALE的上升沿,A,B,C被鎖入地址鎖存器。OE為允許輸出信號(hào):當(dāng)OE=1時(shí),三態(tài)輸出鎖存器重的數(shù)據(jù)被送上數(shù)據(jù)總線。EOC為轉(zhuǎn)換結(jié)束信號(hào):當(dāng)A/D轉(zhuǎn)換結(jié)束時(shí),EOC變?yōu)楦汶娖剑⒔Y(jié)果送入三態(tài)輸出鎖存器。硬件電路所有控制端口直接接普通I/O口,通過(guò)I/O置高和置低來(lái)模擬ADC0809時(shí)序。ADC0809程序流程圖開(kāi)始開(kāi)始AAlE和START置低AAlE和START置高AAlE和START置低查詢EOC是否高電平?查詢EOC是否高電平?否否是是OE置高OE置高讀取端口數(shù)據(jù)讀取端口數(shù)據(jù)結(jié)束結(jié)束圖3.2ADC0809程序流程圖ADC0809程序代碼主要如下:AD0809_ST=0;delay_ms(10);AD0809_ST=1;delay_ms(10);AD0809_ST=0;while(!AD0809_EOC);AD0809_OE=1;DigitalData=GetResult();其中GetResult()子程序?yàn)樽x取ADC數(shù)據(jù)端端口的轉(zhuǎn)化數(shù)值。DigitalData保存所得數(shù)據(jù)提供單片機(jī)處理。3.3液晶顯示程序顯示采用LCD1602模塊。數(shù)據(jù)與命令都通過(guò)D0~D7傳入;讀寫(xiě)操作時(shí)序由使能信號(hào)E完成;對(duì)讀寫(xiě)操作的識(shí)別時(shí)對(duì)R/W信號(hào)上的電平判斷,R/W的信號(hào)的寬度要大于E;RS信號(hào)用于識(shí)別數(shù)據(jù)總線的數(shù)據(jù)是屬于指令代碼還是屬于顯示數(shù)據(jù)。接口端的信號(hào)邏輯功能如下表:表3.1接口端邏輯功能RSR/WEDB7~DB0功能00高脈沖指令碼寫(xiě)指令01高電平狀態(tài)字讀狀態(tài)10高脈沖數(shù)據(jù)寫(xiě)數(shù)據(jù)11高電平數(shù)據(jù)讀數(shù)據(jù)表3.2狀態(tài)字輸出口STA7STA6STA5STA4STA3STA2STA1STA0D7D6D5D4D3D2D1D0表3.3狀態(tài)字功能說(shuō)明STA0-6當(dāng)前數(shù)據(jù)地址指針的數(shù)值STA7讀寫(xiě)操作使能1:禁止0:允許上述是基本時(shí)序和狀態(tài)字的功能,其他指令的格式還有很多不一一列舉,僅介紹本系統(tǒng)中用到得顯示方法。本系統(tǒng)中無(wú)論是二氧化碳的濃度顯示還是設(shè)置界面的菜單顯示,都是只有中間的數(shù)字是變化的。因此可以在初始化液晶顯示后,編寫(xiě)一個(gè)顯示字符串的子程序。顯示內(nèi)容送字符串?dāng)?shù)組中,然后送顯示,每次只要將字符串里的數(shù)值改變即可。如圖3.3所示。開(kāi)始開(kāi)始顯示內(nèi)容輸入緩沖區(qū)buffer顯示內(nèi)容輸入緩沖區(qū)bufferi=0i=0buffer[i]送液晶顯示buffer[i]送液晶顯示buffer[i]是否為終止符?buffer[i]是否為終止符?否i++否i++是是結(jié)束結(jié)束圖3.3液晶顯示流程圖各部分主要程序如下:=1\*GB4㈠液晶初始化程序如下:voidLCD_init(void){delay(10);WriteCode(0x80);//顯示數(shù)據(jù)指針初始化;WriteCode(0x01);//顯示清屏;WriteCode(0x38);//設(shè)置16×2顯示,5×7點(diǎn)陣,8位數(shù)據(jù)接口;WriteCode(0x0C);//開(kāi)顯示,不顯示光標(biāo);WriteCode(0x06);//寫(xiě)字符后地址指針加一;}=2\*GB4㈡字符串顯示子程序:voidLCD_Showstring(ucharline,ucharstr[]){uchari,j;i=line*0x10;for(j=0;str[j]!='\0';j++)LCD_Showchar(i++,str[j]);}voidLCD_Showchar(ucharposition,ucharz){ucharp;if(position<16)p=position+0x80; else; p=position+0xB0;WriteCode(p); WriteData(z);} =3\*GB4㈢字符串處理程序:DigitalData=GetResult();sprintf(buffer,"co2concentration:%dppm",DigitalData);利用sprintf將數(shù)值打印到buffer數(shù)據(jù)緩沖區(qū)中,其中buffer就是字符串緩沖區(qū),可以直接傳到字符串顯示子程序中送顯示。不同的菜單內(nèi)容可以通過(guò)傳不同的數(shù)據(jù)緩沖區(qū)的內(nèi)容得以調(diào)用。3.4數(shù)據(jù)處理傳感器輸出電壓為毫伏級(jí),AD采集到得是輸出電壓的10倍電壓。轉(zhuǎn)換公式中,傳感器電壓為毫伏級(jí)時(shí)的數(shù)值,AD轉(zhuǎn)化后的數(shù)字量為傳感器實(shí)際值的1/100,所以先對(duì)AD轉(zhuǎn)換后的數(shù)值100倍放大,再利用公式處理所得數(shù)據(jù)。數(shù)據(jù)處理程序:DigitalData=GetResult();DigitalData=DigitalData*100;DigitalData=(534-DigitalData)/65;temp1=pow(10,DigitalData);其中534對(duì)應(yīng)式(2—2)中的EMF0,65對(duì)應(yīng)式(2—2)中R,pow為指數(shù)函數(shù)。DigitalData為ADC0809轉(zhuǎn)化得到的數(shù)字量。3.5語(yǔ)音播報(bào)語(yǔ)音播報(bào)采用ISD1720語(yǔ)音芯片,可以播放20s的語(yǔ)音內(nèi)容,芯片內(nèi)部有內(nèi)部存儲(chǔ)單元,存儲(chǔ)預(yù)先輸入的語(yǔ)音信息。存儲(chǔ)單元可以尋址訪問(wèn),因此用戶可以自行設(shè)置語(yǔ)音存放的空間以及播放任意錄制空間的語(yǔ)音內(nèi)容。芯片存儲(chǔ)地址從第一個(gè)提示音的地址0x0000開(kāi)始計(jì)算,但0x000-0x00F地址平均保留給了4個(gè)提示音。從0x010地址開(kāi)始,才是非保留的存儲(chǔ)區(qū)域,即真正的錄音區(qū),最高地址為0x09F。本系統(tǒng)中對(duì)語(yǔ)音芯片主要通過(guò)SPI模式進(jìn)行控制,實(shí)現(xiàn)語(yǔ)音播報(bào)。ISD1720作為從機(jī),幾乎所有的操作都可以通過(guò)這個(gè)協(xié)議來(lái)完成。兼容獨(dú)立按鍵模式,有PLAY,REC,ERASE,F(xiàn)WD,RESET和GLOBAL_ERASE的運(yùn)行類似于形影的獨(dú)立按鍵模式的操作。另外,SET_PLAY,SET_REC,SET_ERASE命令允許用戶指定錄音、放音和擦除的開(kāi)始和結(jié)束地址。ISD1720SPI串行接口操作遵照以下協(xié)議:一個(gè)SPI處理開(kāi)始于/SS管腳的下降沿;在一個(gè)完整的SPI指令傳輸周期,/SS管腳必須保持低電平;數(shù)據(jù)在SCLK的上升沿鎖存在芯片的MOSI管腳,在SCLK的下降沿從MISO管腳輸出,并且首先移出低位;SPI指令操作碼包括命令字節(jié),數(shù)據(jù)字節(jié)和地址字節(jié),這決定于1720的指令類型;當(dāng)命令字及地址數(shù)據(jù)輸入到MOSI管腳時(shí),同時(shí)狀態(tài)寄存器和當(dāng)前行地址信息從MISO管腳移出;一個(gè)SPI處理再/SS變高后啟動(dòng);再完成一個(gè)SPI命令的操作后,會(huì)啟動(dòng)一個(gè)中斷信息,并且保持為低,直到芯片收到CLR_INT命令或者芯片復(fù)位。圖3.4語(yǔ)音芯片時(shí)序圖在SPI命令輸入到ISD1720前,SPI端口的狀態(tài)應(yīng)該保持如下?tīng)顟B(tài):/SS=HIGH;CLK=HIGH;OSI=LOW。ISD1700芯片內(nèi)部寄存器可以返回1700芯片的內(nèi)部狀態(tài),其中SR0為2個(gè)字節(jié),SR1為一個(gè)字節(jié)。SR0第一個(gè)字節(jié)的0為與SR1的0位用來(lái)判斷上條命令是否正確執(zhí)行及執(zhí)行完畢。具體的功能實(shí)現(xiàn)播報(bào)數(shù)據(jù)中要實(shí)現(xiàn)對(duì)數(shù)字的動(dòng)態(tài)播報(bào)。例如:當(dāng)數(shù)據(jù)為1234是,要播報(bào)的內(nèi)容為“二氧化碳濃度為一千二百三十四PPM(PPM二氧化碳單位)”。這就需要在軟件上處理。數(shù)字播報(bào)流程圖如圖3.5。錄音空間為0x09F-0x010=0x08F,即8×16+15=143,143+1=144段空間,每段空間20÷144=0.14秒,0~9,萬(wàn),千,百,十各用0.5秒,各占0.5÷0.14=4段空間QUOTE。在0x010~0x013存放讀音“0”,以此類推“9”存放在0x034~0x034,“萬(wàn)”存放在0x038~0x03B,“十”存放在0x044~0x047。-通過(guò)以下判斷順序可以正確報(bào)數(shù)值:先判斷數(shù)字位數(shù),然后從最高位播起,每播一位追加單位播報(bào);數(shù)字播報(bào)可以用每一位數(shù)字本身做偏移量,尋址播放;單位在最初判斷數(shù)字位后,設(shè)定起始單位地址,然后逐一增加。開(kāi)始開(kāi)始播放buffer [i]播放buffer [i]數(shù)字壓入buffer數(shù)字壓入buffer播放單位播放單位確定數(shù)字位數(shù)d確定數(shù)字位數(shù)di++i++i=0i=0d--d--Buffer[i]為終止符?Buffer[i]為終止符?結(jié)束結(jié)束圖3.5數(shù)字播報(bào)流程圖4調(diào)試過(guò)程整個(gè)調(diào)試過(guò)程包括硬件調(diào)試、軟件調(diào)試和系統(tǒng)測(cè)試三部分。每個(gè)模塊在功能上相互聯(lián)系又各自獨(dú)立,所以在每個(gè)部分調(diào)試的過(guò)程中也要分模塊進(jìn)行。這樣做的好處是,可以將出現(xiàn)的問(wèn)題進(jìn)行具有針對(duì)性的處理,避免出現(xiàn)問(wèn)題時(shí)找不到真正原因。調(diào)試過(guò)程是對(duì)原理進(jìn)一步理解和對(duì)原理中的不足改進(jìn)的重要步驟。4.1硬件調(diào)試硬件正常是整個(gè)系統(tǒng)正常運(yùn)轉(zhuǎn)的基礎(chǔ),所以硬件調(diào)試就格外重要。硬件調(diào)試主要是對(duì)制版的電氣特性進(jìn)行檢測(cè),逐個(gè)排查電路布線問(wèn)題,使器件在能正常工作。前期的電路特性檢查必須十分耐心,硬件電路的細(xì)小問(wèn)題都可能對(duì)軟件的工作是否正常產(chǎn)生影響。硬件的調(diào)試主要經(jīng)行了以下測(cè)試:第一,對(duì)于電路布線中容易短路和斷路的地方進(jìn)行檢測(cè)。因?yàn)樵谟≈瓢遄拥倪^(guò)程中難免出現(xiàn)細(xì)微問(wèn)題,比如布線比較近的地方就可能出現(xiàn)短路,然后在焊接好以后,對(duì)容易焊接短路的地方進(jìn)行檢測(cè)。這部分檢測(cè)較為容易用萬(wàn)用表測(cè)量短路檔來(lái)檢測(cè)即可。第二,在焊好板子后先不安裝芯片上電。檢測(cè)芯片底座供電電壓是否正常。如果不正常,由于已經(jīng)排除掉焊接短路、斷路的問(wèn)題,可以重點(diǎn)懷疑電路原理的問(wèn)題。第三,安裝芯片分模塊檢測(cè)電路是否正常,這時(shí)先檢測(cè)單片機(jī)是否正常工作,然后通過(guò)單片機(jī)向各模塊發(fā)送一些簡(jiǎn)單命令測(cè)試模塊是否能正常工作。4.1.1單片機(jī)硬件電路檢測(cè)單片機(jī)最小系統(tǒng)檢測(cè)主要是檢測(cè)單片機(jī)是否能正常啟動(dòng)。方法為用示波器檢測(cè)單片機(jī)30腳,即ALE管腳是否有方波輸出,且方波的頻率因?yàn)榫д竦?/6,即2M(晶振使用的是12M的)。檢測(cè)到2M方波,說(shuō)明單片機(jī)能正常啟動(dòng)。4.1.2液晶模塊調(diào)試液晶模塊檢測(cè)主要是檢測(cè)能否正常顯示字符。利用前面提到的送字符串顯示測(cè)試。當(dāng)然首先要保證液晶初始化程序和子程序都是正確的,在此前提下查看液晶的硬件電路連接。注意要保證對(duì)比度適合。開(kāi)始測(cè)試沒(méi)有看到字符,就是因?yàn)閷?duì)比度調(diào)節(jié)不合適。4.1.3ADC0809和語(yǔ)音電路調(diào)試檢測(cè)ADC0809首先要檢測(cè)ADC0809的時(shí)鐘是否正確。本系統(tǒng)采用500Hz,可以用示波器加以檢測(cè)。語(yǔ)音芯片保留了按鍵部分用來(lái)測(cè)試芯片是否正常工作和芯片電源供電是否正常。工作正常后,可以通過(guò)控制端口模擬SPI時(shí)序,用示波器觀測(cè)各控制端是否有正常信號(hào)輸出。在檢測(cè)語(yǔ)音芯片控制端的時(shí)候發(fā)現(xiàn)信號(hào)有異常,不能對(duì)芯片進(jìn)行控制,最后發(fā)現(xiàn)P2口的上拉排阻裝反了。4.1.4放大電路檢測(cè)放大電路主要是對(duì)傳感器信號(hào)的放大。檢測(cè)放大電路主要是檢測(cè)放大電路能不能調(diào)零。將差分輸入端同時(shí)接地,然后調(diào)整調(diào)零電阻,看是否能調(diào)零。放大電路放大倍數(shù)產(chǎn)生的誤差也是主要要考慮的。為后面的數(shù)據(jù)處理可能導(dǎo)致較大誤差。4.2軟件調(diào)試本系統(tǒng)軟件部分采用C語(yǔ)言編寫(xiě),系統(tǒng)硬件電路比較簡(jiǎn)單,主要通過(guò)軟件來(lái)實(shí)現(xiàn)各個(gè)模塊之間的協(xié)調(diào)運(yùn)作。由于軟件運(yùn)行的基礎(chǔ)是硬件,所以在調(diào)試軟件的過(guò)程中如果發(fā)現(xiàn)問(wèn)題,應(yīng)該同時(shí)考慮軟件和硬件的問(wèn)題。調(diào)試可以通過(guò)使用偉福仿真器來(lái)仿真調(diào)試。4.2.1液晶顯示程序調(diào)試液晶顯示在開(kāi)始測(cè)試電路是否正常時(shí),通過(guò)送字符串可以正常顯示。但實(shí)際系統(tǒng)要求要顯示的濃度值是動(dòng)態(tài)變化的。開(kāi)始曾想過(guò),整個(gè)顯示內(nèi)容分段顯示,數(shù)字單獨(dú)顯示,發(fā)現(xiàn)程序比較繁瑣。所以想到如果可以將這個(gè)顯示的內(nèi)容看做一個(gè)整體的字符串,而其中的數(shù)字可以動(dòng)態(tài)改變就可以了。通過(guò)使用scanf函數(shù)就可以達(dá)到目的。4.2.2語(yǔ)音播報(bào)程序調(diào)試語(yǔ)音播報(bào)主要是模擬SPI時(shí)序傳輸命令與數(shù)據(jù)。主要出現(xiàn)問(wèn)題是開(kāi)始播報(bào)數(shù)字,用每位數(shù)字作偏移量尋址播報(bào),所播數(shù)字與實(shí)際不符。用編譯器仿真查看程序中變量,發(fā)現(xiàn)問(wèn)題為當(dāng)數(shù)字量轉(zhuǎn)化成字符放到字符串中時(shí),值就轉(zhuǎn)化成其對(duì)應(yīng)的ASCⅡ碼。因此想用數(shù)字做便宜量,要對(duì)其處理,即減掉30H即可。同時(shí)在分段播放時(shí),沒(méi)次播放前都要加入判斷是否播放完畢,這樣才能正常運(yùn)行。調(diào)試初期,沒(méi)有加入判斷語(yǔ)句,導(dǎo)致分段播放混亂。還有要注意的是,當(dāng)使用SPI模式不按照嚴(yán)格要求進(jìn)行錄音的時(shí)候,按鍵模式無(wú)效,此時(shí)不能通過(guò)按鍵來(lái)判斷芯片是否正常。4.2.3其他程序調(diào)試模數(shù)轉(zhuǎn)化程序比較簡(jiǎn)單,就是模擬其時(shí)序即可。數(shù)據(jù)處理部分,根據(jù)其線性關(guān)系可以得到求值公式,但是其斜率和輸出的電壓隨溫度變化,沒(méi)能得到很好的解決,可以通過(guò)多次求值求平均值來(lái)減小誤差,但室內(nèi)空氣檢測(cè),要求不是很精確,只要誤差范圍在允許范圍內(nèi)即可。4.3系統(tǒng)測(cè)試在各個(gè)模塊軟件功能基本實(shí)現(xiàn)的時(shí)候,其實(shí)也就是硬件與軟件能配套實(shí)現(xiàn)的過(guò)程。在各個(gè)模塊程序?qū)崿F(xiàn)功能的時(shí)候,在整合整個(gè)系統(tǒng)的軟件時(shí)要注意不要出現(xiàn)死循環(huán)。各功能單獨(dú)測(cè)試時(shí),可以實(shí)現(xiàn)并不意味著這個(gè)系統(tǒng)的功能可以正常實(shí)現(xiàn)。在軟件上根據(jù)流程圖,合理設(shè)置個(gè)功能的連接方式十分重要。以上調(diào)試經(jīng)過(guò)以后可以,進(jìn)行系統(tǒng)整體測(cè)試。由于傳感器正常輸出信號(hào)需要預(yù)熱一個(gè)小時(shí),系統(tǒng)在一個(gè)小時(shí)候才能正常測(cè)量。傳感器預(yù)熱后可以看到,液晶屏能夠顯示二氧化碳濃度。由于沒(méi)有標(biāo)準(zhǔn)的二氧化碳濃度檢測(cè)儀進(jìn)行比較,沒(méi)法進(jìn)行自行標(biāo)定。只能根據(jù)傳感器芯片中所標(biāo)定來(lái)處理傳感器輸出信號(hào)。所得濃度與實(shí)際值存在一些偏差,但是公共場(chǎng)合二氧化碳濃度測(cè)量本身精度要求并不高,只要偏差范圍不是太大即可。然后可以經(jīng)行按鍵功能測(cè)試。按設(shè)置菜單建,可以進(jìn)入設(shè)置菜單,按一次是進(jìn)行報(bào)警值的設(shè)置,按兩次是進(jìn)入報(bào)警間隔時(shí)間的設(shè)置。其他兩個(gè)按鍵可以對(duì)數(shù)值進(jìn)行增減設(shè)置。在顯示濃度時(shí),按下語(yǔ)音播放鍵,可以對(duì)濃度進(jìn)行語(yǔ)音播報(bào)。在設(shè)置菜單時(shí)不能通過(guò)按鍵播放語(yǔ)音,這時(shí)播放按鍵用來(lái)經(jīng)行設(shè)置相應(yīng)數(shù)值。系統(tǒng)整體設(shè)計(jì)功能基本能夠?qū)崿F(xiàn),能夠?qū)Χ趸紳舛冗M(jìn)行實(shí)時(shí)顯示和語(yǔ)音播報(bào)。5結(jié)論本系統(tǒng)設(shè)計(jì)過(guò)程中遇到一些問(wèn)題,有些已經(jīng)解決有些還有待改善。系統(tǒng)中主要應(yīng)用了AT89S52單片機(jī),ADC0809模數(shù)轉(zhuǎn)化芯片,液晶LCD1602以及語(yǔ)音芯片1720。各個(gè)芯片在應(yīng)用的過(guò)程中應(yīng)該注意一些問(wèn)題。對(duì)于AT89S52單片機(jī),應(yīng)用已經(jīng)相當(dāng)普及和廣泛。由于其本身沒(méi)有像類似凌陽(yáng)單片機(jī)集成其他多種功能,在組建系統(tǒng)時(shí)只能起到中心控制器的作用,其他功能需要依靠其他芯片來(lái)組建相應(yīng)的功能電路。盡管本身功能不是強(qiáng)大,但具有很強(qiáng)的靈活型,根據(jù)不同的需求來(lái)配合外部電路來(lái)實(shí)行控制。ADC0809經(jīng)典的電路接口是利用單片機(jī)讀寫(xiě)口和P2.0通過(guò)與非門來(lái)控制芯片啟動(dòng)。本系統(tǒng)中通過(guò)I/0口來(lái)模擬啟動(dòng)時(shí)序。在實(shí)現(xiàn)啟動(dòng)AD0809的程序調(diào)試中,在最開(kāi)始的時(shí)候,通過(guò)簡(jiǎn)單的將ALE端置高電平,沒(méi)能成功。最后通過(guò)對(duì)時(shí)序圖的重新認(rèn)識(shí),才發(fā)現(xiàn)時(shí)邊沿觸發(fā)。這使我發(fā)現(xiàn)對(duì)與芯片的使用首先要讀懂其時(shí)序圖,很要的一點(diǎn)就是邊沿觸發(fā)還是電平觸發(fā)。這一點(diǎn)在ADC1720的使用上也有體會(huì)。液晶LCD1602雖然不能顯示漢字,但已經(jīng)可以滿足系統(tǒng)要求。在系統(tǒng)中對(duì)LCD的應(yīng)用較為簡(jiǎn)單,僅是現(xiàn)實(shí)字符串。通過(guò)對(duì)LCD的命令字的了解,可以自行設(shè)置顯示效果,例如可以通過(guò)控制顯示模式達(dá)到字符滾動(dòng)顯示,由于本系統(tǒng)不涉及,就不再討論。語(yǔ)音芯片ISD1720的使用是本系統(tǒng)中難度最大的部分。本芯片使用不單純是一個(gè)放音電路,還含有其他的控制。因此程序首先要能完成指定地址的放音工作,還要配合其他的功能程序。在調(diào)試液晶和語(yǔ)音芯片的過(guò)程中,要從易道難逐步調(diào)試。開(kāi)始就想實(shí)現(xiàn)整體功能較為困難。液晶的功能實(shí)現(xiàn)先由實(shí)現(xiàn)顯示字符串內(nèi)容開(kāi)始,然后實(shí)現(xiàn)顯示內(nèi)容的切換,在實(shí)現(xiàn)現(xiàn)實(shí)內(nèi)容的變動(dòng)。而語(yǔ)音芯片則是先實(shí)現(xiàn)按鍵播放錄音,然后實(shí)現(xiàn)SPI控制的錄放音,最后實(shí)現(xiàn)分段播錄功能的實(shí)現(xiàn)。語(yǔ)音電路的設(shè)計(jì)要注意,在線路布線的時(shí)候要注意電容要靠近指定管腳,可以提高錄放音的質(zhì)量。語(yǔ)音程序的應(yīng)用一定要注意每執(zhí)行完一跳語(yǔ)句要進(jìn)行是否執(zhí)行完畢的判斷,在初步調(diào)試程序時(shí)發(fā)現(xiàn)沒(méi)有判斷將使得有的語(yǔ)句沒(méi)有執(zhí)行不能按預(yù)期的方式播放。也可以用足夠的延時(shí)來(lái)代替完畢判斷,但建議使用語(yǔ)句判斷較為合理。系統(tǒng)的整體功能實(shí)現(xiàn),不是簡(jiǎn)單的各個(gè)模塊的功能實(shí)現(xiàn)的。尤其在軟件編寫(xiě)方面格外突出,系統(tǒng)軟件中各個(gè)功能程序的合理調(diào)用對(duì)最后系統(tǒng)的影響十分重要。系統(tǒng)的功能基本實(shí)現(xiàn),但還有一些不足。從制作工藝上來(lái)看,布線還有待提高,有些進(jìn)一步完善;從功能上看,由于室內(nèi)測(cè)量的精度要求不是是特別高,所以本系統(tǒng)對(duì)傳感器的信號(hào)處理的精度不是很高,如果要具有更廣泛的應(yīng)用,信號(hào)的處理部分要加以改善。本系統(tǒng)作為二氧化碳播報(bào)系統(tǒng),建立了基本架構(gòu),根據(jù)不同場(chǎng)合需求可以對(duì)不同的功能模塊加以改善從而達(dá)到要求。YY謝辭參考文獻(xiàn)[1]王為青、程國(guó)鋼.單片機(jī)KeilCx51應(yīng)用開(kāi)發(fā)技術(shù)[M].人民郵電出版社.[2]譚浩強(qiáng).C程序設(shè)計(jì)[M].清華大學(xué)出版社,2005,104~106.[3]白駒珩,雷曉平.單片計(jì)算機(jī)及其應(yīng)用.高等教育出版社&電子科技大學(xué)出版社,2005.[4]康華光等.電子技術(shù)基礎(chǔ)模擬部分(第五版).高等教育出版社,2005.[5]馬忠梅.單片機(jī)的C語(yǔ)言應(yīng)用程序設(shè)計(jì)[M].北京航空航天大學(xué)出版社,1999.[6]勞五一,勞佳編著.模擬電子電路分析、設(shè)計(jì)與仿真[M].清華大學(xué)出版社,2007.5.[7]王秋爽,曾昭龍著.單片機(jī)開(kāi)發(fā)基礎(chǔ)與經(jīng)典設(shè)計(jì)實(shí)例.機(jī)械工業(yè)出版社,2008[8]松井邦彥.傳感器應(yīng)用技巧(梁瑞林)[M].科學(xué)出版社,2006,16~18[9]Digitallogiccircuitanalysisanddesign.VictorP.Nelson[et.al.]1995byPrenticeHall,Inc.[10]田立,田清著,51單片機(jī)C語(yǔ)言程序設(shè)計(jì)快速入門.人民郵電出版社出版發(fā)行,2007.附錄附錄一:電路原理圖基于C8051F單片機(jī)直流電動(dòng)機(jī)反饋控制系統(tǒng)的設(shè)計(jì)與研究基于單片機(jī)的嵌入式Web服務(wù)器的研究MOTOROLA單片機(jī)MC68HC(8)05PV8/A內(nèi)嵌EEPROM的工藝和制程方法及對(duì)良率的影響研究基于模糊控制的電阻釬焊單片機(jī)溫度控制系統(tǒng)的研制基于MCS-51系列單片機(jī)的通用控制模塊的研究基于單片機(jī)實(shí)現(xiàn)的供暖系統(tǒng)最佳啟停自校正(STR)調(diào)節(jié)器單片機(jī)控制的二級(jí)倒立擺系統(tǒng)的研究基于增強(qiáng)型51系列單片機(jī)的TCP/IP協(xié)議棧的實(shí)現(xiàn)基于單片機(jī)的蓄電池自動(dòng)監(jiān)測(cè)系統(tǒng)基于32位嵌入式單片機(jī)系統(tǒng)的圖像采集與處理技術(shù)的研究基于單片機(jī)的作物營(yíng)養(yǎng)診斷專家系統(tǒng)的研究基于單片機(jī)的交流伺服電機(jī)運(yùn)動(dòng)控制系統(tǒng)研究與開(kāi)發(fā)基于單片機(jī)的泵管內(nèi)壁硬度測(cè)試儀的研制基于單片機(jī)的自動(dòng)找平控制系統(tǒng)研究基于C8051F040單片機(jī)的嵌入式系統(tǒng)開(kāi)發(fā)基于單片機(jī)的液壓動(dòng)力系統(tǒng)狀態(tài)監(jiān)測(cè)儀開(kāi)發(fā)模糊Smith智能控制方法的研究及其單片機(jī)實(shí)現(xiàn)一種基于單片機(jī)的軸快流CO〈,2〉激光器的手持控制面板的研制基于雙單片機(jī)沖床數(shù)控系統(tǒng)的研究基于CYGNAL單片機(jī)的在線間歇式濁度儀的研制基于單片機(jī)的噴油泵試驗(yàn)臺(tái)控制器的研制基于單片機(jī)的軟起動(dòng)器的研究和設(shè)計(jì)基于單片機(jī)控制的高速快走絲電火花線切割機(jī)床短循環(huán)走絲方式研究基于單片機(jī)的機(jī)電產(chǎn)品控制系統(tǒng)開(kāi)發(fā)基于PIC單片機(jī)的智能手機(jī)充電器基于單片機(jī)的實(shí)時(shí)內(nèi)核設(shè)計(jì)及其應(yīng)用研究基于單片機(jī)的遠(yuǎn)程抄表系統(tǒng)的設(shè)計(jì)與研究基于單片機(jī)的煙氣二氧化硫濃度檢測(cè)儀的研制基于微型光譜儀的單片機(jī)系統(tǒng)單片機(jī)系統(tǒng)軟件構(gòu)件開(kāi)發(fā)的技術(shù)研究基于單片機(jī)的液體點(diǎn)滴速度自動(dòng)檢測(cè)儀的研制基于單片機(jī)系統(tǒng)的多功能溫度測(cè)量?jī)x的研制基于PIC單片機(jī)的電能采集終端的設(shè)計(jì)和應(yīng)用基于單片機(jī)的光纖光柵解調(diào)儀的研制氣壓式線性摩擦焊機(jī)單片機(jī)控制系統(tǒng)的研制基于單片機(jī)的數(shù)字磁通門傳感器基于單片機(jī)的旋轉(zhuǎn)變壓器-數(shù)字轉(zhuǎn)換器的研究基于單片機(jī)的光纖Bragg光柵解調(diào)系統(tǒng)的研究單片機(jī)控制的便攜式多功能乳腺治療儀的研制基于C8051F020單片機(jī)的多生理信號(hào)檢測(cè)儀基于單片機(jī)的電機(jī)運(yùn)動(dòng)控制系統(tǒng)設(shè)計(jì)Pico專用單片機(jī)核的可測(cè)性設(shè)計(jì)研究基于MCS-51單片機(jī)的熱量計(jì)基于雙單片機(jī)的智能遙測(cè)微型氣象站MCS-51單片機(jī)構(gòu)建機(jī)器人的實(shí)踐研究基于單片機(jī)的輪軌力檢測(cè)基于單片機(jī)的GPS定位儀的研究與實(shí)現(xiàn)基于單片機(jī)的電液伺服控制系統(tǒng)用于單片機(jī)系統(tǒng)的MMC卡文件系統(tǒng)研制基于單片機(jī)的時(shí)控和計(jì)數(shù)系統(tǒng)性能優(yōu)化的研究基于單片機(jī)和CPLD的粗光柵位移測(cè)量系統(tǒng)研究單片機(jī)控制的后備式方波UPS提升高職學(xué)生單片機(jī)應(yīng)用能力的探究基于單片機(jī)控制的自動(dòng)低頻減載裝置研究基于單片機(jī)控制的水下焊接電源的研究基于單片機(jī)的多通道數(shù)據(jù)采集系統(tǒng)基于uPSD3234單片機(jī)的氚表面污染測(cè)量?jī)x的研制基于單片機(jī)的紅外測(cè)油儀的研究96系列單片機(jī)仿真器研究與設(shè)計(jì)基于單片機(jī)的單晶金剛石刀具刃磨設(shè)備的數(shù)控改造基于單片機(jī)的溫度智能控制系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)基于MSP430單片機(jī)的電梯門機(jī)控制器的研制基于單片機(jī)的氣體測(cè)漏儀的研究基于三菱M16C/6N系列單片機(jī)的CAN/USB協(xié)議轉(zhuǎn)換器基于單片機(jī)和DSP的變壓器油色譜在線監(jiān)測(cè)技術(shù)研究基于單片機(jī)的膛壁溫度報(bào)警系統(tǒng)設(shè)計(jì)基于AVR單片機(jī)的低壓無(wú)功補(bǔ)償控制器的設(shè)計(jì)基于單片機(jī)船舶電力推進(jìn)電機(jī)監(jiān)測(cè)系統(tǒng)基于單片機(jī)網(wǎng)絡(luò)的振動(dòng)信號(hào)的采集系統(tǒng)基于單片機(jī)的大容量數(shù)據(jù)存儲(chǔ)技術(shù)的應(yīng)用研究基于單片機(jī)的疊圖機(jī)研究與教學(xué)方法實(shí)踐基于單片機(jī)嵌入式Web服務(wù)器技術(shù)的研究及實(shí)現(xiàn)基于AT89S52單片機(jī)的通用數(shù)據(jù)采集系統(tǒng)基于單片機(jī)的多道脈沖幅度分析儀研究機(jī)器人旋轉(zhuǎn)電弧傳感角焊縫跟蹤單片機(jī)控制系統(tǒng)基于單片機(jī)的控制系統(tǒng)在PLC虛擬教學(xué)實(shí)驗(yàn)中的應(yīng)用研究基于單片機(jī)系統(tǒng)的網(wǎng)絡(luò)通信研究與應(yīng)用基于PIC16F877單片機(jī)的莫爾斯碼自動(dòng)譯碼系統(tǒng)設(shè)計(jì)與研究基于單片機(jī)的模糊控制器在工業(yè)電阻爐上的應(yīng)用研究基于雙單片機(jī)沖床數(shù)控系統(tǒng)的研究與開(kāi)發(fā)基于Cygnal單片機(jī)的μC/OS-Ⅱ的研究基于單片機(jī)的一體化智能差示掃描量熱儀系統(tǒng)研究HYPERLIN
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 文化場(chǎng)館修繕項(xiàng)目招投標(biāo)方案
- 建材公司配電房建設(shè)協(xié)議
- 昌平區(qū)九年級(jí)數(shù)學(xué)試卷
- 企業(yè)財(cái)務(wù)分析與決策支持
- 造船廠換熱站施工協(xié)議
- 城市環(huán)保臨時(shí)用地管理辦法
- 藥企出納人員招聘合同
- 2025房地產(chǎn)的租賃合同
- 銀行業(yè)務(wù)與風(fēng)險(xiǎn)管理培訓(xùn)
- 臨夏酒店電動(dòng)窗簾施工方案
- 開(kāi)放系統(tǒng)10861《理工英語(yǔ)(4)》期末機(jī)考真題及答案(第102套)
- 綜合技能訓(xùn)練實(shí)訓(xùn)報(bào)告學(xué)前教育
- 2024年國(guó)家能源集團(tuán)招聘筆試參考題庫(kù)含答案解析
- MOOC 管理學(xué)-鄭州輕工業(yè)大學(xué) 中國(guó)大學(xué)慕課答案
- 軍事理論智慧樹(shù)知到期末考試答案2024年
- 2024年貴州貴安發(fā)展集團(tuán)有限公司招聘筆試參考題庫(kù)附帶答案詳解
- 《混凝土的檢測(cè)》課件
- 衛(wèi)生健康系統(tǒng)2024年安全生產(chǎn)和消防工作要點(diǎn)
- CNC數(shù)控編程述職報(bào)告
- 生產(chǎn)車間環(huán)境改善方案
- 2024年高考物理真題分類匯編(全一本附答案)
評(píng)論
0/150
提交評(píng)論