51單片機(jī)一氧化碳報警器設(shè)計與制作_第1頁
51單片機(jī)一氧化碳報警器設(shè)計與制作_第2頁
51單片機(jī)一氧化碳報警器設(shè)計與制作_第3頁
51單片機(jī)一氧化碳報警器設(shè)計與制作_第4頁
51單片機(jī)一氧化碳報警器設(shè)計與制作_第5頁
已閱讀5頁,還剩21頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計

目錄

1設(shè)計簡介.............................................................1

2總體設(shè)計方案........................................................1

2.1產(chǎn)品的功能要求..............................................1

2.2產(chǎn)品的技術(shù)要求..............................................1

2.3產(chǎn)品的組成及方案設(shè)計........................................2

3產(chǎn)品的硬件設(shè)計......................................................2

3.1主控電路....................................................2

3.2CO氣體檢測電路的設(shè)計.......................................4

3.3AD轉(zhuǎn)換電路設(shè)計.............................................5

3.3液晶顯示電路設(shè)計............................................6

3.4聲光報警提示電路............................................8

3.5負(fù)載控制電路................................................9

3.6按鍵電路設(shè)計................................................9

4產(chǎn)品的軟件設(shè)計...................................................10

4.1軟件介紹...................................................10

4.2主程序流程圖設(shè)計...........................................12

5產(chǎn)品設(shè)計技術(shù)標(biāo)準(zhǔn).................................................13

6產(chǎn)品使用說明.....................................................13

6.1產(chǎn)品裝配圖.................................................13

6.2產(chǎn)品使用說明...............................................13

設(shè)計總結(jié)...........................................................14

參考資料...........................................................15

7附錄.............................................................16

附錄一元器件清單...............................................16

附錄二原理圖..................................................17

附錄三PCB設(shè)計圖..............................................17

附錄四實物照片................................................19

I

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計

附錄五源程序..................................................20

24

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計

51單片機(jī)一氧化碳報警器設(shè)計與制作

1設(shè)計簡介

CO是一種有毒易燃易爆性氣體,常溫下無色無味、難溶于水,但易溶于氨水。

由于相對密度略低于空氣,故能均勻的擴(kuò)散于監(jiān)測環(huán)境中。

一氧化碳中毒在冬季煤氣不完全燃燒時,非常容易發(fā)生,因此設(shè)計和應(yīng)用簡

單、高效、低成本、可靠的CO檢測儀具有重要的現(xiàn)實意義。

2總體設(shè)計方案

本產(chǎn)品主要是實現(xiàn)環(huán)境中一氧化碳的濃度檢測以及設(shè)定濃度報警值,并且驅(qū)動

負(fù)載降低一氧化碳的濃度。下面分別對產(chǎn)品功能要求、產(chǎn)品的方案設(shè)計、硬件、軟

件設(shè)計方面介紹。

2.1產(chǎn)品的功能要求

本產(chǎn)品的設(shè)計主要包括以下幾項功能:

(1)能夠檢測環(huán)境中一氧化碳的濃度值;

(2)能夠設(shè)定環(huán)境中一氧化碳濃度的報警值;

(3)報警功能:當(dāng)環(huán)境一氧化碳濃度過大時,報警器要進(jìn)行燈光報警,同時繼電

器閉合,驅(qū)動負(fù)載排氣扇工作,降低環(huán)境CO濃度值。

2.2產(chǎn)品的技術(shù)要求

在了解這個產(chǎn)品的工作原理以及功能之后,我們就可以基本確定產(chǎn)品的技術(shù)要

求。產(chǎn)品采用的單片機(jī)處理器成本都比較低,可以滿足批量生產(chǎn)和各類工程的需

求。對于完整的一個產(chǎn)品而言,為提高市場的競爭力,這個產(chǎn)品應(yīng)符合體積小、功

耗低、數(shù)據(jù)傳輸性能可靠和成本低廉等技術(shù)要求。具體指標(biāo)和參數(shù)如下:

(1)體積?。禾綔y器的體積要盡可能的小,這樣占用的空間才能減少,使用和更

換才會方便;

(2)功耗低:產(chǎn)品可以采用三節(jié)5號干電池供電或5v電源供電。

(3)可靠性高:由于不確定的電磁干擾可能存在于產(chǎn)品工作環(huán)境中,尤其是在低

1

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計

溫、高溫、潮濕等極限工作狀態(tài),為了保證產(chǎn)品長時間的可靠工作,以及減少誤報

次數(shù),所以選擇多指示燈,指示不同的狀態(tài)。

2.3產(chǎn)品的組成及方案設(shè)計

本設(shè)計主要由MQ-2傳感器模塊、STC89C52單片機(jī)、燈光報警電路、繼電器負(fù)

載電路、控制程序等組成。

產(chǎn)品的總體框圖設(shè)計如下:

CO氣體濃度采集模塊AD轉(zhuǎn)換

按鍵模塊液晶顯示模塊

STC89C52

聲光報警提示

復(fù)位電路

模塊

晶振電路負(fù)載控制模塊

圖2.1產(chǎn)品總體框圖設(shè)計

3產(chǎn)品的硬件設(shè)計

3.1主控電路

主控電路采用低成本的STC89C52芯片,是一種低功耗、高性能CMOS8位微控制

器,具有4K在產(chǎn)品可編程Flash存儲器。在單芯片上,擁有靈巧的8位CPU和

在產(chǎn)品可編程Flash,使得STC89C52為眾多控制應(yīng)用產(chǎn)品提供高靈活、超有效的解

決方案。具有以下標(biāo)準(zhǔn)功能:8k字節(jié)Flash,512字節(jié)RAM,32位I/O口線,

看門狗定時器,內(nèi)置4KBEEPROM,MAX810復(fù)位電路,3個16位定時器/計數(shù)器,4

2

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計

個外部中斷,一個7向量4級中斷結(jié)構(gòu)(兼容傳統(tǒng)51的5向量2級中斷結(jié)構(gòu)),全

雙工串行口。另外STC89C52可降至0Hz靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電

模式??臻e模式下,CPU停止工作,允許RAM、定時器/計數(shù)器、串口、中斷繼續(xù)工

作。掉電保護(hù)方式下,RAM內(nèi)容被保存,振蕩器被凍結(jié),單片機(jī)一切工作停止,直

到下一個中斷或硬件復(fù)位為止。最高運(yùn)作頻率35MHz,6T/12T可選。單片機(jī)最小系

統(tǒng)電路設(shè)計如下圖所示:

圖3.1.1單片機(jī)最小系統(tǒng)

3.2CO氣體檢測電路的設(shè)計

圖3.2.1MQ-7CO檢測電路

3

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計

如圖3.2.1所示,在這個電路中,將檢測到的CO傳感器檢測氣體濃度,轉(zhuǎn)換成

電壓信號,再將電壓信號傳輸給AD轉(zhuǎn)換電路,圖中第六腳就是輸出電壓信號。

3.2.1MQ-7介紹

MQ-7型氣體傳感器用于以CO為主要成分的氣體的測量,而且它抗干擾能力強(qiáng),

水蒸氣、煙等干擾氣體對它的影響小。

MQ-7型氣敏元件具有以下特點(diǎn):

(1)采用燒結(jié)半導(dǎo)體所形成的敏感燒結(jié)體,具有穩(wěn)定的R(即器件在純潔空氣中

的阻抗)阻值,從而保證了長期工作的穩(wěn)定性。

(2)單電源供電,其功耗僅0.7W左右。

(3)對所測試的氣體有極高的靈敏度和信噪比。

器件的靈敏度:S=Ro/Rx為10~30。常見為QM系列的S值僅8左右。Rx為器件在

丁烷濃度為0.2%時的阻抗。

MQ-7的特點(diǎn)和工作參數(shù)如下:

特點(diǎn):

⑴廣泛的探測范圍

⑵高靈敏度/快速響應(yīng)恢復(fù)

⑶優(yōu)異的穩(wěn)定性/長壽命

⑷簡單的驅(qū)動電路

MQ-7實物圖片如下圖所示:

圖3.2.2MQ-7實物圖

4

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計

3.3AD轉(zhuǎn)換電路設(shè)計

AD轉(zhuǎn)換電路采用的是ADC8032芯片,是一個8位的AD轉(zhuǎn)換芯片,分辨率256

級,芯片結(jié)構(gòu)簡單,成本低,可以滿足CO測量的精度要求。將MQ-7傳感器輸入的

模擬信號,轉(zhuǎn)換成對應(yīng)的數(shù)字信號,具體AD轉(zhuǎn)換電路設(shè)計如下:

圖3.3.1AD轉(zhuǎn)換電路圖

圖中,MQ-7的電壓信號從第2腳CH0輸入,數(shù)字信號從第6腳DO輸出,輸入

到單片機(jī)的P1.2腳。

3.3.1ADC0832介紹

ADC0832是一種8位分辨率、雙通道A/D轉(zhuǎn)換芯片。

主要特點(diǎn)有:

輸入輸出電平與TTL/CMOS相兼容;5V電源供電時輸入電壓在0~5V之間;

工作頻率為250kHz,轉(zhuǎn)換時間為32μS;一般功耗僅為15mW;8P、14P—DIP(雙列

直插)、PICC多種封裝;商用級芯片溫寬為0°Cto+70°C,工業(yè)級芯片溫寬為?

40°Cto+85°C。

芯片接口說明:

·CS_片選使能,低電平芯片使能。

·CH0模擬輸入通道0,或作為IN+/-使用。

·CH1模擬輸入通道1,或作為IN+/-使用。

·GND芯片參考0電位(地)。

5

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計

·DI數(shù)據(jù)信號輸入,選擇通道控制。

·DO數(shù)據(jù)信號輸出,轉(zhuǎn)換數(shù)據(jù)輸出。

·CLK芯片時鐘輸入。

·Vcc/REF電源輸入及參考電壓輸入(復(fù)用)。

圖3.3.2ADC8032實物圖

3.3液晶顯示電路設(shè)計

在單片機(jī)的人機(jī)交流界面中,一般的輸出方式有以下幾種:發(fā)光管、LED數(shù)碼

管、液晶顯示器。發(fā)光管和LED數(shù)碼管比較常用,軟硬件都比較簡單。

LCD1602A是一種工業(yè)字符型液晶,能夠同時顯示16x02即32個字符。(16列

2行)。在日常生活中,我們對液晶顯示器并不陌生。液晶顯示模塊已作為很多電子

產(chǎn)品的通過器件,如在計算器、萬用表、電子表及很多家用電子產(chǎn)品中都可以看

到,顯示的主要是數(shù)字、專用符號和圖形。

液晶顯示的原理是利用液晶的物理特性,通過電壓對其顯示區(qū)域進(jìn)行控制,有

電就有顯示,這樣即可以顯示出圖形。液晶顯示器具有厚度薄、適用于大規(guī)模集成

電路直接驅(qū)動、易于實現(xiàn)全彩色顯示的特點(diǎn),目前已經(jīng)被廣泛應(yīng)用在便攜式電腦、

數(shù)字?jǐn)z像機(jī)、PDA移動通信工具等眾多領(lǐng)域。

6

1602湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計

16PIN

+5

135

13579

0246

2468

111

R61111

S

10K+5N+5

R

E

D

GNDCGND

L

R5GND

470

GND

圖3.3.1液晶顯示電路設(shè)計

3.4聲光報警提示電路

3.4.1燈光提示電路

圖3.4.1燈光提示電路

本設(shè)計利用不同顏色的LED指示不同的煙霧濃度報警,濃度低時綠色LEDG燈

亮,超過限定值紅色LEDR燈亮,起到警示作用。

3.4.2聲音報警電路

7

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計

VCC

Q1

P34R48550

1k

蜂鳴器

圖3.4.2聲音報警電路

采用壓電陶瓷嗡鳴器,三極管Q1起開關(guān)作用,其基極的低電平使三極管飽和導(dǎo)

通,使蜂鳴器發(fā)聲;而基極高電平則使三極管關(guān)閉,蜂鳴器停止發(fā)聲。

3.5負(fù)載控制電路

+5

GND

Q2

R99012

FS

1KJ4

1

+5白2

3

排針

K1

M1

+-

A

21

J5接線端子

GND

圖3.4.3繼電器控制負(fù)載電路

負(fù)載是一只排風(fēng)扇,通過繼電器控制,電路中繼電器室通過PNP型三極管驅(qū)

動,當(dāng)閥值超過設(shè)定時,單片機(jī)會由高電平跳變成低電平,三極管導(dǎo)通繼電器吸

合,繼電器起開關(guān)作用,可以驅(qū)動負(fù)載。

8

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計

3.6按鍵電路設(shè)計

本設(shè)計采用按鍵接低的方式來讀取按鍵,單片機(jī)初始時,因為為高電平,當(dāng)按

鍵按下的時候,會給單片機(jī)一個低電平,單片機(jī)對信號進(jìn)行處理。

在用單片機(jī)對鍵盤處理的時候涉及到了一個重要的過程,那就是鍵盤的去抖

動。這里說的抖動是機(jī)械的抖動,是當(dāng)鍵盤在未按到按下的臨界區(qū)產(chǎn)生的電平不穩(wěn)

定正?,F(xiàn)象,并不是我們在按鍵時通過注意可以避免的。這種抖動一般10~200毫秒

之間,這種不穩(wěn)定電平的抖動時間對于人來說太快了,而對于時鐘是微秒的單片機(jī)

而言則是慢長的。硬件去抖動就是用部分電路對抖動部分加之處理,軟件去抖動不

是去掉抖動,而是避抖動部分的時間,等鍵盤穩(wěn)定了再對其處理。所以這里選擇了

軟件去抖動,實現(xiàn)法是先查尋按鍵當(dāng)有低電平出現(xiàn)時立即延時10~200毫秒以避開抖

動(經(jīng)典值為20毫秒),延時結(jié)束后再讀一次I/O口的值,這一次的值如果為1表

示低電平的時間不到10~200毫秒,視為干擾信號。當(dāng)讀出的值是0時則表示有按

鍵按下,調(diào)用相應(yīng)的處理程序。硬件電路如圖3.4.5所示:

123

kkk

S1S2S3

SWSPSTSWSPSTSWSPST

GND

圖3.4.5按鍵電路

4產(chǎn)品的軟件設(shè)計

4.1軟件介紹

KeilC51是美國KeilSoftware公司出品的51系列兼容單片機(jī)C語言軟件開

發(fā)產(chǎn)品,與匯編相比,C語言在功能上、結(jié)構(gòu)性、可讀性、可維護(hù)性上有明顯的優(yōu)

勢,因而易學(xué)易用。用過匯編語言后再使用C來開發(fā),體會更加深刻。KeilC51

軟件提供豐富的庫函數(shù)和功能強(qiáng)大的集成開發(fā)調(diào)試工具,全Windows界面。另外重

要的一點(diǎn),只要看一下編譯后生成的匯編代碼,就能體會到KeilC51生成的目標(biāo)代

碼效率非常之高,多數(shù)語句生成的匯編代碼很緊湊,容易理解。在開發(fā)大型軟件時

9

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計

更能體現(xiàn)高級語言的優(yōu)勢。下面詳細(xì)介紹KeilC51開發(fā)產(chǎn)品各部分功能和使用。

Keil_c軟件界面如圖

圖4.1.1Keil_c軟件界面

Altiumdesigner是PORTEL公司在80年代末推出的EDA軟件。采用設(shè)計庫管

理模式,可以網(wǎng)絡(luò)設(shè)計,具有很強(qiáng)的數(shù)據(jù)交換能力和開放性及3D模擬功能,是一個

32位的設(shè)計軟件,可以完成電路原理圖設(shè)計,印制電路板設(shè)計和可編程邏輯器件設(shè)

計等工作,可以設(shè)計32個信號層,16個電源--地層和16個機(jī)加工層。

Altiumdesigner的工作界面是一種標(biāo)準(zhǔn)的Windows界面,如圖所示,包括:

標(biāo)題欄、主菜單、標(biāo)準(zhǔn)工具欄、繪圖工具欄、狀態(tài)欄、對象選擇按鈕、預(yù)覽對象方

位控制按鈕、仿真進(jìn)程控制按鈕、預(yù)覽窗口、對象選擇器窗口、圖形編輯窗口。

10

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計

圖4.1.2Altiumdesigner軟件界面

4.2主程序流程圖設(shè)計

開始

初始化

讀取AD轉(zhuǎn)換濃度值

判斷當(dāng)前濃度范圍

執(zhí)行相應(yīng)的控制

判斷按鍵

是否按下

設(shè)置相應(yīng)參數(shù)

顯示設(shè)置數(shù)值

11

結(jié)束

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計

圖4.2.1主程序流程圖

5產(chǎn)品設(shè)計技術(shù)標(biāo)準(zhǔn)

[1]J-STD-001E電氣與電子組件的焊接要求

[2]IPC-A-610D(中文版),IPC-A-610E電子組件的可接受性要求

[3]IPC-7711/21電子組件和電路板的返工&返修

[4]GB/T11457-2006信息技術(shù)軟件工程術(shù)語;

[5]GB/T8566-2007信息技術(shù)軟件生存周期過程標(biāo)準(zhǔn);

[6]GB/T8567-2006計算機(jī)軟件文檔編制規(guī)范。

6產(chǎn)品使用說明

6.1產(chǎn)品裝配圖

LCD1602顯示

STC89C52

嗡鳴

器AD轉(zhuǎn)換

風(fēng)扇接口

MQ-7

繼電器

電源報警燈

開關(guān)按鍵

圖6.1.1產(chǎn)品裝配圖

12

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計

6.2產(chǎn)品使用說明

1、接通電源,打開開關(guān),實時顯示當(dāng)前的可燃?xì)怏w濃度值和報警值;

2、當(dāng)可燃?xì)怏w濃度沒有超過報警值時,綠燈閃爍;

3、當(dāng)前可燃?xì)怏w超過上線時,紅燈閃亮,蜂鳴器響。同時啟動繼電器,繼電器

帶動風(fēng)扇轉(zhuǎn)動模擬換氣。

4、報警值可以通過按鍵設(shè)定,左邊第一個進(jìn)入設(shè)置模式,中間按鍵限定值加,

右邊按鍵限定值減。

設(shè)計總結(jié)

本次設(shè)計的CO氣體報警器以STC89C52為主芯片,STC89C52為8位單片機(jī),當(dāng)

ADC0832的輸入電壓為5V時,輸出數(shù)字量值為FFH,故最大分辯率為0.0196V。

如果要獲得更高的精度,需采用12位、13位等高于8位的A/D轉(zhuǎn)換器。

畢業(yè)設(shè)計是一次非常難得的理論與實際相結(jié)合的機(jī)會,通過這次比較完整的CO

氣體報警器軟件設(shè)計,我擺脫了單純的理論知識學(xué)習(xí)狀態(tài),能夠和實際設(shè)計相結(jié)合,

大大的鍛煉了我綜合運(yùn)用所學(xué)專業(yè)知識的能力,和解決實際工程問題的能力,同時

也提高了我查閱文獻(xiàn)資料、設(shè)計手冊、設(shè)計規(guī)范以及編程等專業(yè)能力水平,而且通

過對整體的掌控,對局部的取舍,以及對細(xì)節(jié)的斟酌處理,都使我的能力得到了鍛

煉,經(jīng)驗得到了豐富,并且意志力,克服困難的能力以及耐力也都得到了不同程度

的提升。這是我們都希望看到的,也正是我們進(jìn)行畢業(yè)設(shè)計的目的所在。

13

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計

參考資料

[1]李華.MCS-51系列單片機(jī)實用接口技術(shù)[M].北京:北京航空航天大學(xué)出

版社,1993.

[2]瞿生輝,馮毛官.單片機(jī)原理與應(yīng)用[M].西安:西安電子科技大學(xué)出版

社,1989.

[3]高偉.AT89單片機(jī)原理及應(yīng)用[M].國防工業(yè)出版社,2008.

[4]何立民.單片機(jī)高級教程[M].第1版.北京:北京航空航天大學(xué)出版

社,2001.

[5]夏繼強(qiáng).單片機(jī)實驗與實踐教程[M].北京:北京航空航天大學(xué)出版

社,2001.

[6]趙曉安.MCS-51單片機(jī)原理及應(yīng)用[M].天津:天津大學(xué)出版社,2001.

[7]張友德等.單片微型機(jī)原理.應(yīng)用與實現(xiàn)[M].上海:復(fù)旦大學(xué)出版

社,1996.101~184.

[8]吳炳勝.80C51單片機(jī)原理與應(yīng)用技術(shù)[M].北京:冶金工業(yè)出版

社,2003.179~188.

14

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計

7附錄

附錄一元器件清單

BillofMaterials<ParameterTitlenotfound>

SourceDataFrom:譚磊CO檢測.SchDoc

Project:18移動互聯(lián)1班

Variant:None

CreationDate:2021/4/2610:57:14

PrintDate:4434244342.45754

FootprintCommentLibRefDesignatorDescriptionQuantity

lcd160216PIN16PIN11

CAP4MM104CAPC1Capacitor1

25V/4.7U10ufCAPACITORPOLC2Capacitor1

CAP-2.5430CAPC3,C4Capacitor2

LED5MM-GRELEENDYLEDD11

LED5MM-REDLEDRLEDD21

LED5MM-YELLOEWDGLEDD31

BELLBUZZERBUZZERF1Buzzer1

AXIAL-0.42KRES2FR1,R2,R3,R8,R95

SIPA02電源接口CON2J13P接線端子1

5.08A-2PIN接線端子CON2J2Connector1

SIP910KCON9J3Connector1

5V繼電器RELAY-SPSTK11

LED-3mmN-greenLED3mmredL13MM發(fā)光二極管紅1

DC002POWERPOWERP1DC電源座子1

NPN9012PNP2Q1,Q2PNPTransistor2

AXIAL-0.41KRES2,RES,RESR21,R4,R5[NoValue],電阻,[NoValue]3

AXIAL-1W4.7RRES2R61

AXIAL-0.410KRES2R71

MQ-2MQ-7MQ-3RL11

SW7X7電源開關(guān)SWITCHS1電源開關(guān)1

sw-pbSWSPSTSWSPSTS2,S3,S4,S54

DIP-8ADC0832ADC0832U1模數(shù)轉(zhuǎn)換芯片1

DIP40STC89C5289C52U2單片機(jī)1

XTAL12MHZCRYSTALY1Crystal1

36

15

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計

附錄二原理圖

16

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計

附錄三PCB設(shè)計圖

17

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計

附錄四實物照片

18

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計

附錄五源程序

//程序頭函數(shù)

#include<reg52.h>

//顯示函數(shù)

#include<display.h>

//宏定義

#defineuintunsignedint

#defineucharunsignedchar

#defineData_ADC0809P1

//管腳聲明

sbitLED_R=P2^2;//紅燈

sbitLED_G=P2^0;//綠燈

sbitFENG=P2^5;//蜂鳴器

sbitsan=P3^4;//風(fēng)扇控制(選配)

//ADC0809

sbitST=P3^3;

sbitEOC=P3^6;

sbitOE=P3^2;

//按鍵

sbitKey1=P2^6;//設(shè)置鍵

sbitKey2=P2^7;//加按鍵

sbitKey3=P3^7;//減按鍵

bitbdataflag;//報警標(biāo)志位

ucharset;//設(shè)置狀態(tài)

//函數(shù)聲明

externucharADC0809();

externvoidKey();

//酒精含量變量

uchartemp=0;

ucharWARNING=25;//報警值

voidinit()//初始化函數(shù)

{

TMOD=0x01;//工作方式

TL0=0xb0;

TH0=0x3c;//賦初值(12MHz晶振的50ms)

EA=1;//打開中斷總開關(guān)

ET0=1;//打開中斷允許開關(guān)

TR0=1;//打開定時器開關(guān)

}

19

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計

voidmain()//主函數(shù)

{

Init1602();//初始化顯示

init();//初始化定時器

while(1)//進(jìn)入循環(huán)

{

temp=ADC0809();//讀取酒精濃度值

if(set==0)//只有在非設(shè)置狀態(tài)時,

Display_1602(temp,WARNING);//才刷新顯示實時濃度值

if(temp<WARNING&&set==0)//非設(shè)置時當(dāng)濃度值小于報警值時

{

flag=0;//報警標(biāo)志位置0,不報警

}

elseif(temp>WARNING&&set==0)//非設(shè)置時當(dāng)濃度值大于報警值時

{

flag=1;//報警標(biāo)志位置1

}

Key();//掃描按鍵

}

}

//ADC0809讀取信息

ucharADC0809()

{

uchartemp_=0x00;

//初始化高阻太

OE=0;

//轉(zhuǎn)化初始化

ST=0;

//開始轉(zhuǎn)換

ST=1;

ST=0;

//外部中斷等待AD轉(zhuǎn)換結(jié)束

while(EOC==0)

//讀取轉(zhuǎn)換的AD值

OE=1;

temp_=Data_ADC0809;//將0809的數(shù)值讀入單片機(jī)

OE=0;

returntemp_;//返回讀到的數(shù)據(jù)

}

voidKey()//按鍵函數(shù)

{

if(Key1==0)//設(shè)置鍵按下時

{

while(Key1==0);//檢測按鍵是否釋放

FENG=0;//蜂鳴器響

set++;//設(shè)置狀態(tài)標(biāo)志加

flag=0;//停止報警

san=1;//風(fēng)扇停止轉(zhuǎn)動(選配)

20

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計

TR0=0;//定時器停止

}

if(set==1)//設(shè)置時

{

write_com(0x38);//屏幕初始化

write_com(0x80+0x40+13);//選中報警值的位置

write_com(0x0f);//打開顯示無光標(biāo)光標(biāo)閃爍

write_com(0x06);//當(dāng)讀或?qū)懸粋€字符是指針后一一位

FENG=1;//蜂鳴器停止鳴響

}

elseif(set>=2)//再按一下設(shè)置鍵時,退出設(shè)置

{

set=0;//設(shè)置狀態(tài)清零

write_com(0x38);//屏幕初始化

write_com(0x0c);//打開顯示無光標(biāo)無光標(biāo)閃爍

FENG=1;//蜂鳴器停止響

flag=1;//報警標(biāo)志位置1

TR0=1;//定時器開始計時

}

if(Key2==0&&set!=0)//當(dāng)在設(shè)置狀態(tài)時,按下加鍵時

{

while(Key2==0);//按鍵釋放

FENG=0;//蜂鳴器鳴響

WARNING++;//報警閾值加

if(WARNING>=255)//閾值最大加到255

WARNING=0;//清零

write_com(0x80+0x40+11);//在閾值的位置寫入設(shè)置的數(shù)據(jù)

write_data('0'+WARNING/100);//顯示百位(將123除以100得到的商是1,就是百位數(shù)

據(jù))123為例子

write_data('0'+WARNING/10%10);//顯示十位(將123除以10得到商是12,將12除以10

的余數(shù)就是十位)

write_data('0'+WARNING%10);//顯示個位(將123除以10的余數(shù)3就是個位數(shù)據(jù))

123為例子

write_com(0x80+0x40+13);//位置

FENG=1;//蜂鳴器停止

}

if(Key3==0&&set!=0)//減按鍵注釋參考加按鍵部分

{

while(Key3==0);

FENG=0;

WARNING--;

if(WARNING<=0)

WARNING=255;

write_com(0x80+0x40+11);

write_data('0'+WARNING/100);

write_data('0'+WARNING/10%10);

write_data('0'+WARNING%10);

write_com(0x80+0x40+13);//位置

FENG=1;

21

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計

}

}

voidtime1_int(void)interrupt1//定時器函數(shù)

{

ucharcount;

TL0=0xb0;

TH0=0x3c;//重新賦初值

count++;//計時變量加

if(count==10)//定時器定時是50ms,此處計數(shù)10次,正好是500ms,用于報警時燈亮和蜂

鳴器響

{

if(flag==0)//報警標(biāo)志為0時

{

LED_G=0;//綠燈亮

LED_R=1;//紅燈滅

FENG=1;//蜂

溫馨提示

  • 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

提交評論