找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 453|回复: 15
收起左侧

51单片机连蜂鸣器模块IO口为什么只有连TXD和RXD才响,其他IO口不响?

  [复制链接]
ID:1114898 发表于 2024-3-31 18:44 | 显示全部楼层 |阅读模式
小白求助!用的STC89C52RC的系统板和蜂鸣器模块,想让蜂鸣器IO口连P3.3口,但是代码烧录进去,P3.3口不响,把线插在P3.0和P3.1都响。

代码:
#include <REGX52.H>
sbit Buzzer = P3^3;

void delay(unsigned int ms) {
    unsigned int i, j;
    for (i = 0; i < ms; i++)
        for (j = 0; j < 125; j++);
}

void main() {
    while(1) {
        Buzzer = 1; // 打开蜂鸣器
        delay(500); // 延时500ms
        Buzzer = 0; // 关闭蜂鸣器
        delay(500); // 延时500ms
    }
}

回复

使用道具 举报

ID:1010435 发表于 2024-4-1 12:48 | 显示全部楼层
        delay(500); // 延时500ms
        Buzzer = 0; // 关闭蜂鸣器
        delay(500); // 延时500ms
把这三条注释掉 你看响不,89c52初始状态除了p0口,其他都是上电高电平,你这个500m循环反转有点快了,实际等效电压只有2.5V,可能推不动蜂鸣器
回复

使用道具 举报

ID:1109793 发表于 2024-4-1 13:05 | 显示全部楼层
看下是不是P3.3被设置了输入状态。
回复

使用道具 举报

ID:192020 发表于 2024-4-1 13:39 | 显示全部楼层
估计是无源蜂鸣器,delay(500)太长了,一秒才反转一次,改成
        Buzzer = 1; // 打开蜂鸣器
        delay(1); // 延时1ms
        Buzzer = 0; // 关闭蜂鸣器
        delay(1); // 延时1ms
试试
回复

使用道具 举报

ID:883242 发表于 2024-4-1 14:39 | 显示全部楼层
查厂家手册看看这条腿是否有特殊用途,标准89C52不可能出这种问题除非引脚坏了,但是扩展型号就太多了。
回复

使用道具 举报

ID:961114 发表于 2024-4-1 16:22 | 显示全部楼层
89C52RC是经典入门了,经典的案例很多,不过现在入门更多的是选STC8H8K64U,有硬件USB下载和USB仿真,查找bug更方便
回复

使用道具 举报

ID:1115018 发表于 2024-4-1 17:03 | 显示全部楼层
看一下p3口的状态,和高低电平
回复

使用道具 举报

ID:1114898 发表于 2024-4-1 22:51 | 显示全部楼层
qq475878026 发表于 2024-4-1 13:39
估计是无源蜂鸣器,delay(500)太长了,一秒才反转一次,改成
        Buzzer = 1; // 打开蜂鸣器
      ...

响了,但是为什么声音很小,没有接P3.0和P3.1声音大?我之前问商家,他还说是有源的呢
回复

使用道具 举报

ID:192020 发表于 2024-4-2 10:13 | 显示全部楼层
Maureen七 发表于 2024-4-1 22:51
响了,但是为什么声音很小,没有接P3.0和P3.1声音大?我之前问商家,他还说是有源的呢

要不就是频率问题,要不就是供电不够。你说的什么P3.0、P3.1是不是有串口数据的,有的话频率肯定比延时1ms的频率高
回复

使用道具 举报

ID:883242 发表于 2024-4-2 21:09 | 显示全部楼层
Maureen七 发表于 2024-4-1 22:51
响了,但是为什么声音很小,没有接P3.0和P3.1声音大?我之前问商家,他还说是有源的呢

标准C51高电平可以输出0.4mA电流,低电平可以灌入4mA电流,有源蜂鸣器工作电流远远不止4mA。
回复

使用道具 举报

ID:281828 发表于 2024-4-10 21:44 | 显示全部楼层
建议楼主还是仔细检查硬件接线和单片机的端口设置,从代码上看换口驱动应该没问题,从硬件上看也没啥特殊的(可以再换其他引脚试试),建议用pnp三极管驱动蜂鸣器安全可靠。
回复

使用道具 举报

ID:1116165 发表于 2024-4-11 00:05 | 显示全部楼层
查看手册看蜂鸣器的最小驱动时间是多少
回复

使用道具 举报

ID:220661 发表于 2024-4-11 07:23 | 显示全部楼层
很有可能是无源蜂鸣器啊,就是不能自己振荡的。
回复

使用道具 举报

ID:1064915 发表于 2024-4-11 08:17 | 显示全部楼层
1Hz的频率耳朵是听不到的
回复

使用道具 举报

ID:587810 发表于 2024-4-11 08:48 | 显示全部楼层
先看一下蜂鸣器手册无源还是有源蜂鸣器,改一下延时时间,再试试看有没有声音
回复

使用道具 举报

ID:453974 发表于 2024-4-11 09:31 | 显示全部楼层
电路发出来看看吧,从现象上看,咋感觉像是频率低呢?减小高低电平转换的延时时间试一下
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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