51单片机这段代码怎么实现点击一下按键后蜂鸣器自己就一直响。

/*******************************************************************************
* 实验名 : 蜂鸣器实验
* 使用的IO : P2^1
* 实验效果 : 蜂鸣器响。
* 注意 :无源蜂鸣器,需要给脉冲信号才会响
*******************************************************************************/

#include <reg51.h>
#define GPIO_LED P2 //宏定义P2口
sbit Beep = P2^1 ;
sbit K1 = P1^4;
void Delay(unsigned int i) ;
void Delay10ms( ); //延时10ms

void main()
{ while(1){
if(K1==0) //检测按键K1是否按下
{
Delay10ms(); //消除抖动
if(K1==0)
{ GPIO_LED = 0xfe; //1111 1110 第一个灯亮
Beep= 1; //给高电平
Delay(5); //延时
Beep= 0; //给低电平
Delay(5); //延时
}
}
}
}

void Delay(unsigned int i)
{
char j;
for(i; i > 0; i--)
for(j = 200; j > 0; j--);
}

void Delay10ms(void) //误差 0us
{
unsigned char a,b,c;
for(c=1;c>0;c--)
for(b=38;b>0;b--)
for(a=130;a>0;a--);
}

蜂鸣器分为两种 一种有源蜂鸣器 只需要给他一个高电平他就会一直响,还有着一种是无源的蜂鸣器,这就需要你给他一个脉冲就是指高低电平的互换,每互换一次就响一次
温馨提示:答案为网友推荐,仅供参考
第1个回答  2016-03-28
山8Al14、你来过一下子.我想念一辈子

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网