关于蜂鸣器的问题

2019-03-24 17:23发布

作为一个单片机小白,为什么蜂鸣器的输出口必须接P2^3,接别的话就没有声音了,我做的是一个蜂鸣器和流水灯的报警装置,换一个输出口为什么就剩流水灯亮了,蜂鸣器没有声音了,求大神解答#include <reg52.h> #define ON 0
#define OFF 1
sbit FM=P2^3;

void delay(unsigned int xms)  
{
    unsigned int i,j;
        for(i=xms;i>0;i--)
        {
            for(j=50;j>0;j--)
                {
                    ;
                }
        }
}

void  main()
    {
            unsigned char i;
        while (1)
                {
                    P1=0xfe;
                        for(i=0;i<8;i++)
                        {
                            delay(100);
                                P1<<=1;
                                P1=P1|0x01;
                                FM=ON;
                                delay(100);
                                FM=OFF        ;
                                       
                        }
                }
        }


此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
8条回答
wsmysyn
1楼-- · 2019-03-25 00:19
理论上说接哪个IO口都可以的,只要程序定义了并且操作那个IO口就行了,比如sbit FM = P2^4; 就把蜂鸣器接到P2.4口上,另外看你接的那个IO的外部电路了,有没有上拉,驱动能力够不够,等等。有万用表或者示波器,测量一下就可以了,调试办法多得是。
anqi90
2楼-- · 2019-03-25 05:48
理论上说代码里做相应的修改之后就可以了,但是还要看你接的电路是不是正常,新的管脚的配置和相关参数是不是和2.3一致的
sint27
3楼-- · 2019-03-25 07:07
 精彩回答 2  元偷偷看……
圈在指尖
4楼-- · 2019-03-25 07:14
sint27 发表于 2016-11-3 14:20
我怀疑你是不是用现成的硬件,比如开发板,开发板一般情况下蜂鸣器是固定IO口的

还真的对了,就是用的现成的开发板
圈在指尖
5楼-- · 2019-03-25 09:49
wsmysyn 发表于 2016-11-3 10:16
理论上说接哪个IO口都可以的,只要程序定义了并且操作那个IO口就行了,比如sbit FM = P2^4; 就把蜂鸣器接到 ...

恩恩,我看看
huihuihaha
6楼-- · 2019-03-25 14:53
 精彩回答 2  元偷偷看……

一周热门 更多>