51单片机定时器
什么是定时器
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,模式1TMOD = 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++;}