/*
定时器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;
//要处理的中断事件
// ...
}
蓝桥杯转接板 定时器2使用
最新推荐文章于 2024-01-23 14:08:56 发布