找回密码
 立即注册

QQ登录

只需一步,快速开始

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

单片机 HC-RS501人体红外感应模块

[复制链接]
跳转到指定楼层
楼主
我用的是stc89c52单片机,这是我写的程序和人体红外感应模块与单片机的连接。
为什么实现不了功能。我想实现一个红外模块感应到人,led就发光,可是led却常亮?求哪位大神帮我一下???
#include <reg52.h>
   sbit DQ=P2^2;
#define uint unsigned int
   void delayus(uint xms)
   {
   uint i,j;
   for(i=xms;i>0;i--)
   for(j=118;j>0;j--);
   }
   void main()
   {
    while(1)
    {
    if(DQ==1);
    P1=0x00;
     delayus(1000);
     P1=0xff;
    }
     }

IMG_20170316_074747.jpg (91.22 KB, 下载次数: 79)

IMG_20170316_074747.jpg

IMG_20170316_074747.jpg (91.22 KB, 下载次数: 72)

IMG_20170316_074747.jpg

IMG_20170316_131057.jpg (74.33 KB, 下载次数: 78)

IMG_20170316_131057.jpg

IMG_20170316_074747.jpg (91.22 KB, 下载次数: 72)

IMG_20170316_074747.jpg

IMG_20170316_074820.jpg (101.28 KB, 下载次数: 70)

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

使用道具 举报

沙发
ID:240604 发表于 2017-11-23 19:42 | 只看该作者
请问您有解决办法了么
回复

使用道具 举报

板凳
ID:262633 发表于 2019-3-6 20:12 | 只看该作者
灯灭哪里加一个延时 试一下
回复

使用道具 举报

地板
ID:285473 发表于 2019-3-6 21:09 | 只看该作者
P1=0x00;
delay(100);//为灭的时间
P1=0xff;
delay(100)//为亮的时间
回复

使用道具 举报

5#
ID:483837 发表于 2019-3-6 21:18 | 只看该作者
你的那个if语句后面不应该加分号,红外的那个模块检测到人后会持续输出一段时间的高电平,你这个延时肯定是不够的,还不如改为if else结构
回复

使用道具 举报

6#
ID:485899 发表于 2019-3-6 22:18 | 只看该作者
  if(DQ==1)

     P1=0x00;//LED ON
     delayus(1000);
     P1=0xff;//LED OFF

   
回复

使用道具 举报

7#
ID:429598 发表于 2019-12-19 19:44 | 只看该作者
问题出在if(DQ==1)之后的分号
回复

使用道具 举报

8#
ID:668827 发表于 2019-12-20 11:30 | 只看该作者
标点符号使用错误,if语句
回复

使用道具 举报

9#
ID:712404 发表于 2020-3-20 20:02 来自手机 | 只看该作者
楼主,我想请教一下你做的这个防盗装置,可以给个联系方式吗
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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