版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、<p> 基于單片機的CO濃度監(jiān)控系統(tǒng)設計</p><p><b> 摘 要</b></p><p> 一氧化碳監(jiān)控系統(tǒng)是一種用于公共場所及室內(nèi)具有檢測及超限報警控制的系統(tǒng)。其設計方案基于AT89C52單片機,選擇瑞士蒙吧波公司的CO/CF-1000一氧化碳傳感器。系統(tǒng)將傳感器的標準信號通過AD0832為核心的A/D轉(zhuǎn)換電路調(diào)理后,經(jīng)由單片機進行數(shù)據(jù)
2、處理,最后由LCD顯示一氧化碳濃度值。</p><p> 文中詳細介紹了數(shù)據(jù)采集子系統(tǒng)、數(shù)據(jù)處理過程以及數(shù)據(jù)顯示子系統(tǒng)和報警電路的設計方法和過程。系統(tǒng)對于采樣地點超出規(guī)定的一氧化碳容許濃度時采用三極管驅(qū)動的單音頻報警電路提醒監(jiān)測人員。同時,操作人員對于具體報警點的上限值可以通過單片機編程進行設置。另外,該系統(tǒng)對濃度信號進行了信號補償?shù)忍幚?,減少了測量誤差。因此,具有較高的測量精度,而且結構簡單,性能優(yōu)良。以往檢
3、測系統(tǒng)最大的缺點是系統(tǒng)龐大復雜、造價昂貴,不適合中使用及推廣。針對此需求,設計中盡可能使用較少器件,在功能得到保證的前提下,力求系統(tǒng)構造簡單、成本低。</p><p> 關鍵詞 一氧化碳檢測;單片機;數(shù)據(jù)采集處理系統(tǒng)</p><p> The Design of the Monitoring CO System by MCU</p><p><b>
4、 Abstract</b></p><p> Carbon monoxide detector is a kind of equipment used in public or indoor areas to detect the concentration of carbon monoxide and alarm when it exceeds a certain limit. In this
5、design, AT89C52 MCU and CO/CF-1000 carbon monoxide sensor produced by Membrapor of Switzerland are employed. The standard signal given by the sensor is initially adjusted by A/D conversion circuit using AD0832 as its cor
6、e, processed by MCU, and finally the carbon monoxide level was demonstrated in LCD.</p><p> This paper is a detailed introduction about the design methods and processes of data acquisition, processing, disp
7、lay subsystem and alarm circuit. Once the concentration of carbon monoxide is more than that permitted, the whole system will warn the monitors with single audio alarm circuit driven by transistor. Meanwhile, the operato
8、rs can set the upper limit of alarm value by MCU programming. In addition, the system makes signal compensation to the concentration to minimize the measurement defic</p><p> Keywords Carbon Monoxide Detec
9、tion; MCU; Data Acquisition Processing System</p><p><b> 目 錄</b></p><p><b> 第1章 緒論1</b></p><p> 1.1 設計背景1</p><p> 1.2 一氧化碳檢測儀的種類1</p
10、><p> 1.3 研究內(nèi)容及預期目標3</p><p> 1.4 課題總體設計3</p><p> 第2章 主芯片的選型及最小系統(tǒng)設計4</p><p> 2.1 主控芯片選型4</p><p> 2.2 AT89C52的特點及在本設計中的應用6</p><p> 2.2.
11、1 AT89C52單片機的引腳的介紹6</p><p> 2.2.2 單片機最小系統(tǒng)的設計9</p><p> 2.3 硬件總體構成框圖11</p><p><b> 2.4 小結12</b></p><p> 第3章 系統(tǒng)硬件電路的設計13</p><p> 3.1 數(shù)據(jù)采
12、集系統(tǒng)的設計13</p><p> 3.1.1傳感器的設計13</p><p> 3.1.2 A/D轉(zhuǎn)化器的設計14</p><p> 3.2 人機接口電路設計16</p><p> 3.2.1按鍵的設計16</p><p> 3.2.2 液晶顯示器的設計16</p><p&g
13、t; 3.3 外圍擴充存儲器的設計19</p><p> 3.4 時鐘芯片的設計19</p><p> 3.5 上拉電阻的設計21</p><p> 3.6 報警電路的設計22</p><p> 3.7 電機控制電路的設計23</p><p> 3.7.1 SSR固態(tài)繼電器的介紹23</p
14、><p> 3.7.2單片機對電機排風的設計23</p><p><b> 3.8 小結24</b></p><p> 第4章 系統(tǒng)軟件設計25</p><p> 4.1 系統(tǒng)軟件結構設計25</p><p> 4.2 系統(tǒng)總程序設計26</p><p>
15、 4.3 數(shù)據(jù)采集子程序設計27</p><p> 4.4 按鍵程序設計28</p><p> 4.5 時鐘控制子程序設計29</p><p> 4.6 液晶顯示子程序設計30</p><p> 4.7 報警子程序設計31</p><p> 4.8 電機排風程序設計32</p>&
16、lt;p><b> 4.9 小結32</b></p><p> 第5章 系統(tǒng)調(diào)試33</p><p> 5.1 電氣接線檢查33</p><p> 5.2 軟件調(diào)試33</p><p> 5.3性能分析34</p><p><b> 結 論35</
17、b></p><p> 參 考 文 獻36</p><p> 附錄A 硬件設計圖36</p><p> 附錄B 系統(tǒng)程序38</p><p><b> 第1章 緒論</b></p><p><b> 1.1 設計背景</b></p>
18、<p> 一氧化碳(CO)是一種無色、無味、無臭、有爆炸性、有劇毒的氣體,是主要的大氣污染氣體之一,來源于碳基燃料的不完全燃燒。</p><p> 城市大氣環(huán)境中的一氧化碳主要來源于燃煤和機動車尾氣排放。全世界每年人為排放的一氧化碳總量有幾億噸,其中一半以上來自汽車尾氣排放。在大多數(shù)城市地區(qū),交通運輸車輛排放的一氧化碳占其總排放90%以上,雖然目前許多國家對一氧化碳的排放采取了越來越嚴格的限制措施,
19、但是機動車數(shù)目以及行駛里程的迅猛增長卻使一氧化碳的污染問題日益嚴重。</p><p> 在焦爐煉焦的過程中,產(chǎn)生大量的煤氣。由于煤氣是工業(yè)生產(chǎn)及生活的重要能源,隨著生產(chǎn)的發(fā)展,煤的生產(chǎn)、運輸和使用范圍越來越廣,用量越來越大。煤氣的主要成分為一氧化碳,比重為0.97,與空氣基本相當,故不易擴散而在一定區(qū)域聚集,如達到一定濃度易引起爆炸。一氧化碳氣體無色、無味,不易被人發(fā)覺,所以一氧化碳所引起的傷亡事故很多。<
20、;/p><p> 作為一種劇毒性氣體,一氧化碳最重要的危害就是污染大氣,影響人體健康。當空氣中含量為0.1%,就會引起中毒,如果含量大于1%,有可能致人死亡。致毒的原因是一氧化碳與人體血液中的血紅蛋白發(fā)生加合作用,生成羰合血紅蛋白,使血紅蛋白失去輸氧能力,阻礙氧從血液向心肌、腦組織的供應,使人體缺氧,嚴重時可使人窒息。當大氣中一氧化碳達到一定濃度時,心肌梗塞患者發(fā)病率增高,當濃度達到某一更高濃度時,嚴重心臟病人就會
21、死亡。</p><p> 可見,對生活、工作環(huán)境以及工業(yè)生產(chǎn)環(huán)境中的一氧化碳實施及時、準確而有效的檢測與報警,是一個與人類生態(tài)和工作環(huán)境密切相關的重要問題。</p><p> 1.2 一氧化碳檢測儀的種類</p><p> 人們對CO的檢測最初采用氣體檢測管測定。氣體檢測管起源于美國,1919年哈佛大學發(fā)明了第一支CO氣體檢測管。隨著檢測管技術的目臻完善,其應
22、用范圍也在不斷擴大,由最初的定性檢測一種氣體發(fā)展成為現(xiàn)在可定性定量檢測分析幾百種氣體?,F(xiàn)在氣體檢測管可以廣泛應用于礦井、化工、冶金、地質(zhì)等領域。到目前為止,氣體檢測管法仍是氣體快速檢測的一種重要方法。隨著靈敏度更高的檢測方法的出現(xiàn),氣體檢測管法逐漸被光譜法、電化學和化學傳感器法等所代替。</p><p> 根據(jù)檢測原理的不同,目前CO的檢測方法有電化學傳感器法、化學傳感器法(催化可燃氣體傳感器、固態(tài)傳感器)和紅
23、外吸收光譜法四種。下面對這四種檢測方法的優(yōu)缺點進行比較:</p><p> (1)電化學氣體傳感器: </p><p> 該傳感器最顯著優(yōu)點是功耗小,但對目標氣體有一定的選擇性;缺點是容易受雜質(zhì)氣體干擾,且電化學氣體傳感器需定期標定。</p><p> (2)催化可燃氣體傳感器:</p><p> 適用于大多數(shù)烴類的氣體檢測,穩(wěn)定好;
24、缺點是催化劑易中毒而使傳感器失效;選擇性差。</p><p><b> (3)固態(tài)傳感器:</b></p><p> 結構簡單,壽命長;可檢測多種氣體;不能用于泄漏氣體的檢測;定標困難。</p><p> (4)紅外吸收光譜法:</p><p> 紅外吸收光譜法具有測量精度高、靈敏度高、響應速度快、適用范圍廣、測
25、量范圍大等諸多優(yōu)點,且所用設備穩(wěn)定性高、可靠性好,即可實現(xiàn)快速檢測,又可進行連續(xù)監(jiān)測,所以倍受人們關注。</p><p> 由此可見,前面提到的前三種傳感器探測范圍小,探頭容易中毒老化,不能有效地進行大空間的可燃氣體的安全監(jiān)控,因此三者均不是最理想的CO檢測方式。目前國內(nèi)只有少量的CO檢測報警儀使用于現(xiàn)場,特別是在煤礦井下顯得更加落后,大部分煤礦采用人工井下采樣、地面分析化驗的方法,甚至還有采用檢測管檢測的方法
26、。井下缺少對CO的安全監(jiān)測儀器,難以適應工作面的推進及新工作面的開拓。也很難滿足煤礦井下采空區(qū)、火區(qū)密閉區(qū)等具有高濃度CO監(jiān)測的需要。</p><p> 隨著紅外檢測技術的發(fā)展,CO紅外吸收檢測越來越受到人們的重視。從監(jiān)測技術的發(fā)展趨勢來看,光譜學技術是最具發(fā)展前途的污染氣體監(jiān)測方法,其代表性的監(jiān)測方法就是非分散紅外吸收法和調(diào)諧二極管激光吸收光譜方法。本設計提出的就是采用點調(diào)制非分散紅外吸收法(NDIR)氣體成
27、分分析技術檢測一氧化碳氣體的方法,該方法提高了檢測精度,大大降低了檢測儀的尺度和功耗,延長了電池供給時間,體積和功耗的有效降低。</p><p> 1.3 研究內(nèi)容及預期目標</p><p> 本課題設計主要完成一氧化碳監(jiān)控系統(tǒng)軟件和硬件設計,設計內(nèi)容包括:A/D轉(zhuǎn)換器程序、控制程序、超標報警、鍵盤檢測、數(shù)據(jù)顯示開關信號,電機排風等。</p><p> 主要功
28、能內(nèi)容包括:數(shù)據(jù)處理、時間設置、開始測量、超標報警、鍵盤檢測、自動休眠,儀器若不進行測量操作,5分鐘后自動進入休眠模式,以降低電源消耗。</p><p> 其設計方案基于AT89C52單片機,選擇瑞士蒙吧波公司的CO/CF-1000一氧化碳傳感器。系統(tǒng)將傳感器的標準信號通過AD0832為核心的A/D轉(zhuǎn)換電路調(diào)理后,經(jīng)由單片機進行數(shù)據(jù)處理,由LCD顯示一氧化碳濃度值,最后再由開關信號通過電機排風系統(tǒng)進行控制一氧化
29、碳的濃度。</p><p> 1.4 課題總體設計</p><p> 本課題擬采用單片機為控制核心,以實現(xiàn)一氧化碳監(jiān)控系統(tǒng)的基本控制功能。本課題擬采用功能模塊化的設計思想,系統(tǒng)主要分為總體方案設計、硬件和軟件的設計三大部分??傇O計方案分為以下幾個步驟:</p><p> ?。?)硬件系統(tǒng)電路的設計;</p><p> ?。?)軟件系統(tǒng)主程
30、序及其相關子程序的編寫;</p><p> ?。?)系統(tǒng)電路及軟件的調(diào)試。</p><p> 第2章 主芯片的選型及最小系統(tǒng)設計</p><p> 2.1 主控芯片選型</p><p> 單片機全稱為單片微型計算機(Single Chip Microcomputer),又稱微控制器(Micro Controller Unit)或嵌入式
31、控制器(Embedded Controller)。它是將計算機的基本部件微型化并集成到一塊芯片上的微型計算機,通常片內(nèi)都含有CPU、ROM、RAM、并行I/O、串行I/O、定時器/計數(shù)器、中斷控制、系統(tǒng)時鐘及系統(tǒng)總線等。隨著單片機技術的發(fā)展,其功能越來越強大。它在芯片內(nèi)集成了許多面對測控對象的接口電路,如ADC、DAC、PWM、高速I/O口等,并朝著SoC(片上系統(tǒng))方向發(fā)展。</p><p> 單片機主要面對
32、的是測控對象,突出的是控制功能。所以在設計生產(chǎn)時,其功能和形態(tài)都是針對控制領域的應用要求的。它是以單芯片形態(tài)作為嵌入式應用的計算機。它有唯一的、專門為嵌入式應用而設計的體系結構和指令系統(tǒng)。又因為它的芯片級體積的優(yōu)點和在現(xiàn)場環(huán)境下高速可靠運行的特點,因此單片機又稱為嵌入式微控制器。在國內(nèi),還是普遍稱其為單片機。把它理解為一個單芯片形態(tài)的微控制器,一個典型的嵌入式應用計算機系統(tǒng)。根據(jù)不完全統(tǒng)計,全世界嵌入式處理器的品種數(shù)量已經(jīng)超過1000多
33、種,流行體系結構有30幾個系列,其中8051體系的占有多半。生產(chǎn)8051單片機的半導體廠家有20多個,共350多種衍生產(chǎn)品。</p><p> 單片機的優(yōu)點顯著,如體積小、功耗低、功能強、編程簡單、性價比高等。目前使用單片機實現(xiàn)自動檢測技術正以其速度快、精度高、功能齊全、操作簡便等特點而得到越來越廣泛的應用,成為甲烷濃度檢測的一個發(fā)展方向。</p><p> 按單片機內(nèi)部數(shù)據(jù)通道的寬度
34、,可分為4位、8位、16位及32位單片機。MCS-51單片機就是常用的單片機系列,它是美國Intel公司于1980年推出的一種8位單片機系列。近年來C51獲得了飛速的發(fā)展,C51的發(fā)源公司Intel由于忙于開發(fā)PC及高端微處理器而無精力繼續(xù)發(fā)展自己的單片機。因為其優(yōu)越的性能和完善的結構,導致后來的許多廠商多沿用或參考了其體系結構,將其發(fā)展起來,最典型的是PHILIPS和ATMEL公司,PHILIPS公司主要是改善其性能,在發(fā)展C51的低
35、功耗,高速度和增強型功能上作了不少貢獻。并在原來的基礎上發(fā)展了高速I/O口,A/D轉(zhuǎn)換器,PWM(脈寬調(diào)制)、WDT等增強功能,并在低電壓、微功耗、擴展串行總線(I2C)和控制網(wǎng)絡總線(CAN)等功能加以完善。ATMEL公司推出的AT89Cxx系列兼容C51的單片機,完美地將Flash(非易失閃存技術)EEPROM與80C51內(nèi)核結合起來,仍采用C51的總體結構和指令系統(tǒng),F(xiàn)lash的可反擦寫程序存儲器能有效地降低開發(fā)費用,并能使單片機
36、作多次重復使用。所以,C51單片機系列是一個兼容性強,實用性好,并且有廣闊發(fā)展前景的單片機系列</p><p> 由于MCS-51集成了幾乎完善的8位中央處理單元,處理功能強,中央處理單元中集成了方便靈活的專用寄存器,硬件的加、減、乘、除法器和布爾處理機及各種邏輯運算和轉(zhuǎn)移指令,這給應用提供了極大的便利。</p><p> 本系統(tǒng)采用AT89C52單片機。而目前世界上較為著名的8位單片
37、機的生產(chǎn)廠家和主要機型如下:</p><p> 美國Intel公司:MCS—51系列及其增強型系列;</p><p> 美國Motorola公司:6801系列和6805系列;</p><p> 美國Atmel公司:89C51等單片機;</p><p> 美國Zilog公司:Z8系列及SUPER8;</p><p&g
38、t; 美國Fairchild公司:F8系列和3870系列;</p><p> 美國Rockwell公司:6500/1系列;</p><p> 美國TI(德克薩司儀器儀表)公司:TMS7000系列;</p><p> NS(美國國家半導體)公司:NS8070系列等等。</p><p> 盡管單片機的品種很多,但是在我國使用最多的還是I
39、ntel公司的MCS—52系列單片機和美國Atmel公司的89C52單片機。</p><p> MCS—51系列單片機包括三個基本型8031、8051、8751。</p><p> 本系統(tǒng)采用AT89C52單片機為控制核心。而相比之下52型功能更為強大,ROM和RAM存儲空間更大,52還兼容51指令系統(tǒng)?;诒鞠到y(tǒng)設計內(nèi)容的需要,綜合考慮后,本文選擇單片機ATME公司的AT89C52為
40、控制核心;主要基于考慮AT89C52是一個低電壓,高性能CMOS8位單片機,片內(nèi)含8KB的可反復擦寫的Flash只讀程序存儲器和256 bytes的隨機存取數(shù)據(jù)存儲器(RAM)、6個中斷源;時鐘頻率0~24MHz;器件采用高密度、非易失性存儲技術生產(chǎn),并兼容標準MCS-51指令系統(tǒng),功能強大。</p><p> AT89C52是美國ATMEL公司生產(chǎn)的低電壓,高性能CMOS 8位單片機,片內(nèi)含8K bytes的
41、可反復擦寫的只讀程序存儲器(PEROM)和256Kbytes的隨機存取數(shù)據(jù)存儲器,器件采用ATMEL公司的高密度,非易失性存儲技術生產(chǎn),與標準MCS-51指令系統(tǒng)及8052產(chǎn)品引腳兼容,片內(nèi)置通用8位中央處理器和FLASH存儲單元,功能強大,AT89C52單片機適合于許多較為復雜控制應用場合。</p><p><b> 主要性能參數(shù):</b></p><p> 與
42、MCS-51產(chǎn)品指令和引腳完全兼容;</p><p> 8K字節(jié)可重擦寫FLASH閃存存儲器;</p><p> 1000次寫/擦循環(huán);</p><p> 時鐘頻率:0Hz~24MHz;</p><p><b> 三級加密存儲器;</b></p><p> 256字節(jié)內(nèi)部RAM;<
43、/p><p> 32個可編程I/O口線;</p><p> 3個16位定時/計數(shù)器;</p><p><b> 6個中斷源;</b></p><p> 可編程串行UART通道。</p><p> 2.2 AT89C52的特點及在本設計中的應用</p><p> 2.
44、2.1 AT89C52單片機的引腳的介紹</p><p> AT89C52單片機的引腳圖見圖2-1。</p><p><b> 各引腳功能:</b></p><p><b> PO口:</b></p><p> P0口是一組8位漏極開路型雙向I/O口,也即地址/數(shù)據(jù)總線復用口。作為輸出口用時
45、,每位能吸收電流的方式驅(qū)動8個TTL邏輯門電路,對端口P0寫“1”時,可作為高阻抗輸入端用。</p><p> 圖2-1 AT89C52單片機引腳圖</p><p><b> P1口:</b></p><p> P1是一個帶內(nèi)部上拉電阻的8位雙向I/O 口,P1的輸出緩沖級可驅(qū)動(吸收或輸出電流)4個TTL邏輯門電路。對端口寫“1”,通過
46、內(nèi)部的上拉電阻把端口拉到高電平,此時可作輸入口。作輸入口使用時,因為內(nèi)部存在上拉電阻,某個引腳被外部信號拉低時會輸出一個電流(IIL)。與AT89C51不同之處是,P1.0和P1.1還可分別作為定時/計數(shù)器2的外部計數(shù)輸入(P1.0/T2)和輸入(P1.1/T2EX)。</p><p> 編程和程序校驗期間,P1接收低8位地址。</p><p><b> P2口:</b
47、></p><p> P2是一個帶有內(nèi)部上拉電阻的8位雙向I/O口,P2的輸出緩沖級可驅(qū)動(吸收或輸出電流)4個TTL邏輯門電路。對端口P2寫“1”,通過內(nèi)部的上拉電阻把端口拉到高電平,此時可作輸入口,作輸入口使用時,因為內(nèi)部存在上拉電阻,某個引腳被外部信號拉低時會輸出一個電流(IIL)。</p><p> 在訪問外部程序存儲器或16位地址的外部數(shù)據(jù)存儲器(例如執(zhí)行MOVX@DP
48、TR指令)時,P2口送出高8位地址數(shù)據(jù)。在訪問8位地址的外部數(shù)據(jù)存儲器(如執(zhí)行MOVX@RI指令)時,P2口輸出P2鎖存器的內(nèi)容。 </p><p> 編程或校驗時,P2亦接收高位地址和一些控制信號。 </p><p><b> P3口:</b></p><p> P3口是一組帶有內(nèi)部上拉電阻的8位雙向I/O口。P3口輸出緩沖級可驅(qū)動(吸
49、收或輸出電流)4個TTL邏輯門電路。對P3口寫入“1”時,它們被內(nèi)部上拉電阻拉高并可作為輸入端口。此時,被外部拉低的P3口將用上拉電阻輸出電流(IIL)。 </p><p> P3口除了作為一般的I/O口線外,更重要的用途是它的第二功能。</p><p> P3口還接收一些用于Flash閃速存儲器編程和程序校驗的控制信號。 </p><p><b>
50、 RST:</b></p><p> 復位輸入,當振蕩器工作時,RST引腳出現(xiàn)兩個機器周期以上高電平將使單片機復位。 </p><p><b> ALE/PROG:</b></p><p> 當訪問外部程序存儲器或數(shù)據(jù)存儲器時,ALE(地址鎖存允許)輸出脈沖用于鎖存地址的低8位字節(jié)。一般情況下,ALE仍以時鐘振蕩頻率的1/6輸
51、出固定的脈沖信號,因此它可對外輸出時鐘或用于定時目的。要注意的是:每當訪問外部數(shù)據(jù)存儲器時將跳過一個ALE 脈沖。 </p><p> 對存儲器編程期間,該引腳還用于輸入編程脈沖(PROG)。 </p><p> 如有必要,可通過對特殊功能寄存器(SFR)區(qū)中的8EH單元的D0位置位,可禁止ALE操作。該位置位后,只有一條MOVX和MOVC指令才能將ALE激活。此外,該引腳會被微弱拉高
52、,單片機執(zhí)行外部程序時,應設置ALE禁止位無效。 </p><p><b> RSEN:</b></p><p> 程序儲存允許(PSEN)輸出是外部程序存儲器的讀選通信號,當AT89C52由外部程序存儲器取指令(或數(shù)據(jù))時,每個機器周期兩次PSEN有效,即輸出兩個脈沖。在此期間,當訪問外部數(shù)據(jù)存儲器,將跳過兩次PSEN信號。 </p><p&
53、gt;<b> EV/VPP:</b></p><p> 外部訪問允許。欲使CPU僅訪問外部程序存儲器(地址為0000H—FFFFH),EA端必須保持低電平(接地)。需注意的是:如果加密位LB1被編程,復位時內(nèi)部會鎖存EA端狀態(tài)。 </p><p> 如EA端為高電平(接Vcc端),CPU 則執(zhí)行內(nèi)部程序存儲器中的指令。 </p><p>
54、; 存儲器編程時,該引腳加上+12V 的編程允許電源Vpp,當然這必須是該器件是使用12V編程電壓Vpp。 </p><p><b> XTAL1:</b></p><p> 振蕩器反相放大器的及內(nèi)部時鐘發(fā)生器的輸入端。 </p><p><b> XTAL2:</b></p><p>
55、振蕩器反相放大器的輸出端。</p><p> 2.2.2 單片機最小系統(tǒng)的設計</p><p> 采用AT89C52來設計一個單片機系統(tǒng)能運行起來的需求最小的系統(tǒng),電路圖見圖2-2。</p><p> 圖2-2 單片機最小系統(tǒng)圖</p><p> 上圖的最小單片機系統(tǒng)包含有晶振電路和復位電路,AT89C52芯片組成。</p>
56、;<p><b> ?。?)晶振電路</b></p><p> 晶振電路在各種指令的微操作在時間上有嚴格的次序,這種微操作的時間次序稱作時序, AT89C52的時鐘產(chǎn)生方式有兩種,一種是內(nèi)部時鐘方式,一種是外部時鐘方式。</p><p> 本系統(tǒng)中采用了內(nèi)部時鐘方式,為了盡量降低功耗的原則。電路圖見圖2-3。</p><p>
57、 圖2-3 晶振電路圖</p><p> 在89C52單片機的內(nèi)部有一個震蕩電路,只要在單片機的XTAL1和XTAL2引腳外接石英晶體(簡稱晶振)就構成了自激振蕩器并在單片機內(nèi)部產(chǎn)生時鐘脈沖信號,圖中電容器C1和C2穩(wěn)定頻率和快速起振,晶振CRY選擇的是12MHz。</p><p><b> ?。?)復位電路</b></p><p><
58、;b> ?、購臀坏囊饬x</b></p><p> 復位電路在單片機工作中仍然是不可缺少的主要部件中,單片機工作時必須處于一種確定的狀態(tài)。端口線電平和輸入輸出狀態(tài)不確定可能使外圍設備誤動作,導致嚴重事故的發(fā)生;內(nèi)部一些控制寄存器(專用寄存器)內(nèi)容不確定可能導致定時器溢出、程序尚未開始就要中斷及串口亂傳向外設發(fā)送數(shù)據(jù)。</p><p><b> ②復位電路原理&
59、lt;/b></p><p> 圖2-4 上電復位電路圖</p><p> 本設計中復位電路采用的是上電復位與手動復位電路,開關未按下是上電復位電路,上電復位電路在上電的瞬間,由于電容上的電壓不能突變,電容處于充電(導通)狀態(tài),故RST腳的電壓與VCC相同。隨著電容的充電,RST腳上的電壓才慢慢下降。選擇合理的充電常數(shù),就能保證在開關按下時是RST端有兩個機器周期以上的高電平從而
60、使AT89C52內(nèi)部復位。開關按下時是按鍵手動復位電路,RST端通過電阻與VCC電源接通,通過電阻的分壓就可以實現(xiàn)單片機的復位。電路圖見圖2-5。</p><p> 圖2-5 復位電路圖</p><p> 2.3 硬件總體構成框圖</p><p> 硬件設計部分主要包括:A/D轉(zhuǎn)換器程序、控制程序、超標報警、鍵盤檢測、數(shù)據(jù)顯示開關信號,電機排風,警報器等;硬件
61、主電路設計、數(shù)據(jù)采集、A/D轉(zhuǎn)換電路設計、液晶顯示電路設計、外圍擴充存儲器接口電路、時鐘電路、復位電路、鍵盤接口、報警、電機排風電路等功能模塊電路設計。硬件結構框圖見圖2-6。</p><p> 圖2-6 硬件結構框圖</p><p><b> 2.4 小結</b></p><p> 本章主要闡述了設計選擇的CPU及其內(nèi)部電路的設計,以及
62、系統(tǒng)的整體結構及工作過程。</p><p> 第3章 系統(tǒng)硬件電路的設計</p><p> 本設計主要分為數(shù)據(jù)采集轉(zhuǎn)換和輸入電路,報警電路及顯示接口電路。設計中硬件電路的設計繪制主要使用Protel99SE完成。</p><p> PROTEL是PORTEL公司在80年代末推出的EDA軟件,早期的PROTEL主要作為印制板自動布線工具使用,運行在DOS環(huán)境,
63、對硬件的要求很低,但它的功能也較少,只有電原理圖繪制與印制板設計功能,其印制板自動布線的布通率也低,而現(xiàn)今的PROTEL已發(fā)展到PROTEL99SE。它工作在WINDOWS環(huán)境下,是個完整的板級全方位電子設計系統(tǒng),它采用設計庫管理模式,可以進行聯(lián)網(wǎng)設計,具有很強的數(shù)據(jù)交換能力和開放性及3D模擬功能,是一個32位的設計軟件,包含了電路原理圖繪制、模擬電路與數(shù)字電路混合信號仿真、多層印制電路板設計(包含印制電路板自動布線)、可編程邏輯器件設
64、計、圖表生成、電子表格生成、支持宏操作等功能,并具有Client/Server (客戶/服務器)體系結構,同時還兼容一些其它設計軟件的文件格式,如ORCAD,PSPICE,EXCEL等,其多層印制線路板的自動布線可實現(xiàn)高密度PCB的100%布通率。</p><p> 3.1 數(shù)據(jù)采集系統(tǒng)的設計</p><p> 3.1.1傳感器的設計</p><p> ?。?)
65、一氧化碳傳感器的選擇</p><p> 一氧化碳傳感器選用CO/CF-1000探頭組成,見表3-1。</p><p> ?。?)從傳感器過來的電壓信號,必須采集,濾波,放大,轉(zhuǎn)換才能被MCU識別和處理。由于假若每一路都設置放大、濾波等器件,那么成本會很大,所以信號的采集一般用多路模擬通路進行選擇。然而選擇多路模擬開關時必須考慮以下的幾個因素:通道數(shù)量、切換速度、開關電阻和器件的封裝形式。
66、總之數(shù)據(jù)采集與硬件的選擇有很大的關系。</p><p><b> ?。?)測量電路</b></p><p> 測量電路由CO/CF-1000一氧化碳傳感器、ADC0832組成。當空氣被內(nèi)部的采樣系統(tǒng)接收后,產(chǎn)生一個與一氧化碳濃度成正比的電壓信號,該電壓信號經(jīng)ADC0832與AT89C52單片機相連,在顯示器上顯示出一氧化碳的濃度值,當超過國家規(guī)定的標準時報警。<
67、;/p><p> 表3-1 傳感器參數(shù)</p><p> 3.1.2 A/D轉(zhuǎn)化器的設計</p><p> ?。?)由于ADC0832模數(shù)轉(zhuǎn)換器具有8位分辨率、雙通道A/D轉(zhuǎn)換、輸入輸出電平與TTL/CMOS相兼容、5V電源供電時輸入電壓在0~5V之間、工作頻率為250KHZ 、轉(zhuǎn)換時間為32微秒、一般功耗僅為15MW等優(yōu)點,適合本系統(tǒng)的應用,所以本文采用ADC08
68、32為模數(shù)轉(zhuǎn)換器件。電路圖見圖3-1。</p><p> ?。?)ADC0832 具有以下特點:</p><p><b> ①8位分辨率;</b></p><p> ②雙通道A/D轉(zhuǎn)換;</p><p> ③輸入輸出電平與TTL/CMOS相兼容;</p><p> ?、?V電源供電時輸入電壓
69、在0~5V之間;</p><p> ⑤工作頻率為250KHz,轉(zhuǎn)換時間為32μs;</p><p> ⑥一般功耗僅為15mW;</p><p> ⑦8P、14P—DIP(雙列直插)、PICC多種封裝;</p><p> 圖3-1 模數(shù)轉(zhuǎn)換電路圖</p><p> ⑧商用級芯片溫寬為0℃到+70℃,工業(yè)級芯片溫
70、寬為?40℃到+85℃。</p><p><b> 芯片接口說明:</b></p><p> ①CS_片選使能,低電平芯片使能;</p><p> ②CH0模擬輸入通道0,或作為IN+/-使用;</p><p> ?、跜H1模擬輸入通道1,或作為IN+/-使用;</p><p> ④GND
71、芯片參考0電位(地);</p><p> ?、軩I數(shù)據(jù)信號輸入,選擇通道控制;</p><p> ?、轉(zhuǎn)O數(shù)據(jù)信號輸出,轉(zhuǎn)換數(shù)據(jù)輸出;</p><p> ?、逤LK芯片時鐘輸入;</p><p> ?、郪cc/REF電源輸入及參考電壓輸入(復用)。</p><p> 單片機對ADC0832的控制原理:</p&g
72、t;<p> 正常情況下ADC0832與單片機的接口應為4條數(shù)據(jù)線,分別是CS、CLK、DO、DI。但由于DO端與DI端在通信時并未同時有效并與單片機的接口是雙向的,所以電路設計時可以將DO和DI并聯(lián)在一根數(shù)據(jù)線上使用。當ADC0832未工作時其CS輸入端應為高電平,CLK和DO/DI的電平可任意。當要進行A/D轉(zhuǎn)換時,先將CS使能端置于低電平并且保持低電平直到轉(zhuǎn)換完全結束。同時由處理器向芯片時鐘輸入端CLK 輸入時鐘脈
73、沖,DO/DI端則使用DI端輸入通道功能選擇的數(shù)據(jù)信號。</p><p><b> (3)測量量程</b></p><p> 由于ADC0832模數(shù)轉(zhuǎn)換器的位數(shù)為8位,所以ADC0832模數(shù)轉(zhuǎn)換器的精度為:10ppm/256=0.039ppm。</p><p> 3.2 人機接口電路設計</p><p> 3.2
74、.1按鍵的設計</p><p> ?。?)本系統(tǒng)選擇獨立式按鍵。鍵盤分為:獨立式和矩陣式兩類,每一類按其編碼方法又可以分為編碼和非編碼兩種。本系統(tǒng)具有人機對話功能,該功能即能隨時發(fā)出各種控制命令和數(shù)據(jù)輸入以及和LCD連接顯示運行狀態(tài)和運行結果。由于本系統(tǒng)只有UP、DOWN、OK、CANCEL4個控制命令,所需按鍵較少,所以本系統(tǒng)選擇獨立式按鍵。電路圖見圖3-2。</p><p> 圖3-
75、2 按鍵電路圖</p><p> (2)獨立式按鍵是直接用I/O口線構成的單個按鍵電路。每個獨立式按鍵占有一根I/O口線。各根I/O口線之間不會相互影響。在此電路中,按鍵輸入部采用低電平有效,上拉電阻保證了按鍵斷開時,I/O口線有確定的高電平,(AT89C52.P1口內(nèi)部接有上拉電阻)所以就不需要再外接上拉電阻。</p><p> (3)鍵盤抖動的消除:抖動的消除大致可以分為硬件削抖和
76、軟件削抖。</p><p> 硬件削抖是采用硬件電路的方法對鍵盤的按下抖動及釋放抖動進行削抖,經(jīng)過削抖電路后使按鍵的電平信號只有兩種穩(wěn)定狀態(tài)。</p><p> 3.2.2 液晶顯示器的設計</p><p> 本設計選用了AMPIRE128X64液晶顯示模塊,是由于本系統(tǒng)要有顯示裝置完成顯示功能,顯示器最好能夠顯示數(shù)據(jù)、圖形,考慮到同種LCD顯示器的屏幕越大體
77、積越大,功耗越大的特點,該型號顯示器消耗電量比較低,可以滿足系統(tǒng)要求。該類液晶顯示模塊采用動態(tài)的液晶驅(qū)動,可用5V供電。AMPIRE128X64液晶共有22個引腳。如表3-3所示。</p><p> 表3-3 引腳說明表</p><p> ?。?)AMPIRE128X64液晶顯示模塊與計算機的接口電路有兩種方式。分為直接訪問方式和間接控制方式。直接訪問方式是把液晶模塊作為存儲器或I/O設
78、備直接接在單片機的總線上,單片機以訪問存儲器或I/O設備的方式操作液晶顯示模塊的工作。間接控制方式則不使用單片機的數(shù)據(jù)系統(tǒng),而是利用它的I/O口來實與顯示模塊的聯(lián)系。即將液晶顯示模塊的數(shù)據(jù)線與單片機的Pl口連接作為數(shù)據(jù)總線,另外三根時序控制信號線通常利用單片機的P3口中未被使用的I/O口來控制。這種訪問方式不占用存儲器空間,它的接口電路與時序無關,其時序完全靠軟件編實現(xiàn)。本系統(tǒng)采用間接控制方式。液晶顯示電路連接原理圖見圖3-5。<
79、/p><p> 圖3-5液晶顯示電路圖</p><p> ?。?)LCD按其顯示方式通??梢苑譃閿嗍健Ⅻc字符式、點陣式等。還有黑白、多灰度、彩色顯示等。</p><p> ①字符顯示:字符顯示比較復雜,一個字符由16*8點陣組成,即要找到和顯示屏是某幾個位置對應的RAM區(qū)的字節(jié),再使不同的位置為“1”其他的為“0”;為“1”的點亮,為“0”的不亮,這樣就顯示出一個字
80、符。</p><p> ②漢字顯示:漢字顯示和字符顯示的原理差不多,就是一個漢字一般采用圖形方式,事先從微機中用字模軟件提取要顯示的漢字的點陣碼,每個漢字占32B,分為兩部分,各16B。根據(jù)在LCD上開始顯示的行列號及每行的列數(shù)就可以找出顯示RAM的對應地址,送上漢字要顯示的第一字節(jié),以此類推,最后送完32B,這樣漢字就顯示出來了。</p><p> 系統(tǒng)的液晶顯示字體和字母的顯示就是
81、按照上述的原理顯示的,點陣碼是用字模軟件在相同的設置區(qū)域找出的。然后把提取的點陣碼放入編寫的LCD軟件程序里。</p><p> ?。?)陣碼獲取過程簡介:首先,打開軟件,然后新建文件,因為漢字占32B所以設置其為高度和寬度16*16。取模方式選擇C51格式在文字輸入?yún)^(qū)輸入漢字,在點陣區(qū)生成點陣碼,例如在文字輸入?yún)^(qū)輸入“歡”字,其點陣碼生成圖見圖3-6。</p><p> 圖3-6 點陣
82、生成截圖</p><p> 3.3 外圍擴充存儲器的設計</p><p> 由于考慮AT89C52單片機具有8KB的程序存儲器(ROM),256B的數(shù)據(jù)存儲器(RAM),由于考慮到本系統(tǒng)的數(shù)據(jù)處理與存儲所需的容量,現(xiàn)在需要擴充存儲器的容量。在應用中要保存一些參數(shù)和狀態(tài),本系統(tǒng)選用AT24C128存儲器。電路圖見圖3-2。 </p><p> 圖3-2 外圍擴充
83、存儲電路圖</p><p> 3.4 時鐘芯片的設計</p><p> 在本系統(tǒng),選擇了DS1302時鐘芯片。因為此系統(tǒng)需要記錄測量發(fā)生的時間,所以需要時鐘芯片來記錄不同時間的監(jiān)測數(shù)據(jù),因此本設計在系統(tǒng)中加入了時鐘芯片。</p><p> ?。?)時鐘電路選擇的芯片是DS1302,其內(nèi)含一個實時時鐘/日歷和31字節(jié)靜態(tài)RAM,可以通過串行接口與單片機通信。而通信
84、時,僅需要3個口線:①RES(復位),②I/O數(shù)據(jù)線,③SCLK(串行時鐘)。時鐘/RAM的讀/寫數(shù)據(jù)以一字節(jié)或多達31字節(jié)的字符組方式通信。</p><p> ?。?)DS1302主要性能有:時鐘能計算2100年之前的秒、分、時、日、日期、星期、月、年的能力,還有閏年的調(diào)整能力;讀/寫時鐘或RAM數(shù)據(jù)時,有單字節(jié)和多字節(jié)傳送兩種方式,與DS1202/TTL兼容。</p><p> (3
85、)DS1302引腳概述:X1,X2;振蕩源,外接32.768KHZ晶振;SCLK:串行時鐘輸入端。見表3-2。</p><p> 表3-2 時鐘控制字對照表</p><p> ?。?)DS1302數(shù)據(jù)輸入/輸出時序</p><p> 數(shù)據(jù)輸入是在輸入寫命令字的8個SCLK周期之后,在接下來的8個SCLK周期中的每個脈沖的上升沿輸入數(shù)據(jù),數(shù)據(jù)從0位開始。如果有額外
86、的SCLK周期,它們將被忽略。</p><p> 數(shù)據(jù)輸出是在輸出命令字的8個SCLK周期之后,在接下來的8個SCLK周期中的每個脈沖的下降沿輸出數(shù)據(jù),數(shù)據(jù)從0位開始。需要注意的是,第一個數(shù)據(jù)位在命令字節(jié)的最后一位之后的第一個下降沿被輸出。只要RST保持高電平,如果有額外的SCLK周期,將重新發(fā)送數(shù)據(jù)字節(jié),即多字節(jié)傳送。其電路圖見圖3-3。</p><p><b> 圖3.3
87、時鐘電路圖</b></p><p> 3.5 上拉電阻的設計</p><p> 在主電路圖中接在P0口處有一個排阻RP1,由于P0口沒有內(nèi)接上拉電阻,為了為P0口外接線路有確定的高電平,所以要接上排阻RP1,以確保有P0口有穩(wěn)定的電平。電路連接圖見圖3-4。</p><p> 圖3-4上拉電阻電路圖</p><p> 3.
88、6 報警電路的設計</p><p> 報警電路由蜂鳴器電路及LED發(fā)光二極管電路組成。本設計中采取并聯(lián)接法。由一個電源統(tǒng)一供電。</p><p> 蜂鳴器發(fā)聲原理是電流通過電磁線圈,使電磁線圈產(chǎn)生磁場來驅(qū)動振動膜發(fā)聲的,因此需要一定的電流才能驅(qū)動它,單片機I/O引腳輸出的電流較小,單片機輸出的TTL電平基本上驅(qū)動不了蜂鳴器,因此需要增加一個電流放大的電路。原路見圖3-7。</p&
89、gt;<p> 圖3-7報警電路接線圖</p><p> 如圖3-7所示,蜂鳴器的正極接到VCC(+5V)電源上面,蜂鳴器的負極接到三極管的發(fā)射極E,三極管的基極B經(jīng)過限流電阻R1后由單片機的引腳控制,當引腳輸出高電平時,三極管T1截止,沒有電流經(jīng)過線圈,蜂鳴器不發(fā)聲;當P3.7輸出低電平時,三極管導通,這樣蜂鳴器的電流形成回路,發(fā)出聲音。因此,可以通過程序控制引腳的電平來使蜂鳴器發(fā)出聲音和關閉
90、。</p><p> 程序中改變單片機引腳輸出波形的頻率,就可以調(diào)整控制蜂鳴器音調(diào),產(chǎn)生各種不同音色、音調(diào)的聲音。另外,改變引腳輸出電平的高低電平占空比,則可以控制蜂鳴器的聲音大小。</p><p> 報警的另一部分由發(fā)光二極管電路構成。</p><p> 發(fā)光二極管簡稱為LED。由鎵(Ga)與砷(As)、磷(P)的化合物制成的二極管,當電子與空穴復合時能輻射
91、出可見光,因而可以用來制成發(fā)光二極管,在電路及儀器中作為指示燈,或者組成文字或數(shù)字顯示。磷砷化鎵二極管發(fā)紅光,磷化鎵二極管發(fā)綠光,碳化硅二極管發(fā)黃光。</p><p> 發(fā)光二極管的核心部分是由P型半導體和N型半導體組成的晶片,在P型半導體和N型半導體之間有一個過渡層,稱為PN結。在某些半導體材料的PN結中,注入的少數(shù)載流子與多數(shù)載流子復合時會把多余的能量以光的形式釋放出來,從而把電能直接轉(zhuǎn)換為光能。PN結加反
92、向電壓,少數(shù)載流子難以注入,故不發(fā)光。這種利用注入式電致發(fā)光原理制作的二極管叫發(fā)光二極管,通稱LED。 當它處于正向工作狀態(tài)時(即兩端加上正向電壓),電流從LED陽極流向陰極時,半導體晶體就發(fā)出從紫外到紅外不同顏色的光線,光的強弱與電流有關。</p><p> 3.7 電機控制電路的設計</p><p> 3.7.1 SSR固態(tài)繼電器的介紹</p><p>
93、單片機控制電機的開關通過SSR系列固態(tài)繼電器,SSR成功地實現(xiàn)了弱信號對強電(輸出端負載電壓)的控制。SSR是利用晶體管或可控硅代替常規(guī)繼電器的觸點開關,而在前級與光電隔離器融為一體,由于光耦合器的應用,使控制信號所需的功率極低(約十余毫瓦就可正常工作),而且弱信號所需的工作電平與TTL、HTL、CMOS等常用集成電路兼容,可以實現(xiàn)直接聯(lián)接。這使SSR在數(shù)控和自控設備等方面得到廣泛應用。交流型SSR由于采用過零觸發(fā)技術,因而可以使SSR
94、安全地用在計算機輸出接口上,不必為在接口上采用MER而產(chǎn)生的一系列對計算機的干擾而煩惱。此外,SSR還有能承受在數(shù)值上可達額定電流十倍左右的浪涌電流的特點。</p><p> 固態(tài)繼電器是具有隔離功能的無觸點電子開關,在開關過程中無機械接觸部件,因此固態(tài)繼電器除具有與電磁繼電器一樣的功能外,還具有邏輯電路兼容,耐振耐機械沖擊,安裝位置無限制,具有良好的防潮防霉防腐蝕性能,在防爆和防止臭氧污染方面的性能也極佳,輸
95、入功率小,靈敏度高,控制功率小,電磁兼容性好,噪聲低和工作頻率高等特點。</p><p> 3.7.2單片機對電機排風的設計</p><p> 單片機對電機控制如圖3-8所示,單片機通過P0.0外接一反相器控制固態(tài)繼電器發(fā)光二極管的閉合,控制電機的啟動與關閉。當P0.0輸出低電平時,固態(tài)繼電器SSR-10DA內(nèi)部的發(fā)光二極管通電變亮,觸發(fā)導通右側(cè)的光控晶閘管,形成電機啟動的閉合回路,排
96、風機啟動。當P0.0輸出為高電平時,發(fā)光二極管不發(fā)光,固態(tài)繼電器SSR-10DA不能觸發(fā)導通,無法形成電機啟動的閉合回路,排風機關閉。</p><p> 圖3-8 電機控制電路</p><p><b> 3.8 小結</b></p><p> 本章闡述了所設計的系統(tǒng)總電路的組成和各部分單元電路的構成及連接,對系統(tǒng)中所用的各芯片的選用原因、
97、功能、工作原理進行了詳細的說明。</p><p> 第4章 系統(tǒng)軟件設計</p><p> C語言是一種成功的系統(tǒng)描述語言,用C語言開發(fā)的UNIX操作系統(tǒng)就是一個成功的范例;同時C語言又是一種通用的程序設計語言,在國際上廣泛流行。世界上很多著名的計算公司都成功的開發(fā)了不同版本的C語言,很多優(yōu)秀的應用程序也都使用C語言開發(fā)的,它是一種很有發(fā)展前途的高級程序設計語言。 </p>
98、;<p> 1.C是中級語言。它把高級語言的基本結構和語句與低級語言的實用性結合起來。C語言可以像匯編語言一樣對位、字節(jié)和地址進行操作, 而這三者是計算機最基本的工作單元。 </p><p> 2.C是結構式語言。結構式語言的顯著特點是代碼及數(shù)據(jù)的分隔化,即程序的各個部分除了必要的信息交流外彼此獨立。這種結構化方式可使程序?qū)哟吻逦阌谑褂?、維護以及調(diào)試。C語言是以函數(shù)形式提供給用戶的,這些函數(shù)
99、可方便的調(diào)用,并具有多種循環(huán)、條件語句控制程序流向,從而使程序完全結構化。 </p><p> 3.C語言功能齊全。具有各種各樣的數(shù)據(jù)類型,并引入了指針概念,可使程序效率更高。而且計算功能、邏輯判斷功能也比較強大,可以實現(xiàn)決策目的的游戲。 </p><p> 4. C語言適用范圍大。適合于多種操作系統(tǒng),如Windows、DOS、UNIX等等;也適用于多種機型。 </p>
100、<p> C語言對編寫需要硬件進行操作的場合,明顯優(yōu)于其它解釋型高級語言,有一些大型應用軟件也是用C語言編寫的。</p><p> C語言具有較好的可移植性,并具備很強的數(shù)據(jù)處理能力,因此適于編寫系統(tǒng)軟件,三維,二維圖形和動畫。它是數(shù)值計算的高級語言。</p><p> 由于本設計涉及的硬件比較多,所以采用了C語言系統(tǒng)進行編程。</p><p>
101、系統(tǒng)軟件采用模塊化結構設計。整個程序主要由主程序及A/D轉(zhuǎn)換模塊、按鍵模塊、時鐘模塊、顯示模塊、報警模塊、電機控制模塊等子程序組成。</p><p> 4.1 系統(tǒng)軟件結構設計</p><p> 軟件設計部分主要包括:主程.序/子程序流程的設計、功能模塊程序的編寫、軟/硬件結合調(diào)試與演示。主要包括以下功能模塊:51驅(qū)動、檢測、液晶顯示、時鐘、鍵盤、模數(shù)軟換、電機排風,軟件結構框圖見圖4
102、-1。</p><p> 圖4-1 軟件結構框圖</p><p> 4.2 系統(tǒng)總程序設計</p><p> 主程序?qū)崿F(xiàn)的功能:與硬件相結合實現(xiàn)便攜式一氧化碳檢測儀的各個功能。主要是檢測與顯示,時間調(diào)整與顯示,數(shù)據(jù)存儲,功能子函數(shù)的調(diào)用,見圖4-2。</p><p> 圖4-2 主程序流程圖</p><p>
103、 檢測主程序程序見附錄B。</p><p> 4.3 數(shù)據(jù)采集子程序設計</p><p> A/D轉(zhuǎn)換流程見圖4-3。當接收到鎖存器傳至地址總線的信號后,ADC0832從選定的IN口接收傳感器信號。當接收到從單片機傳至START口的信號后,開始A/D轉(zhuǎn)換。由于單片機的時鐘周期與ADC0832的轉(zhuǎn)換周期有偏差,可設置延時指令以配合單片機的時鐘周期。當轉(zhuǎn)換結束后,將數(shù)據(jù)傳輸至CPU。<
104、;/p><p> A/D轉(zhuǎn)換后得到的數(shù)據(jù)應及時傳送給單片機進行處理。先確認A/D轉(zhuǎn)換是否完成,如果完成則進行傳送,因此需要用查詢方式確認。A/D轉(zhuǎn)換芯片有表明轉(zhuǎn)換完成的狀態(tài)信號,比如ADC0832的EOC端。因此可以用查詢方式,測試EOC的狀態(tài),即可知道轉(zhuǎn)換是否完成,并接著進行數(shù)據(jù)傳輸</p><p> 該指令在送出有效口地址的同時,發(fā)出有效信號RD,使0832的輸出允許信號OE有效,從而
105、打開三態(tài)門輸出,是轉(zhuǎn)換后的數(shù)據(jù)通過數(shù)據(jù)總線送入A累加器中。</p><p> 圖4-3A/D轉(zhuǎn)化流程圖</p><p> ?。?)ADC0832程序見附錄B。</p><p> 4.4 按鍵程序設計</p><p> ?。?)按鍵時顯現(xiàn)人機對話的一個控制按鈕,通過按鍵的操作,對系統(tǒng)進行發(fā)送操作指令,后經(jīng)與MCU串行通信,然后在液晶上顯示。
106、</p><p> ?。?)按鍵查詢式的流程圖見圖4-4。</p><p> 圖4-4 按鍵查詢式的流程圖</p><p> 4.5 時鐘控制子程序設計</p><p> (1)DS1302模塊主要是用于設置時間和與MCU通信經(jīng)LCD顯示時間。</p><p> ?。?)時鐘模塊操作流程圖見圖4-5。.</
107、p><p> 圖4-5 時鐘模塊操作流程圖</p><p> 4.6 液晶顯示子程序設計</p><p> (1) LCD模塊在本系統(tǒng)中主要起著開界面漢字顯示,以及各控制效果的顯示。采用直接訪問方式。液晶顯示的操作流程圖見圖4-6。</p><p> 圖4-6 液晶顯示的操作流程圖</p><p> ?。?)液晶程
108、序見附錄B。</p><p> 4.7 報警子程序設計</p><p> ?。?)報警部分也是由單片機控制。在收到ADC0832傳來的濃度信號后,CPU通過計算,將傳感器的電壓信號變成濃度數(shù)據(jù)信號并顯示于LED數(shù)字顯示器上。如果濃度大于預設最大安全濃度,則控制蜂鳴器和LED發(fā)光二極管報警。</p><p> 在電路中,發(fā)光二極管及蜂鳴器有公共電源供電,另一端接在
109、單片機的P1口上。在設計程序時,如果不需要其工作,就在單片機控制輸出口上輸出一個高電平,使二極管或蜂鳴器正向截止,不工作。當接收到需要報警的信號時,單片機設置P1口程序清0,輸出低電平,則發(fā)光二極管和蜂鳴器正向?qū)ǎ_始工作。由于設計中存在一個常亮的綠色工作狀態(tài)指示燈,P1.3口將持續(xù)輸出低電平。</p><p> 為了讓報警系統(tǒng)更加醒目,在編制報警程序時,將蜂鳴器和紅色發(fā)光二極管設置為斷續(xù)鳴響和閃爍。通過設置
110、延時控制程序來完成。在實際調(diào)試時,可以通過修改延時時間,改變閃爍間隔,達到更好的效果。報警流程圖見圖4-7。</p><p><b> 圖4-7報警流程圖</b></p><p> ?。?)報警程序見附錄B。</p><p> 4.8 電機排風程序設計</p><p> ?。?)定時器T1設為工作方式1,定時周期為1
111、25ms,定時中斷完成CO濃度的采集和復合數(shù)字濾波處理。</p><p> (2)電機排風流程圖見圖4-8。</p><p> 圖4-8電機排風流程圖</p><p><b> 4.9 小結</b></p><p> 設計了電路中各部分的軟件程序。用流程圖詳細說明了各個單元的工作原理及其程序的邏輯過程。對一些重要
112、部分的編程原理進行了闡述。</p><p><b> 第5章 系統(tǒng)調(diào)試</b></p><p> 5.1 電氣接線檢查</p><p> 電氣接線主要是針對電路中各元器件的設計缺陷、連接錯誤和器件故障進行排除。本設計中主要電氣接線檢查內(nèi)容如下:</p><p> 1.檢查各元件的實際封裝和設計時PCB板中的封裝
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于單片機的遠程監(jiān)控系統(tǒng)畢業(yè)論文
- 基于單片機酒精濃度測試畢業(yè)論文
- 基于單片機的實時溫度監(jiān)控系統(tǒng)的設計【畢業(yè)論文】
- 基于單片機的反應罐監(jiān)控系統(tǒng)設計-畢業(yè)論文
- 基于單片機的反應罐監(jiān)控系統(tǒng)設計-畢業(yè)論文
- 畢業(yè)論文(設計)基于單片機酒精濃度測試儀
- 基于單片機空氣pm2.5濃度檢測系統(tǒng)設計畢業(yè)論文
- 基于單片機的門控系統(tǒng)設計畢業(yè)論文
- 基于單片機的室內(nèi)環(huán)境監(jiān)控系統(tǒng)設計-畢業(yè)論文
- 單片機畢業(yè)論文--基于單片機的自動售貨機的系統(tǒng)設計
- 基于單片機的室內(nèi)環(huán)境監(jiān)控系統(tǒng)設計畢業(yè)論文
- 基于單片機倒車雷達系統(tǒng)設計【畢業(yè)論文】
- 畢業(yè)論文--基于單片機的打鈴系統(tǒng)
- 畢業(yè)論文--基于單片機的打鈴系統(tǒng)
- 基于單片機的gps定位系統(tǒng)設計畢業(yè)論文
- 基于單片機的排隊叫號系統(tǒng)設計畢業(yè)論文
- 基于單片機設計的畢業(yè)論文--基于單片機的的智能晾衣系統(tǒng)設計
- 基于單片機的gps定位系統(tǒng)設計【畢業(yè)論文】
- 基于單片機的gps定位系統(tǒng)設計-畢業(yè)論文
- 基于單片機的酒精濃度測試儀設計畢業(yè)論文1
評論
0/150
提交評論