畢業(yè)設(shè)計(jì)-基于AT89S52單片機(jī)的二氧化碳濃度測量及播報系統(tǒng)設(shè)計(jì)_第1頁
畢業(yè)設(shè)計(jì)-基于AT89S52單片機(jī)的二氧化碳濃度測量及播報系統(tǒng)設(shè)計(jì)_第2頁
畢業(yè)設(shè)計(jì)-基于AT89S52單片機(jī)的二氧化碳濃度測量及播報系統(tǒng)設(shè)計(jì)_第3頁
畢業(yè)設(shè)計(jì)-基于AT89S52單片機(jī)的二氧化碳濃度測量及播報系統(tǒng)設(shè)計(jì)_第4頁
畢業(yè)設(shè)計(jì)-基于AT89S52單片機(jī)的二氧化碳濃度測量及播報系統(tǒng)設(shè)計(jì)_第5頁
已閱讀5頁,還剩33頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

引言我們的地球被一層大氣包圍著,其中氧氣占21%,78%是氮?dú)猓?%是其它氣體。這1%氣體當(dāng)中,就有只有一小局部為二氧化碳?xì)怏w,約為300ppm〔百萬分之一,即0.03%〕。雖然含量較少,但是二氧化碳的作用缺越來越受到高度的重視。大氣二氧化碳持續(xù)增加,從而對整個地球的氣候產(chǎn)生重大影響,讓人們對二氧化碳這一微量氣體有了新的認(rèn)識。另一方面,做為植物光和作用的原料氣體,二氧化碳的應(yīng)用技術(shù)水平對農(nóng)業(yè)大國來說也是至關(guān)重要。在辦公室的公共場合,二氧化碳測量也十分必須。二氧化碳在空氣中的含量越高,對人體的影響就越大,當(dāng)二氧化碳含量高出0.7%時,人體就會感到不舒服,當(dāng)二氧化碳含量超過10%時,人體就會出現(xiàn)昏迷和死亡。到達(dá)20%,人就會在幾秒內(nèi)死亡。因此在人群比擬密集的地方,二氧化碳含量是一個非常重要的參數(shù),直接關(guān)系到人體舒適度和平安。當(dāng)代電子技術(shù)飛速開展,大規(guī)模集成電路不斷普及應(yīng)用,給人們的生活帶來巨大的變化。同時人們對于自己的生活質(zhì)量要求也不斷提高。如何根據(jù)實(shí)際需求設(shè)計(jì)二氧化碳濃度測量系統(tǒng)就成為一個具有現(xiàn)實(shí)意義的課題。傳感技術(shù)應(yīng)用的領(lǐng)域越來越廣泛,同時對其的要求也越來越高,需求越來越迫切。二氧化碳傳感器的技術(shù)研究也越來越成熟,產(chǎn)品的性能也越來越高。同時,語音芯片應(yīng)用不斷普及,語音芯片產(chǎn)品的開展也十分迅速,新型號的語音芯片的功能更加強(qiáng)大。這使得設(shè)計(jì)一個二氧化碳濃度測量系統(tǒng)在技術(shù)層面上的難度逐漸降低。本文中設(shè)計(jì)的系統(tǒng),正是針對人群密集公共場所對二氧化碳濃度測量需求而設(shè)計(jì)。該系統(tǒng)能夠?qū)矆龊系亩趸紳舛冗M(jìn)行測量,并且能將測得濃度顯示和語音播報,當(dāng)濃度過高時還可以向辦公室等公共場所的人員進(jìn)行報警提示,使得能及時提醒人員通風(fēng)以降低二氧化碳濃度。公共場所二氧化碳濃度播報器圍繞AT89S52來作為核心控制元件設(shè)計(jì)整個系統(tǒng),通過外圍電路的設(shè)計(jì),利用液晶和語音芯片實(shí)現(xiàn)對二氧化碳濃度的現(xiàn)實(shí)以及播報。本系統(tǒng),具有本錢低,技術(shù)開發(fā)難度小,適用性、靈活性較好,具有一定得應(yīng)用性。1設(shè)計(jì)方案二氧化碳語音播報器,顧名思義,即該系統(tǒng)實(shí)現(xiàn)的功能為對二氧化碳濃度的測試同時對其濃度進(jìn)行播報。二氧化碳濃度通過傳感器轉(zhuǎn)化成電量信號,再通過單片機(jī)進(jìn)行采集處理。系統(tǒng)中的核心控制單元為單片機(jī),圍繞單片機(jī)設(shè)計(jì)相應(yīng)系統(tǒng)需求功能模塊。系統(tǒng)需求分析:系統(tǒng)需求分析主要是通過系統(tǒng)要求實(shí)現(xiàn)的功能對各個模塊局部應(yīng)該所具備的功能進(jìn)行分析。本系統(tǒng)基于AT89S52單片機(jī),實(shí)現(xiàn)對于室內(nèi)二氧化碳的濃度測量及及時播報。系統(tǒng)的所需要的功能有:實(shí)現(xiàn)對二氧化碳濃度的測量;語音播放功能;按鍵控制;LCD顯示功能。對于各局部性能有以下4點(diǎn)要求?!?〕LCD顯示器正確測量結(jié)果,測量結(jié)果動態(tài)變化,并且可以控制切換設(shè)置界面菜單;〔2〕二氧化碳濃度定時播報,可以通過按鍵控制進(jìn)行播報,可以實(shí)現(xiàn)對濃度值的正確播報;〔3〕系統(tǒng)出現(xiàn)異??梢詮?fù)位;〔4〕系統(tǒng)具有按鍵控制功能。1.2方案設(shè)計(jì)數(shù)據(jù)采集通過信號采集電路,主要是將二氧化碳的濃度值這一非電量信號轉(zhuǎn)化為模擬電信號再轉(zhuǎn)化為能通過單片機(jī)處理的數(shù)字量。因此前向通道由傳感器、信號放大電路和AD轉(zhuǎn)化電路組成。1.2.2控制局部本系統(tǒng)中控制信號主要是用來設(shè)置定時播報時間和報警濃度限值以及按鍵控制語音播報,根據(jù)實(shí)際功能的需求,可以通過軟件使按鍵的功能靈活使用,僅需獨(dú)立按鍵即可以到達(dá)控制功能。顯示局部因?yàn)橛胁煌脑O(shè)置功能要實(shí)現(xiàn),用LCD顯示比擬方便,可以切換不同設(shè)置界面和二氧化碳濃度顯示界面。1.2.4語音播報單片機(jī)控制語音芯片來進(jìn)行語音播報。每次播報的內(nèi)容中有很多是重復(fù)的,只有二氧化碳的濃度值是變動的。因此通過單片機(jī)來動態(tài)調(diào)動語音芯片內(nèi)的語音內(nèi)容實(shí)現(xiàn)相應(yīng)的播報內(nèi)容。1.3設(shè)計(jì)框圖基于以上的功能分析和設(shè)計(jì)的方案。單片機(jī)輸入端接收傳感器的測量信號和鍵盤控制信號,輸出端控制液晶顯示和音樂芯片音樂芯片驅(qū)動揚(yáng)聲器放音。設(shè)計(jì)框圖如下:LCD顯示〔二氧化碳濃度及各設(shè)置菜單的顯示〕二氧化碳?xì)怏w傳感器LCD顯示〔二氧化碳濃度及各設(shè)置菜單的顯示〕二氧化碳?xì)怏w傳感器C51單片機(jī)控制系統(tǒng)按鍵控制揚(yáng)聲器語音芯片按鍵控制揚(yáng)聲器語音芯片圖1.1系統(tǒng)總體框圖二氧化碳濃度為非電量信號,不能由單片機(jī)直接處理,要先經(jīng)過傳感器,將二氧化碳濃度〔非電量信號〕轉(zhuǎn)化電壓信號〔電量信號〕。然后由單片機(jī)進(jìn)行數(shù)據(jù)處理,將采集到得電壓信號轉(zhuǎn)化成對應(yīng)的二氧化碳濃度值。再通過單片機(jī)控制液晶顯示濃度值,并控制語音芯片進(jìn)通過揚(yáng)聲器進(jìn)行語音播報。按鍵向單片機(jī)提供控制信號,控制單片機(jī)實(shí)現(xiàn)報警濃度設(shè)置功能。2硬件設(shè)計(jì)本應(yīng)用系統(tǒng)的硬件電路設(shè)計(jì)包含4局部內(nèi)容:一是信號采集局部;二是控制單元局部;三是液晶顯示電路;四是語音電路。系統(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é)果與軟件方案會產(chǎn)生相互影響,考慮的原那么是:軟件能實(shí)現(xiàn)的功能盡可能由軟件來實(shí)現(xiàn),以簡化硬件結(jié)構(gòu)。但必須注意,由軟件實(shí)現(xiàn)的硬件功能,其響應(yīng)時間要比直接用硬件響應(yīng)來的長,而且占用CPU時間。所以,選擇軟件方案時,要考慮到這些因素;(4)整個系統(tǒng)中相關(guān)的器件要盡可能做到性能匹配;(5)單片機(jī)外接電路較多時,必須考慮其驅(qū)動能力。驅(qū)動能力缺乏時,系統(tǒng)工作不可靠,解決的方法是增加驅(qū)動能力,增設(shè)線驅(qū)動器或減少芯片功耗,降低總線負(fù)載。2.1傳感器選擇及信號采集局部=1\*GB2⑴傳感器選擇及其性能測量二氧化碳濃度,傳感器的選擇十分重要。傳感器的性能直接決定后續(xù)電路的設(shè)計(jì)以及整個系統(tǒng)設(shè)計(jì)的難度。因此了解二氧化碳傳感器的種類,加以選擇十分重要。目前,國際成熟的二氧化碳傳感器有電化學(xué)式、半導(dǎo)體陶瓷式、固體電解質(zhì)式、紅外吸收式等四種原理產(chǎn)品。半導(dǎo)體陶瓷式二氧化碳傳感器以其制作簡單、本錢低廉、抗惡劣環(huán)境等特點(diǎn),受到業(yè)內(nèi)人士的重視。但是,這種類型的二氧化碳傳感器市場上不多,可能技術(shù)還不夠成熟。紅外吸收式的CO2傳感器的精度及穩(wěn)定性能都很好,但是由于它需要與光學(xué)系統(tǒng)組裝在一起成為一個完整的裝置。而這種裝置體積大,價格高,因此,在一般的公共場合中不方便使用。電化學(xué)式及熱傳導(dǎo)式的CO2傳感器雖然體積小,但是其精度、穩(wěn)定性及對氣體的選擇性都不太理想。且電化學(xué)式的CO2傳感器還存在著必須在電解質(zhì)溶液中使用的缺點(diǎn)。本系統(tǒng)采用的傳感器MS4100為固態(tài)電解質(zhì)測量方式,具有對二氧化碳反響靈敏,受溫度和濕度影響小,本錢低。二氧化碳傳感器相對于其他一般的煙霧傳感價格較為昂貴,而且技術(shù)相對成熟的產(chǎn)品大多為進(jìn)口,MS4100在眾多二氧化碳傳感器中,價格適中,性能比擬穩(wěn)定,器采用原理是固態(tài)電解質(zhì)測量方式,使用時需要預(yù)熱。本產(chǎn)品預(yù)熱時間為1個小時。工作電壓5伏,與系統(tǒng)其它芯片可以統(tǒng)一供電,同時量程可以滿足公共場合測量二氧化碳濃度的需求。相應(yīng)時間較快只需5秒,輸出電壓易于放大,可以使測量電路簡化。而且輸出電壓與二氧化碳?xì)怏w濃度成線性關(guān)系,使得數(shù)據(jù)處理較為簡單主要參數(shù):量程:0~30,000ppm工作電壓:5VDC±0.5%功耗:至少800mW輸出電勢:430~540mV(0ppmCO2)準(zhǔn)確性:±5%;圖2.1MS4100二氧化碳傳感器輸出電壓與氣體濃度關(guān)系曲線,以及內(nèi)部原理可見圖2.2和圖2.3所示。圖2.2傳感器靈敏度曲線圖圖2.3傳感器內(nèi)部結(jié)構(gòu)圖圖2.2中濃度與輸出電動勢〔EMF〕關(guān)系表達(dá)式為:EMF=EMF0-R×Log〔Concentration〕〔2—1〕其中EMF0為co2為0ppm時,輸出的電壓,一般為470~540mv之間。R為曲線的斜率,一般在55~75之間。Concentration代表二氧化碳濃度,單位為PPM。EMF為實(shí)際電壓,即為1腳和6腳電壓差。在圖2.3中可以知道,傳感器電源供電端為3腳和4腳。此傳感器的電源端為加熱器供電,電源接入方向沒有要求。當(dāng)加熱器加熱到一定溫度時,電解質(zhì)局部才能和空氣中的二氧化碳產(chǎn)生反響,此時1腳和6腳產(chǎn)生電動勢。1腳和6腳的電壓滿足式〔2—1〕。電路中我們可以測得的1腳和6腳的電動勢即為EMF。而公式〔2-1〕中R和EMF0中都為參數(shù),所以要求的二氧化碳濃度Concentration可從以下公式中求得:〔2—2〕其中EMF0=534,R=65為廠商提供的在溫度為25攝氏度,濕度為65%時的標(biāo)定值。由于沒有標(biāo)準(zhǔn)的二氧化碳濃度測量儀來進(jìn)行標(biāo)定,系統(tǒng)中數(shù)據(jù)處理將采用廠商提供的標(biāo)準(zhǔn)。二氧化碳傳感器的測量濃度單位為:百萬分單位或ppm。600ppm濃度的二氧化碳意味著:每1,000,000公升的空氣中有600公升的二氧化碳〔或在1公升的空氣中有0.6毫升的二氧化碳〕。=2\*GB2⑵放大電路設(shè)計(jì)傳感器的輸出電動勢為1腳和6腳的差值,因此選擇用差分放大電路實(shí)現(xiàn)對電量信號的放大,同時,AD轉(zhuǎn)換采用ADC0809,其參考電壓為正5伏,因此要把信號放大到電壓范圍內(nèi),根據(jù)傳感器靈敏特性曲線知輸出電壓范圍為〔0~540mv〕,所以電路放大十倍就可以。放大電路設(shè)計(jì)如下:圖2.4差分放大電路假設(shè)設(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時,Vo=R4*(vi2-vi1)/R1〔2—5〕本電路要放大信號十倍,所以R4、R3取20k,R1、R2取2k。運(yùn)放6腳輸出電壓接ADC0809模擬輸入端。本電路選用op07運(yùn)算放大器,op07是高精度低失調(diào)電壓的精密運(yùn)放集成電路,用于微弱信號的放大,如果使用雙電源.能到達(dá)最好的放大效果。給op07提供正負(fù)12伏電壓,而系統(tǒng)中其他局部供電電壓為+5伏,通過7805將+12伏電壓轉(zhuǎn)化成+5伏,這樣外部供電就只需提供正負(fù)12伏電壓即可。圖2.5電壓轉(zhuǎn)化電路=3\*GB2⑶模數(shù)轉(zhuǎn)化模數(shù)轉(zhuǎn)化采用ADC0809將模擬信號轉(zhuǎn)化成數(shù)字信號,提供應(yīng)單片機(jī)處理。本系統(tǒng)中ADC0809只有一路輸入,即二氧化碳傳感器的放大信號,所以芯片三條地址選擇線直接接地,即只選中IN0通道。數(shù)據(jù)端接P0口,其他控制端連接如以下圖:圖2.6ADC0809接口電路ADC0809控制端口直接接單片機(jī)普通I/O口,通過I/O口模擬ADC0809時序,實(shí)現(xiàn)對ADC0809的控制,從而獲得最終數(shù)模轉(zhuǎn)換后的數(shù)據(jù)。ADC0809由一個8路模擬開關(guān)、一個地址鎖存與譯碼器、一個A/D轉(zhuǎn)換器和一個三態(tài)輸出鎖存器組成。多路開關(guān)可選通8個模擬通道,允許8路模擬量分時輸入,共用A/D轉(zhuǎn)換器進(jìn)行轉(zhuǎn)換。三態(tài)輸出鎖器用于鎖存A/D轉(zhuǎn)換完的數(shù)字量,當(dāng)OE端為高電平時,才可以從三態(tài)輸出鎖存器取走轉(zhuǎn)換完的數(shù)據(jù)。ADC0809時鐘由單片機(jī)ALE端4分頻后得到,單片機(jī)的晶振為12MHz,ALE端為晶振頻率的1/6,即2MHz,所以ADC0809的時鐘信號頻率為500KHz。4分頻信號可由兩級D觸發(fā)器獲得。2.2控制單元電路=1\*GB2⑴單片機(jī)最小系統(tǒng)AT89S52單片機(jī)是一種低功耗、高性能CMOS8位微控制器,具有8K在系統(tǒng)可編程Flash存儲器。使用Atmel公司高密度非易失性存儲器技術(shù)制造,與工業(yè)80C51產(chǎn)品指令和引腳完全兼容。片上Flash允許程序存儲器在系統(tǒng)可編程,亦適于常規(guī)編程器。在單芯片上,擁有靈巧的8位CPU和在系統(tǒng)可編程Flash,使得AT89S52單片機(jī)為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、超有效的解決方案。本系統(tǒng)主要通過IO口來控制個局部電路以及接受信號,32位I/O口控制線足以滿足系統(tǒng)功能需求。AT89S52具有P0、P1、P2、P3四個I/O口。由于外圍電路比擬多,所以要合理的利用端口,同一個器件盡量使用同一個I/O端口。根據(jù)這個原那么,各模塊之間因合理分配。P0口接ADC0809數(shù)據(jù)端口,P2口用來控制ADC0809和語音芯片〔語音芯片采用端口模擬SPI控制,需要4條I/O口控制線,ADC0809需要3條〕,P1接液晶數(shù)據(jù)端,而液晶使能端和鍵盤控制接P3口。如圖2.7所示。需要注意的是,P0口作為普通I/0口時需要增加上拉電阻。=2\*GB2⑵鍵盤控制根據(jù)系統(tǒng)功能考慮,系統(tǒng)的按鍵控制有以下5個功能。=1\*GB2⑴啟動語音播報;=2\*GB2⑵進(jìn)入播報定時時間設(shè)置菜單;=3\*GB2⑶修改時間;=4\*GB2⑷進(jìn)入報警限值設(shè)置菜單;=5\*GB2⑸修改報警數(shù)值?;谝陨瞎δ茉O(shè)置鍵盤按鍵的功能。語音播報可以用以個獨(dú)立按鍵控制。關(guān)于播報間隔時間和設(shè)置報警限值,可以采用一個按鍵進(jìn)行功能切換:按第一次,進(jìn)入播報時間間隔設(shè)置;按第二次,進(jìn)入設(shè)置報警限值;按第三次,退出設(shè)置菜單。然后再用2個鍵控制數(shù)值的增減即可?;谝陨瞎δ茉O(shè)計(jì),可以不必使用4×4鍵盤,只用獨(dú)立按鍵即可,即3個按鍵直接接單片機(jī)I/O口。這樣的好處是可以使得布局簡單。硬件功能的設(shè)計(jì)要根據(jù)具體功能需要,而不是全部都是標(biāo)準(zhǔn)設(shè)置。按鍵與接口連接如圖2.8所示。圖2.7單片機(jī)控制電路圖2.8按鍵接口電路3個按鍵接單片機(jī)I/O口,通過對I/O口的電位判斷判斷否有鍵按下。在顯示濃度值時,可以通過P34的按鍵控制語音播報。在進(jìn)入設(shè)置菜單時,可以通過P33口按鍵切換菜單,通過P36和P34來上調(diào)和下調(diào)設(shè)置。2.3液晶顯示局部字符與數(shù)字顯示局部采用LCD1602液晶顯示模塊,1602液晶模塊內(nèi)部的字符發(fā)生存儲器〔CGROM)已經(jīng)存儲了160個不同的點(diǎn)陣字符圖形,這些字符有:阿拉伯?dāng)?shù)字、英文字母的大小寫、常用的符號、和日文假名等,足夠系統(tǒng)需求的功能要求。每一個字符都有一個固定的代碼,比方大寫的英文字母“A〞的代碼是01000001B〔41H〕,顯示時模塊把地址41H中的點(diǎn)陣字符圖形顯示出來,我們就能看到字母“A〞。1602采用標(biāo)準(zhǔn)的16腳接口,其中:第1腳:VSS為電源地第2腳:VDD接5V電源正極第3腳:V0為液晶顯示器比照度調(diào)整端,接正電源時比照度最弱,接地電源時比照度最高〔比照度過高時會產(chǎn)生“鬼影〞,使用時可以通過一個10K的電位器調(diào)整比照度〕。第4腳:RS為存放器選擇,高電平1時選擇數(shù)據(jù)存放器、低電平0時選擇指令存放器。第5腳:RW為讀寫信號線,高電平(1)時進(jìn)行讀操作,低電平(0)時進(jìn)行寫操作。第6腳:E(或EN)端為使能(enable)端。第7~14腳:D0~D7為8位雙向數(shù)據(jù)端。第15~16腳:空腳或背燈電源。15腳背光正極,16腳背光負(fù)極。根據(jù)引腳對應(yīng)功能,將雙向數(shù)據(jù)端接單片機(jī)P1口,控制端接到P3口〔使液晶模塊與單片機(jī)端口連接全部處于同側(cè)〕,接口連接設(shè)計(jì)如下:圖2.9液晶模塊接口電路2.4語音電路本系統(tǒng)中語音播報的內(nèi)容的特點(diǎn)是有很多內(nèi)容是相同的,只有每次測量到得數(shù)據(jù),即二氧化碳的濃度是動態(tài)測量不斷變化。其他的播報內(nèi)容中的文字信息也有重復(fù)內(nèi)容,因此要充分利用單片機(jī)的控制能力,實(shí)現(xiàn)動態(tài)控制自動調(diào)用語音內(nèi)容組合成播報內(nèi)容。本系統(tǒng)選擇了ISD1720語音芯片,是華邦公司新推出的ISD1700系列芯片中的一種。改系列芯片提供多種功能而且音質(zhì)較好。芯片內(nèi)部包含自動增益控制、麥克風(fēng)前置擴(kuò)大器、揚(yáng)聲器驅(qū)動線路、振蕩器與內(nèi)存等的全方位整合系統(tǒng)功能。芯片特點(diǎn):可錄、放音十萬次,存儲內(nèi)容可以斷點(diǎn)保存一百年。兩種控制方式,兩種錄音輸入方式,兩種放音輸出方式。工作電壓在2.4V-5.5V之間,最高不能超過6V。用戶可以自己根據(jù)需求在芯片中在任意地址空間錄入所需的播放內(nèi)容,同時也可以按地址直接調(diào)用錄好的內(nèi)容進(jìn)行播放。這樣就可以滿足系統(tǒng)的播報要求。而語音芯片的外圍電路比擬簡單,僅需一些電阻、電容,電容主要是起到濾波的作用。本系統(tǒng)中單片機(jī)通過SPI模式控制語音芯片。主控單片機(jī)主要通過四線〔SCLK,MOSI,MISO,/SS〕SPI協(xié)議對ISD1720進(jìn)行串行通信,本系統(tǒng)中通過I/O口模擬串行通信,與單片機(jī)的連接僅需4個端口。系統(tǒng)中將其與P2.0-P2.3連接。語音芯片接口電路如圖2.10所示。圖2.10語音芯片接口電路語音芯片的語音輸出端SP+輸出的信號強(qiáng)度有限,所以要通過LM386設(shè)計(jì)一個放大電路來驅(qū)動揚(yáng)聲器工作。LM386電壓增益內(nèi)置為20,當(dāng)在1腳和8腳之間加一只外接電阻和電容,可使電壓增益最大增益到200。如圖2.11所示,可以通過R12,10k的電位器來控制輸出音頻的大小5腳作為輸出腳與1.25W的喇叭相連,為了濾掉低頻濾波,減少雜音以及儲存能量,在5腳和喇叭之間需加上一個220UF的極性電容。為了使喇叭發(fā)出的聲音柔和動聽,要在5腳和地之間接上一個0.047UF和10歐的電阻。在7腳和地之間接上一個10U的電容能濾除噪聲。在這里只選3腳作為輸入端,所以另一反相輸入端2腳接地。語音放大電路如圖2.11所示。圖2.11語音放大電路3軟件設(shè)計(jì)應(yīng)用系統(tǒng)中的應(yīng)用軟件是根據(jù)系統(tǒng)功能要求設(shè)計(jì)的,應(yīng)該可靠地實(shí)現(xiàn)系統(tǒng)的各種功能。一個優(yōu)秀的應(yīng)用系統(tǒng)的軟件應(yīng)具有以下特點(diǎn):(1)根據(jù)軟件功能要求,將系統(tǒng)軟件分成假設(shè)干個相對獨(dú)立的局部。設(shè)計(jì)出軟件的總體結(jié)構(gòu),使其結(jié)構(gòu)清晰、簡捷、流程合理。(2)要樹立結(jié)構(gòu)化程序設(shè)計(jì)風(fēng)格,各功能程序?qū)崿F(xiàn)模塊化、子程序化。既便于調(diào)試、鏈接,又便于移植、修正。(3)建立正確的數(shù)學(xué)模型。即根據(jù)功能要求,描繪出各個輸入和輸出變量之間的數(shù)學(xué)關(guān)系,它是關(guān)系到系統(tǒng)性能好壞的重要因素。(4)為提高軟件設(shè)計(jì)的總體效率,以簡明、直觀的方法對任務(wù)進(jìn)行描述,在編寫應(yīng)用軟件之前,應(yīng)繪制出程序流程圖。(5)注意在程序的有關(guān)位置處寫上功能注釋,提高程序的可讀性。(6)加強(qiáng)軟件抗干擾設(shè)計(jì),它是提高計(jì)算機(jī)應(yīng)用系統(tǒng)可靠性的有利措施。本系統(tǒng)的軟件包括以下幾個程序模塊:(1)按鍵識別程序與處理程序;(2)ADC0809驅(qū)動程序;(3)LCD顯示程序;(4)語音播報程序;(5)數(shù)據(jù)處理局部。3.1主程序流程圖程序主要要實(shí)現(xiàn)的功能:啟動ADC0809進(jìn)行模數(shù)轉(zhuǎn)化,并將所得數(shù)據(jù)轉(zhuǎn)化成實(shí)際的二氧化碳濃度,并且控制液晶顯示,控制語音芯片進(jìn)行語音播報。程序主流程如圖3.1.設(shè)置菜單按鍵是否按下播報鍵是否按下設(shè)置菜單按鍵是否按下開始系統(tǒng)初始化啟動AD0809數(shù)模轉(zhuǎn)化是否結(jié)束數(shù)據(jù)處理液晶顯示二氧化碳濃度設(shè)置報警時間限值設(shè)置菜單按鍵是否按下顯示時間設(shè)置菜單設(shè)置時間設(shè)置菜單按鍵是否按下播報鍵是否按下設(shè)置菜單按鍵是否按下開始系統(tǒng)初始化啟動AD0809數(shù)模轉(zhuǎn)化是否結(jié)束數(shù)據(jù)處理液晶顯示二氧化碳濃度設(shè)置報警時間限值設(shè)置菜單按鍵是否按下顯示時間設(shè)置菜單設(shè)置時間否否否否是是是是顯示設(shè)置報警限菜單顯示設(shè)置報警限菜單是是否否否否是是是是語音播報語音播報否否圖3.1系統(tǒng)主程序流程圖3.2ADC0809程序設(shè)計(jì)ADC0809是典型的逐次比擬A/D轉(zhuǎn)換器,通常都是以二進(jìn)制碼輸出的,數(shù)據(jù)的輸出符合微處理器數(shù)據(jù)總線的要求??刂艫DC0809要按照其時序進(jìn)行。START為啟動轉(zhuǎn)換信號,該信號的上升沿使逐次逼近存放器復(fù)位,從它的下降沿開始進(jìn)行A/D轉(zhuǎn)換。ALE是地址鎖存信號,在ALE的上升沿,A,B,C被鎖入地址鎖存器。OE為允許輸出信號:當(dāng)OE=1時,三態(tài)輸出鎖存器重的數(shù)據(jù)被送上數(shù)據(jù)總線。EOC為轉(zhuǎn)換結(jié)束信號:當(dāng)A/D轉(zhuǎn)換結(jié)束時,EOC變?yōu)楦汶娖?,并將結(jié)果送入三態(tài)輸出鎖存器。硬件電路所有控制端口直接接普通I/O口,通過I/O置高和置低來模擬ADC0809時序。ADC0809程序流程圖開始開始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ù)與命令都通過D0~D7傳入;讀寫操作時序由使能信號E完成;對讀寫操作的識別時對R/W信號上的電平判斷,R/W的信號的寬度要大于E;RS信號用于識別數(shù)據(jù)總線的數(shù)據(jù)是屬于指令代碼還是屬于顯示數(shù)據(jù)。接口端的信號邏輯功能如下表:表3.1接口端邏輯功能RSR/WEDB7~DB0功能00高脈沖指令碼寫指令01高電平狀態(tài)字讀狀態(tài)10高脈沖數(shù)據(jù)寫數(shù)據(jù)11高電平數(shù)據(jù)讀數(shù)據(jù)表3.2狀態(tài)字輸出口STA7STA6STA5STA4STA3STA2STA1STA0D7D6D5D4D3D2D1D0表3.3狀態(tài)字功能說明STA0-6當(dāng)前數(shù)據(jù)地址指針的數(shù)值STA7讀寫操作使能1:禁止0:允許上述是根本時序和狀態(tài)字的功能,其他指令的格式還有很多不一一列舉,僅介紹本系統(tǒng)中用到得顯示方法。本系統(tǒng)中無論是二氧化碳的濃度顯示還是設(shè)置界面的菜單顯示,都是只有中間的數(shù)字是變化的。因此可以在初始化液晶顯示后,編寫一個顯示字符串的子程序。顯示內(nèi)容送字符串?dāng)?shù)組中,然后送顯示,每次只要將字符串里的數(shù)值改變即可。如圖3.3所示。開始開始顯示內(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);//開顯示,不顯示光標(biāo);WriteCode(0x06);//寫字符后地址指針加一;}=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)容可以通過傳不同的數(shù)據(jù)緩沖區(qū)的內(nèi)容得以調(diào)用。3.4數(shù)據(jù)處理傳感器輸出電壓為毫伏級,AD采集到得是輸出電壓的10倍電壓。轉(zhuǎn)換公式中,傳感器電壓為毫伏級時的數(shù)值,AD轉(zhuǎn)化后的數(shù)字量為傳感器實(shí)際值的1/100,所以先對AD轉(zhuǎn)換后的數(shù)值100倍放大,再利用公式處理所得數(shù)據(jù)。數(shù)據(jù)處理程序:DigitalData=GetResult();DigitalData=DigitalData*100;DigitalData=(534-DigitalData)/65;temp1=pow(10,DigitalData);其中534對應(yīng)式〔2—2〕中的EMF0,65對應(yīng)式(2—2)中R,pow為指數(shù)函數(shù)。DigitalData為ADC0809轉(zhuǎn)化得到的數(shù)字量。3.5語音播報語音播報采用ISD1720語音芯片,可以播放20s的語音內(nèi)容,芯片內(nèi)部有內(nèi)部存儲單元,存儲預(yù)先輸入的語音信息。存儲單元可以尋址訪問,因此用戶可以自行設(shè)置語音存放的空間以及播放任意錄制空間的語音內(nèi)容。芯片存儲地址從第一個提示音的地址0x0000開始計(jì)算,但0x000-0x00F地址平均保存給了4個提示音。從0x010地址開始,才是非保存的存儲區(qū)域,即真正的錄音區(qū),最高地址為0x09F。本系統(tǒng)中對語音芯片主要通過SPI模式進(jìn)行控制,實(shí)現(xiàn)語音播報。ISD1720作為從機(jī),幾乎所有的操作都可以通過這個協(xié)議來完成。兼容獨(dú)立按鍵模式,有PLAY,REC,ERASE,F(xiàn)WD,RESET和GLOBAL_ERASE的運(yùn)行類似于形影的獨(dú)立按鍵模式的操作。另外,SET_PLAY,SET_REC,SET_ERASE命令允許用戶指定錄音、放音和擦除的開始和結(jié)束地址。ISD1720SPI串行接口操作遵照以下協(xié)議:一個SPI處理開始于/SS管腳的下降沿;在一個完整的SPI指令傳輸周期,/SS管腳必須保持低電平;數(shù)據(jù)在SCLK的上升沿鎖存在芯片的MOSI管腳,在SCLK的下降沿從MISO管腳輸出,并且首先移出低位;SPI指令操作碼包括命令字節(jié),數(shù)據(jù)字節(jié)和地址字節(jié),這決定于1720的指令類型;當(dāng)命令字及地址數(shù)據(jù)輸入到MOSI管腳時,同時狀態(tài)存放器和當(dāng)前行地址信息從MISO管腳移出;一個SPI處理再/SS變高后啟動;再完成一個SPI命令的操作后,會啟動一個中斷信息,并且保持為低,直到芯片收到CLR_INT命令或者芯片復(fù)位。圖3.4語音芯片時序圖在SPI命令輸入到ISD1720前,SPI端口的狀態(tài)應(yīng)該保持如下狀態(tài):/SS=HIGH;CLK=HIGH;OSI=LOW。ISD1700芯片內(nèi)部存放器可以返回1700芯片的內(nèi)部狀態(tài),其中SR0為2個字節(jié),SR1為一個字節(jié)。SR0第一個字節(jié)的0為與SR1的0位用來判斷上條命令是否正確執(zhí)行及執(zhí)行完畢。具體的功能實(shí)現(xiàn)播報數(shù)據(jù)中要實(shí)現(xiàn)對數(shù)字的動態(tài)播報。例如:當(dāng)數(shù)據(jù)為1234是,要播報的內(nèi)容為“二氧化碳濃度為一千二百三十四PPM〔PPM二氧化碳單位〕〞。這就需要在軟件上處理。數(shù)字播報流程圖如圖3.5。錄音空間為0x09F-0x010=0x08F,即8×16+15=143,143+1=144段空間,每段空間20÷144=0.14秒,0~9,萬,千,百,十各用0.5秒,各占0.5÷0.14=4段空間QUOTE。在0x010~0x013存放讀音“0〞,以此類推“9〞存放在0x034~0x034,“萬〞存放在0x038~0x03B,“十〞存放在0x044~0x047。-通過以下判斷順序可以正確報數(shù)值:先判斷數(shù)字位數(shù),然后從最高位播起,每播一位追加單位播報;數(shù)字播報可以用每一位數(shù)字本身做偏移量,尋址播放;單位在最初判斷數(shù)字位后,設(shè)定起始單位地址,然后逐一增加。開始開始播放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ù)字播報流程圖4調(diào)試過程整個調(diào)試過程包括硬件調(diào)試、軟件調(diào)試和系統(tǒng)測試三局部。每個模塊在功能上相互聯(lián)系又各自獨(dú)立,所以在每個局部調(diào)試的過程中也要分模塊進(jìn)行。這樣做的好處是,可以將出現(xiàn)的問題進(jìn)行具有針對性的處理,防止出現(xiàn)問題時找不到真正原因。調(diào)試過程是對原理進(jìn)一步理解和對原理中的缺乏改良的重要步驟。4.1硬件調(diào)試硬件正常是整個系統(tǒng)正常運(yùn)轉(zhuǎn)的根底,所以硬件調(diào)試就格外重要。硬件調(diào)試主要是對制版的電氣特性進(jìn)行檢測,逐個排查電路布線問題,使器件在能正常工作。前期的電路特性檢查必須十分耐心,硬件電路的細(xì)小問題都可能對軟件的工作是否正常產(chǎn)生影響。硬件的調(diào)試主要經(jīng)行了以下測試:第一,對于電路布線中容易短路和斷路的地方進(jìn)行檢測。因?yàn)樵谟≈瓢遄拥倪^程中難免出現(xiàn)細(xì)微問題,比方布線比擬近的地方就可能出現(xiàn)短路,然后在焊接好以后,對容易焊接短路的地方進(jìn)行檢測。這局部檢測較為容易用萬用表測量短路檔來檢測即可。第二,在焊好板子后先不安裝芯片上電。檢測芯片底座供電電壓是否正常。如果不正常,由于已經(jīng)排除掉焊接短路、斷路的問題,可以重點(diǎn)疑心電路原理的問題。第三,安裝芯片分模塊檢測電路是否正常,這時先檢測單片機(jī)是否正常工作,然后通過單片機(jī)向各模塊發(fā)送一些簡單命令測試模塊是否能正常工作。4.1.1單片機(jī)硬件電路檢測單片機(jī)最小系統(tǒng)檢測主要是檢測單片機(jī)是否能正常啟動。方法為用示波器檢測單片機(jī)30腳,即ALE管腳是否有方波輸出,且方波的頻率因?yàn)榫д竦?/6,即2M〔晶振使用的是12M的〕。檢測到2M方波,說明單片機(jī)能正常啟動。4.1.2液晶模塊調(diào)試液晶模塊檢測主要是檢測能否正常顯示字符。利用前面提到的送字符串顯示測試。當(dāng)然首先要保證液晶初始化程序和子程序都是正確的,在此前提下查看液晶的硬件電路連接。注意要保證比照度適合。開始測試沒有看到字符,就是因?yàn)楸日斩日{(diào)節(jié)不適宜。4.1.3ADC0809和語音電路調(diào)試檢測ADC0809首先要檢測ADC0809的時鐘是否正確。本系統(tǒng)采用500Hz,可以用示波器加以檢測。語音芯片保存了按鍵局部用來測試芯片是否正常工作和芯片電源供電是否正常。工作正常后,可以通過控制端口模擬SPI時序,用示波器觀測各控制端是否有正常信號輸出。在檢測語音芯片控制端的時候發(fā)現(xiàn)信號有異常,不能對芯片進(jìn)行控制,最后發(fā)現(xiàn)P2口的上拉排阻裝反了。4.1.4放大電路檢測放大電路主要是對傳感器信號的放大。檢測放大電路主要是檢測放大電路能不能調(diào)零。將差分輸入端同時接地,然后調(diào)整調(diào)零電阻,看是否能調(diào)零。放大電路放大倍數(shù)產(chǎn)生的誤差也是主要要考慮的。為后面的數(shù)據(jù)處理可能導(dǎo)致較大誤差。4.2軟件調(diào)試本系統(tǒng)軟件局部采用C語言編寫,系統(tǒng)硬件電路比擬簡單,主要通過軟件來實(shí)現(xiàn)各個模塊之間的協(xié)調(diào)運(yùn)作。由于軟件運(yùn)行的根底是硬件,所以在調(diào)試軟件的過程中如果發(fā)現(xiàn)問題,應(yīng)該同時考慮軟件和硬件的問題。調(diào)試可以通過使用偉福仿真器來仿真調(diào)試。4.2.1液晶顯示程序調(diào)試液晶顯示在開始測試電路是否正常時,通過送字符串可以正常顯示。但實(shí)際系統(tǒng)要求要顯示的濃度值是動態(tài)變化的。開始曾想過,整個顯示內(nèi)容分段顯示,數(shù)字單獨(dú)顯示,發(fā)現(xiàn)程序比擬繁瑣。所以想到如果可以將這個顯示的內(nèi)容看做一個整體的字符串,而其中的數(shù)字可以動態(tài)改變就可以了。通過使用scanf函數(shù)就可以到達(dá)目的。4.2.2語音播報程序調(diào)試語音播報主要是模擬SPI時序傳輸命令與數(shù)據(jù)。主要出現(xiàn)問題是開始播報數(shù)字,用每位數(shù)字作偏移量尋址播報,所播數(shù)字與實(shí)際不符。用編譯器仿真查看程序中變量,發(fā)現(xiàn)問題為當(dāng)數(shù)字量轉(zhuǎn)化成字符放到字符串中時,值就轉(zhuǎn)化成其對應(yīng)的ASCⅡ碼。因此想用數(shù)字做廉價量,要對其處理,即減掉30H即可。同時在分段播放時,沒次播放前都要參加判斷是否播放完畢,這樣才能正常運(yùn)行。調(diào)試初期,沒有參加判斷語句,導(dǎo)致分段播放混亂。還有要注意的是,當(dāng)使用SPI模式不按照嚴(yán)格要求進(jìn)行錄音的時候,按鍵模式無效,此時不能通過按鍵來判斷芯片是否正常。4.2.3其他程序調(diào)試模數(shù)轉(zhuǎn)化程序比擬簡單,就是模擬其時序即可。數(shù)據(jù)處理局部,根據(jù)其線性關(guān)系可以得到求值公式,但是其斜率和輸出的電壓隨溫度變化,沒能得到很好的解決,可以通過屢次求值求平均值來減小誤差,但室內(nèi)空氣檢測,要求不是很精確,只要誤差范圍在允許范圍內(nèi)即可。4.3系統(tǒng)測試在各個模塊軟件功能根本實(shí)現(xiàn)的時候,其實(shí)也就是硬件與軟件能配套實(shí)現(xiàn)的過程。在各個模塊程序?qū)崿F(xiàn)功能的時候,在整合整個系統(tǒng)的軟件時要注意不要出現(xiàn)死循環(huán)。各功能單獨(dú)測試時,可以實(shí)現(xiàn)并不意味著這個系統(tǒng)的功能可以正常實(shí)現(xiàn)。在軟件上根據(jù)流程圖,合理設(shè)置個功能的連接方式十分重要。以上調(diào)試經(jīng)過以后可以,進(jìn)行系統(tǒng)整體測試。由于傳感器正常輸出信號需要預(yù)熱一個小時,系統(tǒng)在一個小時候才能正常測量。傳感器預(yù)熱后可以看到,液晶屏能夠顯示二氧化碳濃度。由于沒有標(biāo)準(zhǔn)的二氧化碳濃度檢測儀進(jìn)行比擬,沒法進(jìn)行自行標(biāo)定。只能根據(jù)傳感器芯片中所標(biāo)定來處理傳感器輸出信號。所得濃度與實(shí)際值存在一些偏差,但是公共場合二氧化碳濃度測量本身精度要求并不高,只要偏差范圍不是太大即可。然后可以經(jīng)行按鍵功能測試。按設(shè)置菜單建,可以進(jìn)入設(shè)置菜單,按一次是進(jìn)行報警值的設(shè)置,按兩次是進(jìn)入報警間隔時間的設(shè)置。其他兩個按鍵可以對數(shù)值進(jìn)行增減設(shè)置。在顯示濃度時,按下語音播放鍵,可以對濃度進(jìn)行語音播報。在設(shè)置菜單時不能通過按鍵播放語音,這時播放按鍵用來經(jīng)行設(shè)置相應(yīng)數(shù)值。系統(tǒng)整體設(shè)計(jì)功能根本能夠?qū)崿F(xiàn),能夠?qū)Χ趸紳舛冗M(jìn)行實(shí)時顯示和語音播報。5結(jié)論本系統(tǒng)設(shè)計(jì)過程中遇到一些問題,有些已經(jīng)解決有些還有待改善。系統(tǒng)中主要應(yīng)用了AT89S52單片機(jī),ADC0809模數(shù)轉(zhuǎn)化芯片,液晶LCD1602以及語音芯片1720。各個芯片在應(yīng)用的過程中應(yīng)該注意一些問題。對于AT89S52單片機(jī),應(yīng)用已經(jīng)相當(dāng)普及和廣泛。由于其本身沒有像類似凌陽單片機(jī)集成其他多種功能,在組建系統(tǒng)時只能起到中心控制器的作用,其他功能需要依靠其他芯片來組建相應(yīng)的功能電路。盡管本身功能不是強(qiáng)大,但具有很強(qiáng)的靈活型,根據(jù)不同的需求來配合外部電路來實(shí)行控制。ADC0809經(jīng)典的電路接口是利用單片機(jī)讀寫口和P2.0通過與非門來控制芯片啟動。本系統(tǒng)中通過I/0口來模擬啟動時序。在實(shí)現(xiàn)啟動AD0809的程序調(diào)試中,在最開始的時候,通過簡單的將ALE端置高電平,沒能成功。最后通過對時序圖的重新認(rèn)識,才發(fā)現(xiàn)時邊沿觸發(fā)。這使我發(fā)現(xiàn)對與芯片的使用首先要讀懂其時序圖,很要的一點(diǎn)就是邊沿觸發(fā)還是電平觸發(fā)。這一點(diǎn)在ADC1720的使用上也有體會。液晶LCD1602雖然不能顯示漢字,但已經(jīng)可以滿足系統(tǒng)要求。在系統(tǒng)中對LCD的應(yīng)用較為簡單,僅是現(xiàn)實(shí)字符串。通過對LCD的命令字的了解,可以自行設(shè)置顯示效果,例如可以通過控制顯示模式到達(dá)字符滾動顯示,由于本系統(tǒng)不涉及,就不再討論。語音芯片ISD1720的使用是本系統(tǒng)中難度最大的局部。本芯片使用不單純是一個放音電路,還含有其他的控制。因此程序首先要能完成指定地址的放音工作,還要配合其他的功能程序。在調(diào)試液晶和語音芯片的過程中,要從易道難逐步調(diào)試。開始就想實(shí)現(xiàn)整體功能較為困難。液晶的功能實(shí)現(xiàn)先由實(shí)現(xiàn)顯示字符串內(nèi)容開始,然后實(shí)現(xiàn)顯示內(nèi)容的切換,在實(shí)現(xiàn)現(xiàn)實(shí)內(nèi)容的變動。而語音芯片那么是先實(shí)現(xiàn)按鍵播放錄音,然后實(shí)現(xiàn)SPI控制的錄放音,最后實(shí)現(xiàn)分段播錄功能的實(shí)現(xiàn)。語音電路的設(shè)計(jì)要注意,在線路布線的時候要注意電容要靠近指定管腳,可以提高錄放音的質(zhì)量。語音程序的應(yīng)用一定要注意每執(zhí)行完一跳語句要進(jìn)行是否執(zhí)行完畢的判斷,在初步調(diào)試程序時發(fā)現(xiàn)沒有判斷將使得有的語句沒有執(zhí)行不能按預(yù)期的方式播放。也可以用足夠的延時來代替完畢判斷,但建議使用語句判斷較為合理。系統(tǒng)的整體功能實(shí)現(xiàn),不是簡單的各個模塊的功能實(shí)現(xiàn)的。尤其在軟件編寫方面格外突出,系統(tǒng)軟件中各個功能程序的合理調(diào)用對最后系統(tǒng)的影響十分重要。系統(tǒng)的功能根本實(shí)現(xiàn),但還有一些缺乏。從制作工藝上來看,布線還有待提高,有些進(jìn)一步完善;從功能上看,由于室內(nèi)測量的精度要求不是是特別高,所以本系統(tǒng)對傳感器的信號處理的精度不是很高,如果要具有更廣泛的應(yīng)用,信號的處理局部要加以改善。本系統(tǒng)作為二氧化碳播報系統(tǒng),建立了根本架構(gòu),根據(jù)不同場合需求可以對不同的功能模塊加以改善從而到達(dá)要求。YY謝辭參考文獻(xiàn)[1]王為青、程國鋼.單片機(jī)KeilCx51應(yīng)用開發(fā)技術(shù)[M].人民郵電出版社.[2]譚浩強(qiáng).C程序設(shè)計(jì)[M].清華大學(xué)出版社,2005,104~106.[3]白駒珩,雷曉平.單片計(jì)算機(jī)及其應(yīng)用.高等教育出版社&電子科技大學(xué)出版社,2005.[4]康華光等.電子技術(shù)根底模擬局部〔第五版〕.高等教育出版社,2005.[5]馬忠梅.單片機(jī)的C語言應(yīng)用程序設(shè)計(jì)[M].北京航空航天大學(xué)出版社,1999.[6]勞五一,勞佳編著.模擬電子電路分析、設(shè)計(jì)與仿真[M].清華大學(xué)出版社,2007.5.[7]王秋爽,曾昭龍著.單片機(jī)開發(fā)根底與經(jīng)典設(shè)計(jì)實(shí)例.機(jī)械工業(yè)出版社,2021[8]松井邦彥.傳感器應(yīng)用技巧〔梁瑞林〕[M].科學(xué)出版社,2006,16~18[9]Digitallogiccircuitanalysisanddesign.VictorP.Nelson[et.al.]1995byPrenticeHall,Inc.[10]田立,田清著,51單片機(jī)C語言程序設(shè)計(jì)快速入門.人民郵電出版社出版發(fā)行,2007.附錄附錄一:電路原理圖附錄二:程序清單主函數(shù)程序:voidmain(void){LCD_init();ISD_PU();time0_int();temp2=0;temp3=0;delay(10);alarm=0;time=10;while(1){AD0809_ST=0;AD0809_ST=1;delay(10); AD0809_ST=0;while(!AD0809_EOC); AD0809_OE=1; DigitalData=GetResult();DigitalData=DigitalData*100;DigitalData=(534-DigitalData)/65;temp1=pow(10,DigitalData);sprintf(buffer,"co2:%uppm",temp1); LCD_Disp();while(!BACK){while(!BACK);alarm=showmenu1();time=showmenu2();}while(!DOWN){bfnd();}if(temp3>time*6){EA=0;bfnd();temp2=0;EA=1; }if(temp1>alarm){SetPLAY(0x00,0x56,0x00,0x70);SetPLAY(0x00,0x80,0x00,0x8F);}}}主要子函數(shù):voidtime0_int(){TMOD=0X22;TH0=0X06;TL0=0X06;ET0=1;EA=1;TF0=0;TR0=1;}//****************定時中斷程序**********888voidTimer0_Overflow()interrupt1using0{ET0=0;temp2=temp2+1;if(temp2==40000){temp3++;temp2=0;}ET0=1;}voidbfnd(){SetPLAY(0x00,0x56,0x00,0x70);sprintf(buffer,"%u",temp1);bfsz(temp1);SetPLAY(0x00,0x70,0x00,0x7F);}//AD數(shù)據(jù)獲取函數(shù)floatGetResult(){floattemp;floatVOLT;temp=ADData_BUS;VOLT=5*temp/255;returnVOLT;}//菜單設(shè)置子程序****************************************************intshowmenu1(void){inti,a,b,c,sum;LCD_init();sum=alarm;sprintf(string1,"alarmmunber:");LCD_Showstring(0,string1);sprintf(string1,"%dppm",alarm);LCD_Showstring(1,string1);while(BACK){if(!UP)i=0;elseif(!DOWN)i=1;elsei=3;switch(i){case0:;alarm=100+sum;sum=alarm;break;case1:;alarm=sum-100;sum=alarm;break;default:break;}sprintf(string1,"%dppm",alarm);LCD_Showstring(1,string1);}while(!BACK);return(alarm);}intshowmenu2(void){inti,a,b,c,sum;LCD_init();sum=time;sprintf(string1,"alarmtime:");LCD_Showstring(0,string1);sprintf(string1,"%dmin",time);LCD_Showstring(1,string1);while(BACK){if(!UP)i=0;elseif(!DOWN)i=1;elsei=3;switch(i){case0:;time=10+sum;sum=time;break;case1:;time=sum-10;sum=time;break;default:break;}sprintf(string1,"%dmin",time);LCD_Showstring(1,string1);}while(!BACK);LCD_init();return(time);}voidbfsz(uinta){ucharb,i,j;uintc;i=0j=pdwei(temp1);for(i=0;buffer[i]!='\0';i++){b=buffer[i]-0x30;SetPLAY(0x00,0x10+b*7,0x00,0x17+b*7);bfwei(j);j++;}}voidbfwei(uinti){switch(i){case0:SetPLAY(0x00,0x42,0x00,0x47);break;case1:SetPLAY(0x00,0x47,0x00,0x4C);break;case2:SetPLAY(0x00,0x4C,0x00,0x51);break;case3:SetPLAY(0x00,0x51,0x00,0x56);break;default:break;}}uintpdwei(uintnum){uinti;if(num>10000)i=0;elseif(num>1000)i=1;elseif(num>100)i=2;elseif(num>10)i=3;else;returni;}ganemploymenttribunalclaiEmploymenttribunalssortoutdisagreementsbetweenemployersandemployees.Youmayneedtomakeaclaimtoanemploymenttribunalif:youdon'tagreewiththedisciplinaryactionyouremployerhastakenagainstyouyouremployerdismissesyouandyouthinkthatyouhavebeendismissedunfairly.Formoreinformationaboutdismissalandunfairdismissal,see

Dismissal.Youcanmakeaclaimtoanemploymenttribunal,evenifyouhaven't

appealed

againstthedisciplinaryactionyouremployerhastakenagainstyou.However,ifyouwinyourcase,thetribunalmayreduceanycompensationawardedtoyouasaresultofyourfailuretoappeal.Rememberthatinmostcasesyoumustmakeanapplicationtoanemploymenttribunalwithinthreemonthsofthedatewhentheeventyouarecomplainingabouthappened.Ifyourapplicationisreceivedafterthistimelimit,thetribunalwillnotusuallyaccepti.Ifyouareworriedabouthowthetimelimitsapplytoyou,takeadvicefromoneoftheorganisationslistedunder

Furtherhelp.Employmenttribunalsarelessformalthansomeothercourts,butitisstillalegalprocessandyouwillneedtogiveevidenceunderanoathoraffirmation.Mostpeoplefindmakingaclaimtoanemploymenttribunalchallenging.Ifyouarethinkingaboutmakingaclaimtoanemploymenttribunal,youshouldgethelpstraightawayfromoneoftheorganisationslistedunder

Furtherhelp.Ifyouarebeingrepresentedbyasolicitoratthetribunal,theymayaskyoutosignanagreementwhereyoupaytheirfeeoutofyourcompensationifyouwinthecase.Thisisknownasa

damages-basedagreement.InEnglandandWales,yoursolicitorcan'tchargeyoumorethan35%ofyourcompensation

ifyouwinthecase.Ifyouarethinkingaboutsigningupfor

adamages-basedagreement,youshouldmakesureyou'reclearaboutthetermsoftheagreement.Itmightbebesttogetadvicefromanexperiencedadviser,forexample,ataCitizensAdviceBureau.

TofindyournearestCAB,includingthosethatgiveadvicebye-mail,clickon

nearestCAB.Formoreinformationaboutmakingaclaimtoanemploymenttribunal,see

Employmenttribunals.The(lackof)airupthereWatchmCaymanIslands-basedWebb,theheadofFifa'santi-racismtaskforce,isinLondonfortheFootballAssociation's150thanniversarycelebrationsandwillattendCity'sPremierLeaguematchatChelseaonSunday."IamgoingtobeatthematchtomorrowandIhaveaskedtomeetYayaToure,"hetoldBBCSport."Formeit'sabouthowhefeltandIwouldliketospeaktohimfirsttofindoutwhathisexperiencewas."Uefahas

openeddisciplinaryproceedingsagainstCSKA

forthe"racistbehaviouroftheirfans"during

City's2-1win.MichelPlatini,presidentofEuropeanfootball'sgoverningbody,hasalsoorderedanimmediateinvestigationintothereferee'sactions.CSKAsaidtheywere"surprisedanddisappointed"byToure'scomplaint.InastatementtheRussiansideadded:"WefoundnoracistinsultsfromfansofCSKA."Agehasreachedtheendofthebeginningofaword.Maybeguiltyinhisseemstopassingalotofdifferentlifebecametheappearanceofthesameday;Maybebackinthepast,tooneselftheparanoidweirdbeliefdisillusionment,thesedays,mymindhasbeenverymessy,inmymindconstantly.Alwaysfeeloneselfshouldgotodosomething,orwritesomething.Twentyyearsoflifetrajectorydeeplyshallow,suddenlyfeelsomething,doit.一字開頭的年齡已經(jīng)到了尾聲?;蛟S是愧疚于自己似乎把轉(zhuǎn)瞬即逝的很多個不同的日子過成了同一天的樣子;或許是追溯過去,對自己那些近乎偏執(zhí)的怪異信念的醒悟,這些天以來,思緒一直很凌亂,在腦海中不斷糾纏。總覺得自己自己似乎應(yīng)該去做點(diǎn)什么,或者寫點(diǎn)什么。二十年的人生軌跡深深淺淺,突然就感覺到有些事情,非做不可了。Theendofourlife,andcanmeetmanythingsreallydo?而窮盡我們的一生,又能遇到多少事情是真正地非做不可?Duringmychildhood,thinkluckymoneyandnewclothesarenecessaryforNewYear,butastheadvanceoftheage,willbemoreandmorefoundthatthosethingsareoptional;Juniorhighschool,thoughttohaveacrushonjustmeansthattherealgrowth,butoverthepastthreeyearslater,hiswritingofalumniinpeace,suddenlyfoundthatisn'treallygrowup,itseemsisnotsoimportant;Theninhighschool,thinkdon'twanttogiveventtooutyourinnervoicecanbeinthehighschoolchildrenofthefeelingsinaperiod,butwaseventuallyinfarctionwhengraduationpartyinthethroat,lateragainstoodonthepitchhehassweatprofusely,lookedathisthrownabasketballhoops,suddenlyfoundhimselfhasalreadycan'trememberhisappearance.童年時,覺得壓歲錢和新衣服是過年必備,但是隨著年齡的推進(jìn),會越來越發(fā)現(xiàn),那些東西根本就可有可無;初中時,以為要有一場暗戀才意味著真正的成長,但三年過去后,自己心平氣和的寫同學(xué)錄的時候,突然就發(fā)現(xiàn)是不是真正的成長了,好似并沒有那么重要了;然后到了高中,覺得非要吐露出自己的心聲才能為高中生涯里的懵懂情愫劃上一個句點(diǎn),但畢業(yè)晚會的時候最終還是被堵塞在了咽喉,后來再次站在他曾經(jīng)揮汗如雨的球場,看著他投過籃球的球框時,突然間發(fā)現(xiàn)自己已經(jīng)想不起他的容顏。Originally,thisworld,canproduceachemicalreactiontoanevent,inadditiontoresolutely,havetodo,andtime.原來,這個世界上,對某個事件能產(chǎn)生化學(xué)反響的,除了非做不可的堅(jiān)決,還有,時間。Aperson'stime,yourideasarealwaysspecialtoclear.Want,want,lineisclear,asifnothingcouldshakehis.Alsoonceseemedtobedeterminedtodosomething,butmoreoftenishebackedoutatlast.Dislikehiscowardice,finallyfoundthattherearealotoflove,therearealotofmiss,likeshadowreallyhavebeendoomed.Thosewhodo,justgreenyearsoneselfgiveoneselfanarminjection,orisaself-righteousspiritual.一個人的時候,自己的想法總是特別地清晰。想要的,不想要的,界限明確,好似沒有什么可以撼動自己。也曾經(jīng)好似已經(jīng)下定了決心去做某件事,但更多的時候是最后又打起了退堂鼓。嫌惡過自己的怯懦

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論