51定时器

 

 

 

 

 

 

 

 

 

 

 

TL0(TL1)与TH0(TH1),因为是16位定时器/计数器,所以有两组专用的8位寄存器负责定时/计数的工作。 这两组特殊功能寄存器与普通的无符号字符型变量,功能几乎一样。唯一的区别在于,这两组特殊功能寄存器是定时器/计数器专用的,当定时开启后,TL0(TL1)自动跟随机器周期加一。当TL0(TL1)满了后,自动清零同时向TH0(TH1)进一位,不需要手动操作。 而当TL0(TL1)和TH0(TH1)都满了以后,此时如果定时中断和总中断都已经打开,那么就会发生溢出中断,同时这两个寄存器清零。

 

 /**********************51单片机学习例程************************
*  平台:Keil U4 + STC89C52
*  名称:P1口控制流水灯闪烁
*  编写:Tony
*  日期:2022-1-23
*   QQ : 674749794
*  晶体:12MHZ
*	 变更记录:无
******************************************************************/

#include <reg52.h>
unsigned char cnt_60ms;    //定义该变量为计数用变量,每隔60ms,该变量加一
sbit led= P1^0;
void Timer0_Init();		   
/********************************************
定时器0初始化函数,16位定时器,60ms溢出一次,开启中断
********************************************/
void Timer0_Init(){
    TMOD=0x01;  //模式设置,0b0000 0001,定时器0,工作模式1,16位定时器	  (M1=0,M0=1)
	ET0=1;    	//开启定时器0中断
	TH0=0x15;	//60ms溢出
	TL0=0xA0;	//
	TR0=1;		//使能定时器0
}




void main(){
   	led=0;
	Timer0_Init();
	EA=1;    //开总中断
	while(1){
	   if(cnt_60ms==15){
	      led=~led;//LED翻转
		  cnt_60ms=0;
	   }
	}
}

void Timer0_In() interrupt 1
{
   	TH0=0x15;	//60ms溢出
	TL0=0xA0;	//
	cnt_60ms++;	//计数加1

}  

定时器2,自动装载模式

 /**********************51单片机学习例程************************
*  平台:Keil U4 + STC89C52
*  名称:P1口控制流水灯闪烁
*  编写:Tony
*  日期:2022-1-23
*   QQ : 674749794
*  晶体:12MHZ
*	 变更记录:无
******************************************************************/

#include <reg52.h>
unsigned int cnt;    //定义该变量为计数用变量,每隔60ms,该变量加一
sbit led= P1^0;
void Timer0_Init();		   
/********************************************
定时器0初始化函数,16位定时器,0.25ms溢出一次,开启中断
********************************************/
void Timer0_Init(){
    TMOD=0x02;  //模式设置,0b0000 0010,定时器0,工作模式2,8位定时器	  (M1=1,M0=0)
	ET0=1;    	//开启定时器0中断
	TH0=0x06;	//0.25ms溢出
	TL0=0x06;	//
	TR0=1;		//使能定时器0
    cnt=0;
}




void main(){
   	led=0;
	Timer0_Init();
	EA=1;    //开总中断
	while(1){
	   if(cnt==1200){	//300ms
	      led=~led;//LED翻转
		  cnt=0;
	   }
	}
}

void Timer0_In() interrupt 1
{
  
	cnt++;	//计数加1

}

  

 

posted @ 2022-01-23 21:32  xiaoberber  阅读(440)  评论(0编辑  收藏  举报