找回密码
 立即注册

QQ登录

只需一步,快速开始

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

我想问一下,我这个有源蜂鸣器程序怎么不响啊?我找不到哪有问题?

[复制链接]
跳转到指定楼层
楼主
ID:981824 发表于 2021-11-21 18:11 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#include <reg52.h>
#include <intrins.h>

sbit buzz=P0^6;

void delay(unsigned int n)//Ñó3ùoˉêy
{
  unsigned i=0,j=0;
    for(i=0;i<n;i++)
    {
      for(j=0;j<120;j++);
    }
}

void main()
{

        while(1)
        {
            buzz=~buzz;
                delay(5000);
        }
}

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

使用道具 举报

沙发
ID:624769 发表于 2021-11-21 19:55 | 只看该作者
      while(1)
        {
            buzz=~buzz;
                delay(5000);
        }

你确定你是有源蜂鸣器?  你确定是有源蜂鸣器, 你这样写代码?

检查电路吧, 有源蜂鸣器有正负极,接反了绝对不会响.
回复

使用道具 举报

板凳
ID:213173 发表于 2021-11-21 20:45 | 只看该作者
单片机端口不能直接驱动蜂鸣器,需要经放大器才能驱动蜂鸣器。
回复

使用道具 举报

地板
ID:981824 发表于 2021-11-21 21:56 | 只看该作者
188610329 发表于 2021-11-21 19:55
while(1)
        {
            buzz=~buzz;

谢谢!
这是买的51单片机,在做实验,电路没问题,是有源蜂鸣器没错。
回复

使用道具 举报

5#
ID:981824 发表于 2021-11-21 22:02 | 只看该作者
wulin 发表于 2021-11-21 20:45
单片机端口不能直接驱动蜂鸣器,需要经放大器才能驱动蜂鸣器。

好的,多谢了!
回复

使用道具 举报

6#
ID:983266 发表于 2021-11-21 22:56 | 只看该作者
蜂鸣器正极接电源,负极接单片机引脚。
回复

使用道具 举报

7#
ID:88256 发表于 2021-11-22 00:19 | 只看该作者
188610329 发表于 2021-11-21 19:55
while(1)
        {
            buzz=~buzz;

如果延时时间给弄成0.5秒呢?
回复

使用道具 举报

8#
ID:983320 发表于 2021-11-22 09:47 | 只看该作者
看看正负极有没接反啊
回复

使用道具 举报

9#
ID:546770 发表于 2021-11-22 10:46 | 只看该作者
你可以程序直接给1,看响不响,再直接给0,再看响不响,这两种都不想那就是电路的问题了。
回复

使用道具 举报

10#
ID:624769 发表于 2021-11-22 12:21 来自手机 | 只看该作者
hhdsdy 发表于 2021-11-22 00:19
如果延时时间给弄成0.5秒呢?

如果弄成0.5秒,电路正确的前提下,每秒钟响一次,一次响0.5秒,停0.5秒。但前提是电路正确,电流足够,所以,建议先检查蜂鸣器是否接正负极后能响,再连接三极管后确认限流电阻大小是否合适,最后再连单片机,如果你是不能推挽的单片机,应当用pnp管,如:8550
回复

使用道具 举报

11#
ID:964308 发表于 2021-11-22 14:45 来自手机 | 只看该作者
51io口驱动能力太小,只有20ma,要做个放大电路
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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