加入星計(jì)劃,您可以享受以下權(quán)益:

  • 創(chuàng)作內(nèi)容快速變現(xiàn)
  • 行業(yè)影響力擴(kuò)散
  • 作品版權(quán)保護(hù)
  • 300W+ 專業(yè)用戶
  • 1.5W+ 優(yōu)質(zhì)創(chuàng)作者
  • 5000+ 長(zhǎng)期合作伙伴
立即加入

基于51單片機(jī)的二氧化碳(CO2)氣體濃度監(jiān)測(cè)報(bào)警系統(tǒng)

08/22 13:31
3028
服務(wù)支持:
技術(shù)交流群

完成交易后在“購(gòu)買成功”頁(yè)面掃碼入群,即可與技術(shù)大咖們分享疑惑和經(jīng)驗(yàn)、收獲成長(zhǎng)和認(rèn)同、領(lǐng)取優(yōu)惠和紅包等。

虛擬商品不可退

當(dāng)前內(nèi)容為數(shù)字版權(quán)作品,購(gòu)買后不支持退換且無(wú)法轉(zhuǎn)移使用。

加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論
放大
實(shí)物圖
相關(guān)方案
  • 方案介紹
    • 基于51單片機(jī)的二氧化碳(CO2)氣體濃度監(jiān)測(cè)報(bào)警系統(tǒng)( proteus仿真+程序+演示視頻)
  • 相關(guān)文件
  • 推薦器件
  • 相關(guān)推薦
  • 電子產(chǎn)業(yè)圖譜
申請(qǐng)入駐 產(chǎn)業(yè)圖譜

基于51單片機(jī)的二氧化碳(CO2)氣體濃度監(jiān)測(cè)報(bào)警系統(tǒng)( proteus仿真+程序+演示視頻)

仿真圖proteus 8.9

程序編譯器:keil 4/keil 5

編程語(yǔ)言:C語(yǔ)言

設(shè)計(jì)編號(hào):C0073

主要功能:

結(jié)合實(shí)際情況,基于51單片機(jī)設(shè)計(jì)一個(gè)二氧化碳(CO2)監(jiān)測(cè)報(bào)警系。該系統(tǒng)應(yīng)滿足的功能要求為:

二氧化碳傳感器,運(yùn)行狀態(tài)LED顯示、獨(dú)立鍵盤、蜂鳴器報(bào)警。

演示視頻:


C0073 51單片機(jī)二氧化碳(CO2)氣體濃度監(jiān)測(cè)報(bào)警系統(tǒng)

具體功能:

①二氧化碳傳感器測(cè)得二氧化碳數(shù)據(jù)后經(jīng)過(guò)單片機(jī)處理,由LCD1602實(shí)時(shí)顯示,第一行顯示測(cè)得的濃度值,第二行顯示報(bào)警閾值;

②可通過(guò)按鍵設(shè)置二氧化碳報(bào)警閾值,開(kāi)始之后預(yù)設(shè)值閃爍,按鍵+預(yù)設(shè)值+10,按鍵減按下預(yù)設(shè)值-10;

③測(cè)得的二氧化碳濃度在正常范圍時(shí),綠燈亮,超過(guò)報(bào)警閾值時(shí),紅燈亮,蜂鳴器響,開(kāi)始聲光報(bào)警。

以下為本設(shè)計(jì)展示圖:

仿真(提供源文件)

主圖

img

開(kāi)始仿真

img

開(kāi)始仿真顯示檢測(cè)值C02為1260ppm,初始化報(bào)警值為1500ppm。

img

img

按下調(diào)整按鍵后,系統(tǒng)暫停工作,報(bào)警值十位數(shù)閃爍,按下報(bào)警上限+按鍵,報(bào)警值+10,按下按下報(bào)警上限-按鍵,報(bào)警值-10。設(shè)置完成后,再按一下調(diào)整按鍵,確定調(diào)整的報(bào)警值,系統(tǒng)正常工作。

img

在仿真中,可以通過(guò)箭頭調(diào)整CO2氣體傳感器數(shù)值,圖示設(shè)置為2050ppm,超出了設(shè)置的報(bào)警值1480,超出上限開(kāi)始報(bào)警,蜂鳴器持續(xù)短鳴,紅燈閃爍。

程序(提供源文件源碼):

img

img

AD轉(zhuǎn)換子程序

/****************************************************************************
函數(shù)功能:AD轉(zhuǎn)換子程序
入口參數(shù):CH
出口參數(shù):dat
****************************************************************************/
unsigned char adc0832(unsigned char CH)
{
	unsigned char i,test,adval;
	adval = 0x00;
	test = 0x00;
	Clk = 0;       //初始化
	DATI = 1;
	_nop_();
	CS = 0;
	_nop_();
	Clk = 1;
	_nop_();
	
	
	if ( CH == 0x00 )      //通道選擇
	{
		Clk = 0;
		DATI = 1;      //通道0的第一位
		_nop_();
		Clk = 1;
		_nop_();
		Clk = 0;
		DATI = 0;      //通道0的第二位
		_nop_();
		Clk = 1;
		_nop_();
	} 
	else
	{
		Clk = 0;
		DATI = 1;      //通道1的第一位
		_nop_();
		Clk = 1;
		_nop_();
		Clk = 0;
		DATI = 1;      //通道1的第二位
		_nop_();
		Clk = 1;
		_nop_();
	}
	
	Clk = 0;
	DATI = 1;
	for( i = 0;i < 8;i++ )      //讀取前8位的值
	{
		_nop_();
		adval <<= 1;
		Clk = 1;
		_nop_();
		Clk = 0;
		if (DATO)
		adval |= 0x01;
		else
		adval |= 0x00;
	}
	for (i = 0; i < 8; i++)      //讀取后8位的值
	{
		test >>= 1;
		if (DATO)
		test |= 0x80;
		else 
		test |= 0x00;
		_nop_();
		Clk = 1;
		_nop_();
		Clk = 0;
	}
	if (adval == test)      //比較前8位與后8位的值,如果不相同舍去。若一直出現(xiàn)顯示為零,請(qǐng)將該行去掉
	dat = test;
	nop_();
	CS = 1;        //釋放ADC0832
	DATO = 1;
	Clk = 1;
	return dat;
}

獲取的值需要進(jìn)行校準(zhǔn)

void AlcoholCalibration(void)     //CO2濃度初始化校準(zhǔn)函數(shù)
{
	sum = 0;
	for(m=0;m<50;m++)			//讀50次AD值
	{
		sum = adc0832(0)+sum;		//讀到的AD值,將讀到的數(shù)據(jù)累加到sum
	}
	temp=sum/50;				//跳出上面的for循環(huán)后,將累加的總數(shù)除以50得到平均值temp
	K_ZERO = 500 * temp / 256;        //8位ADC,首先得到電壓值,單位10毫伏
	Display_1602(0,WARNING);	 //顯示AD數(shù)值和報(bào)警值
}

主函數(shù)

void main()				//主函數(shù)
{
	Init1602();						 //初始化液晶函數(shù)
	init();							 //初始化定時(shí)器
	while(1)						 //進(jìn)入循環(huán)
	{
		for(m=0;m<50;m++)			//讀50次AD值
		sum = adc0832(0)+sum;		//讀到的AD值,將讀到的數(shù)據(jù)累加到sum
		temp=sum/50;				//跳出上面的for循環(huán)后,將累加的總數(shù)除以50得到平均值temp
		if (temp > K_ZERO) 
				temp = temp - K_ZERO;              //首先減去零點(diǎn)漂移,一般是130mV
		else
				temp= 0; 
		sum=0; 						//平均值計(jì)算完成后,將總數(shù)清零
		if(set==0)					 //set為0,說(shuō)明現(xiàn)在不是設(shè)置狀態(tài)
		Display_1602(temp,WARNING);	 //顯示AD數(shù)值和報(bào)警值
		if(temp<WARNING&&set==0)	 //AD數(shù)值小于報(bào)警值
		{
			flag=0;					 //關(guān)閉報(bào)警
		}
		else if(temp>WARNING&&set==0)//AD值大于報(bào)警值
		{
			flag=1;					 //打開(kāi)報(bào)警
		}
		Key();						 //調(diào)用按鍵函數(shù)
	}
}

資料清單(提供資料清單所有文件):

資料下載鏈接
搜索設(shè)計(jì)編號(hào):C0073
img

  • 設(shè)計(jì)資料獲取聯(lián)系方式.doc

推薦器件

更多器件
器件型號(hào) 數(shù)量 器件廠商 器件描述 數(shù)據(jù)手冊(cè) ECAD模型 風(fēng)險(xiǎn)等級(jí) 參考價(jià)格 更多信息
AD73311ARSZ 1 Analog Devices Inc Single-Channel, 3 V and 5 V Front-End Processor for General Purpose Applications Including Speech and Telephony

ECAD模型

下載ECAD模型
$10.72 查看
ABM10-16.000MHZ-D30-T3 1 Abracon Corporation CRYSTAL 16.0000MHZ 10PF SMD

ECAD模型

下載ECAD模型
$1.49 查看
FTLX1475D3BTL 1 Finisar Corporation Transceiver,

ECAD模型

下載ECAD模型
$884.02 查看

相關(guān)推薦

電子產(chǎn)業(yè)圖譜