本帖最后由 457878 于 2010-12-6 21:49 编辑
#define DISI() _asm{DISI}
#define ENI() _asm{ENI}
#define WDTC() _asm{WDTC}
#define CONT(d) _asm{mov a,0x0f}\
_asm{CONTW}
//***********************************
void Timer_Init(void)
{
DISI();
CONT(0x0f); //INTE INT TS TE | PSTE PST2 PST1 PST0 (256分频)
INTF = 0; //CMPIF PWM3IF PWM2IF PWM1IF | ADIF EXIF ICIF TCIF
WDTCR =0; //WDTE EIS PSWE PSW2 | PSW1 PSW0 “0” “0”
IMR |= 0x01;//CMPIE PWM3IE PWM2IE PWM1IE | ADIE EXIE ICIE TCIE (使能TCC中断)
TCC = 100; //T=1/4*256*(256-6)*1=20ms【tcc=100】
ENI();
}
原定20ms中断(@4MHz),现在仿真时100us中断,相差太远了吧,什么原因呢?(EM78P418N 的片子, eUIDE--C 平台)
|