找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

请问为什么同时满足SW1低电平和LED10显示红灯时报警用这个单片机代码,它无法报警呀

查看数: 1296 | 评论数: 3 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2023-12-4 17:57

正文摘要:

我是想做当红绿灯为红灯时,LED10也变成红灯,如果有人经过时(SW1=0),且LED10是红灯时,蜂鸣器报警。 问题:我现在是LED10两端都是高电平,用下面的代码也无法实现上面的功能。求求各老师指点指点

回复

ID:161164 发表于 2023-12-7 10:05
逻辑问题
进入if(led5==0&&led8==0&&sw1==1)
到alert()里的if(led5==0&&led8==0&&sw1==0)
只有几十微秒
sw不可能刚好从1变为0

ID:1102550 发表于 2023-12-5 10:56

可是我的led10是同步着十字红绿灯路口的显示,十字路口显示红灯时,led10会随之变红,在这个基础上有人才报警

51hei.png (29.12 KB, 下载次数: 60)

之前试过这样,还是不太行

之前试过这样,还是不太行
ID:712097 发表于 2023-12-4 20:37
  1. void alert1 (void)
  2. {
  3.   if (sw1==0)//有人
  4.   {
  5.     beep1 st=1 ;
  6.     led10==0
  7.     beep1=~beep1 ;
  8.     delay1(10) ;
  9.   }
  10.   else
  11.   {
  12.     beep1_ st=0;
  13.     led10==1;
  14.   }
  15. }
复制代码


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

Powered by 单片机教程网

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