普中单片机为什么蜂鸣器不响
J8已经和P1^5相连程序如下#include<reg52.h>#include<intrins.h>#defineuintunsignedint#defineuchar...
J8已经和P1^5相连
程序如下
#include<reg52.h>
#include<intrins.h>
#define uint unsigned int
#define uchar unsigned char
void delay(uint);
uchar temp;
sbit beep=P1^5;
void main()
{
temp=0xfe;
P0=temp;
beep=0;
while(1)
{
beep=1;
temp=_crol_(temp,1);
delay(500);
P0=temp;
beep=0;
}
}
void delay(uint x)
{
uint i,j;
j=x;
for(i=0;i<150;i++)
for(j=0;j<x;j++);
} 展开
程序如下
#include<reg52.h>
#include<intrins.h>
#define uint unsigned int
#define uchar unsigned char
void delay(uint);
uchar temp;
sbit beep=P1^5;
void main()
{
temp=0xfe;
P0=temp;
beep=0;
while(1)
{
beep=1;
temp=_crol_(temp,1);
delay(500);
P0=temp;
beep=0;
}
}
void delay(uint x)
{
uint i,j;
j=x;
for(i=0;i<150;i++)
for(j=0;j<x;j++);
} 展开
5个回答
展开全部
这是因为电流不够,要加三极管驱动,不要直接连到引脚上。
单片机: 单片机,全称单片微型计算机(英语:Single-Chip Microcomputer),又称微控制器(Microcontroller),是把中央处理器、存储器、定时/计数器(Timer/Counter)、各种输入输出接口等都集成在一块集成电路芯片上的微型计算机。与应用在个人电脑中的通用型微处理器相比,它更强调自供应(不用外接硬件)和节约成本。它的最大优点是体积小,可放在仪表内部,但存储量小,输入输出接口简单,功能较低。由于其发展非常迅速,旧的单片机的定义已不能满足,所以在很多应用场合被称为范围更广的微控制器;从上世纪80年代,由当时的4位、8位单片机,发展到现在的32位300M的高速单片机。
单片机: 单片机,全称单片微型计算机(英语:Single-Chip Microcomputer),又称微控制器(Microcontroller),是把中央处理器、存储器、定时/计数器(Timer/Counter)、各种输入输出接口等都集成在一块集成电路芯片上的微型计算机。与应用在个人电脑中的通用型微处理器相比,它更强调自供应(不用外接硬件)和节约成本。它的最大优点是体积小,可放在仪表内部,但存储量小,输入输出接口简单,功能较低。由于其发展非常迅速,旧的单片机的定义已不能满足,所以在很多应用场合被称为范围更广的微控制器;从上世纪80年代,由当时的4位、8位单片机,发展到现在的32位300M的高速单片机。
展开全部
如果你用的是无源蜂鸣器,那么你的beep = 0的时间太短,增加一个delay(500)就会响了,相关程序修改如下:
while(1)
{
beep=1;
temp=_crol_(temp,1);
delay(500);
P0=temp;
beep=0;
delay(500);//增加这一行蜂鸣器应该就会响了
}
while(1)
{
beep=1;
temp=_crol_(temp,1);
delay(500);
P0=temp;
beep=0;
delay(500);//增加这一行蜂鸣器应该就会响了
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
电流不够,要加三极管驱动的,不要直接连到引脚上
更多追问追答
追问
求详细方法,但是我看他给我的例程烧录进去会响的,为什呢额。自学的,不是很懂,请不吝赐教。
追答
如果电路不变,他给你的例程烧录进去会响那就是因为延时的时间不对,就像前面网友说的,改成while(1)
{
beep=1;
temp=_crol_(temp,1);
delay(500);
P0=temp;
beep=0;
delay(500);//增加这一行蜂鸣器应该就会响了
}
如果还不对就要改一下delay的时间,改短点
你也可能用的是有源蜂鸣器,那就不要来回改beep的值了
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你将P1^5设置为强推挽输出口,看上面的程序,你的Beep口应是设置为准双向口,驱动能力不够,
如果设置为强推挽输出口还不行的话,用一个PNP型三级管来驱动它,网上的电路有的是,也很简单!
如果设置为强推挽输出口还不行的话,用一个PNP型三级管来驱动它,网上的电路有的是,也很简单!
追问
自学的,模电没学,不是很懂,求详细解答。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你好,书本要求我连P1.5和J7,请问J7是什么?在开发板上一直找不到
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询