找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 7501|回复: 13
打印 上一主题 下一主题
收起左侧

红外监控

[复制链接]
跳转到指定楼层
楼主
ID:42637 发表于 2012-7-23 21:38 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

利用LHI778红外传感器,在hei51板子上做了个红外监控,效果不错。程序挺简单的,用了个INT0

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:1 发表于 2012-7-24 00:27 | 只看该作者
求程序
回复

使用道具 举报

板凳
ID:42637 发表于 2012-7-24 09:11 | 只看该作者
#include <reg52.h>
#define uint unsigned int
#define uchar unsigned char
sfr WDT_CONTR=0xe1;
sbit beep=P2^2;
sbit P24=P2^4;
sbit P26=P2^6;
sbit P27=P2^7;
uchar flag;
void delay()
{
 uint i;
 uint j;
 for(i=0;i<780;i++)
 for(j=0;j<160;j++);
}
void main()
{
 IT0=0;
 EX0=1;
 EA=1;
 P24=0;
 delay();
 P26=0;
 P27=0; 
 while(1)
 {
  WDT_CONTR=0x2f;
  if(!flag)//high powter
  {    
   EA=0;
   beep=0;
   delay();
   beep=1;
   delay();
   EA=1;
  }
  else//low powter
  {
   flag=0;
   beep=1;
  }
 } 
}
void int0_srv() interrupt 0
{
 flag=1;
}
回复

使用道具 举报

地板
ID:86621 发表于 2015-8-8 10:22 | 只看该作者
lspcdzx2012 发表于 2012-7-24 09:11
#include &lt;reg52.h&gt;#define uint unsigned int#define uchar unsigned char sfr WDT_CONTR=0xe1;sbit b ...

bit P24=P2^4;
sbit P26=P2^6;
sbit P27=P2^7;

这是什么写法啊   新手 表是不懂
回复

使用道具 举报

5#
ID:87877 发表于 2015-8-9 08:25 | 只看该作者
C语言的写法
回复

使用道具 举报

6#
ID:65232 发表于 2015-8-9 12:41 | 只看该作者

sfr WDT_CONTR=0xe1;这个寄存器reg52.h里面没有定义?
这是个什么寄存器,设置成WDT_CONTR=0x2f;是什么工作状态。
回复

使用道具 举报

7#
ID:65232 发表于 2015-8-9 12:56 | 只看该作者
这是个字节还是个位,看起来像是一个字节
回复

使用道具 举报

8#
ID:87877 发表于 2015-8-11 22:27 | 只看该作者
用户 发表于 2015-8-9 12:41
sfr WDT_CONTR=0xe1;这个寄存器reg52.h里面没有定义?
这是个什么寄存器,设置成WDT_CONTR=0x2f;是什么 ...

  WDT_CONTR是看门狗定时寄存器,以前的51单片机没有内部自带有看门狗,需要时要用外部单独的看门狗芯片,所以reg52.h里面没有看门狗定时寄存器的定义。后来许多改进增强的51系列单片机内部自带有看门狗,同时也有个看门狗的特殊功能寄存器,通过对其设置就可实现看门狗的应用,例如STC89系列单片机WDT_CONTR就是看门狗寄存器,寄存器地址是0xe1。由于reg52.h里面没相关定义,我们就可以用“sfr WDT_CONTR=0xe1”新定义一个看门狗寄存器地址,以后使用时候可以直接写WDT_CONTR就可以了。
WDT_CONTR是8位寄存器,各位功能如下:

位序号 D7 D6 D5    D4     D3       D2  D1  D0
位符号 --  --   EN_WDT CLR_WDT IDLE_WDT PS2  PS1  PS0

  EN_WDT:看门狗允许位,当设置为“1”时,启动看门狗。
  CLR_WDT :看门狗清“0”位,当设为“1”时,看门狗定时器将重新计数。硬件自动清“0”此位。
  IDLE_WDT:看门狗“IDLE”模式位,当设置为“1”时,看门狗定时器在单片机的“空闲模式”计数,当清“0”该位时, 看门狗定时器在单片机的“空闲模式”时不计数。
  PS2、PS1、PS0:看门狗定时器预分频值。简单地说也就是设置看门狗定时的长短。

  上段程序里“WDT_CONTR=0x2f;”是设置启动看门狗,且定时计数不清零。这样看门狗就会不断计数“溢出”使单片机复位。
  注意:WDT_CONTR是不能位寻址的,要像上面这样对其赋值设置。
回复

使用道具 举报

9#
ID:65232 发表于 2015-8-15 10:31 | 只看该作者
平凡一人 发表于 2015-8-11 22:27
  WDT_CONTR是看门狗定时寄存器,以前的51单片机没有内部自带有看门狗,需要时要用外部单独的看门狗芯 ...

谢谢您的耐心解答,作者在此使用看门狗是什么用意,是为了系统复位吗?

LHI778红外传感器  是个什么器件,您了解吗。
回复

使用道具 举报

10#
ID:105742 发表于 2016-3-4 19:18 | 只看该作者
不错。。。。。。
回复

使用道具 举报

11#
ID:185220 发表于 2017-4-7 09:44 | 只看该作者
你好 请问怎么接线呢?另外P24 P26 P27能否更改为其他的引脚
回复

使用道具 举报

12#
ID:190148 发表于 2017-4-16 17:01 | 只看该作者
我有用松下红外整列传感器可以来扫描出人体热图像,要资料的邮箱我15889617160@qq。com
回复

使用道具 举报

13#
ID:248394 发表于 2017-11-21 21:36 | 只看该作者
平凡一人 发表于 2015-8-11 22:27
  WDT_CONTR是看门狗定时寄存器,以前的51单片机没有内部自带有看门狗,需要时要用外部单独的看门狗芯 ...

不看解释确实有点看懵了,谢谢
回复

使用道具 举报

14#
ID:237942 发表于 2017-11-27 16:29 | 只看该作者
1085092729 发表于 2017-4-16 17:01
**** 作者被禁止或删除 内容自动屏蔽 ****

你使用这个传感器了么?  探测距离怎样?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表