烟雾传感器的matlab程序,单片机烟雾传感器proteus仿真+程序+PCB原理图

本文介绍如何使用MATLAB程序配合ADC0832对烟雾传感器进行仿真,并提供了烟雾传感器的Proteus仿真工程文件和Altium Designer的PCB设计。同时,给出了单片机的源代码,实现数据读取和报警功能。
摘要由CSDN通过智能技术生成

利用ADC0832对烟雾传感器进行仿真并报警

烟雾探测元件清单

942fea73984895256b9c24cabb6ff1f3.png

仿真原理图如下(proteus仿真工程文件可到本帖附件中下载)

bd3973d3f26d31d0900a1641f6996fde.png

Altium Designer画的原理图和PCB图如下:(51hei附件中可下载工程文件)

4ee492ea9a690b8536b32d1fee55b997.png

eb82a1b27d5a231403f6b72f3f2ec791.png

单片机源程序如下:

#include       //包含单片机寄存器的头文件

#include     //包含_nop_()函数定义的头文件

#define uchar unsigned char

#define uint unsigned int

uchar a,q,t,t1;

long int s1,d0,b,c,d,s,e1,biao,biao1,biao2,a1;

uchar code qw[]={1,1,1};

uchar qs[5]={0,0,0,9,0,};

uchar key_buffer[8]={0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff};//2013-01-03

sbit clk=P1^1;         //时钟

sbit cs=P1^0;          //片选端

sbit d1=P1^2;          //起始信号输入与端口选择及数据输出端

sbit rs=P2^5;          //将rS位定义为P2.5引脚

sbit e=P2^7;           //将e位定义为P2.7引脚

sbit rw=P2^6;          //将rw位定义为P2.6引脚

sbit k1=P1^4;

sbit k2=P1^5;

sbit k3=P1^6;

sbit k4=P1^7;

sbit D1=P2^0;          //正常指示灯(绿灯)

sbit D2=P2^1;          //警情指示灯(红灯)

sbit beep=P2^2;//蜂鸣器

uchar code tad[]="value:00000ppm";

uchar code tad1[]="Alarm:09000ppm";

/*****************************************************

函数功能:延时若干毫秒

入口参数:x

***************************************************/

void delay(uchar x)

{

uint a,b;

for(a=x;a>0;a--)

for(b=90;b>0;b--);

}

uchar du()//读AD转换数据

{

uchar i,k,j;

cs=0;                //片选有效

for(j=0;j<3;j++)   //通道选择

{

clk=1;

d1=qw[j];

for(q=0;q<2;q++)          _nop_();

clk=0;

for(q=0;q<2;q++)        _nop_();

}

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

{

clk=1;

for(q&

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值