按照板子的电路原理图编写程序,实现按下 K1 按键蜂鸣器报警,抬起按键,蜂鸣器停止报警,程序如下:
#include "reg52.h"
sbit LED = P1^0;
void Timer0_Init(void);
void Timer0_Init(void)
{
TMOD = 0x01; //工作方式1,16位定时器
TH0 = 0x3C; //定时50ms初值高八位
TL0 = 0xAF; //定时50ms初值低八位
ET0 = 1; //开定时器0中断
EA = 1; //开总中断
TR0 = 1; //开启定时器0
}
#include "reg52.h"
sbit Beep = P0^0;
sbit KEY1 = P1^0;
void delay(unsigned int i)
{
while(i--);
}
void main(void)
{
while(1)
{
if( KEY1 == 0 )
{
delay(1000); //按键消抖
if( KEY1 == 0 )
{
Beep = 0; //按下后蜂鸣器报警
}
else
{
Beep = 1; //假按或不按时不报警
}
}
}
}