刚开始学习PIC18F系列单片机,用25MHz、TIMER0写一秒延时,请各位大佬帮我看看吧
void TIMER0_INIT (void)
{
TRISAbits.TRISA4 =1;
INTCONbits.GIE =1;
INTCONbits.PEIE =1;
INTCONbits.TMR0IE =1;
INTCON2bits.TMR0IP =1;
T0CONbits.TMR0ON = 1; // Enable timer0
T0CONbits.T08BIT = 0; //16bits
T0CONbits.T0CS = 0;
T0CONbits.T0SE = 1; //failing
T0CONbits.PSA = 1;
T0CONbits.T0PS2 = 1; //1:256
T0CONbits.T0PS1 = 1;
T0CONbits.T0PS0 = 1;
}
void __interrupt() TIMER0_ISR (void)
{
INTCONbits.TMR0IF = 0;
if ( INTCONbits.TMR0IF == 1)
{
TMR0H = 0xFE;
TMR0L = 0xCE; //delay 50ms
}
count ++;
while (count == 20) //1s
{
LED1 = ~LED1;
count = 0;
}
INTCONbits.TMR0IF = 0;
}
你好,我是有问必答小助手,非常抱歉,本次您提出的有问必答问题,技术专家团超时未为您做出解答
本次提问扣除的有问必答次数,将会以问答VIP体验卡(1次有问必答机会、商城购买实体图书享受95折优惠)的形式为您补发到账户。
因为有问必答VIP体验卡有效期仅有1天,您在需要使用的时候【私信】联系我,我会为您补发。