欢迎访问兴化市宏宇电子有限公司官方网站!

全国服务热线:0523-83721118 设为首页 | 收藏本站 |
全国服务热线:
0523-83721118

在线客服

新闻中心

联系我们

行业资讯

运行这串代码,无源蜂鸣器会一直响的原因

更新时间:2020-10-19 10:32:35  浏览次数:   【加入收藏】

运行这串代码,无源蜂鸣器会一直响的原因

如果你的原理图,是用NPN三极管驱动发声,如下图(实际原理图可能比这个复杂,这里只考虑逻辑)(通常情况下不会用IO口直接带负载,因为IO口电流太小难以驱动)在这种情况下,如果BEEP置1,发射极和基极的PN结会导通,驱动发声。同样如果BEEP置0,该PN结就截止,将不会发声。也就是说驱动的IO口为1就响,为0就不响。那么题主的代码就很好理解了,在没有while(1)的循环状态下,该代码按顺序只会执行一次。

也就是最终BEEP的状态会停留在置1的状态,所以在短暂置0的1000微秒后,BEEP的状态会一直是1,而1000微秒的时间是远远小于人类可以辨识的时间间隔的。所以直观感受就是一直响。简单来说,如果接线的逻辑是IO高电平响,低电平不响,那这段代码就会使之一直响的。

更多文章,请点击http://www.china-hudz.com/