标题: 51单片机连蜂鸣器模块IO口为什么只有连TXD和RXD才响,其他IO口不响? [打印本页]

作者: Maureen七    时间: 2024-3-31 18:44
标题: 51单片机连蜂鸣器模块IO口为什么只有连TXD和RXD才响,其他IO口不响?
小白求助!用的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
    }
}


作者: mtt661    时间: 2024-4-1 12:48
        delay(500); // 延时500ms
        Buzzer = 0; // 关闭蜂鸣器
        delay(500); // 延时500ms
把这三条注释掉 你看响不,89c52初始状态除了p0口,其他都是上电高电平,你这个500m循环反转有点快了,实际等效电压只有2.5V,可能推不动蜂鸣器
作者: xiaobendan001    时间: 2024-4-1 13:05
看下是不是P3.3被设置了输入状态。
作者: Graves    时间: 2024-4-1 13:39
估计是无源蜂鸣器,delay(500)太长了,一秒才反转一次,改成
        Buzzer = 1; // 打开蜂鸣器
        delay(1); // 延时1ms
        Buzzer = 0; // 关闭蜂鸣器
        delay(1); // 延时1ms
试试
作者: Hephaestus    时间: 2024-4-1 14:39
查厂家手册看看这条腿是否有特殊用途,标准89C52不可能出这种问题除非引脚坏了,但是扩展型号就太多了。
作者: STC庄伟    时间: 2024-4-1 16:22
89C52RC是经典入门了,经典的案例很多,不过现在入门更多的是选STC8H8K64U,有硬件USB下载和USB仿真,查找bug更方便
作者: 范闲鱼    时间: 2024-4-1 17:03
看一下p3口的状态,和高低电平
作者: Maureen七    时间: 2024-4-1 22:51
qq475878026 发表于 2024-4-1 13:39
估计是无源蜂鸣器,delay(500)太长了,一秒才反转一次,改成
        Buzzer = 1; // 打开蜂鸣器
      ...

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

要不就是频率问题,要不就是供电不够。你说的什么P3.0、P3.1是不是有串口数据的,有的话频率肯定比延时1ms的频率高
作者: Hephaestus    时间: 2024-4-2 21:09
Maureen七 发表于 2024-4-1 22:51
响了,但是为什么声音很小,没有接P3.0和P3.1声音大?我之前问商家,他还说是有源的呢

标准C51高电平可以输出0.4mA电流,低电平可以灌入4mA电流,有源蜂鸣器工作电流远远不止4mA。
作者: wannenggong    时间: 2024-4-10 21:44
建议楼主还是仔细检查硬件接线和单片机的端口设置,从代码上看换口驱动应该没问题,从硬件上看也没啥特殊的(可以再换其他引脚试试),建议用pnp三极管驱动蜂鸣器安全可靠。
作者: xiaotimo    时间: 2024-4-11 00:05
查看手册看蜂鸣器的最小驱动时间是多少
作者: gongnn    时间: 2024-4-11 07:23
很有可能是无源蜂鸣器啊,就是不能自己振荡的。
作者: joyb    时间: 2024-4-11 08:17
1Hz的频率耳朵是听不到的
作者: ankangyu    时间: 2024-4-11 08:48
先看一下蜂鸣器手册无源还是有源蜂鸣器,改一下延时时间,再试试看有没有声音
作者: 累不死的狗    时间: 2024-4-11 09:31
电路发出来看看吧,从现象上看,咋感觉像是频率低呢?减小高低电平转换的延时时间试一下





欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1