简易智能抽油烟机设计完整版.docx

上传人:b****8 文档编号:9412360 上传时间:2023-05-18 格式:DOCX 页数:32 大小:757.34KB
下载 相关 举报
简易智能抽油烟机设计完整版.docx_第1页
第1页 / 共32页
简易智能抽油烟机设计完整版.docx_第2页
第2页 / 共32页
简易智能抽油烟机设计完整版.docx_第3页
第3页 / 共32页
简易智能抽油烟机设计完整版.docx_第4页
第4页 / 共32页
简易智能抽油烟机设计完整版.docx_第5页
第5页 / 共32页
简易智能抽油烟机设计完整版.docx_第6页
第6页 / 共32页
简易智能抽油烟机设计完整版.docx_第7页
第7页 / 共32页
简易智能抽油烟机设计完整版.docx_第8页
第8页 / 共32页
简易智能抽油烟机设计完整版.docx_第9页
第9页 / 共32页
简易智能抽油烟机设计完整版.docx_第10页
第10页 / 共32页
简易智能抽油烟机设计完整版.docx_第11页
第11页 / 共32页
简易智能抽油烟机设计完整版.docx_第12页
第12页 / 共32页
简易智能抽油烟机设计完整版.docx_第13页
第13页 / 共32页
简易智能抽油烟机设计完整版.docx_第14页
第14页 / 共32页
简易智能抽油烟机设计完整版.docx_第15页
第15页 / 共32页
简易智能抽油烟机设计完整版.docx_第16页
第16页 / 共32页
简易智能抽油烟机设计完整版.docx_第17页
第17页 / 共32页
简易智能抽油烟机设计完整版.docx_第18页
第18页 / 共32页
简易智能抽油烟机设计完整版.docx_第19页
第19页 / 共32页
简易智能抽油烟机设计完整版.docx_第20页
第20页 / 共32页
亲,该文档总共32页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

简易智能抽油烟机设计完整版.docx

《简易智能抽油烟机设计完整版.docx》由会员分享,可在线阅读,更多相关《简易智能抽油烟机设计完整版.docx(32页珍藏版)》请在冰点文库上搜索。

简易智能抽油烟机设计完整版.docx

简易智能抽油烟机设计完整版

概要

随着社会的进步,科技的发展,人们生活水平的提高,电子产品应用人们的生活方面的范围越来越宽。

本设计采用单片机技术结合A/D转换芯片构成的对油烟浓度进行检测,并对测试的环境温度进行检测,判断环境温度是否达到危险温度,如达到危险温度即发出警报,通过单片对检测的油烟浓烟进行处理并在LCD上显示出来,并对风扇进行控制,对风扇进行档位设置,当油烟浓度较低的时候开启1档进行油烟的抽出,当浓度较高时开启2档进行油烟的抽出,当油烟浓于某一个值时,自动关闭抽烟机的电源,起到一个智能控制的作用。

并能起到节能的作用,现在的社会是一个低能的社会,此产品因其耗能低,普及率高,便于用于实际生活。

本设计产用MQ-2烟雾传感器对油烟浓度进行检测,采用ADC0832对检测数据进行模数转化并将数据传输给单片机,产用AT89S52芯片进行处理,并控制风扇的转速。

采用DS18B20对环境温度进行检测,起到一个保护的作用。

采用1602液晶对温度与浓度进行显示。

关键字:

LCD1602,ADC0832,DS18B20,MQ-2,AT89S52,油烟机,智能

第一章:

AT89S52单片机的认识

第二章:

MQ-2烟雾传感器的知识

第三章:

ADC0832模数转化的设计

第四章:

油烟机风扇控制

第五章:

1602液晶显示浓度与温度

第六章:

基于DS18B20温度传感器的温度测量与警报

第七章:

系统原理图

第八章:

整个系统的原程序

整个系统流程图:

第一章:

AT89S52单片机的认识

 

AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。

使用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。

片上Flash允许程序存储器在系统可编程,亦适于常规编程器。

在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。

AT89S52具有以下标准功能:

8k字节Flash,256字节RAM,32位I/O口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。

另外,AT89S52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。

空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。

掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。

以下是本系统的AT89S52的最小控制系统原理图

 

第二章:

MQ-2烟雾传感器知识

MQ-2是一种体电阻控制型的气敏器件,其阻值随被测气体的浓度(成分)而变化。

气敏器件又是一种“气——电”传感器件,它将被测气体的浓度(成分)信号转变成相应的电信号。

MQ-2引脚结构与常用连接电路图

MQ-2有两种不同的结构

分别为下图的A与B

图A

图B

本设计产用MQ-2是图A所示的实物。

MQ-2的灵敏性特性图

选择MQ-2做为本设计的原因是,MQ-2价格便宜,而且市场采购比较方便,便于使用,使用简单,只需将以上电路图连接好就能对油烟浓度进行检测,输出一个0~5V的模拟信号。

从而达到将“气”转换为“电”的目的。

MQ-2油烟检测模块电路图如下

第三章:

ADC0832模数转换设计

ADC0832是美国国家半导体公司生产的一种8位分辨率、双通道A/D转换芯片。

由于它体积小,兼容性,性价比高而深受单片机爱好者及企业欢迎,其目前已经有很高的普及率。

学习并使用ADC0832可是使我们了解A/D转换器的原理,有助于我们单片机技术水平的提高。

ADC0832为8位分辨率A/D转换芯片,其最高分辨可达256级,可以适应一般的模拟量转换要求。

其内部电源输入与参考电压的复用,使得芯片的模拟电压输入在0~5V之间。

芯片转换时间仅为32μS,据有双数据输出可作为数据校验,以减少数据误差,转换速度快且稳定性能强。

独立的芯片使能输入,使多器件挂接和处理器控制变的更加方便。

通过DI数据输入端,可以轻易的实现通道功能的选择。

在本设计中我们只采用一个通道。

ADC0832的引脚功能与引脚图如下

·CS_片选使能,低电平芯片使能。

  ·CH0模拟输入通道0,或作为IN+/-使用。

  ·CH1模拟输入通道1,或作为IN+/-使用。

  ·GND芯片参考0电位(地)。

  ·DI数据信号输入,选择通道控制。

  ·DO数据信号输出,转换数据输出。

·CLK芯片时钟输入。

·Vcc/REF电源输入及参考电压输入(复用)。

ADC0832的时序功能图:

本设计应用电路图如下

第四章:

油烟机风扇控制

油烟机风扇控制系统采用两个继电器控制,当单片机I/O输出的dang1与dang2间有一个电压差两个继电器就会发生不同的吸合,从而使油烟机机风扇两端的电压、电流不同,风扇的转数从而收到控制。

单片机输出与档位的关系如下

Dang101

Dang210

档位1档位2

本设计抽烟机风扇控制电路图

第五章:

1602液晶显示浓度与温度

1602字符型LCD通常有14条引脚线或16条引脚线的LCD,多出来的2条线是背光电源线

VCC(15脚)和地线GND(16脚),其控制原理与14脚的LCD完全一样,其中:

引脚

符号

功能说明

1

VSS

一般接地

2

VDD

接电源(+5V)

3

V0

液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高(对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度)。

4

RS

RS为寄存器选择,高电平1时选择数据寄存器、低电平0时选择指令寄存器。

5

R/W

R/W为读写信号线,高电平

(1)时进行读操作,低电平(0)时进行写操作。

6

E

E(或EN)端为使能(enable)端,下降沿使能。

7

DB0

低4位三态、双向数据总线0位(最低位)

8

DB1

低4位三态、双向数据总线1位

9

DB2

低4位三态、双向数据总线2位

10

DB3

低4位三态、双向数据总线3位

11

DB4

高4位三态、双向数据总线4位

12

DB5

高4位三态、双向数据总线5位

13

DB6

高4位三态、双向数据总线6位

14

DB7

高4位三态、双向数据总线7位(最高位)(也是busyflag)

15

BLA

背光电源正极

16

BLK

背光电源负极

寄存器选择控制表

  

RS

R/W

操作说明

0

0

写入指令寄存器(清除屏等)

0

1

读busyflag(DB7),以及读取位址计数器(DB0~DB6)值

1

0

写入数据寄存器(显示各字型等)

1

1

从数据寄存器读取数据

注:

关于E=H脉冲——开始时初始化E为0,然后置E为1,再清0.busyflag(DB7):

在此位为被清除为0时,LCD将无法再处理其他的指令要求。

1602液晶读操作时序

显示的地址表如下

 

1602液晶写操作时序

本设计1602液晶与单片机的连接图如下,RK为背光灯电阻。

 

第六章:

基于DS18B20温度传感器的温度测量与警报

美国Dallas半导体公司的数字化温度传感器DS1820是世界上第一片支持"一线总线"接口的温度传感器,在其内部使用了在板(ON-B0ARD)专利技术。

全部传感元件及转换电路集成在形如一只三极管的集成电路内。

一线总线独特而且经济的特点,使用户可轻松地组建传感器网络,为测量系统的构建引入全新概念。

现在,新一代的DS18B20体积更小、更经济、更灵活。

使你可以充分发挥“一线总线”的优点。

在传统的模拟信号远距离温度测量系统中,需要很好的解决引线误差补偿问题、多点测量切换误差问题和放大电路零点漂移误差问题等技术问题,才能够达到较高的测量精度。

另外一般监控现场的电磁环境都非常恶劣,各种干扰信号较强,模拟温度信号容易受到干扰而产生测量误差,影响测量精度。

因此,在温度测量系统中,采用抗干扰能力强的新型数字温度传感器是解决这些问题的最有效方案,新型数字温度传感器DS18B20具有体积更小、精度更高、适用电压更宽、采用一线总线、可组网等优点,在实际应用中取得了良好的测温效果。

(1)适应电压范围更宽,电压范围:

3.0~5.5V,在寄生电源方式下可由数据线供电

  

(2)独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯

  (3)DS18B20支持多点组网功能,多个DS18B20可以并联在唯一的三线上,实现组网多点测温

  (4)DS18B20在使用中不需要任何外围元件,全部传感元件及转换电路集成在形如一只三极管的集成电路内

  (5)温范围-55℃~+125℃,在-10~+85℃时精度为±0.5℃

  (6)可编程的分辨率为9~12位,对应的可分辨温度分别为0.5℃、0.25℃、0.125℃和0.0625℃,可实现高精度测温

  (7)在9位分辨率时最多在93.75ms内把温度转换为数字,12位分辨率时最多在750ms内把温度值转换为数字,速度更快

  (8)测量结果直接输出数字温度信号,以"一线总线"串行传送给CPU,同时可传送CRC校验码,具有极强的抗干扰纠错能力

  (9)负压特性:

电源极性接反时,芯片不会因发热而烧毁,但不能正常工作。

图3:

DS18B20测温原理框图

 

例如+125℃的数字输出为07D0H,+25.0625℃的数字输出为0191H,-25.0625℃的数字输出为FF6FH,-55℃的数字输出为FC90H。

表2:

DS18B20温度数据表

DS18B20引脚定义:

    

(1)DQ为数字信号输入/输出端;

    

(2)GND为电源地;

    (3)VDD为外接供电电源输入端(在寄生电源接线方式时接地)。

图2:

DS18B20内部结构图

3)DS18B20温度传感器的存储器

    DS18B20温度传感器的内部存储器包括一个高速暂存RAM和一个非易失性的可电擦除的EEPRAM,后者存放高温度和低温度触发器TH、TL和结构寄存器。

    (4)配置寄存器

该字节各位的意义如下:

表3:

配置寄存器结构

TM

R1

R0

1

1

1

1

1

    低五位一直都是"1",TM是测试模式位,用于设置DS18B20在工作模式还是在测试模式。

在DS18B20出厂时该位被设置为0,用户不要去改动。

R1和R0用来设置分辨率,如下表所示:

(DS18B20出厂时被设置为12位)

表4:

温度分辨率设置表

R1

R0

分辨率

温度最大转换时间

0

0

9位

93.75ms

0

1

10位

187.5ms

1

0

11位

375ms

1

1

12位

750ms

基于DS18B20的温度检测模块

蜂鸣器的警报电路

 

第七章:

系统原理图

图1:

protel图

图2:

proteus图

第八章:

整个系统的源程序

#include

#include

unsignedcharcodetable1[]="nongdu:

";

unsignedcharcodetable3[]="wendu:

";

unsignedcharcodecent[]={"'C"};

unsignedcharflag,min,time,max=33,tltemp;

//unsignedintchui;

sbitrs=P2^0;

sbitrw=P2^1;

sbite=P2^2;

sbits=P2^7;

sbitbf=P0^7;

sbitDB_B20=P3^4;

sbitdio=P3^6;

sbitcs=P3^5;

sbitclk=P3^7;

//sbitdang_1=P3^3;

//sbitdang_2=P3^4;

voiddelay_us(unsignedinttime)//延时10us

{

inti,j;

for(i=0;i

for(j=0;j<10;j++);

}

voidjingbao()

{

inti;

if(min>=max)

{

for(i=0;i<50;i++)

{

s=!

s;

delay_us(5);

};

}

}

voiddelay1ms()//延时1ms

{

unsignedchari,j;

for(i=0;i<4;i++)

for(j=0;j<33;j++)

;

}

voiddelaynms(unsignedcharn)

{

unsignedchari;

for(i=0;i

delay1ms();

}

voidfengshan(unsignedcharchui)

{

if(chui>=100)

{

P1=0xfe;

delaynms(10);

}

else

if(chui>=30&&chui<100)

{

P1=0x7f;

delaynms(10);

}

else

{

P1=0xff;

delaynms(10);

}

}

unsignedintadc_0832()

{

unsignedinti,dat;

cs=1;//一个转换周期开始

clk=0;//为第一个脉冲作准备

cs=0;//CS置0,片选有效

dio=1;//DIO置1,规定的起始信号

clk=1;//第一个脉冲

clk=0;//第一个脉冲的下降沿,此前DIO必须是高电平

dio=1;//DIO置1,通道选择信号

clk=1;//第二个脉冲,第2、3个脉冲下沉之前,DI必须跟别输入两位数据用于选择通道,这里选通道CH0

clk=0;//第二个脉冲下降沿

dio=0;//DI置0,选择通道0

clk=1;//第三个脉冲

clk=0;//第三个脉冲下降沿

dio=1;//第三个脉冲下沉之后,输入端DIO失去作用,应置1

clk=1;//第四个脉冲

for(i=0;i<8;i++)//高位在前

{

clk=1;//第四个脉冲

clk=0;

dat<<=1;//将下面储存的低位数据向右移

dat|=(unsignedchar)dio;//将输出数据DIO通过或运算储存在dat最低位

}

cs=1;//片选无效

returndat;//将读书的数据返回

}

bitbusy(void)

{

bitresult;

rs=0;//根据规定,RS为低电平,RW为高电平时,可以读状态

rw=1;

e=1;//E=1,才允许读写

_nop_();//空操作

_nop_();

_nop_();

_nop_();//空操作四个机器周期,给硬件反应时间

result=bf;//将忙碌标志电平赋给result

e=0;//将E恢复低电平

returnresult;

}

voidwrite_com(unsignedchardatee)

{

while(busy()==1);

rs=1;

rw=1;

_nop_();

_nop_();

rs=0;

rw=0;

e=0;

_nop_();

_nop_();

_nop_();

_nop_();

e=1;

P0=datee;

_nop_();

_nop_();

_nop_();

_nop_();

e=0;

}

voidwrite_dater(unsignedchardatere)

{

while(busy()==1);

rs=1;

rw=0;

e=0;

P0=datere;

_nop_();

_nop_();

_nop_();

_nop_();

e=1;

_nop_();

_nop_();

_nop_();

_nop_();

e=0;

}

voidinit_1604()

{

delaynms(15);

write_com(0x38);

delaynms

(2);

write_com(0x38);

delaynms

(2);

write_com(0x38);

delaynms

(2);

write_com(0x0c);

delaynms

(2);

write_com(0x06);

delaynms

(2);

write_com(0x01);

delaynms

(2);

}

bitinit()

{bitflag;//储存DS18B20是否存在的标志,flag=0,表示存在;flag=1,表示不存在

DB_B20=1;//先将数据线拉高

for(time=0;time<2;time++)//略微延时约6微秒

;

DB_B20=0;//再将数据线从高拉低,要求保持480~960us

for(time=0;time<200;time++)//略微延时约600微秒

;//以向DS18B20发出一持续480~960us的低电平复位脉冲

DB_B20=1;//释放数据线(将数据线拉高)

for(time=0;time<10;time++)

;//延时约30us(释放总线后需等待15~60us让DS18B20输出存在脉冲)

flag=DB_B20;//让单片机检测是否输出了存在脉冲(DQ=0表示存在)

for(time=0;time<200;time++)//延时足够长时间,等待存在脉冲输出完毕

;

return(flag);

}

unsignedcharread_onebyte()//读一个字节的数据

{

unsignedchari=0;

unsignedchardat;//储存读出的一个字节数据

for(i=0;i<8;i++)

{

DB_B20=1;//先将数据线拉高

_nop_();//等待一个机器周期

DB_B20=0;//单片机从DS18B20读书据时,将数据线从高拉低即启动读时序

_nop_();//等待一个机器周期

DB_B20=1;//将数据线"人为"拉高,为单片机检测DS18B20的输出电平作准备

for(time=0;time<2;time++)

;//延时约6us,使主机在15us内采样

dat>>=1;

if(DB_B20==1)

dat|=0x80;//如果读到的数据是1,则将1存入dat

else

dat|=0x00;//如果读到的数据是0,则将0存入dat

//将单片机检测到的电平信号DQ存入r[i]

for(time=0;time<8;time++)

;//延时3us,两个读时序之间必须有大于1us的恢复期

}

return(dat);//返回读出的十六进制数据

}

voidwrite_onebyte(unsignedintdat)//写一个字节的数据

{

unsignedchari;

for(i=0;i<8;i++)

{

DB_B20=1;//先将数据线拉高

_nop_();//等待一个机器周期

DB_B20=0;//将数据线从高拉低时即启动写时序

DB_B20=dat&0x01;//利用与运算取出要写的某位二进制数据,

//并将其送到数据线上等待DS18B20采样

for(time=0;time<10;time++)

;//延时约30us,DS18B20在拉低后的约15~60us期间从数据线上采样

DB_B20=1;//释放数据线

for(time=0;time<1;time++)

;//延时3us,两个写时序间至少需要1us的恢复期

dat>>=1;//将dat中的各二进制位数据右移1位

}

for(time=0;time<4;time++)

;//稍作延时,给硬

}

voidready()

{

init();

write_onebyte(0xcc);

write_onebyte(0x44);

delay_us(20);

init();

write_onebyte(0xcc);

write_onebyte(0xbe);

}

/*voiddisplay_now()

{

unsignedchari;

write_com(0x80);

for(i=0;i<11;i++)

{

write_dater(table[i]);

}

}*/

voiddisplay_wen()

{

unsignedcharj;

write_com(0x80);

for(j=0;j<7;j++)

{

write_dater(table3[j]);

}

}

voiddisplay_dian()

{

write_com(0x80+0x0a);

write_dater('.');

}

voiddisplay_cent()

{

unsignedchark;

write_com(0x80+0x0c);

for(k=0;k<2;k++)

{

write_dater(cent[k]);

}

}

voiddisplay_zhengshu(unsignedintx)

{

unsignedintj,k,l;

j=x/100;

k=(x%100)/10;

l=x%10;

write_com(0x80+0x06);

if(flag==1)

{

write_dater('-');

}

else{

write_dater('+');

}

write_dater(0x30+j);

write_dater(0x30+k);

write_dater(0x30+l);

delay_us(100);

}

voiddisplay_xiaoshu(uns

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2