#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;//给喇叭一个方波		
}

  

posted on 2011-11-18 19:50    阅读(187)  评论(0编辑  收藏  举报