蓝桥杯转接板 定时器2使用

/*
	定时器2延时10ms进入中断
*/
//定义寄存器
sfr AUXR = 0x8e; //辅助寄存器
sfr T2H = 0xD6;	 //定时器2的高八位寄存器
sfr T2L = 0xD7;	 //定时器2的低八位寄存器
sfr IE2 = 0xAF;	 //中断使能寄存器

//T2定时器的初始化
void T2_Init(void){
	/*
	AUXR的第三位就是设置 定时器2的速率,0为12T(12分配 默认),1为1T
	第四位就是设置寄存器的模式,0是定时器模式(默认),1是计数模式
	第五位就是开启定时器,定时器开始计数
	*/
	T2H = (65536-10000)/256;
	T2L = (65536-10000)%256;
	EA = 1;
	IE2 |=0x04;   //IE2寄存器的第三位就是 定时器2的使能位
	AUXR|=0x10;   //开启定时器
}

void T2_handle()interrupt 12 //注意这里是12
{
	T2H = (65536-10000)/256;
	T2L = (65536-10000)%256;
	//要处理的中断事件
	// ...
}

猜你喜欢

转载自blog.csdn.net/private_void_main/article/details/79692586