/*
定時器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使用
版權聲明:本文爲博主原創文章,未經博主允許不得轉載。 https://blog.csdn.net/private_void_main/article/details/79692586
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.