上电后让蜂鸣器滴一声就停止,或者按一次复位就滴一次

//以下只是个人的简单写法如果有写的不对的麻烦各位道友指正以下,或者有更好的写法推荐更是感激不尽,因为小白正在搞一个类似空调的实操麻烦路过的大神可以指点一下

#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--);

}

//个人简单写法如有雷同纯属缘分

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值