第1章 緒論
1.1課題的背景和意義
一氧化碳是無色、無臭、無味、有毒的氣體,熔點﹣199℃,沸點﹣191.5℃。標準狀況下氣體密度為l.25g/L,和空氣密度(標準狀況下1.293g/L)相差很小,這也是容易發(fā)生煤氣中毒的因素之一。
一氧化碳分子中碳元素的化合價是+2價,能進一步被氧比成+4價,從而使一氧化碳具有可燃性和還原性,一氧化碳能夠在空氣中或氧氣中燃燒,生成二氧化碳。
一氧化碳中毒(carbon monoxide poisoning),亦稱煤氣中毒。一氧化碳是無色、無臭、無味的氣體,故易于忽略而致中毒。常見于家庭居室通風(fēng)差的情況下,煤爐產(chǎn)生的煤氣或液化氣管道漏氣或工業(yè)生產(chǎn)煤氣以及礦井中的一氧化碳吸入而致中毒。
中毒原理:一氧化碳會與肺部的血紅蛋白結(jié)合,造成機體缺氧。
一是輕度中毒。患者可出現(xiàn)頭痛、頭暈、失眠、視物模糊、耳鳴、惡心、嘔吐、全身乏力、心動過速、短暫昏厥。血中碳氧血紅蛋白含量達10%-20%。
二是中度中毒。除上述癥狀加重外,口唇、指甲、皮膚粘膜出現(xiàn)櫻桃紅色,多汗,血壓先升高后降低,心率加速,心律失常,煩躁,一時性感覺和運動分離(即尚有思維,但不能行動)。癥狀繼續(xù)加重,可出現(xiàn)嗜睡、昏迷。血中碳氧血紅蛋白約在30%-40%。經(jīng)及時搶救,可較快清醒,一般無并發(fā)癥和后遺癥。
三是重度中毒;颊哐杆龠M入昏迷狀態(tài)。初期四肢肌張力增加,或有陣發(fā)性強直性痙攣;晚期肌張力顯著降低,患者面色蒼白或青紫,血壓下降,瞳孔散大,最后因呼吸麻痹而死亡。經(jīng)搶救存活者可有嚴重合并癥及后遺癥。
一氧化碳的后遺癥。中、重度中毒病人有神經(jīng)衰弱、震顫麻痹、偏癱、偏盲、失語、吞咽困難、智力障礙、中毒性精神病。部分患者可發(fā)生繼發(fā)性腦病。
在當今社會發(fā)展中,現(xiàn)代化的發(fā)展給人類帶了很大的方便,但與此同時,人生安全越來越受到人們的重視,一氧化碳在工業(yè)領(lǐng)域所給我們帶來的方便不言而喻,但它對人體的危害也是顯而易見的。所以我們設(shè)計一款基于單片機控制的一氧化碳檢測儀,對一氧化碳進行檢測,為人們提供了安全的保障。
1.2 CO檢測儀的種類
目前,市場上一氧化碳檢測儀的種類是多種多樣,目前應(yīng)用得較為廣泛的是熱催化監(jiān)測方式,但由于多種可熱性氣體都能催化氧化燃燒,導(dǎo)致檢測精度下降,另外,采用這種方式的檢測儀體積和功率都較大,不便于隨身攜帶,本設(shè)計使用的是一種采用點調(diào)制非光紅外(NDIR)氣體成分分析技術(shù)檢測一氧化碳氣體的方法的一氧化碳傳感器,該方法提高了檢測精度,大大降低了檢測儀的尺度和功耗,延長了電池供給時間,體積和功耗的有效降低。
1.3 設(shè)計任務(wù)
本設(shè)計的任務(wù)是設(shè)計一個由單片機控制的一氧化碳的濃度檢測及報警系統(tǒng),它將傳感器輸出的電壓信號進行A/D轉(zhuǎn)換、濾波、線性化,由單片機將電壓值轉(zhuǎn)換為氣體濃度和溫度送LCD1602液晶顯示,并判斷是否超過報警上限,若超過,則發(fā)出聲光報警,并打開風(fēng)扇降低一氧化碳的濃度。同時用戶可以自己設(shè)定報警上限,使用戶可以根據(jù)實際情況方便的掌握安全狀況。該系統(tǒng)以STC89C52單片機為核心,可以實現(xiàn)聲光報警、故障自診斷、濃度顯示、報警限設(shè)置。它結(jié)構(gòu)簡單、性能穩(wěn)定、使用方便、價格低廉、智能化,具有一定的實用價值。
第2章 CO檢測系統(tǒng)硬件設(shè)計
本論文主要完成一氧化碳檢測儀軟件和硬件仿真設(shè)計,設(shè)計內(nèi)容包括:A/D轉(zhuǎn)換器程序、控制程序、超標報警、鍵盤檢測、數(shù)據(jù)顯示等。
硬件設(shè)計部分主要包括:單片機、A/D轉(zhuǎn)換器、時鐘芯片、LCD、外圍擴展數(shù)據(jù)RAM等芯片的選擇;硬件主電路設(shè)計、數(shù)據(jù)采集、模數(shù)轉(zhuǎn)換電路設(shè)計、液晶顯示電路設(shè)計、外圍擴充存儲器接口電路、時鐘電路、復(fù)位電路、鍵盤接口電路等功能模塊電路設(shè)計。硬件結(jié)構(gòu)框圖2.1。硬件設(shè)計總體電路圖見附錄A1。

圖2.1 硬件結(jié)構(gòu)框圖
2.1 STC89C52單片機簡介
本系統(tǒng)采用STC89C52單片機。而目前世界上較為著名的8位單片機的生產(chǎn)廠家和主要機型如下:
美國Intel公司:MCS—51系列及其增強型系列;
美國Motorola公司:6801系列和6805系列;
美國Atmel公司:89C51等單片機;
美國Zilog公司:Z8系列及SUPER8;
美國Fairchild公司:F8系列和3870系列;
美國Rockwell公司:6500/1系列;
美國TI(德克薩司儀器儀表)公司:TMS7000系列;
NS(美國國家半導(dǎo)體)公司:NS8070系列等等。
MCS—51系列單片機包括三個基本型8031、8051、8751。
本系統(tǒng)采用STC89C52單片機為控制核心。而相比之下52型功能更為強大,ROM和RAM存儲空間更大,52還兼容51指令系統(tǒng);诒鞠到y(tǒng)設(shè)計內(nèi)容的需要,綜合考慮后,我們選擇單片機ATME公司的STC89C52為控制核心;主要基于考慮STC89C52是一個低電壓,高性能CMOS 8位單片機,片內(nèi)含8KB的可反復(fù)擦寫的Flash只讀程序存儲器和256 bytes的隨機存取數(shù)據(jù)存儲器(RAM)、6個中斷源;時鐘頻率0~24MHz;器件采用高密度、非易失性存儲技術(shù)生產(chǎn),并兼容標準MCS-51指令系統(tǒng),功能強大。
STC89C52是美國ATMEL公司生產(chǎn)的低電壓,高性能CMOS 8位單片機,片內(nèi)含8K bytes的可反復(fù)擦寫的只讀程序存儲器(PEROM)和256K bytes的隨機存取數(shù)據(jù)存儲器,器件采用ATMEL公司的高密度,非易失性存儲技術(shù)生產(chǎn),與標準MCS-51指令系統(tǒng)及8052產(chǎn)品引腳兼容,片內(nèi)置通用8位中央處理器和FLASH存儲單元,功能強大,STC89C52單片機適合于許多較為復(fù)雜控制應(yīng)用場合。

圖2.2 引腳圖
主要性能參數(shù):
與MCS-51產(chǎn)品指令和引腳完全兼容;
8K字節(jié)可重擦寫FLASH閃存存儲器;
1000次寫/擦循環(huán);
時鐘頻率:0Hz~24MHz;
三級加密存儲器;
256字節(jié)內(nèi)部RAM;
32個可編程I/O口線;
3個16位定時/計數(shù)器;
6個中斷源;
可編程串行UART通道。
2.2單片機最小系統(tǒng)的設(shè)計
采用STC89C52來設(shè)計一個單片機系統(tǒng)能運行起來的需求最小的系統(tǒng)[15],電路圖見圖2.3:

圖2.3 單片機最小系統(tǒng)圖
上圖的最小單片機系統(tǒng)包含有晶振電路和復(fù)位電路,STC89C52芯片組成。
晶振電路在各種指令的微操作在時間上有嚴格的次序,這種微操作的時間次序稱作時序, STC89C52的時鐘產(chǎn)生方式有兩種,一種是內(nèi)部時鐘方式,一種是外部時鐘方式。本系統(tǒng)中采用了內(nèi)部時鐘方式,為了盡量降低功耗的原則。電路圖見圖2.4。
圖2.4 晶振電路圖
在89C52單片機的內(nèi)部有一個震蕩電路,只要在單片機的XTAL1和XTAL2引腳外接石英晶體(簡稱晶振)就構(gòu)成了自激振蕩器并在單片機內(nèi)部產(chǎn)生時鐘脈沖信號,圖中電容器C1和C2穩(wěn)定頻率和快速起振,晶振CRY選擇的是12MHz。
復(fù)位電路在單片機工作中仍然是不可缺少的主要部件中,單片機工作時必須處于一種確定的狀態(tài)。端口線電平和輸入輸出狀態(tài)不確定可能使外圍設(shè)備誤動作,導(dǎo)致嚴重事故的發(fā)生;內(nèi)部一些控制寄存器(專用寄存器)內(nèi)容不確定可能導(dǎo)致定時器溢出、程序尚未開始就要中斷及串口亂傳向外設(shè)發(fā)送數(shù)據(jù)[1]。

圖2.5 上電復(fù)位電路圖
本設(shè)計中復(fù)位電路采用的是上電復(fù)位與手動復(fù)位電路,開關(guān)未按下是上電復(fù)位電路,上電復(fù)位電路在上電的瞬間,由于電容上的電壓不能突變,電容處于充電(導(dǎo)通)狀態(tài),故RST腳的電壓與VCC相同。隨著電容的充電,RST腳上的電壓才慢慢下降。選擇合理的充電常數(shù),就能保證在開關(guān)按下時是RST端有兩個機器周期以上的高電平從而使STC89C52內(nèi)部復(fù)位。開關(guān)按下時是按鍵手動復(fù)位電路,RST端通過電阻與VCC電源接通,通過電阻的分壓就可以實現(xiàn)單片機的復(fù)位[4]。電路圖見圖2.6:


圖2.6 復(fù)位電路圖
2.3數(shù)據(jù)采集系統(tǒng)的簡介
CO傳感器選用CO/CF-1000探頭組成,如下表2.1。
表2.1 傳感器參數(shù)
測量電路由CO/CF-1000一氧化碳傳感器、ADC0832組成。當空氣被內(nèi)部的采樣系統(tǒng)接收后,產(chǎn)生一個與一氧化碳濃度成正比的電壓信號,該電壓信號經(jīng)
ADC0832與STC89C52單片機相連,在顯示器上顯示出一氧化碳的濃度值,當超過國家規(guī)定的標準時報警[5]。
2.4模數(shù)轉(zhuǎn)換器的簡介
由于ADC0832模數(shù)轉(zhuǎn)換器具有8位分辨率、雙通道A/D轉(zhuǎn)換、輸入輸出電平與TTL/CMOS相兼容、5V電源供電時輸入電壓在0~5V之間、工作頻率為250KHZ、轉(zhuǎn)換時間為32微秒、一般功耗僅為15MW等優(yōu)點,適合本系統(tǒng)的應(yīng)用,所以我們采用ADC0832為模數(shù)轉(zhuǎn)換器件[3]。電路圖見圖2.7如下:
圖2.7 模數(shù)轉(zhuǎn)換電路圖

ADC0832 具有以下特點:
①8位分辨率;
②雙通道A/D轉(zhuǎn)換;
③輸入輸出電平與TTL/CMOS相兼容;
④5V電源供電時輸入電壓在0~5V之間;
⑤工作頻率為250KHZ,轉(zhuǎn)換時間為32μS;
⑥一般功耗僅為15mW;
⑦8P、14P—DIP(雙列直插)、PICC 多種封裝;
⑧商用級芯片溫寬為0℃到+70℃,工業(yè)級芯片溫寬為−40℃到+85℃;
芯片接口說明:
①CS_片選使能,低電平芯片使能;
②CH0模擬輸入通道0,或作為IN+/-使用;
③CH1模擬輸入通道1,或作為IN+/-使用;
④GND芯片參考0電位(地);
⑤DI數(shù)據(jù)信號輸入,選擇通道控制;
⑥D(zhuǎn)O數(shù)據(jù)信號輸出,轉(zhuǎn)換數(shù)據(jù)輸出;
⑦CLK芯片時鐘輸入;
⑧Vcc/REF電源輸入及參考電壓輸入(復(fù)用)。
由于ADC0832模數(shù)轉(zhuǎn)換器的位數(shù)為8位,所以ADC0832模數(shù)轉(zhuǎn)換器的精度為:10ppm/256=0.039ppm。
2.5按鍵電路的設(shè)計
本系統(tǒng)選擇獨立式按鍵。鍵盤分為:獨立式和矩陣式兩類,每一類按其編碼方法又可以分為編碼和非編碼兩種。本系統(tǒng)具有人機對話功能,該功能即能隨時發(fā)出各種控制命令和數(shù)據(jù)輸入以及和LCD連接顯示運行狀態(tài)和運行結(jié)果。由于本系統(tǒng)只有UP、DOWN、OK、CANCEL4個控制命令,所需按鍵較少,所以本系統(tǒng)選擇獨立式按鍵[13]。電路圖見圖2.8。
圖2.8 按鍵電路圖
2.6外圍擴充存儲器的簡介
由于考慮STC89C52單片機具有8KB的程序存儲器(ROM),256B的數(shù)據(jù)存儲器(RAM),由于考慮到本系統(tǒng)的數(shù)據(jù)處理與存儲所需的容量,現(xiàn)在需要擴充存儲器的容量。在應(yīng)用中要保存一些參數(shù)和狀態(tài),本系統(tǒng)選用AT24C128存儲器[8]。電路圖見圖2.9。

圖2.9 外圍擴充存儲電路圖
2.7上拉電阻電路的設(shè)計
在主電路圖中接在P0口處有一個排阻RP1,由于P0口沒有內(nèi)接上拉電阻,為了為P0口外接線路有確定的高電平,所以要接上排阻RP1,以確保有P0口有穩(wěn)定的電平[11]。電路連接圖見圖2.10。
圖2.10 上拉電阻電路圖
2.8液晶顯示器簡介
我們選用了AMPIRE128X64液晶顯示模塊,是由于本系統(tǒng)要有顯示裝置完成顯示功能,顯示器最好能夠顯示數(shù)據(jù)、圖形,考慮到同種LCD顯示器的屏幕越大體積越大,功耗越大的特點,該型號顯示器消耗電量比較低,可以滿足系統(tǒng)要求。該類液晶顯示模塊采用動態(tài)的液晶驅(qū)動,可用5V供電。AMPIRE128X64液晶共有22個引腳[9]。
AMPIRE128X64液晶顯示模塊與計算機的接口電路有兩種方式。分為直接訪問方式和間接控制方式。直接訪問方式是把液晶模塊作為存儲器或I/O設(shè)備直接接在單片機的總線上,單片機以訪問存儲器或I/O設(shè)備的方式操作液晶顯示模塊的工作。間接控制方式則不使用單片機的數(shù)據(jù)系統(tǒng),而是利用它的I/O口來實與顯示模塊的聯(lián)系。即將液晶顯示模塊的數(shù)據(jù)線與單片機的Pl口連接作為數(shù)據(jù)總線,另外三根時序控制信號線通常利用單片機的P3口中未被使用的I/O口來控制。這種訪問方式不占用存儲器空間,它的接口電路與時序無關(guān),其時序完全靠軟件編程實現(xiàn)。本系統(tǒng)采用間接控制方式[14]。液晶顯示電路連接原理圖見圖下:
圖2.11 液晶顯示器電路圖
2.9報警電路的設(shè)計
圖2.12 報警電路接線圖
報警信號通常有三種類型:一是閃光報警,因為閃動的指示燈更能提醒人們注意;二是鳴音報警,發(fā)出特定的音響,作用于人的聽覺器官,易于引起和加強警覺;三是語音報警,不僅能起到報警作用,還能直接給出警報種類的信息。其中,前兩種報警裝置因硬件結(jié)構(gòu)簡單,軟件編程方便,常常在單片機應(yīng)用系統(tǒng)中使用;而語音報警雖然警報信息較直接,但硬件成本高,結(jié)構(gòu)較復(fù)雜。單頻音報警實現(xiàn)單頻音報警的接口電路比較簡單,其發(fā)音元件通?刹捎脡弘姺澍Q器,當在蜂鳴器兩引腳上加3~15V直流工作電壓,就能產(chǎn)生3kHZ左右的蜂鳴振蕩音響。壓電式蜂鳴器,約需10mA的驅(qū)動電流,可在某端口接上一只三極管和電阻組成的驅(qū)動電路來驅(qū)動,如圖2.12所示。在圖2.12中,P1.0接三極管基極輸入端,當P1.0輸出高電平“1”時,三極管導(dǎo)通,蜂鳴器的通電而發(fā)音,當P1.0輸出低電平“0”時,三極管截止,蜂鳴器停止發(fā)音[12]。
第3章 CO檢測系統(tǒng)軟件設(shè)計
3.1軟件設(shè)計結(jié)構(gòu)
軟件設(shè)計部分主要包括:主程序/子程序流程的設(shè)計、功能模塊程序的編寫、軟/硬件結(jié)合調(diào)試與演示。主要包括以下功能模塊:51驅(qū)動、檢測、液晶顯示、時鐘、鍵盤、模數(shù)軟換[10],軟件結(jié)構(gòu)框圖3.1。
圖3.1 軟件結(jié)構(gòu)框圖
3.2主程序模塊的設(shè)計
主程序?qū)崿F(xiàn)的功能:與硬件相結(jié)合實現(xiàn)便攜式一氧化碳檢測儀的各個功能。主要是檢測與顯示,時間調(diào)整與顯示,數(shù)據(jù)存儲,功能子函數(shù)的調(diào)用,見圖3.2。
檢測主程序程序見附錄A2。

圖3.2 主程序流程圖
3.3模數(shù)轉(zhuǎn)換的設(shè)計
ADC0832轉(zhuǎn)換的流程圖見下圖3.3;
ADC0832程序見附錄A3。

圖3.3 數(shù)轉(zhuǎn)換流程圖
3.4按鍵模塊的設(shè)計和時鐘模塊的設(shè)計
按鍵查詢式的流程圖見下圖,按鍵程序見附錄A4。
圖3.4 按鍵查詢式的流程圖
時鐘模塊操作流程圖見下圖,時鐘程序見附錄A5。
圖3.5 時鐘模塊操作流程圖
3.5液晶顯示模塊的設(shè)計
LCD模塊在本系統(tǒng)中主要起著開界面漢字顯示,以及各控制效果的顯示。采用直接訪問方式。液晶顯示的操作流程圖見下圖3.6,液晶程序見附錄A6。
圖3.6 液晶顯示的操作流程圖
- 系統(tǒng)調(diào)試及功能實現(xiàn)
4.1總體系統(tǒng)調(diào)試
4.1.1軟件調(diào)試
打開keil軟件,打開程序,檢查后單擊編譯按鍵,如果未發(fā)現(xiàn)錯誤和警告則說明程序能夠正常運行。
編譯結(jié)果如圖所示:
圖4.1 軟件編譯結(jié)果圖
所以程序能夠正常運行。
4.1.2 軟件下載
通過串口將電腦中已經(jīng)編寫好的程序傳輸入51單片機中,打開電源,檢查各模塊是否正常工作。
首先將STC_ISP_V483這個串口通信軟件打開,選擇打開程序文件選項,找到需要錄入單片機的hex文件,選擇下載選項,點擊后給單片機上電復(fù)位,等待信息框中顯示已下載成功,說明程序已經(jīng)錄入單片機。接下來首先通過按鍵選擇工作模式,然后根據(jù)傳感器模塊的類型將相應(yīng)的氣體放置在傳感器探頭附近,等待聲光報警模塊工作,當報警模塊工作后,通過按下外部中斷按鍵選擇報警模式,按一下則led二極管關(guān)閉,按第二下則蜂鳴器關(guān)閉,按第三下則led和蜂鳴器都打開。將三個傳感器模塊都檢查完畢后,按下復(fù)位鍵,并關(guān)閉電源。通過監(jiān)測總體系統(tǒng)能夠正常工作。
4.2 實物展示
焊接成品如下圖4.2所示:
4.2 焊接成品圖
在焊接過程中,本設(shè)計采用萬能板來焊接,同時外接電源采用的是USB供電。
接通電源初始圖如4.3所示 :
4.3 接通電源初始圖
在電源剛接通時,液晶屏顯示當前CO濃度為000 PM,設(shè)置的界限值為100 PM,風(fēng)扇處于未轉(zhuǎn)動狀態(tài),發(fā)光二極管未亮并且蜂鳴器不報警。
系統(tǒng)工作時如圖4.4所示:

4.4 工作實物圖
當CO傳感器檢測到的CO濃度大于國家標準值100ppm時,蜂鳴器報警同時紅色指示燈發(fā)光、風(fēng)扇轉(zhuǎn)動。
結(jié)論
本次設(shè)計的任務(wù)是設(shè)計制作CO濃度檢測報警器,設(shè)計中使用了低電壓、高性能CMOS8位微處理器STC89C52 單片機作為控制核心,總體電路具有運行速度快,穩(wěn)定,結(jié)構(gòu)簡單,散熱迅速等特點,采用模塊化設(shè)計,這樣不僅有利于系統(tǒng)硬件的設(shè)計和調(diào)試,同時也方便對系統(tǒng)進行更改和系統(tǒng)硬件的升級。CO/CF-1000氣體傳感器模塊的特點在于其簡易性和高效性,由于其輸出口在監(jiān)測到有害氣體時直接輸出低電平,這樣就免去了從氣體傳感器上采集信號,這樣硬件設(shè)計更加簡潔,所需的器件也更加易于購買,硬件出錯率也就更小,更加符合本設(shè)計的目的。
本次設(shè)計涉及到的知識面較多,由于本人理論水平和實踐經(jīng)驗有限,本次設(shè)計還存在一些有待改進和優(yōu)化的地方,比如在檢測氣體種類上可以增加對煙霧、NO等方面。在實用性方面可以考慮將濃度監(jiān)測系統(tǒng)與室內(nèi)換氣系統(tǒng)連接,這樣就不僅做到了氣體監(jiān)測和警報,還做到了對有害氣體及時處理,使整個室內(nèi)監(jiān)控系統(tǒng)更加完善。