找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 5047|回复: 5
收起左侧

单片机无源蜂鸣器如何响一声自动关闭问题

[复制链接]
ID:473504 发表于 2020-4-28 16:08 | 显示全部楼层 |阅读模式
void main()
{        
  unsigned char i;
  for (i=0;i<10;i++)
   {
   delayms(50);        
   beep=~beep;                 //BEEP取反
   }
beep=1;                      //关闭蜂鸣器,蜂鸣器低电平触发。
}



这个是程序,也才是过确定是无源蜂鸣器,但是跑的时候就是一直响,停不下来。各位能否给点建议呢?

回复

使用道具 举报

ID:584814 发表于 2020-4-28 16:19 | 显示全部楼层
beep=1;   后面加
while(1)就可以否则main()主体会循环。
回复

使用道具 举报

ID:15020 发表于 2020-4-28 16:39 | 显示全部楼层
beep = 1;下面放一条while(1);语句
回复

使用道具 举报

ID:94031 发表于 2020-4-28 16:48 | 显示全部楼层
你的蜂鸣器是通电就一直响,停电就不响,你可以先通电,再延时,然后断电,实现响一声自动关闭。
回复

使用道具 举报

ID:89217 发表于 2020-4-28 16:59 | 显示全部楼层
你的程序while(1)去哪了??
回复

使用道具 举报

ID:311846 发表于 2020-4-29 09:58 | 显示全部楼层
无源的蜂鸣器一般用PWM做,你这个程序没有while语句,那么他执行完beep=1;  后,单片机会从main()再次进入函数,一直循环执行
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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