一、压缩包资料内容(私信获取)
- (1)、基于51单片机的烟雾报警系统proteus仿真设计一份;
- (2)、基于51单片机的烟雾报警系统proteus仿真设计keli源代码一份;
- (3)、基于51单片机的烟雾报警系统设计Altium designer 原理图一份;
- (4)、基于51单片机的烟雾报警系统设计Altium designer PCB一份;
- (5)、基于51单片机的烟雾报警系统设计参考论文一份;
- (6)、基于51单片机的烟雾报警系统proteus仿真设计视频讲解一份;
二、设计要求
- 1、完成51单片机最小系统的设计与仿真搭建
- 2、通过单片机编程实现模数转换功能
- 3、通过模数转换功能实现烟雾浓度检测
- 4、通过LCD1602显示模块对采集的数据进行显示处理
- 5、能够调节系统烟雾浓度阈值实现声光报警功能
- 6、根据上述要求完成实物制作与仿真
三、相关资料截图
图1. 烟雾报警器proteus仿真界面截图
图2. Keil编程界面源代码截图
图3. 原理图工程文件
图4. PCB工程文件
图5.参考论文
四、视频讲解
私信获取全部内容
部分源代码:
#include<reg52.h> //包含单片机寄存器的头文件
#include <intrins.h> //包含_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=0;q<2;q++) _nop_();
clk=0;
for(q=0;q<2;q++) _nop_();
k=(k<<1)|d1;
}
cs=1;
for(q=0;q<28;q++) _nop_();//延时
return k; //返回AD0832转换值
}