基于單片機(jī)氧氣濃度測(cè)與控制的設(shè)計(jì)畢業(yè)論文1
《基于單片機(jī)氧氣濃度測(cè)與控制的設(shè)計(jì)畢業(yè)論文1》由會(huì)員分享,可在線閱讀,更多相關(guān)《基于單片機(jī)氧氣濃度測(cè)與控制的設(shè)計(jì)畢業(yè)論文1(39頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、 本科畢業(yè)論文(設(shè)計(jì)) 題 目:基于單片機(jī)氧氣濃度測(cè)與控制的設(shè)計(jì) 院 系:電子與通信工程學(xué)院 專(zhuān) 業(yè):電子信息科學(xué)與技術(shù) 姓 名: 學(xué) 號(hào):090605402032 指導(dǎo)教師: 教師職稱(chēng):副教授
2、 填寫(xiě)日期:2013年 4月 26 日 摘 要 目前隨著煤炭事業(yè)的發(fā)展的需要,對(duì)安全的要求越來(lái)越嚴(yán)格了,為此,煤礦里氧氣濃度的測(cè)量與控制成了安全生產(chǎn)的重要措施。對(duì)可能造成災(zāi)害的各種有毒氣體和礦塵進(jìn)行嚴(yán)格控制,一旦有不良情況,在第一時(shí)間處理,減少曠工安全事故,提高煤炭的生產(chǎn)效益。 本論文介紹基于AT89S52單片機(jī)的一種便攜式氧氣濃度檢測(cè)儀的設(shè)計(jì)與實(shí)現(xiàn)。用電化學(xué)式氧化鋯傳感器首先氧氣濃度信號(hào)轉(zhuǎn)為電流信號(hào),經(jīng)調(diào)理
3、放大后傳送到單片機(jī)AT89S52,再經(jīng)A/D轉(zhuǎn)換后,再進(jìn)行串口輸出和現(xiàn)場(chǎng)LED顯示。本系統(tǒng)主要用于空氣中氧氣濃度的檢測(cè),并進(jìn)報(bào)警。采用嵌入式串/網(wǎng)口轉(zhuǎn)換器將異步串行485通信信號(hào)轉(zhuǎn)換成網(wǎng)絡(luò)信號(hào),通過(guò)局域網(wǎng)或互聯(lián)網(wǎng)進(jìn)行有線網(wǎng)絡(luò)傳輸,以達(dá)到遠(yuǎn)程監(jiān)測(cè)和本地顯示的目的。 關(guān)鍵詞:AT89S52單片機(jī);氧化鋯;報(bào)警 Abstract In order to prevent accidents, protect the health and safety of miners, to promote the development of prod
4、uction, improve the economic benefits of coal enterprises to deal with underground weather detection, timely and accurate on a variety of disasters may cause some harmful gas and mineral dust testing and strict control, in the event of disaster, ambulance personnel in distress and handling accident
5、must be timely. All of these need to have the appropriate testing equipment and ambulance equipment. This paper introduces the Design and Implementation of 89S52 microcontroller - based portable oxygen concentration detector. The electrochemical reaction of oxygen sensor first oxygen concentration
6、signal into a current signal conditioning zoom send to the microcontroller 89S52 , after A / D converter , serial output and on-site LED display . Embedded string / network port convert asynchronous serial 485 signals into the network signal, the cable network transmission via LAN or the Internet in
7、 order to achieve the remote monitoring purposes. This system is mainly used to detect airborne oxygen concentration, and test data for both local and remote display, while also measuring the maximum distance set, transfinite live audio alarm. Management software achieves the displaying and testing
8、of historical data. The instrument measuring circuit is versatile, suitably adjust parameters can be achieved on the measurement of gas with different gas sensors. Keywords: Single-chipAT89S52; Zirconia; Alarm 目 錄 前 言 1 第一章 課題的基本介紹 2 第一節(jié) 氧氣濃度檢測(cè)的背景和意義 2 第二節(jié)
9、 國(guó)內(nèi)外研究現(xiàn)狀及發(fā)展趨勢(shì) 2 第三節(jié) 主要研究的內(nèi)容 4 第二章 氧氣濃度測(cè)量控制系統(tǒng)的確定 5 第一節(jié) 氧氣濃度測(cè)量控制系統(tǒng)硬件設(shè)計(jì) 5 一、氧化鋯傳感器的選擇 6 二、氧值的運(yùn)算及輸出 6 第二節(jié) ADC0809轉(zhuǎn)換器 7 一 ADC0809的說(shuō)明 7 二、ADC0809應(yīng)用說(shuō)明 8 三、主要特性 8 四、內(nèi)部結(jié)構(gòu) 9 五外部特性(引腳功能) 9 第三節(jié) AT89C52單片機(jī)的選擇 10 第四節(jié) 單片機(jī)最小系統(tǒng)的設(shè)計(jì) 12 第五節(jié) 顯示電路的設(shè)計(jì) 13 第六節(jié) 時(shí)鐘芯片的選擇與設(shè)計(jì) 13 第六節(jié) 電源的設(shè)計(jì) 16 第三章 軟件設(shè)計(jì) 17 第一節(jié) 軟件結(jié)
10、構(gòu)設(shè)計(jì) 17 第二節(jié) 主程序模塊的設(shè)計(jì) 17 第三節(jié) 模數(shù)轉(zhuǎn)換的設(shè)計(jì) 18 第四節(jié) 時(shí)鐘設(shè)計(jì) 19 總 結(jié) 21 致 謝 22 參考文獻(xiàn) 23 附錄 24 前 言 氧氣濃度的測(cè)量與控制設(shè)備是由氧氣傳感器,A/D轉(zhuǎn)換器,單片機(jī)等模塊組成的檢測(cè)系統(tǒng)。在當(dāng)前,在我國(guó)的煤礦開(kāi)采中大多數(shù)在井下進(jìn)行開(kāi)采,國(guó)家重點(diǎn)煤礦也基本屬于瓦斯礦井。煤礦生產(chǎn)是地下作業(yè),自然條件和生產(chǎn)條件都復(fù)雜,在采掘過(guò)程中出現(xiàn)的瓦斯涌出、煤塵飛揚(yáng)、自然發(fā)火等都有可能造成嚴(yán)重事故。為了防止事故發(fā)生
11、,保障礦工的健康和安全,促進(jìn)生產(chǎn)發(fā)展,提高煤炭企業(yè)的經(jīng)濟(jì)效益,應(yīng)對(duì)井下的氣象進(jìn)行檢測(cè),對(duì)可能造成災(zāi)害事故的各種有的害氣體及礦塵進(jìn)行及時(shí)而準(zhǔn)確的檢測(cè)和嚴(yán)格控制,一旦發(fā)生災(zāi)變,必須及時(shí)救護(hù)遇難人員和處理事故。所有這些都需要有相應(yīng)的檢測(cè)儀器和救護(hù)裝備。 本論文介紹基于AT89S52單片機(jī)的一種便攜式氧氣濃度檢測(cè)儀的設(shè)計(jì)與實(shí)現(xiàn)。用電化學(xué)式氧化鋯傳感器首先把氧氣濃度信號(hào)轉(zhuǎn)為電流信號(hào),經(jīng)調(diào)理放大后傳送到單片機(jī)AT89S52,再經(jīng)A/D轉(zhuǎn)換后,再進(jìn)行串口輸出和現(xiàn)場(chǎng)LED顯示。本系統(tǒng)主要用于空氣中氧氣濃度的檢測(cè),并進(jìn)報(bào)警。采用嵌入式串/網(wǎng)口轉(zhuǎn)換器將異步串行485通信信號(hào)轉(zhuǎn)換成網(wǎng)絡(luò)信號(hào),通過(guò)局域網(wǎng)或
12、互聯(lián)網(wǎng)進(jìn)行有線網(wǎng)絡(luò)傳輸,以達(dá)到遠(yuǎn)程監(jiān)測(cè)和本地顯示的目的。 本畢業(yè)論文主要通過(guò)對(duì)氧氣濃度的測(cè)量與控制系統(tǒng)的設(shè)計(jì),掌握電子系統(tǒng)的一般設(shè)計(jì)方法,熟悉常用元器件,對(duì)所學(xué)專(zhuān)業(yè)知識(shí)進(jìn)一步強(qiáng)化,了解電路設(shè)計(jì)的基本方法,培養(yǎng)綜合應(yīng)用所學(xué)理論知識(shí)來(lái)指導(dǎo)設(shè)計(jì)的能力。 第1章 課題的基本介紹 第1節(jié) 氧氣濃度檢測(cè)的背景和意義 在我國(guó)的煤礦開(kāi)采中大多數(shù)在井下進(jìn)行開(kāi)采,國(guó)家重點(diǎn)煤礦也基本屬于瓦斯礦井。煤礦安全規(guī)程第一百條規(guī)定,采掘工作面的進(jìn)風(fēng)流中,氧氣濃度不得低于百分之二十??諝庵泻械?dú)猓趸己脱鯕馊N主要成分,氧氣占21%,人們一直在這種條件下
13、呼吸氧氣。實(shí)際適當(dāng)提高一些氧氣含量人們機(jī)體的感覺(jué)會(huì)更好。40%-80%,然后加入少量二氧化碳?xì)怏w,可以使機(jī)體感到非常舒適。 煤礦生產(chǎn)是地下作業(yè),自然條件和生產(chǎn)條件都復(fù)雜,在采掘過(guò)程中出現(xiàn)的瓦斯涌出、煤塵飛揚(yáng)、自然發(fā)火等都有可能造成嚴(yán)重事故。為了防止事故發(fā)生,保障礦工的健康和安全,促進(jìn)生產(chǎn)發(fā)展,提高煤炭企業(yè)的經(jīng)濟(jì)效益,應(yīng)對(duì)井下的氣象進(jìn)行檢測(cè),對(duì)可能造成災(zāi)害事故的各種有的害氣體及礦塵進(jìn)行及時(shí)而準(zhǔn)確的檢測(cè)和嚴(yán)格控制,一旦發(fā)生災(zāi)變,必須及時(shí)救護(hù)遇難人員和處理事故。所有這些都需要有相應(yīng)的檢測(cè)儀器和救護(hù)裝備。 對(duì)煤礦井下氧氣濃度連續(xù)檢測(cè)是現(xiàn)代煤礦生產(chǎn)中必不可少的重要工作。鑒于傳統(tǒng)的模擬式氧
14、氣濃度報(bào)警儀精度不高且不能數(shù)字顯示, 由于井下空氣中的含氧氣量不易控制,所以設(shè)想研制出一種由單片機(jī)控制的氧氣濃度檢測(cè)系統(tǒng)。 第2節(jié) 國(guó)內(nèi)外研究現(xiàn)狀及發(fā)展趨勢(shì) 最近幾年接連發(fā)生了多起礦井安全事故,事故的結(jié)果觸目驚心,因此通過(guò)強(qiáng)化管理,提高通風(fēng)、氧氣及甲烷濃度檢測(cè)監(jiān)控水平,已成為中小型煤礦檢測(cè)監(jiān)控的最迫切的任務(wù)之一。實(shí)踐證明,煤礦生產(chǎn)安全監(jiān)控系統(tǒng)對(duì)保障煤礦安全生產(chǎn),提高煤礦生產(chǎn)率,提高煤礦自動(dòng)化程度以及促進(jìn)煤礦管理現(xiàn)代化水平,都有著舉足輕重的作用。 生產(chǎn)安全監(jiān)控系統(tǒng)雖在國(guó)內(nèi)已有生產(chǎn)和應(yīng)用,但還沒(méi)有一種真正適合于中小型煤礦使用的產(chǎn)品,我國(guó)從八十年代初期開(kāi)始引進(jìn)煤礦
15、生產(chǎn)安全監(jiān)控系統(tǒng),歷經(jīng)了直接引進(jìn)、消化吸收、仿制配套、自主開(kāi)發(fā)的過(guò)程,但迄今為止的產(chǎn)品大多都是面對(duì)大型礦井設(shè)計(jì)的,而且自身尚有一些有待解決的問(wèn)題,如: (1)造價(jià)高,系統(tǒng)最基本的配置過(guò)于龐大,運(yùn)行費(fèi)用大; (2)傳感器測(cè)量穩(wěn)定性差,調(diào)校頻繁,壽命短; (3)系統(tǒng)安裝、維護(hù)復(fù)雜,操作不便,人機(jī)界面較差; (4)系統(tǒng)設(shè)備可靠性差; (5)必須依賴專(zhuān)業(yè)的維護(hù)隊(duì)伍,對(duì)人員技術(shù),素質(zhì)有較高的要求。 目前市面上流行的AT-B-O2便攜式氧氣檢測(cè)報(bào)警儀,可在工業(yè)環(huán)境中連續(xù)檢測(cè)氧氣濃度。采用進(jìn)口電化學(xué)傳感器,先進(jìn)穩(wěn)定的電路設(shè)計(jì),整機(jī)性能居國(guó)內(nèi)領(lǐng)先水平。高音量蜂鳴器報(bào)警,可以使用戶在各種惡
16、劣環(huán)境中及時(shí)有效地得到儀器報(bào)警信號(hào)。 Honeywell Impulse XP的性能更加完善。它裝有高級(jí)傳感器,可以測(cè)量更多種類(lèi)的毒氣體。小巧精致的外觀適合更多數(shù)用戶的需要。緊湊的外形設(shè)計(jì)易于維護(hù)是此款機(jī)型的最本質(zhì)特點(diǎn)。報(bào)警時(shí)XP發(fā)出響亮的聲音和超亮的燈光警報(bào)。標(biāo)準(zhǔn)配置還具有振動(dòng)報(bào)警功能,以便在嘈雜的環(huán)境使用時(shí)引起使用者的注意。Honeywell Impulse XP性能穩(wěn)定可靠,讀數(shù)準(zhǔn)確,抗電池干擾。另外它還有持續(xù)顯示氣體濃度值.顯示15分鐘和8小時(shí)平均值.兩級(jí)報(bào)警和峰值鎖定的功能。由于使用了溫度校正和抗中毒傳感器。XP確定保反復(fù)測(cè)量時(shí)具有高精確度。運(yùn)行成本低廉。內(nèi)置的衰減補(bǔ)償電池將兩
17、次校正間的時(shí)間延長(zhǎng)至12個(gè)月,常用的傳感器壽命大于兩年,電池壽命三年,操作費(fèi)用減至最低。電池和傳感器更換容易。 PortaSensII便攜式氣體檢測(cè)儀能在現(xiàn)場(chǎng)檢測(cè)環(huán)境空氣中的有毒有害氣體,可用于環(huán)境應(yīng)急監(jiān)測(cè)、職業(yè)衛(wèi)生場(chǎng)所有毒有害氣體檢測(cè)、石化企業(yè)安全檢測(cè)以及儲(chǔ)運(yùn)、泄露檢測(cè)等。該儀器最出色的特點(diǎn)是它能通過(guò)更換相應(yīng)傳感器模塊檢測(cè)多種類(lèi)型的氣體,即不需為每 種類(lèi)型的氣體分別購(gòu)買(mǎi)單獨(dú)的主機(jī),一臺(tái)檢測(cè)儀與不同的傳感器結(jié)合使用,就能檢測(cè)超過(guò)30種不同的氣體,傳感器可以即插即用,不需再次校準(zhǔn)。檢測(cè)量程可在最大量程和最小量程范圍之間任意可調(diào),可以根據(jù) 檢測(cè)的需要自由設(shè)置量程。通過(guò)一個(gè)RS-232 接口和
18、專(zhuān)用接口電纜及專(zhuān)用軟件,儀器可對(duì)電腦進(jìn)行上傳和下載數(shù)據(jù)。 此外還有固定式氧氣檢測(cè)探頭,數(shù)字顯示型氧氣檢測(cè)探頭以及法國(guó)奧德姆氧氣檢測(cè)探頭等。 第3節(jié) 主要研究的內(nèi)容 儀器的設(shè)計(jì),本著簡(jiǎn)明、科學(xué)、實(shí)用的原則,力求從整體出發(fā),從實(shí)際使用出發(fā),突出系統(tǒng)的可靠性、免維護(hù)、免培訓(xùn)等特點(diǎn)和系統(tǒng)結(jié)構(gòu)的簡(jiǎn)明和完整性,把對(duì)操作人員的專(zhuān)業(yè)技術(shù)要求降到最低,發(fā)揮系統(tǒng)整體設(shè)計(jì)的優(yōu)勢(shì),使系統(tǒng)整體性能達(dá)到最佳,功能強(qiáng)大而操作簡(jiǎn)單,測(cè)量精確而維護(hù)方便。 在系統(tǒng)設(shè)計(jì)中,應(yīng)充分應(yīng)用近年來(lái)發(fā)展起來(lái)的各種新技術(shù)、新器件、新方法,在保證各項(xiàng)性能指標(biāo)能夠滿足系統(tǒng)各方面要求的前提下,力求簡(jiǎn)化結(jié)構(gòu),降低成本,提高
19、可靠性和穩(wěn)定性。 作為一種完整的氧氣濃度監(jiān)控系統(tǒng),它至少應(yīng)具備以下設(shè)備和功能: 1.氣體傳感器:能感知環(huán)境中氧氣濃度的一種敏感元件,它能將與氣體種類(lèi)和濃度有關(guān)的信息轉(zhuǎn)換成電信號(hào)。 a,監(jiān)測(cè)要素的采集,轉(zhuǎn)換; b,轉(zhuǎn)換后電信號(hào)的處理,加工; 2.顯示單元:根據(jù)測(cè)量信號(hào),由單片機(jī)將待顯示的數(shù)據(jù)按相應(yīng)方式進(jìn)行數(shù)據(jù)傳輸送給顯示處理模塊顯示與儀表。 3.聲光報(bào)警單元:當(dāng)檢測(cè)氣體濃度超出設(shè)定報(bào)警值時(shí),發(fā)出聲光報(bào)警。 4.通訊單元:將采集數(shù)據(jù)通過(guò)通訊方式進(jìn)行數(shù)據(jù)通訊。 5.數(shù)據(jù)采集分析軟件:編寫(xiě)串口通訊軟件,實(shí)現(xiàn)氣體數(shù)據(jù)的采集,分析以及保存。 第2章
20、氧氣濃度測(cè)量控制系統(tǒng)的確定 在目前檢測(cè)氧濃度的方法中,有很多的方法都可以檢測(cè)到氧氣濃度,比如電化學(xué)、順磁氧、氧化鋯方法及超聲波流量濃度檢測(cè)法。本論文主要完成氧氣檢測(cè)儀軟件和硬件設(shè)計(jì),采用單片機(jī)為控制核心,以實(shí)現(xiàn)一氧化碳檢測(cè)儀的基本控制功能。系統(tǒng)主要功能內(nèi)容包括:信號(hào)采集、信號(hào)放大、A/D轉(zhuǎn)換器程序、控制程序、超標(biāo)報(bào)警、數(shù)據(jù)顯示等。 第1節(jié) 氧氣濃度測(cè)量控制系統(tǒng)硬件設(shè)計(jì) 硬件設(shè)計(jì)部分主要包括:?jiǎn)纹瑱C(jī)、A/D轉(zhuǎn)換器、運(yùn)算放大器、顯示屏、蜂鳴器等芯片的選擇。硬件電路設(shè)計(jì),數(shù)據(jù)采集,模數(shù)轉(zhuǎn)換環(huán)節(jié),顯示電路,報(bào)鳴電路設(shè)計(jì)等功能模塊如圖2-1。 數(shù)字顯示 單片機(jī)
21、 AT89C52 信號(hào)采集 信號(hào)放大 報(bào)警電路 A/D轉(zhuǎn)換 圖2—1 硬件結(jié)構(gòu)框圖 1、 氧化鋯傳感器的選擇 氧化锫測(cè)氧是利用氧化鋯濃差電池原理來(lái)測(cè)定氣體中氧含量的電化學(xué)分析 方法。如圖l所示,測(cè)氧系統(tǒng)的氧敏感元件——氧化鋯元件是由氧化釔或氧化鈣穩(wěn)定的氧化鋯材料組成。在高溫條件下,它是良好的氧離子導(dǎo)體。在理想狀態(tài)下,當(dāng)氧化鋯 元件內(nèi)、外電極表面氧含量不同時(shí).便形成一個(gè)氧濃差電池,產(chǎn)
22、生電池電動(dòng)勢(shì)。電池電動(dòng)勢(shì)與氧濃度的關(guān)系符合能斯特方程: 式中: P x 為氧分壓, 反映氧氣濃度的大小; R 為氣體常數(shù); F為法拉第常數(shù); P a 為參考?xì)怏w中的氧分壓, 可以事先用標(biāo)準(zhǔn)儀器測(cè)定。Px 值與設(shè)定值進(jìn)行比較, 可以確定是否啟動(dòng)或停止換氣扇。 氧化锫測(cè)氧是利用氧化鋯濃差電池原理來(lái)測(cè)定氣體中氧含量的電化學(xué)分析方法。如圖2-2所示,測(cè)氧系統(tǒng)的氧敏感元件——氧化鋯元件是由氧化釔或氧化鈣穩(wěn)定的氧化鋯材料組成。在高溫條件下,它是良好的氧離子導(dǎo)體。在理想狀態(tài)下,當(dāng)氧化鋯元件內(nèi)、外電極表面氧含量不同時(shí).便形成一個(gè)氧濃差電池,產(chǎn)生電池電動(dòng)勢(shì)。
23、 2、 氧值的運(yùn)算及輸出 氧量及溫度毫伏信號(hào)經(jīng)過(guò)放大后與室溫信號(hào)一同進(jìn)入通道選擇器,由A/D轉(zhuǎn)換模塊循環(huán)選擇進(jìn)行轉(zhuǎn)換,中央處理單元MCU讀取轉(zhuǎn)換結(jié)果并計(jì)算相應(yīng)溫度及氧量值。MCU計(jì)算結(jié)果一路經(jīng)光電耦合隔離后進(jìn)入D/A轉(zhuǎn)換變?yōu)槟M信號(hào)。再經(jīng)過(guò)V/I轉(zhuǎn)換變?yōu)?mA~20mA和0~10mA電流信號(hào)輸出:另一路MCU輸出串行輸入到顯示驅(qū)動(dòng)專(zhuān)用集成模塊后控制4位LED顯示測(cè)量結(jié)果。 圖2-2 氧化鋯氧濃差電池原理 第2節(jié) ADC0809轉(zhuǎn)換器 ADC0809是M美國(guó)國(guó)家半導(dǎo)體公司生產(chǎn)的CM
24、OS工藝8通道,8位逐次逼近式A/D轉(zhuǎn)換器。其內(nèi)部有一個(gè)8通道多路開(kāi)關(guān),它可以根據(jù)地址碼鎖存譯碼后的信號(hào),只選通8路模擬輸入信號(hào)中的一個(gè)進(jìn)行A/D轉(zhuǎn)換。是目前國(guó)內(nèi)應(yīng)用最廣泛的8位通用A/D芯片。 一 ADC0809的說(shuō)明 ADC0809是帶有8位A/D轉(zhuǎn)換器、8路多路開(kāi)關(guān)以及微處理機(jī)兼容的控制邏輯的CMOS組件。它是逐次逼近式A/D轉(zhuǎn)換器,可以和單片機(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ù)字
25、量,當(dāng)OE端為高電平時(shí),才可以從三態(tài)輸出鎖存器取走轉(zhuǎn)換完的數(shù)據(jù)。 ADC0809對(duì)輸入模擬量要求:信號(hào)單極性,電壓范圍是0-5V,若信號(hào)太小,必須進(jìn)行放大;輸入的模擬量在轉(zhuǎn)換過(guò)程中應(yīng)該保持不變,如若模擬量變化太快,則需在輸入前增加采樣保持電路。 地址輸入和控制線:4條 。 ALE為地址鎖存允許輸入線,高電平有效。當(dāng)ALE線為高電平時(shí),地址鎖存與譯碼器將A,B,C三條地址線的地址信號(hào)進(jìn)行鎖存,經(jīng)譯碼后被選中的通道 模擬量輸入轉(zhuǎn)換器進(jìn)行轉(zhuǎn)換。A,B和C為地址輸入線,用于選通IN0-IN7上的一路模擬量輸入。通道選擇表如下表2-3所示。數(shù)字量輸出及控制線:11條。
26、 ST為轉(zhuǎn)換啟動(dòng)信號(hào)。當(dāng)ST到上跳沿時(shí),所有內(nèi)部寄存器清零;下跳沿時(shí),開(kāi)始進(jìn)行A/D轉(zhuǎn)換;在轉(zhuǎn)換期間,ST應(yīng)保持低電平。EOC為轉(zhuǎn)換結(jié)束信號(hào)。當(dāng)EOC為高電平時(shí),表明轉(zhuǎn)換結(jié)束;否則,表明正在進(jìn)行A/D轉(zhuǎn)換。OE為輸出允許信號(hào),用于控制三條輸出鎖存器向單片機(jī)輸出轉(zhuǎn)換得到的數(shù)據(jù)。OE=1,輸出轉(zhuǎn)換得到的數(shù)據(jù);OE=0,輸出數(shù)據(jù)線呈高阻狀態(tài)。D7-D0為數(shù)字量輸出線。 CLK為時(shí)鐘輸入信號(hào)線。因ADC0809的內(nèi)部沒(méi)有時(shí)鐘電路,所需時(shí)鐘信號(hào)必須由外界提供,通常使用頻率為500KHZ,VREF(+),VREF(-)為參考電壓輸入。 2、 ADC0809應(yīng)用說(shuō)明 (1)AD
27、C0809內(nèi)部帶有輸出鎖存器,可以與AT89S51單片機(jī)直接相連。 (2)初始化時(shí),使ST和OE信號(hào)全為低電平。 (3)送要轉(zhuǎn)換的哪一通道的地址到A,B,C端口上。 (4)在ST端給出一個(gè)至少有100ns寬的正脈沖信號(hào)。 (5)是否轉(zhuǎn)換完畢,我們根據(jù)EOC信號(hào)來(lái)判斷。 (6)當(dāng)EOC變?yōu)楦唠娖綍r(shí),這時(shí)給OE為高電平,轉(zhuǎn)換的數(shù)據(jù)就輸出給單片機(jī)了。 三、主要特性 (1)8路輸入通道,8位A/D轉(zhuǎn)換器,即分辨率為8位。 (2)具有轉(zhuǎn)換起??刂贫恕? (3)轉(zhuǎn)換時(shí)間為100μs(時(shí)鐘為640kHz時(shí)),130μs(時(shí)鐘為500kHz時(shí)) (
28、4)單個(gè)+5V電源供電 (5)模擬輸入電壓范圍0~+5V,不需零點(diǎn)和滿刻度校準(zhǔn)。 (6)工作溫度范圍為-40~+85攝氏度 (7)低功耗,約15mW。 四、內(nèi)部結(jié)構(gòu) ADC0809是CMOS單片型逐次逼近式A/D轉(zhuǎn)換器,內(nèi)部結(jié)構(gòu)如圖13.22所示,它由8路模擬開(kāi)關(guān)、地址鎖存與譯碼器、比較器、8位開(kāi)關(guān)樹(shù)型A/D轉(zhuǎn)換器、逐次逼近 五外部特性(引腳功能) ADC0809芯片有28條引腳,采用雙列直插式封裝,如圖13.23所示。下面說(shuō)明各引腳功能。 IN0~I(xiàn)N7:8路模擬量輸入端。 2-1~2-8:8位數(shù)字量輸出端。 ADDA、
29、ADDB、ADDC:3位地址輸入線,用于選通8路模擬輸入中的一路 ALE:地址鎖存允許信號(hào),輸入,高電平有效。 START: A/D轉(zhuǎn)換啟動(dòng)脈沖輸入端,輸入一個(gè)正脈沖(至少100ns寬)使其啟動(dòng)(脈沖上升沿使0809復(fù)位,下降沿啟動(dòng)A/D轉(zhuǎn)換)。 EOC: A/D轉(zhuǎn)換結(jié)束信號(hào),輸出,當(dāng)A/D轉(zhuǎn)換結(jié)束時(shí),此端輸出一個(gè)高電平(轉(zhuǎn)換期間一直為低電平)。 OE:數(shù)據(jù)輸出允許信號(hào),輸入,高電平有效。當(dāng)A/D轉(zhuǎn)換結(jié)束時(shí),此端輸入一個(gè)高電平,才能打開(kāi)輸出三態(tài)門(mén),輸出數(shù)字量。 CLK:時(shí)鐘脈沖輸入端。要求時(shí)鐘頻率不高于640KHZ。 REF(+)、REF(-):
30、基準(zhǔn)電壓。 Vcc:電源,單一+5V。 C B A 通道 0 0 0 IN0 0 0 1 IN1 0 1 0 IN2 0 1 1 IN3 1 0 0 IN4 1 0 1 IN5 1 1 0 IN5 1 1 1 IN6 圖2-3 通道選擇 第3節(jié) AT89C52單片機(jī)的選擇 本系統(tǒng)采用AT89C52單片機(jī)。而目前世界上較為著名的8位單片機(jī)的生產(chǎn)廠家和主要機(jī)型
31、如下: 美國(guó)Intel公司:MCS—51系列及其增強(qiáng)型系列; 美國(guó)Motorola公司:6801系列和6805系列; 美國(guó)atmel公司:89C51等單片機(jī); 美國(guó)Zilog公司:Z8系列及SUPER8; 美國(guó)Fairchild公司:F8系列和3870系列; 美國(guó)Rockwell公司:6500/1系列; 美國(guó)TI(德克薩司儀器儀表)公司:TMS7000系列; NS(美國(guó)國(guó)家半導(dǎo)體)公司:NS8070系列等等。 盡管單片機(jī)的品種很多,但是在我國(guó)使用最多的還是Intel公司的MCS—52系列單片機(jī)和美國(guó)Atmel公司的89C52單片機(jī)。 MCS—51
32、系列單片機(jī)包括三個(gè)基本型8031、8051、8751。 本系統(tǒng)采用AT89C52單片機(jī)為控制核心。而相比之下52型功能更為強(qiáng)大,ROM和RAM存儲(chǔ)空間更大,52還兼容51指令系統(tǒng)?;诒鞠到y(tǒng)設(shè)計(jì)內(nèi)容的需要,綜合考慮后,我們選擇單片機(jī)ATME公司的AT89C52為控制核心;主要基于考慮AT89C52是一個(gè)低電壓,高性能CMOS 8位單片機(jī),片內(nèi)含8KB的可反復(fù)擦寫(xiě)的Flash只讀程序存儲(chǔ)器和256 bytes的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器(RAM)、6個(gè)中斷源;時(shí)鐘頻率0~24MHz;器件采用高密度、非易失性存儲(chǔ)技術(shù)生產(chǎn),并兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng),功能強(qiáng)大。 AT89C52是美國(guó)ATMEL公
33、司生產(chǎn)的低電壓,高性能CMOS 8位單片機(jī),片內(nèi)含8K bytes的可反復(fù)擦寫(xiě)的只讀程序存儲(chǔ)器(PEROM)和256K bytes的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器,器件采用ATMEL公司的高密度,非易失性存儲(chǔ)技術(shù)生產(chǎn),與標(biāo)準(zhǔn)MCS-51指令系統(tǒng)及8052產(chǎn)品引腳兼容,片內(nèi)置通用8位中央處理器和FLASH存儲(chǔ)單元,功能強(qiáng)大,AT89C52單片機(jī)適合于許多較為復(fù)雜控制應(yīng)用場(chǎng)合。 圖2-4 AT89C52引腳圖 主要性能參數(shù): 與MCS-51產(chǎn)品指令和引腳完全兼容; 8K字節(jié)可重擦寫(xiě)FLASH閃存存儲(chǔ)器;
34、 1000次寫(xiě)/擦循環(huán); 時(shí)鐘頻率:0Hz~24MHz; 三級(jí)加密存儲(chǔ)器; 256字節(jié)內(nèi)部RAM; 32個(gè)可編程I/O口線; 3個(gè)16位定時(shí)/計(jì)數(shù)器; 6個(gè)中斷源; 可編程串行UART通道。 第4節(jié) 單片機(jī)最小系統(tǒng)的設(shè)計(jì) 采用AT89C52來(lái)設(shè)計(jì)一個(gè)單片機(jī)系統(tǒng)能運(yùn)行起來(lái)的需求最小的系統(tǒng),電路圖見(jiàn)圖2-5: 圖2-5 單片機(jī)最小系統(tǒng)圖 上圖的最小單片機(jī)系統(tǒng)包含有晶振電路和復(fù)位電路,AT89C52芯片組成。 (1)晶振電路 晶振電路在各種指令的微操作在時(shí)間上有嚴(yán)格的次序,這種微操作的時(shí)間次序稱(chēng)作時(shí)序, AT89C52
35、的時(shí)鐘產(chǎn)生方式有兩種,一種是內(nèi)部時(shí)鐘方式,一種是外部時(shí)鐘方式。 在89C52單片機(jī)的內(nèi)部有一個(gè)震蕩電路,只要在單片機(jī)的XTAL1和XTAL2引腳外接石英晶體(簡(jiǎn)稱(chēng)晶振)就構(gòu)成了自激振蕩器并在單片機(jī)內(nèi)部產(chǎn)生時(shí)鐘脈沖信號(hào),圖中電容器C1和C2穩(wěn)定頻率和快速起振,晶振CRY選擇的是12MHz。 (2)復(fù)位電路 復(fù)位電路在單片機(jī)工作中仍然是不可缺少的主要部件中,單片機(jī)工作時(shí)必須處于一種確定的狀態(tài)。端口線電平和輸入輸出狀態(tài)不確定可能使外圍設(shè)備誤動(dòng)作,導(dǎo)致嚴(yán)重事故的發(fā)生;內(nèi)部一些控制寄存器(專(zhuān)用寄存器)內(nèi)容不確定可能導(dǎo)致定時(shí)器溢出、程序尚未開(kāi)始就要中斷及串口亂傳向外設(shè)發(fā)送數(shù)據(jù)。 本設(shè)
36、計(jì)中復(fù)位電路采用的是上電復(fù)位與手動(dòng)復(fù)位電路,開(kāi)關(guān)未按下是上電復(fù)位電路,上電復(fù)位電路在上電的瞬間,由于電容上的電壓不能突變,電容處于充電(導(dǎo)通)狀態(tài),故RST腳的電壓與VCC相同。隨著電容的充電,RST腳上的電壓才慢慢下降。選擇合理的充電常數(shù),就能保證在開(kāi)關(guān)按下時(shí)是RST端有兩個(gè)機(jī)器周期以上的高電平從而使AT89C52內(nèi)部復(fù)位。開(kāi)關(guān)按下時(shí)是按鍵手動(dòng)復(fù)位電路,RST端通過(guò)電阻與VCC電源接通,通過(guò)電阻的分壓就可以實(shí)現(xiàn)單片機(jī)的復(fù)位。 第5節(jié) 顯示電路的設(shè)計(jì) 七段顯示器主要有熒光數(shù)碼管和半導(dǎo)體顯示器、液晶數(shù)碼顯示器。半導(dǎo)體(發(fā)光二極管)顯示器是數(shù)字電路中比較方便使用的顯示器。它有共陽(yáng)極和
37、共陰極兩種接法。 數(shù)字顯示譯碼器將BCD代碼譯成數(shù)碼管顯示字所需要的相應(yīng)高、低電平信號(hào),使數(shù)碼管顯示出BCD代碼所表示的對(duì)應(yīng)十進(jìn)制數(shù),這是一種代碼譯碼器。 第6節(jié) 時(shí)鐘芯片的選擇與設(shè)計(jì) 在本系統(tǒng),我們選擇了DS1302時(shí)鐘芯片。因?yàn)榇讼到y(tǒng)需要記錄測(cè)量發(fā)生的時(shí)間,所以需要時(shí)鐘芯片來(lái)記錄不同時(shí)間的監(jiān)測(cè)數(shù)據(jù),因此我們?cè)谙到y(tǒng)中加入了時(shí)鐘芯片。 (1)我們時(shí)鐘電路選擇的芯片是DS1302,其內(nèi)含一個(gè)實(shí)時(shí)時(shí)鐘/日歷和31字節(jié)靜態(tài)RAM,可以通過(guò)串行接口與單片機(jī)通信。而通信時(shí),僅需要3個(gè)口線:①RES(復(fù)位),②I/O數(shù)據(jù)線,③SCLK(串行時(shí)鐘)。時(shí)鐘/RAM的讀/寫(xiě)數(shù)據(jù)以一字節(jié)
38、或多達(dá)31字節(jié)的字符組方式通信。 (2)DS1302主要性能有:時(shí)鐘能計(jì)算2100年之前的秒、分、時(shí)、日、日期、星期、月、年的能力,還有閏年的調(diào)整能力;讀/寫(xiě)時(shí)鐘或RAM數(shù)據(jù)時(shí),有單字節(jié)和多字節(jié)傳送兩種方式,與DS1202/TTL兼容。 (3)DS1302引腳概述:X1,X2;振蕩源,外接32.768KHZ晶振;SCLK:行時(shí)鐘輸入端。見(jiàn)表2-6。晶體振蕩器的選擇:一個(gè)32.768KHz的晶振可以直接接在DS1302的2、3管腳之間,可以設(shè)定規(guī)定載荷電容為6pf。 電源控制:Vcc1可提供單電源控制也可以用來(lái)作為備用電源,Vcc2為主電源。在主電源關(guān)閉的情況下,也可以保持時(shí)鐘的
39、連續(xù)運(yùn)行。DS1302由Vcc1或Vcc2兩者中的較大者供電。當(dāng)Vcc2大于Vcc1+0.2V時(shí),Vcc2給DS1302供電;當(dāng)Vcc2小與Vcc1時(shí),DS1302由Vcc1供電。 表2-1時(shí)鐘控制字對(duì)照表 寄存器名 命令字 取值 范圍 各位內(nèi)容 寫(xiě)操作 讀操作 7 6 5 4 3~0 秒寄存器 80H 81H 00~59 CH 10SEC SEC 時(shí)寄存器 84H 85H 01~12 00~23 12/24 0 10/(A/P) HR HR 日寄存器 86H 87H 01~28,29、30、31 0 0 10DATE
40、DATE 月寄存器 88H 89H 01~12 0 0 0 10M MONTH 周寄存器 8AH 8BH 01~07 0 0 0 0 DAY 年寄存器 8CH 8DH 01~99 10YEAR YEAR 保護(hù)寄存器 8EH 8FH WP 0 0 0 0 慢充電寄存器 90H 91H TCS TCS TCS TCS DS DS RS RS 時(shí)鐘突發(fā)寄存器 BEH BFH (4)數(shù)據(jù)輸入是在輸入寫(xiě)命令字的8個(gè)SCLK周期之后,在接下來(lái)的8個(gè)SCLK周
41、期中的每個(gè)脈沖的上升沿輸入數(shù)據(jù),數(shù)據(jù)從0位開(kāi)始。如果有額外的SCLK周期,它們將被忽略。 圖2-6 時(shí)鐘電路圖 數(shù)據(jù)輸出是在輸出命令字的8個(gè)SCLK周期之后,在接下來(lái)的8個(gè)SCLK周期中的每個(gè)脈沖的下降沿輸出數(shù)據(jù),數(shù)據(jù)從0位開(kāi)始。需要注意的是,第一個(gè)數(shù)據(jù)位在命令字節(jié)的最后一位之后的第一個(gè)下降沿被輸出。只要RST保持高電平,如 果有額外的SCLK周期,將重新發(fā)送數(shù)據(jù)字節(jié),即多字節(jié)傳送。其電路圖見(jiàn)圖2-7。 第6節(jié) 電源的設(shè)計(jì) 本系統(tǒng)主電源采用直流電源5V和6V供電,電源部分電路為典型的7805(7806)應(yīng)
42、用電路,具有兩路電源輸出。該電路具有短路保護(hù)功能,變壓器輸出7V交流電,經(jīng)橋路整流,電容濾波,送入7805/7806輸入端,最后輸出5V/6V直流電。 第三章 軟件設(shè)計(jì) 第1節(jié) 軟件結(jié)構(gòu)設(shè)計(jì) 軟件設(shè)計(jì)部分主要包括:主程序/子程序流程的設(shè)計(jì)、功能模塊程序的編寫(xiě)、軟/硬件結(jié)合調(diào)試與演示。主要包括以下功能模塊:51驅(qū)動(dòng)、檢測(cè)、數(shù)碼管顯示、模數(shù)軟換,軟件結(jié)構(gòu)圖如下3-1所示。 系統(tǒng)初始化 信號(hào)采集并放大 A/D轉(zhuǎn)換并輸出數(shù)據(jù) 數(shù)據(jù)處理 串行通信 顯示數(shù)據(jù)
43、 圖3-1軟件框圖 第2節(jié) 主程序模塊的設(shè)計(jì) 主程序?qū)崿F(xiàn)的功能:與硬件相結(jié)合實(shí)現(xiàn)便攜式一氧化碳檢測(cè)儀的各個(gè)功能。 主要是檢測(cè)與顯示,時(shí)間調(diào)整與顯示,數(shù)據(jù)存儲(chǔ),功能子函數(shù)的調(diào)用,見(jiàn)圖3-2。 開(kāi) 始 初始化CPU 初始化時(shí)鐘 初始化LED屏 顯示開(kāi)機(jī)畫(huà)面 顯示時(shí)間 顯示主菜單 讀 鍵 圖3.2 主程序流程圖 檢測(cè)主程序程序見(jiàn)附錄。 第3節(jié) 模數(shù)轉(zhuǎn)換的設(shè)計(jì) 模數(shù)轉(zhuǎn)換模塊的主要功能就是將經(jīng)放大器放大的模擬電壓信號(hào)轉(zhuǎn)化為MCU能夠處理的數(shù)字信號(hào),并傳送給單
44、片機(jī)。ADC0809轉(zhuǎn)換的流程圖見(jiàn)下圖3.3。 開(kāi)始 使能芯片 產(chǎn)生時(shí)鐘信號(hào) 輸入通道控制字 讀取2字節(jié)數(shù)據(jù) 字節(jié)數(shù)據(jù)校正 送入指定寄存器 結(jié)束 圖3.3數(shù)轉(zhuǎn)換流程圖 第四節(jié) 時(shí)鐘設(shè)計(jì) (1)DS1302模塊主要是用于設(shè)置時(shí)間和與MCU通信經(jīng)LCD顯示時(shí)間。 (2)時(shí)鐘模塊操作流程圖見(jiàn)下圖。 開(kāi)始 初始化 保護(hù)寄存器操作 向DS寫(xiě)入字節(jié)數(shù)據(jù) 向DS讀取字節(jié)數(shù)據(jù) 開(kāi)始 圖3.4 時(shí)鐘模塊操作流程圖 軟件程序設(shè)計(jì)見(jiàn)附錄。
45、 總 結(jié) 本設(shè)計(jì)體積小,質(zhì)量輕,性價(jià)比高。主要分為硬件設(shè)計(jì)和軟件設(shè)計(jì)。基本實(shí)現(xiàn)了設(shè)計(jì)前對(duì)該系統(tǒng)所要求的設(shè)計(jì)功能。 軟件是基于C語(yǔ)言編寫(xiě)的,具有很好的可控性、模塊化和移植性。編寫(xiě)的思路以模塊化思想,將系統(tǒng)的各個(gè)功能進(jìn)行劃分,然后對(duì)各個(gè)模塊進(jìn)行設(shè)計(jì)。 本系統(tǒng)主要模塊為氧氣濃度檢測(cè)、A/D轉(zhuǎn)換、信號(hào)處理、顯示數(shù)據(jù)、時(shí)鐘設(shè)置。 由于所學(xué)知識(shí)有限,本系統(tǒng)實(shí)現(xiàn)的功能不是很健全,但在設(shè)計(jì)過(guò)程中讓自己學(xué)會(huì)了很多。 基于單片機(jī)的氧氣濃度檢測(cè)系統(tǒng)的設(shè)計(jì),是一個(gè)實(shí)際的小工程。作為一個(gè)本科生,我對(duì)實(shí)際的工程設(shè)計(jì)認(rèn)識(shí)不
46、夠,經(jīng)驗(yàn)不足,難免在設(shè)計(jì)的整體框架中,有很多的細(xì)節(jié)沒(méi)有考慮。請(qǐng)老師和同學(xué)給予我鼓勵(lì)和很多寶貴的建議,并且悉心引導(dǎo),給予我一個(gè)比較清晰的設(shè)計(jì)思路,幫助我解決了許多設(shè)計(jì)上的困難。最后希望論文評(píng)審的老師們對(duì)論文的不足之處敬請(qǐng)批評(píng)點(diǎn)。 致 謝 本論文是在彭曉珊老師的悉心指導(dǎo)下完成的,謹(jǐn)向澎宇老師表示崇高的敬意和衷心的感謝。 參考文獻(xiàn) [1] 于永權(quán).單片機(jī)在控制系統(tǒng)中的應(yīng)
47、用[M].北京:電子工業(yè)出版社,2003 [2] 王衍生,等.監(jiān)測(cè)監(jiān)控系統(tǒng)在礦井瓦斯管理中的應(yīng)用[J].北京:礦業(yè)安全與環(huán)保,2000 [3] 齊濤,王平等. 基于MSP430的便攜式甲烷氣體濃度監(jiān)測(cè)儀[M]. 維納電子技術(shù),2007 [4] 羅亞非.凌陽(yáng)十六位單片機(jī)應(yīng)用基礎(chǔ)[M].北京:北京航空航天大學(xué)出版社,2005 [5] 宋鳳娟, 付侃, 薛雅麗. STC12C5A60S2單片機(jī)高速A/D轉(zhuǎn)換方法[J]. 煤礦機(jī)械,2010 [6] 張毅坤,單片機(jī)微型計(jì)算機(jī)原理及應(yīng)用[M].西安:西安電子科技大學(xué)出版社,1998 [7]李萍. AT89S51 單片機(jī)原理、開(kāi)發(fā)與應(yīng)用實(shí)例[M
48、 ]. 北京: 中國(guó)電力出版社,2008
[8] 肖景和. 實(shí)用報(bào)警電路300例[M ]. 北京: 中國(guó)電力出版社,2005
附 錄
程序代碼
#include 49、>
void init_cpu()
{ EA=1;
TR0=1;
TR1=1;
TMOD=0x11;
TH1=0x3c;
TL1=0xb0;
}
/*void time1(void) interrupt 3 using 1
{
TH1=(65536-50000)/256;
TL1=(65536-50000)%256;
keyval=P1;
} * //初始化CPU結(jié)束//
void main_menu_initial() 50、 //LCD主菜單初始化.//
{
main1_menu[0].menu_count=4; //有4個(gè)菜單項(xiàng).//
main1_menu[0].display=measurearray; //定義一個(gè)”開(kāi)始測(cè)量“數(shù)組//
main1_menu[0].subs=NULL;
main1_menu[0].children_menus=measure_menu; //當(dāng)前菜單子菜單的指針
main1_menu[0].parent_menus=NULL;
}
void measure_menu_initial() //“ 51、開(kāi)始測(cè)量”菜單設(shè)置//
{
measure_menu[0].menu_count=2;
measure_menu[0].display=qr; //開(kāi)始測(cè)量函數(shù), 確認(rèn).
measure_menu[0].subs=start_measure_function; //開(kāi)始測(cè)量函數(shù)
measure_menu[0].children_menus=NULL;
measure_menu[0].parent_menus=main1_menu;
measure_menu[1].menu_count=2;
measure_menu[1].displ 52、ay=qx; //開(kāi)始測(cè)量函數(shù), 取消.
measure_menu[1].subs=NULL;
measure_menu[1].children_menus=NULL;
measure_menu[1].parent_menus=main1_menu;
}
//還有void store_menu_initial()、void time_menu_initial()//
void led_menu_pro() {
max_item=menu_led->menu_count;
switch(keyval)
{ 53、
case 0: break;
case 1: //向上鍵.
if(user_choosen==0)
{
user_choosen=max_item;
}
shuaxin=1;
user_choosen--;
break;
}
…… //“向上”“向下”“確認(rèn)”“取消”鍵//
if(shuaxin) //是否需要刷新LCD標(biāo)志位.
{ Clr_Scr();
shuaxin=0;
}
led_menu_show();
}
v 54、oid led_menu_show()
{
uchar n;
max_item=menu_led->menu_count;
if (max_item>=4) //菜單項(xiàng)為3則表示為主菜單.
{
for(n=0;n<4;n++)
{ draw_bmp(n*2,20,96,0,menu_led[n].display);
}
select_item(user_choosen); //標(biāo)記出當(dāng)前菜單項(xiàng).
}
else
{
switch(temp_choosen)
{ case 0:
draw_b 55、mp(0,20,96,0,measurearray); //“開(kāi)始測(cè)量”數(shù)組//
break;
……
default:
break;
}
for(n=0;n 56、d start_measure_function(void) //開(kāi)始測(cè)量函數(shù)//
{main_Menu();
}
……
/*----------------主函數(shù)-------------------*/
main()
{
init_cpu();
Init_Clock();
init_lcd();
Disp_Img(FirstPage);
delay(2000); //延時(shí)//
ClockMsg();
Refresh();
delay(2500);
Clr_Scr();
main_Men 57、u();
Clr_Scr();
main_menu_initial();
measure_menu_initial();
store_menu_initial();
time_menu_initial();
communication_menu_initial();
while(1)
{ keyval=get_key(); //讀鍵.
led_menu_pro();
}
} // 適當(dāng)延時(shí)防止因?yàn)椴粩嗖槊Χ馁M(fèi)大量CUP資源 //
ADC0809程序
#define uint unsi 58、gned int //常量/變量定義//
uchar k,i,j;
float xdata lv;
sbit ADCS =P3^1; //ADC0809 chip seclect //接口定義//
…… //其它引腳略……
uchar xdata dsw[20]; //存放sprintf轉(zhuǎn)換字符
uchar xdata value[149]; //點(diǎn)陣字符儲(chǔ)存
uchar code table[]={ //字符查表
0x00,0x00,0x00,0x30,0x00,0x30,0x00,0x00,0x00,0x00,0x00,0x00 59、,0x00,0x00,0x00,0x00,/*".",0*/
……};//采集并返回
unsigned int Adc0832(unsigned char channel) //AD轉(zhuǎn)換,返回結(jié)果
{
uchar i=0;
uchar j;
uint dat=0;
uchar ndat=0;
if(channel==0)channel=2;
if(channel==1)channel=3;
ADDI=1;
_nop_();
_nop_();
ADCS=0;//拉低CS端
_ 60、nop_();
_nop_();
ADCLK=1;//拉高CLK端
_nop_();
_nop_();
ADCLK=0;//拉低CLK端,形成下降沿1
_nop_();
_nop_();
ADCLK=1;//拉高CLK端
ADDI=channel&0x1;
_nop_();
_nop_();
ADCLK=0;//拉低CLK端,形成下降沿2
_nop_();
_nop_();
ADCLK=1;//拉高CLK端
ADDI=(channel> 61、>1)&0x1;
_nop_();
_nop_();
ADCLK=0;//拉低CLK端,形成下降沿3
ADDI=1;//控制命令結(jié)束
_nop_();
_nop_();
dat=0;
for(i=0;i<8;i++)
{
dat|=ADDO;//收數(shù)據(jù)
ADCLK=1;
_nop_();
_nop_();
ADCLK=0;//形成一次時(shí)鐘脈沖
_nop_();
_nop_();
62、
dat<<=1;
if(i==7)dat|=ADDO;
}
for(i=0;i<8;i++)
{
j=0;
j=j|ADDO;//收數(shù)據(jù)
ADCLK=1;
_nop_();
_nop_();
ADCLK=0;//形成一次時(shí)鐘脈沖
_nop_();
_nop_();
j=j<<7;
ndat=ndat|j;
if(i<7)ndat> 63、>=1;
}
ADCS=1;//拉低CS端
ADCLK=0;//拉低CLK端
ADDO=1;//拉高數(shù)據(jù)端,回到初始狀態(tài)
dat<<=8;
dat|=ndat;
return(dat); //return ad k
}
/*----------------------點(diǎn)陣字符采集函數(shù)--------------------------*/
void tra(uchar *p) //數(shù)組dsp[]里面的字符查詢后,再儲(chǔ)儲(chǔ)存到另一個(gè)顯示數(shù)組value[]
void main_Menu()
{ 64、 Clr_Scr(); // 先清屏 //
CS2=1;CS1=0;
hz_disp16(0,32,1,yangqi); …… //氧//氣//測(cè)//量//數(shù)//據(jù)//存//儲(chǔ)//……
delay(2000);
do{
/* k=Adc0832(0); //AD轉(zhuǎn)換結(jié)果
l=k/255.0*100.0;
ltemp=floor(l);
dsw[0]=ltemp/10;
dsw[1]=ltemp%10;
// sprintf(dsw,"%2.3f",l);
// dsw[0]=1;
switch(d 65、sw[0])
{
case 0:
sz_disp16(2,32,1,sz0);
break;
case 1:……sz_disp16(2,32,1,sz9);
}
switch(dsw[1])
{
case 0:
sz_disp16(2,40,1,sz0);
break;
case 1:……sz_disp16(2,40,1,sz9);
} */
// sz_disp16(2,40,1,sz0);
/* tra(dsw);
CS2=1;CS1=0;
sz_disp16(2,56,1,value); */
}
while(P1_3)
34
- 溫馨提示:
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. 裝配圖網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 建筑施工重大危險(xiǎn)源安全管理制度
- 安全培訓(xùn)資料:典型建筑火災(zāi)的防治基本原則與救援技術(shù)
- 企業(yè)雙重預(yù)防體系應(yīng)知應(yīng)會(huì)知識(shí)問(wèn)答
- 8 各種煤礦安全考試試題
- 9 危險(xiǎn)化學(xué)品經(jīng)營(yíng)單位安全生產(chǎn)管理人員模擬考試題庫(kù)試卷附答案
- 加壓過(guò)濾機(jī)司機(jī)技術(shù)操作規(guī)程
- 樹(shù)脂砂混砂工藝知識(shí)總結(jié)
- XXXXX現(xiàn)場(chǎng)安全應(yīng)急處置預(yù)案
- 某公司消防安全檢查制度總結(jié)
- 1 煤礦安全檢查工(中級(jí))職業(yè)技能理論知識(shí)考核試題含答案
- 4.燃?xì)獍踩a(chǎn)企業(yè)主要負(fù)責(zé)人模擬考試題庫(kù)試卷含答案
- 工段(班組)級(jí)安全檢查表
- D 氯化工藝作業(yè)模擬考試題庫(kù)試卷含答案-4
- 建筑起重司索信號(hào)工安全操作要點(diǎn)
- 實(shí)驗(yàn)室計(jì)量常見(jiàn)的30個(gè)問(wèn)問(wèn)答題含解析