#include <reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit Key = P1^7;
sbit DoorBell = P3^0;
uint p = 0;
void Timer0() interrupt 1 //定时器中断T0
{
DoorBell = ~DoorBell;
p++; //通过定时器中断的次数,改变PWM波,改变频率
if(p<400)
{
TH0 = (8192-700)/32;
TL0 = (8192-700)%32;
}
else if(p<5000)
{
TH0 = (8192-1000)/32;
TL0 = (8192-1000)%32;
}
else
{
TR0 = 0; //关闭定时器
P = 0;
}
}
void main()
{
IE = 0x82; //定时器中断T0
TMOD = 0x00;
TH0 = (8192-700)/32;
TL0 = (8192-700)%32;
while(1)
{
if(Key == 0) //当按键按下时,开启定时器,然后进入中断函数
{
TR0 = 1; //开起定