历史上的今天
今天是:2024年12月12日(星期四)
2019年12月12日 | 基于51单片机的人体红外报警器程序设计
2019-12-12 来源:51hei
//51单片机简人体红外报警器设计,手动按键控制实现紧急报警、布防、撤防、关闭报警)//
#include #define uchar unsigned char #define uint unsigned int uchar Mode=1,Mode1=0; uchar t; sbit s1=P1^0; sbit s2=P1^2; sbit s3=P1^1; bit alarm=1,kai=1; sbit LR=P2^0;//红灯报警灯 sbit LY=P2^2;//布防灯 sbit LG=P2^1;//红外信号检测灯 sbit Feng=P1^3;//蜂鸣器报警 sbit HR=P0^3;//红外模块接入端口 void delay(uint x) //毫秒级延时函数 { uint i,j; for(i=x;i>0;i--) for(j=110;j>0;j--); } void di() { LR=0;//蜂鸣器报警,红灯跟随闪烁 Feng=0; delay(80); LR=1; Feng=1; delay(200); } void main() { LR=1;//初始化三个灯都是灭 LG=1; LY=1; delay(5); while(1) { if(s1==0) //紧急手动报警 { delay(5); //延时消抖 if(s1==0) { delay(5); while(!s1); kai=0; LY=1; LG=1; alarm=0; //进入报警状态 Mode1=1; //Mode1置1:紧急报警过程中以防按了布防键取消紧急报警 delay(5); } } if(s3==0) //取消报警 { delay(5); if(s3==0) { delay(5); while(!s3); LR=1; LY=1; Mode=1; Mode1=0; alarm=1; delay(5); } } if(s2==0) //布防 { if(Mode1==1) //判断Mode1的状态,如果是紧急报警状态就保持,否则进入布防设置 { alarm=0; } else { for(t=0;t<200;t++) { LY=~LY; delay(200); } LR=1; LY=0; Mode=0; //布防状态标识 kai=1; delay(5); } } if(alarm==0) { di(); delay(100); di(); delay(100); } if(HR==1&&Mode==0) { alarm=0;//开始进入报警 } else { if(kai) { alarm=1; LR=1; } } if(HR==1) //检测红外模块有信号,绿灯亮,否则灭 { LG=0; delay(200); } else { LG=1; }
史海拾趣
|
file:///C:/Documents%20and%20Settings/Administrator.4797A7AA28774FE/桌面/未命名.bmp请问这个电路中电感RFC和电容Cbypass值应如何计算,假如放大器的输出频率为5000MHz… 查看全部问答> |
|
如谁有这方面的材料的 请发给我一下可以么?不一定符合下面的要就的,关于多点温度检测系统的都可以发给me,设计一个多点温度检测系统,系统结构框图如下 : 温度测点1→ → 检测器单元1   ...… 查看全部问答> |
|
VXWORKS启动时超级终端会打印以下信息: Copyright 1984-1998 Wind River Systems, Inc. CPU: Motorola ADS - PowerPC 860 VxWorks: 5.4 ...… 查看全部问答> |
|
在嵌入式系统上做Qt串口显示程序 ,make后出现的问题,查了一些资料,有的说是pro里面的HEADERS忘记加就会出现这个问题(具体加什么没说);有的说是出现“undefined reference”表示你缺少*.h 困扰很 ...… 查看全部问答> |
|
我现在写不了某些寄存器(就I2C寄存器写不进去,其他都可以) 有遇见这种问题的么? 我是关了MMU的啊~ 情况如下: 我在shell中输入 查看内存0x55000000位置的寄存器。 d 0x55000000 55000000: 0100 0000 0000 0000 0000 0000 00 ...… 查看全部问答> |
|
求购 S3C4510B 的开发板 最近找了份4510b的资料,看着不错可惜没有板子练。真是郁闷啊!不知道哪为高手还有收藏! 有的话留个言! 电话:13141280460 qq:406672875… 查看全部问答> |
|
在自测试模式下,想实现从邮箱1发数据给邮箱3,但是运行程序发现TRS寄存器不能置位,信息发不出去,不知道怎么回事。 有没有人遇到过类似情况呢? 程序如下 void InitECan(void) { struct ECAN_REGS ECanaShadow; EALLOW; / ...… 查看全部问答> |
|
学习C5416已经很久了,但是进度非常的慢,一个人盲打莽撞。 最近又碰上了个卡了很久的问题: 想用一个串口实现同时输入输出,因为C5416是全双工的。我用5416与TLV2541和TLV5636相接实现信号的输入与输出。 5416一个 ...… 查看全部问答> |
|
The embedded system of the analog design 好书适合数字工程师了解的模拟知识 本书为那些希望掌握基本模拟知识的数字工程师而写,内容包括A/D转换器、D/A转换器、运放、滤波器以及模拟和数字系统集成设计。 本书特别适合那些从事信息家电、工业控制和机电控制系统等模拟/数字 ...… 查看全部问答> |




