找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

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

1.png (25.57 KB, 下载次数: 35)

1.png

2.png (41.96 KB, 下载次数: 38)

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

使用道具 举报

沙发
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. }
复制代码


回复

使用道具 举报

板凳
ID:1102550 发表于 2023-12-5 10:56 | 只看该作者

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

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

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

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

使用道具 举报

地板
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

回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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