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

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

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

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

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

虛擬商品不可退

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

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

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

仿真圖proteus 8.9

程序編譯器:keil 4/keil 5

編程語言:C語言

設(shè)計編號:C0073

主要功能:

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

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

演示視頻:


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

具體功能:

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

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

③測得的二氧化碳濃度在正常范圍時,綠燈亮,超過報警閾值時,紅燈亮,蜂鳴器響,開始聲光報警。

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

仿真(提供源文件)

主圖

img

開始仿真

img

開始仿真顯示檢測值C02為1260ppm,初始化報警值為1500ppm。

img

img

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

img

在仿真中,可以通過箭頭調(diào)整CO2氣體傳感器數(shù)值,圖示設(shè)置為2050ppm,超出了設(shè)置的報警值1480,超出上限開始報警,蜂鳴器持續(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)顯示為零,請將該行去掉
	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ù)值和報警值
}

主函數(shù)

void main()				//主函數(shù)
{
	Init1602();						 //初始化液晶函數(shù)
	init();							 //初始化定時器
	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; 						//平均值計算完成后,將總數(shù)清零
		if(set==0)					 //set為0,說明現(xiàn)在不是設(shè)置狀態(tài)
		Display_1602(temp,WARNING);	 //顯示AD數(shù)值和報警值
		if(temp<WARNING&&set==0)	 //AD數(shù)值小于報警值
		{
			flag=0;					 //關(guān)閉報警
		}
		else if(temp>WARNING&&set==0)//AD值大于報警值
		{
			flag=1;					 //打開報警
		}
		Key();						 //調(diào)用按鍵函數(shù)
	}
}

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

資料下載鏈接
搜索設(shè)計編號:C0073
img

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

推薦器件

更多器件
器件型號 數(shù)量 器件廠商 器件描述 數(shù)據(jù)手冊 ECAD模型 風(fēng)險等級 參考價格 更多信息
ABS10-32.768KHZ-9-T 1 Abracon Corporation CRYSTAL 32.7680KHZ 9PF SMD

ECAD模型

下載ECAD模型
$0.85 查看
FOD420SD 1 onsemi Random Phase Snubberless Triac Driver, 1000-REEL
$2.69 查看
AT27C256R-70PU 1 Atmel Corporation OTP ROM, 32KX8, 70ns, CMOS, PDIP28, 0.600 INCH, GREEN, PLASTIC, MS-011AB, DIP-28

ECAD模型

下載ECAD模型
$2.54 查看

相關(guān)推薦

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