基于单片机红外测温 oled显示 报警系统 人数统计#单片机开发
红外测温报警系统。
大家好,今天给大家介绍一款基于单片机的红外测温控制系统。
·这个是电源开关,按下系统上电,上电之后第一行显示的是年月日,这是时分秒,这是温度,这个是统计的人数,这个是报警阈值,报警阈值按钮可以加减。
·这个是红外探头,可以手放在它,现在温度超过设定阈值的时候,它会蜂鸣器报警。
·这个是一个人通过,它会记录一次,这第二次,这第三次,这可以查看记录值,这是第一次记录的值,这个向下翻,这第二,这第三次,这是后面的记录单,没有了,这个是对记录进行清零。
·这个是单片机的复位键,按住了单片机就复位了。
本设计的主要功能就这些,谢谢大家。
小项目:单片机+人体红外感应的防盗系统设计(仿真+源码+PCB文件)
设计说明
1.根据系统功能要求并且考虑产品的性价比进行系统的整体方案设计,包括系统 的选型、所选芯片的功能、芯片外围电路的合理设计等。
2.系统硬件抗干扰技术与软件抗干扰技术的研究与实现。
3.系统硬件与软件的联合仿真与调试。
本设计是针对普通的家庭防盗而设计,与相似功能的系统相比,具有如下的创新:
(1)移植性高。本设计考虑现代家居的特点,参考了大多数的被盗情况,适合任何家庭使用。
(2)成本低。本设计采用单片机作为控制芯片,所需要的外围电路较少,且所有的电路均能从市场上购买,制造成本低。
(3)功能扩展性好。本设计稍加修改就可增加检查火灾或煤气泄漏等功能,发展前景很大。
(4)安全性高。本设计考虑到其安全性,采用全封闭安装,致使窃贼无法破坏其装备,具有良好的安全性。
制作基于51单片机和人体红外感应模块的防盗系统电路原理图如下:
制作好的成品图如下:
线路板焊接好的背面图:
PROTEUS 仿真图如下:
PCB LAYOUT 原理图如下:
单片机程序参考代码如下:
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit huang=P2^0;//黄灯
sbit lv=P2^2;//绿灯
sbit hong=P2^4;//红灯
sbit hongwai=P1^0;//热释电
sbit butter=P2^6;//蜂鸣器低电平开蜂鸣器
sbit baojing=P1^1//直接报警按键;
sbit bufang=P1^7;//布防按键
sbit quxiao=P3^4;//取消按键
uchar tt=0;//定时器变量
uchar num=0;//定时的计时变量
uchar flag=0;//标志位
void timer1init(void)//定时器1,16位方式2
{ EA=0;
TMOD=0x11;//设置定时器0为工作方式1
TH0=(65536-10000)/256;
TL0=(65536-10000)%256;
ET0=1;//开定时器0中断
TR0=1;//启动定时器0
tt=0;//
EA=0;//关总中断
}
void delay(uint z)//延时函数
{
uint x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
void main()//主函数
{
huang=0;//初始黄灯亮
lv=0;//初始绿灯亮
hong=0;//初始红灯亮
timer1init();//初始化定时器
while(1)
{
if(!baojing)//如果直接报警键被按下
{
delay(5);//延时消抖
if(!baojing)//判断报警键是不是被按下
{
hong=1;//红灯亮
lv=0; //绿灯灭
flag=7;//标志位等于7
butter=0;//蜂鸣器响
EA=0;//关中断
}
while(!baojing);//判断按键是不是弹开
delay(5);//如果弹开延时消抖
while(!baojing);//弹开后跳出程序
}
if((!bufang)&&(flag<4))//在初始状态和按下取消键后可以进去这个函数
{
delay(5);//延时消抖
if(!bufang)//如果布防被按下
{
EA=1; //开定时器
flag=2;//另=2
}
while(!bufang);//布防键是不是弹开
delay(5);//延时
while(!bufang);//布防键弹开
}
if(!quxiao)//如果取消键按下
{
delay(5);//延时消抖
if(!quxiao)//取消键是不是按下
{
flag=3;//FLAG等于3
butter=1;//蜂鸣器不响
tt=0;//
num=0;//定时初始0
EA=0;//关中断
lv=0;//绿灯灭
hong=0;//红灯灭
}
while(!quxiao);//取消按键抬开
delay(5);//延时消抖
while(!quxiao);//如果弹开跳出
}
if(flag==4)//如果布防时间到
{
tt=0;//清计数为0
EA=0;//关中断
num=0;//记的秒数清零
lv=1;//关绿灯
flag=5;//flag等于5
}
if(hongwai)//如果感应到人黄灯亮
huang=1;
else huang=0;//感应不到人黄灯灭
if(flag==5)//如果flag等于5
{
if(hongwai)//如果感应到人
{
butter=0;//蜂鸣器响
EA=1;//开中断
}
}
}
}
void time0() interrupt 1
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
tt++;
if(tt==10)
{tt=0; num++;}
if((flag==5)&&(num%2==0))//布防15秒后会让flag=5 ,num为偶数灯亮
hong=1;
if((flag==5)&&(num%2==1))//布防15秒后会让flag=5 ,num为奇数灯灭
hong=0;
if((flag==2)&&(num%2==0))//按键布防键后flag等于2,num为偶数灯亮
lv=1;
if((flag==2)&&(num%2==1)) // 按键布防键后flag等于2,num为奇数灯灭
lv=0;
if((flag==2)&&(num==30))//布防时间,num=30即15秒,可以更改此实现布防延迟时间
flag=4;
}
最后,如果有什么意见或者建议欢迎您留言给我,让我们共同学习一起进步,
如果需要完整代码或设计文件,请私信我,看到后会第一时间回复。
谢谢!
相关问答
...,采用AT89S52 单片机 为检测控制核心.使用3个高灵敏度的 红外 ...[最佳回答]Thedesignofsimpleintelligenttracingthecar(tracingistopointtothesmallcarinthewhite...
目前市场上存在的传统防盗 报警 器已经满足不了人们的安全需...[最佳回答]Aspeople'sawarenessofprotectionandtheconstantprogressofscienceandtechnology,therea...
热释电人体 红外 感应模块直接能跟 单片机 相连么?热释电人体红外感应模块输出就是数字信号,可以直接跟单片机IO管脚相连。只是如果需要中断触发,需要注意极性。热释电人体红外感应模块输出就是数字信号,可以...
跪求 单片机 不用外部中断的 红外 解码程序-ZOL问答单片机实现红外解码而不用外部中断,你可以采用定时器配合软件陷阱的方法。首先,设置定时器定期读取红外接收模块的输出信号,然后在程序中编写一段循环检查这部...
单片机 如何能解码 红外 遥控器上的按键码?单片机红外遥控器编码一般由引导码+地址码(16位)+命令码(16位)组成,在普通的遥控器上所有的按键只是命令码不同,地址码是不变的单片机红外遥控器编码一般由引...
51 单片机 和 红外 探测器怎样测量温度?1.通过51单片机和红外探测器可以测量温度。2.51单片机是一种微控制器,可以通过接收红外探测器发出的红外线信号来测量温度。红外探测器可以感知物体发出的红...
人体 红外 感应模块是 单片机 吗?不是。单片机把cpu,存储,总线等,都集中在了一块芯片上,而人体红外感觉模块不具备这些条件不是。单片机把cpu,存储,总线等,都集中在了一块芯片上,而人体红外感...
单片机 实现电视遥控器功能?遥控器信号的发射,就是将某个按键所对应的控制指令和系统码(由0和1组成的序列),调制在32~56KHz范围内的载波上,然后经放大、驱动红外发射管将信号发射出去。...
8051 单片机红外 遥控原理?通常彩电遥控信号的发射,就是将某个按键所对应的控制指令和系统码(由0和1组成的序列),调制在38KHz的载波上,然后经放大、驱动红外发射管将信号发射出去。不同...
红外 遥控开关设计制作方法是什么?-设计本有问必答线串联技术的遥控开关,可能不能控制15W以下LED灯和荧光灯,和灯具并联连接的电容参数,请用工厂配发的标准电容。连接电容时,请专业电工操作...1.红...