我用C8051F310在硬件上调试程序 void main (void) { Init_Device(); Read_Dip_Switch(); P_XMS1 = 0; P_XMS2 = 0; P_XDIR = 0; PCA0CP2 = 0xC350; //单用这个就不进入中断。 //PCA0CPL2 = 0x50; //PCA0CPH2 = 0xC3; EA = 1; while (1); } 当我换成这样就可以进入PCA0定时器的2中断 //PCA0CP2 = 0xC350; PCA0CPL2 = 0x50; //换成这两句就行。 PCA0CPH2 = 0xC3; //换成这两句就行。 EA = 1; while (1); 我看了一下编译后的汇编。都是 MOV PCA0CPH2(0xEC),#ADC0GTL(0xC3) MOV PCA0CP2(0xEB),#0x50 为什么就不中断呢?怎么回事?? |