|
|
//T0中斷服務(wù)函數(shù) 周期10ms
void Timer0Interrupt() interrupt 1
{
static unsigned int i;
TH0 = 0xD8;
TL0 = 0xF0;
i++;
if(i>=10) //100ms 調(diào)整到所需值以分辨快慢旋
{
i = 0;
EX0 = 1; //開INT0中斷
TR0 = 0; //關(guān)定時器0
}
}
//INT0中斷服務(wù)函數(shù)
void INT0_Isr() interrupt 0 //EC11_A接外部中斷,EC11_B接任意IO口
{
if(EC11_B)direction=1; //正轉(zhuǎn)
else direction=2; //反轉(zhuǎn)
EX0 = 0; //關(guān)INT0中斷
TR0 = 1; //開定時器0
if(direction==1)num++;
if(direction==2)num--;
}
|
|