基于單片機氧氣濃度測與控制的設計畢業(yè)論文1
《基于單片機氧氣濃度測與控制的設計畢業(yè)論文1》由會員分享,可在線閱讀,更多相關《基于單片機氧氣濃度測與控制的設計畢業(yè)論文1(39頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、 本科畢業(yè)論文(設計) 題 目:基于單片機氧氣濃度測與控制的設計 院 系:電子與通信工程學院 專 業(yè):電子信息科學與技術 姓 名: 學 號:090605402032 指導教師: 教師職稱:副教授
2、 填寫日期:2013年 4月 26 日 摘 要 目前隨著煤炭事業(yè)的發(fā)展的需要,對安全的要求越來越嚴格了,為此,煤礦里氧氣濃度的測量與控制成了安全生產的重要措施。對可能造成災害的各種有毒氣體和礦塵進行嚴格控制,一旦有不良情況,在第一時間處理,減少曠工安全事故,提高煤炭的生產效益。 本論文介紹基于AT89S52單片機的一種便攜式氧氣濃度檢測儀的設計與實現(xiàn)。用電化學式氧化鋯傳感器首先氧氣濃度信號轉為電流信號,經調理
3、放大后傳送到單片機AT89S52,再經A/D轉換后,再進行串口輸出和現(xiàn)場LED顯示。本系統(tǒng)主要用于空氣中氧氣濃度的檢測,并進報警。采用嵌入式串/網(wǎng)口轉換器將異步串行485通信信號轉換成網(wǎng)絡信號,通過局域網(wǎng)或互聯(lián)網(wǎng)進行有線網(wǎng)絡傳輸,以達到遠程監(jiān)測和本地顯示的目的。 關鍵詞:AT89S52單片機;氧化鋯;報警 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é) 氧氣濃度檢測的背景和意義 2 第二節(jié)
9、 國內外研究現(xiàn)狀及發(fā)展趨勢 2 第三節(jié) 主要研究的內容 4 第二章 氧氣濃度測量控制系統(tǒng)的確定 5 第一節(jié) 氧氣濃度測量控制系統(tǒng)硬件設計 5 一、氧化鋯傳感器的選擇 6 二、氧值的運算及輸出 6 第二節(jié) ADC0809轉換器 7 一 ADC0809的說明 7 二、ADC0809應用說明 8 三、主要特性 8 四、內部結構 9 五外部特性(引腳功能) 9 第三節(jié) AT89C52單片機的選擇 10 第四節(jié) 單片機最小系統(tǒng)的設計 12 第五節(jié) 顯示電路的設計 13 第六節(jié) 時鐘芯片的選擇與設計 13 第六節(jié) 電源的設計 16 第三章 軟件設計 17 第一節(jié) 軟件結
10、構設計 17 第二節(jié) 主程序模塊的設計 17 第三節(jié) 模數(shù)轉換的設計 18 第四節(jié) 時鐘設計 19 總 結 21 致 謝 22 參考文獻 23 附錄 24 前 言 氧氣濃度的測量與控制設備是由氧氣傳感器,A/D轉換器,單片機等模塊組成的檢測系統(tǒng)。在當前,在我國的煤礦開采中大多數(shù)在井下進行開采,國家重點煤礦也基本屬于瓦斯礦井。煤礦生產是地下作業(yè),自然條件和生產條件都復雜,在采掘過程中出現(xiàn)的瓦斯涌出、煤塵飛揚、自然發(fā)火等都有可能造成嚴重事故。為了防止事故發(fā)生
11、,保障礦工的健康和安全,促進生產發(fā)展,提高煤炭企業(yè)的經濟效益,應對井下的氣象進行檢測,對可能造成災害事故的各種有的害氣體及礦塵進行及時而準確的檢測和嚴格控制,一旦發(fā)生災變,必須及時救護遇難人員和處理事故。所有這些都需要有相應的檢測儀器和救護裝備。 本論文介紹基于AT89S52單片機的一種便攜式氧氣濃度檢測儀的設計與實現(xiàn)。用電化學式氧化鋯傳感器首先把氧氣濃度信號轉為電流信號,經調理放大后傳送到單片機AT89S52,再經A/D轉換后,再進行串口輸出和現(xiàn)場LED顯示。本系統(tǒng)主要用于空氣中氧氣濃度的檢測,并進報警。采用嵌入式串/網(wǎng)口轉換器將異步串行485通信信號轉換成網(wǎng)絡信號,通過局域網(wǎng)或
12、互聯(lián)網(wǎng)進行有線網(wǎng)絡傳輸,以達到遠程監(jiān)測和本地顯示的目的。 本畢業(yè)論文主要通過對氧氣濃度的測量與控制系統(tǒng)的設計,掌握電子系統(tǒng)的一般設計方法,熟悉常用元器件,對所學專業(yè)知識進一步強化,了解電路設計的基本方法,培養(yǎng)綜合應用所學理論知識來指導設計的能力。 第1章 課題的基本介紹 第1節(jié) 氧氣濃度檢測的背景和意義 在我國的煤礦開采中大多數(shù)在井下進行開采,國家重點煤礦也基本屬于瓦斯礦井。煤礦安全規(guī)程第一百條規(guī)定,采掘工作面的進風流中,氧氣濃度不得低于百分之二十??諝庵泻械獨?,二氧化碳和氧氣三種主要成分,氧氣占21%,人們一直在這種條件下
13、呼吸氧氣。實際適當提高一些氧氣含量人們機體的感覺會更好。40%-80%,然后加入少量二氧化碳氣體,可以使機體感到非常舒適。 煤礦生產是地下作業(yè),自然條件和生產條件都復雜,在采掘過程中出現(xiàn)的瓦斯涌出、煤塵飛揚、自然發(fā)火等都有可能造成嚴重事故。為了防止事故發(fā)生,保障礦工的健康和安全,促進生產發(fā)展,提高煤炭企業(yè)的經濟效益,應對井下的氣象進行檢測,對可能造成災害事故的各種有的害氣體及礦塵進行及時而準確的檢測和嚴格控制,一旦發(fā)生災變,必須及時救護遇難人員和處理事故。所有這些都需要有相應的檢測儀器和救護裝備。 對煤礦井下氧氣濃度連續(xù)檢測是現(xiàn)代煤礦生產中必不可少的重要工作。鑒于傳統(tǒng)的模擬式氧
14、氣濃度報警儀精度不高且不能數(shù)字顯示, 由于井下空氣中的含氧氣量不易控制,所以設想研制出一種由單片機控制的氧氣濃度檢測系統(tǒng)。 第2節(jié) 國內外研究現(xiàn)狀及發(fā)展趨勢 最近幾年接連發(fā)生了多起礦井安全事故,事故的結果觸目驚心,因此通過強化管理,提高通風、氧氣及甲烷濃度檢測監(jiān)控水平,已成為中小型煤礦檢測監(jiān)控的最迫切的任務之一。實踐證明,煤礦生產安全監(jiān)控系統(tǒng)對保障煤礦安全生產,提高煤礦生產率,提高煤礦自動化程度以及促進煤礦管理現(xiàn)代化水平,都有著舉足輕重的作用。 生產安全監(jiān)控系統(tǒng)雖在國內已有生產和應用,但還沒有一種真正適合于中小型煤礦使用的產品,我國從八十年代初期開始引進煤礦
15、生產安全監(jiān)控系統(tǒng),歷經了直接引進、消化吸收、仿制配套、自主開發(fā)的過程,但迄今為止的產品大多都是面對大型礦井設計的,而且自身尚有一些有待解決的問題,如: (1)造價高,系統(tǒng)最基本的配置過于龐大,運行費用大; (2)傳感器測量穩(wěn)定性差,調校頻繁,壽命短; (3)系統(tǒng)安裝、維護復雜,操作不便,人機界面較差; (4)系統(tǒng)設備可靠性差; (5)必須依賴專業(yè)的維護隊伍,對人員技術,素質有較高的要求。 目前市面上流行的AT-B-O2便攜式氧氣檢測報警儀,可在工業(yè)環(huán)境中連續(xù)檢測氧氣濃度。采用進口電化學傳感器,先進穩(wěn)定的電路設計,整機性能居國內領先水平。高音量蜂鳴器報警,可以使用戶在各種惡
16、劣環(huán)境中及時有效地得到儀器報警信號。 Honeywell Impulse XP的性能更加完善。它裝有高級傳感器,可以測量更多種類的毒氣體。小巧精致的外觀適合更多數(shù)用戶的需要。緊湊的外形設計易于維護是此款機型的最本質特點。報警時XP發(fā)出響亮的聲音和超亮的燈光警報。標準配置還具有振動報警功能,以便在嘈雜的環(huán)境使用時引起使用者的注意。Honeywell Impulse XP性能穩(wěn)定可靠,讀數(shù)準確,抗電池干擾。另外它還有持續(xù)顯示氣體濃度值.顯示15分鐘和8小時平均值.兩級報警和峰值鎖定的功能。由于使用了溫度校正和抗中毒傳感器。XP確定保反復測量時具有高精確度。運行成本低廉。內置的衰減補償電池將兩
17、次校正間的時間延長至12個月,常用的傳感器壽命大于兩年,電池壽命三年,操作費用減至最低。電池和傳感器更換容易。 PortaSensII便攜式氣體檢測儀能在現(xiàn)場檢測環(huán)境空氣中的有毒有害氣體,可用于環(huán)境應急監(jiān)測、職業(yè)衛(wèi)生場所有毒有害氣體檢測、石化企業(yè)安全檢測以及儲運、泄露檢測等。該儀器最出色的特點是它能通過更換相應傳感器模塊檢測多種類型的氣體,即不需為每 種類型的氣體分別購買單獨的主機,一臺檢測儀與不同的傳感器結合使用,就能檢測超過30種不同的氣體,傳感器可以即插即用,不需再次校準。檢測量程可在最大量程和最小量程范圍之間任意可調,可以根據(jù) 檢測的需要自由設置量程。通過一個RS-232 接口和
18、專用接口電纜及專用軟件,儀器可對電腦進行上傳和下載數(shù)據(jù)。 此外還有固定式氧氣檢測探頭,數(shù)字顯示型氧氣檢測探頭以及法國奧德姆氧氣檢測探頭等。 第3節(jié) 主要研究的內容 儀器的設計,本著簡明、科學、實用的原則,力求從整體出發(fā),從實際使用出發(fā),突出系統(tǒng)的可靠性、免維護、免培訓等特點和系統(tǒng)結構的簡明和完整性,把對操作人員的專業(yè)技術要求降到最低,發(fā)揮系統(tǒng)整體設計的優(yōu)勢,使系統(tǒng)整體性能達到最佳,功能強大而操作簡單,測量精確而維護方便。 在系統(tǒng)設計中,應充分應用近年來發(fā)展起來的各種新技術、新器件、新方法,在保證各項性能指標能夠滿足系統(tǒng)各方面要求的前提下,力求簡化結構,降低成本,提高
19、可靠性和穩(wěn)定性。 作為一種完整的氧氣濃度監(jiān)控系統(tǒng),它至少應具備以下設備和功能: 1.氣體傳感器:能感知環(huán)境中氧氣濃度的一種敏感元件,它能將與氣體種類和濃度有關的信息轉換成電信號。 a,監(jiān)測要素的采集,轉換; b,轉換后電信號的處理,加工; 2.顯示單元:根據(jù)測量信號,由單片機將待顯示的數(shù)據(jù)按相應方式進行數(shù)據(jù)傳輸送給顯示處理模塊顯示與儀表。 3.聲光報警單元:當檢測氣體濃度超出設定報警值時,發(fā)出聲光報警。 4.通訊單元:將采集數(shù)據(jù)通過通訊方式進行數(shù)據(jù)通訊。 5.數(shù)據(jù)采集分析軟件:編寫串口通訊軟件,實現(xiàn)氣體數(shù)據(jù)的采集,分析以及保存。 第2章
20、氧氣濃度測量控制系統(tǒng)的確定 在目前檢測氧濃度的方法中,有很多的方法都可以檢測到氧氣濃度,比如電化學、順磁氧、氧化鋯方法及超聲波流量濃度檢測法。本論文主要完成氧氣檢測儀軟件和硬件設計,采用單片機為控制核心,以實現(xiàn)一氧化碳檢測儀的基本控制功能。系統(tǒng)主要功能內容包括:信號采集、信號放大、A/D轉換器程序、控制程序、超標報警、數(shù)據(jù)顯示等。 第1節(jié) 氧氣濃度測量控制系統(tǒng)硬件設計 硬件設計部分主要包括:單片機、A/D轉換器、運算放大器、顯示屏、蜂鳴器等芯片的選擇。硬件電路設計,數(shù)據(jù)采集,模數(shù)轉換環(huán)節(jié),顯示電路,報鳴電路設計等功能模塊如圖2-1。 數(shù)字顯示 單片機
21、 AT89C52 信號采集 信號放大 報警電路 A/D轉換 圖2—1 硬件結構框圖 1、 氧化鋯傳感器的選擇 氧化锫測氧是利用氧化鋯濃差電池原理來測定氣體中氧含量的電化學分析 方法。如圖l所示,測氧系統(tǒng)的氧敏感元件——氧化鋯元件是由氧化釔或氧化鈣穩(wěn)定的氧化鋯材料組成。在高溫條件下,它是良好的氧離子導體。在理想狀態(tài)下,當氧化鋯 元件內、外電極表面氧含量不同時.便形成一個氧濃差電池,產
22、生電池電動勢。電池電動勢與氧濃度的關系符合能斯特方程: 式中: P x 為氧分壓, 反映氧氣濃度的大小; R 為氣體常數(shù); F為法拉第常數(shù); P a 為參考氣體中的氧分壓, 可以事先用標準儀器測定。Px 值與設定值進行比較, 可以確定是否啟動或停止換氣扇。 氧化锫測氧是利用氧化鋯濃差電池原理來測定氣體中氧含量的電化學分析方法。如圖2-2所示,測氧系統(tǒng)的氧敏感元件——氧化鋯元件是由氧化釔或氧化鈣穩(wěn)定的氧化鋯材料組成。在高溫條件下,它是良好的氧離子導體。在理想狀態(tài)下,當氧化鋯元件內、外電極表面氧含量不同時.便形成一個氧濃差電池,產生電池電動勢。
23、 2、 氧值的運算及輸出 氧量及溫度毫伏信號經過放大后與室溫信號一同進入通道選擇器,由A/D轉換模塊循環(huán)選擇進行轉換,中央處理單元MCU讀取轉換結果并計算相應溫度及氧量值。MCU計算結果一路經光電耦合隔離后進入D/A轉換變?yōu)槟M信號。再經過V/I轉換變?yōu)?mA~20mA和0~10mA電流信號輸出:另一路MCU輸出串行輸入到顯示驅動專用集成模塊后控制4位LED顯示測量結果。 圖2-2 氧化鋯氧濃差電池原理 第2節(jié) ADC0809轉換器 ADC0809是M美國國家半導體公司生產的CM
24、OS工藝8通道,8位逐次逼近式A/D轉換器。其內部有一個8通道多路開關,它可以根據(jù)地址碼鎖存譯碼后的信號,只選通8路模擬輸入信號中的一個進行A/D轉換。是目前國內應用最廣泛的8位通用A/D芯片。 一 ADC0809的說明 ADC0809是帶有8位A/D轉換器、8路多路開關以及微處理機兼容的控制邏輯的CMOS組件。它是逐次逼近式A/D轉換器,可以和單片機直接接口。 ADC0809由一個8路模擬開關、一個地址鎖存與譯碼器、一個A/D轉換器和一個三態(tài)輸出鎖存器組成。多路開關可選通8個模擬通道,允許8路模擬量分時輸入,共用A/D轉換器進行轉換。三態(tài)輸出鎖器用于鎖存A/D轉換完的數(shù)字
25、量,當OE端為高電平時,才可以從三態(tài)輸出鎖存器取走轉換完的數(shù)據(jù)。 ADC0809對輸入模擬量要求:信號單極性,電壓范圍是0-5V,若信號太小,必須進行放大;輸入的模擬量在轉換過程中應該保持不變,如若模擬量變化太快,則需在輸入前增加采樣保持電路。 地址輸入和控制線:4條 。 ALE為地址鎖存允許輸入線,高電平有效。當ALE線為高電平時,地址鎖存與譯碼器將A,B,C三條地址線的地址信號進行鎖存,經譯碼后被選中的通道 模擬量輸入轉換器進行轉換。A,B和C為地址輸入線,用于選通IN0-IN7上的一路模擬量輸入。通道選擇表如下表2-3所示。數(shù)字量輸出及控制線:11條。
26、 ST為轉換啟動信號。當ST到上跳沿時,所有內部寄存器清零;下跳沿時,開始進行A/D轉換;在轉換期間,ST應保持低電平。EOC為轉換結束信號。當EOC為高電平時,表明轉換結束;否則,表明正在進行A/D轉換。OE為輸出允許信號,用于控制三條輸出鎖存器向單片機輸出轉換得到的數(shù)據(jù)。OE=1,輸出轉換得到的數(shù)據(jù);OE=0,輸出數(shù)據(jù)線呈高阻狀態(tài)。D7-D0為數(shù)字量輸出線。 CLK為時鐘輸入信號線。因ADC0809的內部沒有時鐘電路,所需時鐘信號必須由外界提供,通常使用頻率為500KHZ,VREF(+),VREF(-)為參考電壓輸入。 2、 ADC0809應用說明 (1)AD
27、C0809內部帶有輸出鎖存器,可以與AT89S51單片機直接相連。 (2)初始化時,使ST和OE信號全為低電平。 (3)送要轉換的哪一通道的地址到A,B,C端口上。 (4)在ST端給出一個至少有100ns寬的正脈沖信號。 (5)是否轉換完畢,我們根據(jù)EOC信號來判斷。 (6)當EOC變?yōu)楦唠娖綍r,這時給OE為高電平,轉換的數(shù)據(jù)就輸出給單片機了。 三、主要特性 (1)8路輸入通道,8位A/D轉換器,即分辨率為8位。 (2)具有轉換起??刂贫恕? (3)轉換時間為100μs(時鐘為640kHz時),130μs(時鐘為500kHz時) (
28、4)單個+5V電源供電 (5)模擬輸入電壓范圍0~+5V,不需零點和滿刻度校準。 (6)工作溫度范圍為-40~+85攝氏度 (7)低功耗,約15mW。 四、內部結構 ADC0809是CMOS單片型逐次逼近式A/D轉換器,內部結構如圖13.22所示,它由8路模擬開關、地址鎖存與譯碼器、比較器、8位開關樹型A/D轉換器、逐次逼近 五外部特性(引腳功能) ADC0809芯片有28條引腳,采用雙列直插式封裝,如圖13.23所示。下面說明各引腳功能。 IN0~IN7:8路模擬量輸入端。 2-1~2-8:8位數(shù)字量輸出端。 ADDA、
29、ADDB、ADDC:3位地址輸入線,用于選通8路模擬輸入中的一路 ALE:地址鎖存允許信號,輸入,高電平有效。 START: A/D轉換啟動脈沖輸入端,輸入一個正脈沖(至少100ns寬)使其啟動(脈沖上升沿使0809復位,下降沿啟動A/D轉換)。 EOC: A/D轉換結束信號,輸出,當A/D轉換結束時,此端輸出一個高電平(轉換期間一直為低電平)。 OE:數(shù)據(jù)輸出允許信號,輸入,高電平有效。當A/D轉換結束時,此端輸入一個高電平,才能打開輸出三態(tài)門,輸出數(shù)字量。 CLK:時鐘脈沖輸入端。要求時鐘頻率不高于640KHZ。 REF(+)、REF(-):
30、基準電壓。 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單片機的選擇 本系統(tǒng)采用AT89C52單片機。而目前世界上較為著名的8位單片機的生產廠家和主要機型
31、如下: 美國Intel公司:MCS—51系列及其增強型系列; 美國Motorola公司:6801系列和6805系列; 美國atmel公司:89C51等單片機; 美國Zilog公司:Z8系列及SUPER8; 美國Fairchild公司:F8系列和3870系列; 美國Rockwell公司:6500/1系列; 美國TI(德克薩司儀器儀表)公司:TMS7000系列; NS(美國國家半導體)公司:NS8070系列等等。 盡管單片機的品種很多,但是在我國使用最多的還是Intel公司的MCS—52系列單片機和美國Atmel公司的89C52單片機。 MCS—51
32、系列單片機包括三個基本型8031、8051、8751。 本系統(tǒng)采用AT89C52單片機為控制核心。而相比之下52型功能更為強大,ROM和RAM存儲空間更大,52還兼容51指令系統(tǒng)?;诒鞠到y(tǒng)設計內容的需要,綜合考慮后,我們選擇單片機ATME公司的AT89C52為控制核心;主要基于考慮AT89C52是一個低電壓,高性能CMOS 8位單片機,片內含8KB的可反復擦寫的Flash只讀程序存儲器和256 bytes的隨機存取數(shù)據(jù)存儲器(RAM)、6個中斷源;時鐘頻率0~24MHz;器件采用高密度、非易失性存儲技術生產,并兼容標準MCS-51指令系統(tǒng),功能強大。 AT89C52是美國ATMEL公
33、司生產的低電壓,高性能CMOS 8位單片機,片內含8K bytes的可反復擦寫的只讀程序存儲器(PEROM)和256K bytes的隨機存取數(shù)據(jù)存儲器,器件采用ATMEL公司的高密度,非易失性存儲技術生產,與標準MCS-51指令系統(tǒng)及8052產品引腳兼容,片內置通用8位中央處理器和FLASH存儲單元,功能強大,AT89C52單片機適合于許多較為復雜控制應用場合。 圖2-4 AT89C52引腳圖 主要性能參數(shù): 與MCS-51產品指令和引腳完全兼容; 8K字節(jié)可重擦寫FLASH閃存存儲器;
34、 1000次寫/擦循環(huán); 時鐘頻率:0Hz~24MHz; 三級加密存儲器; 256字節(jié)內部RAM; 32個可編程I/O口線; 3個16位定時/計數(shù)器; 6個中斷源; 可編程串行UART通道。 第4節(jié) 單片機最小系統(tǒng)的設計 采用AT89C52來設計一個單片機系統(tǒng)能運行起來的需求最小的系統(tǒng),電路圖見圖2-5: 圖2-5 單片機最小系統(tǒng)圖 上圖的最小單片機系統(tǒng)包含有晶振電路和復位電路,AT89C52芯片組成。 (1)晶振電路 晶振電路在各種指令的微操作在時間上有嚴格的次序,這種微操作的時間次序稱作時序, AT89C52
35、的時鐘產生方式有兩種,一種是內部時鐘方式,一種是外部時鐘方式。 在89C52單片機的內部有一個震蕩電路,只要在單片機的XTAL1和XTAL2引腳外接石英晶體(簡稱晶振)就構成了自激振蕩器并在單片機內部產生時鐘脈沖信號,圖中電容器C1和C2穩(wěn)定頻率和快速起振,晶振CRY選擇的是12MHz。 (2)復位電路 復位電路在單片機工作中仍然是不可缺少的主要部件中,單片機工作時必須處于一種確定的狀態(tài)。端口線電平和輸入輸出狀態(tài)不確定可能使外圍設備誤動作,導致嚴重事故的發(fā)生;內部一些控制寄存器(專用寄存器)內容不確定可能導致定時器溢出、程序尚未開始就要中斷及串口亂傳向外設發(fā)送數(shù)據(jù)。 本設
36、計中復位電路采用的是上電復位與手動復位電路,開關未按下是上電復位電路,上電復位電路在上電的瞬間,由于電容上的電壓不能突變,電容處于充電(導通)狀態(tài),故RST腳的電壓與VCC相同。隨著電容的充電,RST腳上的電壓才慢慢下降。選擇合理的充電常數(shù),就能保證在開關按下時是RST端有兩個機器周期以上的高電平從而使AT89C52內部復位。開關按下時是按鍵手動復位電路,RST端通過電阻與VCC電源接通,通過電阻的分壓就可以實現(xiàn)單片機的復位。 第5節(jié) 顯示電路的設計 七段顯示器主要有熒光數(shù)碼管和半導體顯示器、液晶數(shù)碼顯示器。半導體(發(fā)光二極管)顯示器是數(shù)字電路中比較方便使用的顯示器。它有共陽極和
37、共陰極兩種接法。 數(shù)字顯示譯碼器將BCD代碼譯成數(shù)碼管顯示字所需要的相應高、低電平信號,使數(shù)碼管顯示出BCD代碼所表示的對應十進制數(shù),這是一種代碼譯碼器。 第6節(jié) 時鐘芯片的選擇與設計 在本系統(tǒng),我們選擇了DS1302時鐘芯片。因為此系統(tǒng)需要記錄測量發(fā)生的時間,所以需要時鐘芯片來記錄不同時間的監(jiān)測數(shù)據(jù),因此我們在系統(tǒng)中加入了時鐘芯片。 (1)我們時鐘電路選擇的芯片是DS1302,其內含一個實時時鐘/日歷和31字節(jié)靜態(tài)RAM,可以通過串行接口與單片機通信。而通信時,僅需要3個口線:①RES(復位),②I/O數(shù)據(jù)線,③SCLK(串行時鐘)。時鐘/RAM的讀/寫數(shù)據(jù)以一字節(jié)
38、或多達31字節(jié)的字符組方式通信。 (2)DS1302主要性能有:時鐘能計算2100年之前的秒、分、時、日、日期、星期、月、年的能力,還有閏年的調整能力;讀/寫時鐘或RAM數(shù)據(jù)時,有單字節(jié)和多字節(jié)傳送兩種方式,與DS1202/TTL兼容。 (3)DS1302引腳概述:X1,X2;振蕩源,外接32.768KHZ晶振;SCLK:行時鐘輸入端。見表2-6。晶體振蕩器的選擇:一個32.768KHz的晶振可以直接接在DS1302的2、3管腳之間,可以設定規(guī)定載荷電容為6pf。 電源控制:Vcc1可提供單電源控制也可以用來作為備用電源,Vcc2為主電源。在主電源關閉的情況下,也可以保持時鐘的
39、連續(xù)運行。DS1302由Vcc1或Vcc2兩者中的較大者供電。當Vcc2大于Vcc1+0.2V時,Vcc2給DS1302供電;當Vcc2小與Vcc1時,DS1302由Vcc1供電。 表2-1時鐘控制字對照表 寄存器名 命令字 取值 范圍 各位內容 寫操作 讀操作 7 6 5 4 3~0 秒寄存器 80H 81H 00~59 CH 10SEC SEC 時寄存器 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 保護寄存器 8EH 8FH WP 0 0 0 0 慢充電寄存器 90H 91H TCS TCS TCS TCS DS DS RS RS 時鐘突發(fā)寄存器 BEH BFH (4)數(shù)據(jù)輸入是在輸入寫命令字的8個SCLK周期之后,在接下來的8個SCLK周
41、期中的每個脈沖的上升沿輸入數(shù)據(jù),數(shù)據(jù)從0位開始。如果有額外的SCLK周期,它們將被忽略。 圖2-6 時鐘電路圖 數(shù)據(jù)輸出是在輸出命令字的8個SCLK周期之后,在接下來的8個SCLK周期中的每個脈沖的下降沿輸出數(shù)據(jù),數(shù)據(jù)從0位開始。需要注意的是,第一個數(shù)據(jù)位在命令字節(jié)的最后一位之后的第一個下降沿被輸出。只要RST保持高電平,如 果有額外的SCLK周期,將重新發(fā)送數(shù)據(jù)字節(jié),即多字節(jié)傳送。其電路圖見圖2-7。 第6節(jié) 電源的設計 本系統(tǒng)主電源采用直流電源5V和6V供電,電源部分電路為典型的7805(7806)應
42、用電路,具有兩路電源輸出。該電路具有短路保護功能,變壓器輸出7V交流電,經橋路整流,電容濾波,送入7805/7806輸入端,最后輸出5V/6V直流電。 第三章 軟件設計 第1節(jié) 軟件結構設計 軟件設計部分主要包括:主程序/子程序流程的設計、功能模塊程序的編寫、軟/硬件結合調試與演示。主要包括以下功能模塊:51驅動、檢測、數(shù)碼管顯示、模數(shù)軟換,軟件結構圖如下3-1所示。 系統(tǒng)初始化 信號采集并放大 A/D轉換并輸出數(shù)據(jù) 數(shù)據(jù)處理 串行通信 顯示數(shù)據(jù)
43、 圖3-1軟件框圖 第2節(jié) 主程序模塊的設計 主程序實現(xiàn)的功能:與硬件相結合實現(xiàn)便攜式一氧化碳檢測儀的各個功能。 主要是檢測與顯示,時間調整與顯示,數(shù)據(jù)存儲,功能子函數(shù)的調用,見圖3-2。 開 始 初始化CPU 初始化時鐘 初始化LED屏 顯示開機畫面 顯示時間 顯示主菜單 讀 鍵 圖3.2 主程序流程圖 檢測主程序程序見附錄。 第3節(jié) 模數(shù)轉換的設計 模數(shù)轉換模塊的主要功能就是將經放大器放大的模擬電壓信號轉化為MCU能夠處理的數(shù)字信號,并傳送給單
44、片機。ADC0809轉換的流程圖見下圖3.3。 開始 使能芯片 產生時鐘信號 輸入通道控制字 讀取2字節(jié)數(shù)據(jù) 字節(jié)數(shù)據(jù)校正 送入指定寄存器 結束 圖3.3數(shù)轉換流程圖 第四節(jié) 時鐘設計 (1)DS1302模塊主要是用于設置時間和與MCU通信經LCD顯示時間。 (2)時鐘模塊操作流程圖見下圖。 開始 初始化 保護寄存器操作 向DS寫入字節(jié)數(shù)據(jù) 向DS讀取字節(jié)數(shù)據(jù) 開始 圖3.4 時鐘模塊操作流程圖 軟件程序設計見附錄。
45、 總 結 本設計體積小,質量輕,性價比高。主要分為硬件設計和軟件設計。基本實現(xiàn)了設計前對該系統(tǒng)所要求的設計功能。 軟件是基于C語言編寫的,具有很好的可控性、模塊化和移植性。編寫的思路以模塊化思想,將系統(tǒng)的各個功能進行劃分,然后對各個模塊進行設計。 本系統(tǒng)主要模塊為氧氣濃度檢測、A/D轉換、信號處理、顯示數(shù)據(jù)、時鐘設置。 由于所學知識有限,本系統(tǒng)實現(xiàn)的功能不是很健全,但在設計過程中讓自己學會了很多。 基于單片機的氧氣濃度檢測系統(tǒng)的設計,是一個實際的小工程。作為一個本科生,我對實際的工程設計認識不
46、夠,經驗不足,難免在設計的整體框架中,有很多的細節(jié)沒有考慮。請老師和同學給予我鼓勵和很多寶貴的建議,并且悉心引導,給予我一個比較清晰的設計思路,幫助我解決了許多設計上的困難。最后希望論文評審的老師們對論文的不足之處敬請批評點。 致 謝 本論文是在彭曉珊老師的悉心指導下完成的,謹向澎宇老師表示崇高的敬意和衷心的感謝。 參考文獻 [1] 于永權.單片機在控制系統(tǒng)中的應
47、用[M].北京:電子工業(yè)出版社,2003 [2] 王衍生,等.監(jiān)測監(jiān)控系統(tǒng)在礦井瓦斯管理中的應用[J].北京:礦業(yè)安全與環(huán)保,2000 [3] 齊濤,王平等. 基于MSP430的便攜式甲烷氣體濃度監(jiān)測儀[M]. 維納電子技術,2007 [4] 羅亞非.凌陽十六位單片機應用基礎[M].北京:北京航空航天大學出版社,2005 [5] 宋鳳娟, 付侃, 薛雅麗. STC12C5A60S2單片機高速A/D轉換方法[J]. 煤礦機械,2010 [6] 張毅坤,單片機微型計算機原理及應用[M].西安:西安電子科技大學出版社,1998 [7]李萍. AT89S51 單片機原理、開發(fā)與應用實例[M
48、 ]. 北京: 中國電力出版社,2008
[8] 肖景和. 實用報警電路300例[M ]. 北京: 中國電力出版社,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結束//
void main_menu_initial() 50、 //LCD主菜單初始化.//
{
main1_menu[0].menu_count=4; //有4個菜單項.//
main1_menu[0].display=measurearray; //定義一個”開始測量“數(shù)組//
main1_menu[0].subs=NULL;
main1_menu[0].children_menus=measure_menu; //當前菜單子菜單的指針
main1_menu[0].parent_menus=NULL;
}
void measure_menu_initial() //“ 51、開始測量”菜單設置//
{
measure_menu[0].menu_count=2;
measure_menu[0].display=qr; //開始測量函數(shù), 確認.
measure_menu[0].subs=start_measure_function; //開始測量函數(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; //開始測量函數(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;
}
…… //“向上”“向下”“確認”“取消”鍵//
if(shuaxin) //是否需要刷新LCD標志位.
{ 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) //菜單項為3則表示為主菜單.
{
for(n=0;n<4;n++)
{ draw_bmp(n*2,20,96,0,menu_led[n].display);
}
select_item(user_choosen); //標記出當前菜單項.
}
else
{
switch(temp_choosen)
{ case 0:
draw_b 55、mp(0,20,96,0,measurearray); //“開始測量”數(shù)組//
break;
……
default:
break;
}
for(n=0;n 56、d start_measure_function(void) //開始測量函數(shù)//
{main_Menu();
}
……
/*----------------主函數(shù)-------------------*/
main()
{
init_cpu();
Init_Clock();
init_lcd();
Disp_Img(FirstPage);
delay(2000); //延時//
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();
}
} // 適當延時防止因為不斷查忙而耗費大量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轉換字符
uchar xdata value[149]; //點陣字符儲存
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轉換,返回結果
{
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;//控制命令結束
_nop_();
_nop_();
dat=0;
for(i=0;i<8;i++)
{
dat|=ADDO;//收數(shù)據(jù)
ADCLK=1;
_nop_();
_nop_();
ADCLK=0;//形成一次時鐘脈沖
_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;//形成一次時鐘脈沖
_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
}
/*----------------------點陣字符采集函數(shù)--------------------------*/
void tra(uchar *p) //數(shù)組dsp[]里面的字符查詢后,再儲儲存到另一個顯示數(shù)組value[]
void main_Menu()
{ 64、 Clr_Scr(); // 先清屏 //
CS2=1;CS1=0;
hz_disp16(0,32,1,yangqi); …… //氧//氣//測//量//數(shù)//據(jù)//存//儲//……
delay(2000);
do{
/* k=Adc0832(0); //AD轉換結果
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: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。