本帖最后由 laorenshen 于 2010-10-30 14:50 编辑
我用timer2 定时5ms, 内部RC 12M, CLKCON = Bin(00000100);
#define CLOCK_5MS (65536-(5000*12))
T2MOD = Bin(00000000); // 定时器0工作方式为1
T2CON = Bin(00000100);
TL2 = LOBYTE(CLOCK_5MS); // 载入定时初值
TH2 = HIBYTE(CLOCK_5MS);
TF2 = 0; // 清定时器0溢出标志
TR2 = 1; // 开启定时器0
//ET2=1;
IEN0 = Bin(10100000);
void Timer2_ISP(void) interrupt 5
{
EA = 0; //
//TL2 = LOBYTE(CLOCK_5MS); // 载入定时初值
//TH2 = HIBYTE(CLOCK_5MS);
LED_Lamp(1);// LED Lamp on OR off
EA = 1;
}
用法应该没有错误吧,
但是我用示波器看,计算了一下周期,236.9us, 很明显定时不对,如何解决? |