加入星計(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ī)一氧化碳(CO)濃度檢測(cè)報(bào)警仿真LCD顯示( proteus仿真+程序+設(shè)計(jì)報(bào)告)

11/14 08:59
1864
服務(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)方案
  • 方案介紹
    • 1. 主要功能:
    • 2. 講解視頻:
    • 3. 仿真
    • 4. 程序代碼
    • 5. 設(shè)計(jì)報(bào)告
    • 6. 原理圖
    • 7. 設(shè)計(jì)資料內(nèi)容清單&&下載鏈接
  • 相關(guān)文件
  • 相關(guān)推薦
  • 電子產(chǎn)業(yè)圖譜
申請(qǐng)入駐 產(chǎn)業(yè)圖譜

基于51單片機(jī)一氧化碳(CO)濃度檢測(cè)報(bào)警仿真LCD顯示( proteus仿真+程序+設(shè)計(jì)報(bào)告+原理圖+講解視頻)

仿真圖proteus7.8及以上

程序編譯器:keil 4/keil 5

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

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

1. 主要功能:

基于51單片機(jī)的一氧化碳CO報(bào)警器proteus仿真設(shè)計(jì)

1.LCD1602液晶顯示一氧化碳報(bào)警值和檢測(cè)到的一氧化碳濃度值;

2.可以通過(guò)按鍵調(diào)整一氧化碳報(bào)警值;

3.一氧化碳濃度低于報(bào)警值工作指示燈綠燈亮。一氧化碳濃度高于閾值蜂鳴器報(bào)警,工作指示燈紅燈亮;

4.通過(guò)ADC0832采集滑動(dòng)變阻器模擬一氧化碳傳感器MQ-7電壓變化。

需注意仿真中51單片機(jī)芯片是兼容的,AT89C51,AT89C52是51單片機(jī)的具體型號(hào),內(nèi)核是一樣的。相同的原理圖里,無(wú)論stc還是at都一樣,引腳功能都是一樣的,程序是兼容的,芯片可以替換為STC89C52/STC89C51/AT89C52/AT89C51等51單片機(jī)芯片。

img

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

2. 講解視頻:

講解視頻包含仿真運(yùn)行講解和代碼講解

3. 仿真

打開仿真工程,雙擊proteus中的單片機(jī),選擇hex文件路徑,然后開始仿真。開始仿真后LCD1602液晶顯示當(dāng)前煙霧濃度,煙霧濃度測(cè)量值280ppm,報(bào)警值600ppm,工作指示燈綠燈亮。

img

通過(guò)點(diǎn)擊滑動(dòng)變阻器的阻值調(diào)整,阻值高于上限值600ppm后,蜂鳴器報(bào)警,工作指示燈紅燈亮。

img

4. 程序代碼

使用keil4或者keil5編譯,代碼有注釋,可以結(jié)合視頻理解代碼含義。

LCD1602.c

#include "lcd1602.h"

void delay_uint(uint i)
{
	while(i--);
}
/********************************************************************
* 名稱 : write_com(uchar com)
* 功能 : 1602命令函數(shù)
* 輸入 : 輸入的命令值
* 輸出 : 無(wú)
***********************************************************************/
void write_com(uchar com)
{
	e=0;
	rs=0;
	rw=0;
	P0=com;
	delay_uint(20);
	e=1;
	delay_uint(20);
	e=0;
}

/********************************************************************
* 名稱 : write_data(uchar dat)
* 功能 : 1602寫數(shù)據(jù)函數(shù)
* 輸入 : 需要寫入1602的數(shù)據(jù)
* 輸出 : 無(wú)
***********************************************************************/
void write_data(uchar dat)
{
	e=0;
	rs=1;
	rw=0;
	P0=dat;
	delay_uint(20);
	e=1;
	delay_uint(20);
	e=0;	
}

/********************************************************************
* 名稱 : write_string(uchar hang,uchar add,uchar *p)
* 功能 : 改變液晶中某位的值,如果要讓第一行,第五個(gè)字符開始顯示"ab cd ef" ,調(diào)用該函數(shù)如下
	 	 write_string(1,5,"ab cd ef;")
* 輸入 : 行,列,需要輸入1602的數(shù)據(jù)
* 輸出 : 無(wú)
***********************************************************************/
void write_string(uchar hang,uchar add,uchar *p)
{
	if(hang==1)   
		write_com(0x80+add);
	else
		write_com(0x80+0x40+add);
		while(1)
		{
			if(*p == '?')  break;
			write_data(*p);
			p++;
		}	
}

/********************************************************************
* 名稱 : init_1602()
* 功能 : 初始化1602液晶 
* 輸入 : 無(wú)
* 輸出 : 無(wú)
***********************************************************************/
void init_1602()
{
	write_com(0x38);						//數(shù)據(jù)總線為8位,顯示2行,5x7點(diǎn)陣
	write_com(0x0e);						//開顯示,有光標(biāo),光標(biāo)閃爍
	write_com(0x06);						//光標(biāo)自動(dòng)右移
	delay_uint(1000);						//等待設(shè)置完成
}

ADC0832轉(zhuǎn)換程序

#include "ADC0832.h"
#include "intrins.h"
/*********************************************
讀取ADC
**********************************************/
uchar ADC(uchar ch)//通道ch	 1,2
{
	uchar temp0,temp1,i;
	CS=0;
	temp0=0;
	temp1=0;
	_nop_();
	_nop_();
	DI=1;//開始位
	_nop_();
	_nop_();
	CLK=1;
	_nop_();
	_nop_();
	CLK=0;
	_nop_();
	_nop_();
	DI=0;
	_nop_();
	_nop_();
//選擇通道0
	DI=1;
	_nop_();
	CLK=1;//上升沿DI=1
	_nop_();
	CLK=0;//1個(gè)下降沿DI=1
	_nop_();
	if(ch==1)
	DI=0;
	if(ch==2)
	DI=1;
	_nop_();
	CLK=1;
	_nop_();
	CLK=0;//第3個(gè)上升沿DI=0
	_nop_();
   	DI=1;
//********通道選擇結(jié)束開始讀取轉(zhuǎn)換后的二進(jìn)制數(shù)****
//下降沿讀數(shù),一下進(jìn)行判斷和處理,共8次
for(i=0;i<8;i++)
   {
	temp0=temp0<<1;
	CLK=1;
    if(DO)
   	temp0++;
   	_nop_();
   	CLK=0;
   }
for(i=0;i<8;i++)
   {
	temp1=temp1>>1;
	CLK=1;
    if(DO)
   	temp1=temp1 +0x80;
   	_nop_();
   	CLK=0;
   }
	 CS=1;
   return temp0;
}

主程序

void main()
{
	init_1602(); //LCD1602初始化
	TMOD|=0X01;
	TH0=0X3C;
	TL0=0XB0;	
	ET0=1;//打開定時(shí)器0中斷允許
	EA=1;//打開總中斷
	TR0=1;//打開定時(shí)器
	while(1)
	{
		if(!k3)	//高閥值加
		{
			if(high<999)
				high++;
			while(!k3);
		}
		if(!k4)	//高閥值減
		{
			if(high>low)
				high--;
			while(!k4);
		}
		if(det_co>high) //上限報(bào)警
		{
			led1=0;	 //LED1紅燈點(diǎn)亮
			led2=1;	  //LED2綠燈熄滅
		}
		else
		{
			led1=1;	  //LED1紅燈熄滅
			led2=0;		//LED2綠燈點(diǎn)亮
		}
		beep=led1;
	}
}
void Timer0() interrupt 1
{
	TH0=0X3C;
	TL0=0XB0;
	det_co=ADC(1);//測(cè)量一氧化碳
	disp1[6]=det_co/100+0x30; //一氧化碳百位
	disp1[7]=det_co%100/10+0x30;	  //一氧化碳十位
	disp1[8]=det_co%10+0x30;		  //一氧化碳個(gè)位
//	disp2[2]=low/100+0x30;
//	disp2[3]=low%100/10+0x30;
//	disp2[4]=low%10+0x30;
	disp2[6]=high/100+0x30;
	disp2[7]=high%100/10+0x30;
	disp2[8]=high%10+0x30;
	write_string(1,0,disp1);
	write_string(2,0,disp2);
}

5. 設(shè)計(jì)報(bào)告

7991字設(shè)計(jì)報(bào)告,內(nèi)容包括硬件設(shè)計(jì)、軟件設(shè)計(jì)、軟硬件框圖、調(diào)試、結(jié)論等

img

社會(huì)的進(jìn)步和科技的發(fā)展,人們對(duì)環(huán)境安全與健康保護(hù)的認(rèn)識(shí)不斷深化,對(duì)預(yù)防各類環(huán)境危害因素的需求日益增強(qiáng)。有毒有害氣體作為影響人類生存環(huán)境及生命安全的重要因素之一,其檢測(cè)與防護(hù)的重要性愈發(fā)凸顯。在工業(yè)生產(chǎn)領(lǐng)域,如化工、冶金、煤礦等眾多行業(yè)中,有毒有害氣體的泄漏可能導(dǎo)致重大安全事故,嚴(yán)重威脅工作人員的生命安全以及設(shè)備設(shè)施的正常運(yùn)行;在家庭生活場(chǎng)景中,燃?xì)庠O(shè)備的不完全燃燒或者通風(fēng)不良等因素可能導(dǎo)致一氧化碳濃度超標(biāo),給居民帶來(lái)潛在的生命危險(xiǎn);公共場(chǎng)所如商場(chǎng)、學(xué)校、醫(yī)院等地,同樣需要嚴(yán)密監(jiān)控可能產(chǎn)生的有毒有害氣體,確保廣大公眾的人身安全。

6. 原理圖

原理圖使用AD繪制,可供實(shí)物參考,仿真不同于實(shí)物,經(jīng)驗(yàn)不足不要輕易搞實(shí)物。

img

Proteus仿真和實(shí)物作品的區(qū)別:

1.運(yùn)行環(huán)境:Proteus仿真是在計(jì)算機(jī)上運(yùn)行的,而實(shí)物則是在硬件電路板上運(yùn)行。

2.調(diào)試方式:在Proteus仿真中,可以方便地進(jìn)行單步調(diào)試和觀察變量值的變化,而在實(shí)物中則需要通過(guò)調(diào)試器或者串口輸出等方式進(jìn)行調(diào)試。

電路連接方式:在Proteus仿真中,可以通過(guò)軟件設(shè)置進(jìn)行電路連接的修改,而在實(shí)物中則需要通過(guò)硬件電路板和連接線進(jìn)行修改。

3.運(yùn)行速度:Proteus仿真通常比實(shí)物運(yùn)行速度快,因?yàn)榉抡媸腔谟?jì)算機(jī)運(yùn)行的,而實(shí)物則需要考慮電路板上的物理限制和器件的響應(yīng)時(shí)間等因素。

4.功能實(shí)現(xiàn):在Proteus仿真中,可以通過(guò)軟件設(shè)置實(shí)現(xiàn)不同的功能,而在實(shí)物中則需要根據(jù)電路設(shè)計(jì)和器件的性能進(jìn)行實(shí)現(xiàn)。

7. 設(shè)計(jì)資料內(nèi)容清單&&下載鏈接

資料設(shè)計(jì)資料包括仿真,程序代碼、講解視頻、功能要求、設(shè)計(jì)報(bào)告、軟硬件設(shè)計(jì)框圖等。

0、常見(jiàn)使用問(wèn)題及解決方法–必讀?。。?!

1、程序

2、proteus仿真

3、功能要求

4、軟硬件流程圖

5、開題報(bào)告

6、設(shè)計(jì)報(bào)告

7、原理圖

8、講解視頻

Altium Designer 安裝破解

KEIL+proteus 單片機(jī)仿真設(shè)計(jì)教程

KEIL安裝破解

MQ-7.pdf

Proteus元器件查找

Proteus安裝

Proteus簡(jiǎn)易使用教程

單片機(jī)學(xué)習(xí)資料

相關(guān)數(shù)據(jù)手冊(cè)

答辯技巧

設(shè)計(jì)報(bào)告常用描述

鼠標(biāo)雙擊打開查找嘉盛單片機(jī)51 STM32單片機(jī)課程畢業(yè)設(shè)計(jì).url

img

資料下載鏈接:

https://docs.qq.com/doc/DS1h1Q1BkWE9rcUV4

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

相關(guān)推薦

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