找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1093|回复: 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
    }
}

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

使用道具 举报

沙发
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
试试
回复

使用道具 举报

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

使用道具 举报

6#
ID:961114 发表于 2024-4-1 16:22 | 只看该作者
89C52RC是经典入门了,经典的案例很多,不过现在入门更多的是选STC8H8K64U,有硬件USB下载和USB仿真,查找bug更方便
回复

使用道具 举报

7#
ID:1115018 发表于 2024-4-1 17:03 | 只看该作者
看一下p3口的状态,和高低电平
回复

使用道具 举报

8#
ID:1114898 发表于 2024-4-1 22:51 | 只看该作者
qq475878026 发表于 2024-4-1 13:39
估计是无源蜂鸣器,delay(500)太长了,一秒才反转一次,改成
        Buzzer = 1; // 打开蜂鸣器
      ...

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

使用道具 举报

9#
ID:192020 发表于 2024-4-2 10:13 | 只看该作者
Maureen七 发表于 2024-4-1 22:51
响了,但是为什么声音很小,没有接P3.0和P3.1声音大?我之前问商家,他还说是有源的呢

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

使用道具 举报

10#
ID:883242 发表于 2024-4-2 21:09 | 只看该作者
Maureen七 发表于 2024-4-1 22:51
响了,但是为什么声音很小,没有接P3.0和P3.1声音大?我之前问商家,他还说是有源的呢

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

使用道具 举报

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

使用道具 举报

12#
ID:1116165 发表于 2024-4-11 00:05 | 只看该作者
查看手册看蜂鸣器的最小驱动时间是多少
回复

使用道具 举报

13#
ID:220661 发表于 2024-4-11 07:23 | 只看该作者
很有可能是无源蜂鸣器啊,就是不能自己振荡的。
回复

使用道具 举报

14#
ID:1064915 发表于 2024-4-11 08:17 | 只看该作者
1Hz的频率耳朵是听不到的
回复

使用道具 举报

15#
ID:587810 发表于 2024-4-11 08:48 | 只看该作者
先看一下蜂鸣器手册无源还是有源蜂鸣器,改一下延时时间,再试试看有没有声音
回复

使用道具 举报

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

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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