历史上的今天
返回首页

历史上的今天

今天是: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;

                }                         

推荐阅读

史海拾趣

Alps Alpine Co Ltd公司的发展小趣事

Alps Alpine Co., Ltd.是一家总部位于日本的跨国电子制造公司,专注于设计和制造汽车电子、消费电子和工业电子产品。以下是关于Alps Alpine公司发展的五个相关故事:

  1. 公司合并:Alps Electric Co., Ltd.和Alpine Electronics, Inc.于2019年进行了合并,正式成立了Alps Alpine Co., Ltd. 这一合并为两家公司带来了更强大的整合资源和技术实力,使得Alps Alpine能够在全球范围内提供更多样化的电子解决方案。

  2. 汽车电子领域的发展:Alps Alpine在汽车电子领域拥有丰富的经验和技术积累。公司致力于开发汽车内部电子系统,包括车载娱乐系统、导航系统、车载通信系统、驾驶辅助系统等。随着汽车智能化和互联网化的发展,Alps Alpine不断推出创新产品,满足汽车制造商和消费者对智能驾驶体验的需求。

  3. 消费电子产品的多样化:除了汽车电子,Alps Alpine还在消费电子领域拥有广泛的产品线。公司的产品涵盖了手机、平板电脑、摄像机、音响设备等多个终端设备,并不断推出新品,以满足消费者对功能性和设计性的需求。

  4. 工业电子市场的拓展:Alps Alpine在工业电子领域也取得了长足的发展。公司的产品被广泛应用于工业自动化、机器人技术、医疗设备、能源管理等领域,为各行各业提供高性能、可靠的电子解决方案。

  5. 技术创新与研发投入:作为一家技术驱动的企业,Alps Alpine不断加大对研发的投入,致力于技术创新和产品优化。公司拥有强大的研发团队和先进的研发设施,在各个领域持续推动技术进步,提升产品竞争力。

以上是关于Alps Alpine Co., Ltd.发展的五个相关故事,这些故事展示了公司在合并整合、汽车电子、消费电子、工业电子和技术创新方面的发展历程,以及其在电子行业中的重要地位和影响力。

Cyrix Corp公司的发展小趣事

然而,Cyrix的发展并非一帆风顺。1997年,该公司被美国国民半导体公司收购。这一收购为Cyrix带来了新的机遇和挑战。在新的母公司旗下,Cyrix继续推出了一系列新的CPU产品,但市场竞争的激烈使得其面临巨大的压力。

Capax Technologies Inc公司的发展小趣事

Capax Technologies Inc在市场定位和产品策略上表现出色。公司深入调研市场需求,发现高端电子设备市场对于高性能、高可靠性的组件有着旺盛的需求。于是,Capax Technologies Inc将产品定位为高端市场,专注于研发和生产高品质的电子组件。通过精准的市场定位和优质的产品,Capax Technologies Inc迅速在高端市场中占据了一席之地。

AINFO Inc公司的发展小趣事

随着技术的不断进步,AINFO Inc公司不断推出创新产品,满足市场的多样化需求。公司注重产品的质量和性能,通过优化设计和生产工艺,提高了产品的竞争力。同时,公司积极开拓国内外市场,与多家知名企业建立了合作关系,实现了产品的广泛应用。

Future Designs, Inc. (FDI)公司的发展小趣事

在快速发展的同时,FDI也注重可持续发展。他们致力于环境保护和社会责任,积极采用环保材料和节能技术,减少生产过程中的资源消耗和污染排放。同时,FDI还关注员工的发展和福利,为员工提供良好的工作环境和培训机会,激发员工的创造力和创新精神。展望未来,FDI将继续秉承“创新、服务、质量、诚信”的核心理念,不断推动技术进步和产品升级,为电子行业的发展贡献更多的力量。

ETTINGER公司的发展小趣事

Ettinger与英国著名汽车品牌Bentley建立了长期合作伙伴关系。作为Bentley汽车皮件配饰和皮具产品的指定供应商,Ettinger为Bentley提供了高品质的皮具产品,进一步提升了品牌的知名度和影响力。这种合作伙伴关系的建立,也为Ettinger带来了更多的商业机会和发展空间。

问答坊 | AI 解惑

问一下关于放大器的偏置电路

file:///C:/Documents%20and%20Settings/Administrator.4797A7AA28774FE/桌面/未命名.bmp请问这个电路中电感RFC和电容Cbypass值应如何计算,假如放大器的输出频率为5000MHz…

查看全部问答>

[求助]多点温度检测系统

如谁有这方面的材料的   请发给我一下可以么?不一定符合下面的要就的,关于多点温度检测系统的都可以发给me,设计一个多点温度检测系统,系统结构框图如下  : 温度测点1→   →  检测器单元1    ...…

查看全部问答>

如何修改VXWORKS的启动标题

VXWORKS启动时超级终端会打印以下信息: Copyright 1984-1998  Wind River Systems, Inc.             CPU: Motorola ADS - PowerPC 860         VxWorks: 5.4 ...…

查看全部问答>

make问题,如何解决? 困扰很久了,感谢指点

    在嵌入式系统上做Qt串口显示程序 ,make后出现的问题,查了一些资料,有的说是pro里面的HEADERS忘记加就会出现这个问题(具体加什么没说);有的说是出现“undefined reference”表示你缺少*.h        困扰很 ...…

查看全部问答>

vxWorks寄存器读写问题

我现在写不了某些寄存器(就I2C寄存器写不进去,其他都可以) 有遇见这种问题的么? 我是关了MMU的啊~ 情况如下: 我在shell中输入 查看内存0x55000000位置的寄存器。 d 0x55000000 55000000:  0100 0000 0000 0000 0000 0000 00 ...…

查看全部问答>

求购 S3C4510B 的开发板 (二手也可以)

求购 S3C4510B 的开发板 最近找了份4510b的资料,看着不错可惜没有板子练。真是郁闷啊!不知道哪为高手还有收藏! 有的话留个言! 电话:13141280460 qq:406672875…

查看全部问答>

额定电流估算口诀

已知电机功率,如何估算电机的额定电流? 三相二百二电机,千瓦三点五安培。 三相三百八电机,一个千瓦两安培。 三相六百六电机,千瓦一点二安培。 三相三千伏电机,四个千瓦一安培。 三相六千伏电机,八个千瓦一安培。 3KW以下,1个KW,2.5个流…

查看全部问答>

2812的eCAN模块问题

在自测试模式下,想实现从邮箱1发数据给邮箱3,但是运行程序发现TRS寄存器不能置位,信息发不出去,不知道怎么回事。 有没有人遇到过类似情况呢? 程序如下 void InitECan(void) { struct ECAN_REGS ECanaShadow; EALLOW; / ...…

查看全部问答>

[求教]TMS320C5416串口疑问,被卡住很久了!

学习C5416已经很久了,但是进度非常的慢,一个人盲打莽撞。 最近又碰上了个卡了很久的问题:     想用一个串口实现同时输入输出,因为C5416是全双工的。我用5416与TLV2541和TLV5636相接实现信号的输入与输出。     5416一个 ...…

查看全部问答>

The embedded system of the analog design

好书适合数字工程师了解的模拟知识   本书为那些希望掌握基本模拟知识的数字工程师而写,内容包括A/D转换器、D/A转换器、运放、滤波器以及模拟和数字系统集成设计。  本书特别适合那些从事信息家电、工业控制和机电控制系统等模拟/数字 ...…

查看全部问答>