51单片机定时器

发布时间:2024年01月21日

什么是定时器

2.?定时器原理

定时器的工作模式如下:

可以将其分为三部分,时钟部分,计数器部分和中断部分,如下图所示

#include <REGX52.H>
#include <INTRINS.H>

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++;
	
}

文章来源:https://blog.csdn.net/m0_69211839/article/details/135727300
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。