完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
有人说是频率太高了,请问蜂鸣器到底是怎么个工作原理呢?加上延时以后是如何减缓频率的呢?我把24的晶振换成11.0592的也不响… #include <reg52.h>sbit bell=P0^1; void main(){ bell=0; } |
|
相关推荐
4个回答
|
|
这得看你的蜂鸣器是有源还是无源,如果是无源的蜂鸣器需要经过变频控制才会发声,对于有源的蜂鸣器则直接输出高低电平就可以。
注意,这里的“源”不是指电源。而是指震荡源。 也就是说,有源蜂鸣器内部带震荡源,所以只要一通电就会叫。 而无源内部不带震荡源,所以如果用直流信号无法令其鸣叫。必须用2K~5K的方波去驱动它。 两种蜂鸣器好像一样,但仔细看,两者的高度略有区别,有源蜂鸣器a,高度为9mm,而无源蜂鸣器b的高度为8mm。如将两种蜂鸣器的引脚郡朝上放置时,可以看出有绿色电路板的一种是无源蜂鸣器,没有电路板而用黑胶封闭的一种是有源蜂鸣器。 迸一步判断有源蜂鸣器和无源蜂鸣器,还可以用万用表电阻档Rxl档测试:用黑表笔接蜂鸣器 "+"引脚,红表笔在另一引脚上来回碰触,如果触发出咔、咔声的且电阻只有8Ω(或16Ω)的是无源蜂鸣器;如果能发出持续声音的,且电阻在几百欧以上的,是有源蜂鸣器。 |
|
|
|
测试了下我的是有源蜂鸣器。 我要是把延时函数设成void delay(int a,)然后主函数中delay();变成delay(50);就不响了。请问是怎么回事?还有能响的这个程序输出的是方波信号吗?怎么变成方波信号的?麻烦您了… |
|
|
|
你这个用的是2003驱动,为什么要输出低电平呢?2003输出时会取反,按你上面电路你要让蜂鸣器鸣叫应该输出高电平才可以啊。
有源蜂鸣器你直接输出高电平就可以啦,你可以用线短接J17的IN5管脚,接到5V蜂鸣器就可以鸣叫的。(短接的时候看是否能把单片机与J17 IN5相连的管脚断开,如果不能断开直接接5V问题也不大,只是为了更安全可靠) 无源蜂鸣器测试的时候需要输出方波信号 对于方波信号,你起初可以用延时函数来实现 bell=1; delay(m);bell=0;delay(n); 具体延时多久你可以调整m、n这两个参数。 你先试一试,不行再求助,先让蜂鸣器如你所愿响起来,“延时函数设成void delay(int a,)然后主函数中delay();变成delay(50);就不响了”这些问题不要过于纠结, |
|
|
|
啥叫波?必须有高有低才行对不,你试试给他1然后延时,再给他0再延时,如此反复~
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
182 浏览 0 评论
如何用OpenCV的相机捕捉视频进行人脸检测--基于米尔NXP i.MX93开发板
1207 浏览 0 评论
《DNK210使用指南 -CanMV版 V1.0》第四十章 YOLO2人手检测实验
493 浏览 0 评论
嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-网络编程示例之开发板测试
420 浏览 0 评论
嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-网络编程示例之网络socket程序编程
957 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
11743 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-19 08:41 , Processed in 0.649352 second(s), Total 79, Slave 61 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号