#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit beef=P1^0;
void init();
void delay(uchar t);
void delayMS(uchar t);
uchar a;
void main()
{
uchar i;
init();
while(1)
{
for(i=0;i<200;i++)
{
delayMS(10);//延时10毫秒
a=i; // 给定时器低八位赋值,i逐渐增大,a逐渐增大,定时器所装初值增大,计数溢出空间减小,从而时间变短,频率增大。
}
for(i=200;i>0;i--)
{
delayMS(10);//延时10毫秒
a=i; // 给定时器低八位赋值,i逐渐减小,a逐渐减小,定时器所装初值减小,计数溢出空间增大,从而时间变长,频率减小。
}
}
}
void init() //初始化函数
{
a=0;
TMOD=0x01;
EA=1;
ET0=1;
TR0=1;
}
void delay(uchar t)//延时函数
{
while(--t);
}
void delayMS(uchar t)//延时函数,以毫秒计
{
while(t--)
{
delay(245);
delay(245);
}
}
void timer0() interrupt 1//定时器0中断函数
{
TH0=0xfe;
TL0=a;//a设为全局变量
beef=!beef;//给喇叭一个方波
}