//以下只是个人的简单写法如果有写的不对的麻烦各位道友指正以下,或者有更好的写法推荐更是感激不尽,因为小白正在搞一个类似空调的实操麻烦路过的大神可以指点一下
#include "reg52.h"
sbit BU = P2^1; //位定义 蜂鸣器的管脚P2^1
void dalay_ms(unsigned int ms) ; //声明延时函数
void main()
{
static unsigned int i = 1; //static函数表示保持值不变
while(1)
{
if(i) //由于使用了static所以在while循环里面执行一次if判断后,由于下面i=0;
{
i = 0; //所以只要程序还在while循环里面 i=0这样就只执行了一次 if 蜂鸣器也就只响一次
BU = ~BU; //只有当下次重新上电汇总按下复位键后才滴一声
dalay_ms(1);
}
}
}
void dalay_ms(unsigned int ms) //当ms=1时,大约延时1ms
{
unsigned int i,j;
for(i=ms;i>0;i--)
for(j=110;j>0;j--);
}
//个人简单写法如有雷同纯属缘分