-
九齐大佬们 请帮小生指教一下, 60秒在TIMER1问题
九齐大佬们请帮小生指教一下,我此段60秒在TIMER1中怎么不能开启与关闭呢?哪里配置问题,多天的困扰!谢谢以下主要TIMER1的是我的配置voidGPIO(void){IOSTB=C_PB3_Input;//PB3inputmodePORTB=0x08;//PB0、PB1&PB2areoutputHighBPHCON=0XF7;//@@@!!!@@@!!!@@@!!!@@!@!@!@!@!26-01-21IOSTA=C_PA3_Output;PORTA&=0XE7;}voidTimer0_Init(){DISI();//关闭总中断PCON1=C_TMR0_Dis;//DisableTimer0TMR0=0X06;//@4M4T2MST0MD=C_PS0_TMR0|C_PS0_Div8;//Prescaler0isassignedtoTimer0,Prescaler0dividingrate=1:8,clocksourceisINTE|=C_INT_TMR0;//EnableTimer1interruptPCON1=C_TMR0_En;//EnableTimer0ENI();//Enableallunmaskedinterrupts}voidTimer1_Init(void){T1CR1=C_TMR1_Dis;TMRH=0x00;//SetTMR1[9:8]is0TMR1=0xF9;//@4M/4T1MST1CR2=C_PS1_EN|C_TMR1_ClkSrc_Inst|C_PS1_Div4;//EnablePrescaler1,Prescaler1dividingrate=1:4,Timer1clockINTE|=C_INT_TMR1;T1CR1=C_TMR1_Reload|C_TMR1_En;//EnableTimer1,InitialvaluereloadedfromTMR1,Non-stopmodeENI();}voidMode_Play(){if(u8Mode==0)//第一次按键开灯{PA3=1;Timer1_Init();T1CR1=C_TMR1_En;INTE|=0X08;Timer1_60S();//倒计时60秒后PA3口低电平灯灭}elseif(u8Mode==1)//如再次按键灭也灯{PA3=0;}}voidTimer1_60S(){Timer1_Init();second++;if(second>60)//60计时!{second=60;PA3=0;//T1CR1=C_TMR1_Dis;INTE|=0XE7;}}/*********************************************************/voidSystem_Init(void){OSCCR=0x01;//默认比较器相关关闭(b7-4);默认正常工作模式(b3-2);默认IHRC保持震荡(b1);默认系统时钟是PCON=0x98;//默认是开启看门狗(b7);默认是关闭LVD检测(b5);默认是关闭PA5上拉(b4);默认是开启LVR检测(b3);delay_ms(1);//上电延时一会等待电源稳定GPIO();Timer0_Init();Timer1_Init();ENI();//使能总中断}voidmain(void){System_Init();while(1){CLRWDT();Timer1_
2026-01-24 0

问答