51单片机定时器

什么是定时器

51单片机定时器_第1张图片

2. 定时器原理

51单片机定时器_第2张图片

定时器的工作模式如下:

51单片机定时器_第3张图片

51单片机定时器_第4张图片可以将其分为三部分,时钟部分,计数器部分和中断部分,如下图所示

51单片机定时器_第5张图片

51单片机定时器_第6张图片

51单片机定时器_第7张图片

51单片机定时器_第8张图片

51单片机定时器_第9张图片

#include 
#include 

unsigned int cnt = 0;

void Delay(unsigned char n)		//@11.0592MHz
{
	while(1)
	{
		if(cnt >= n)
		{
			cnt = 0;
			break;
		}

	}

}


void main()
{

	//1.外部晶振11.0592
	//2.使用定时器0,模式1
	TMOD  = 0x01;
	//3.设置TH0,TL0初始值
	TH0 = 0xFC;
	TL0 = 0x66;
	TCON |= 1 << 4;   //定时器开始计数  TR0 = 1;
	
	TF0 = 0;   //清楚中断标志位
	ET0 = 1;  //使能定时器0中断
	EA = 1;		//使能总中断
	
	
	while(1)
	{

		P2_0 = 0;
		Delay(1000);
		P2_0 = 1;
		Delay(1000);
	}


}


void timer(void) interrupt 1
{

	TH0 = 0xFC;
	TL0 = 0x66;
	cnt++;
	
}

你可能感兴趣的:(51单片机,嵌入式硬件,单片机)