PIC12F508的TMR0计数器使用出了问题

2020-02-08 09:22发布

今天换用使用PIC12F508写程序,要用到TMR0,很可惜12F508没有中断,使用起来不是那么灵活,现在我把TMR0当作一个计数器使用,使用外部脉冲计数,上升沿有效,不使用分频,使用GP5作脉冲输入,GP0在计数为双数时输出高电平,单数时输出低电平,但是以下的程序GP0一直输出高电平,有没有高手帮忙看一下是哪里出了问题,谢谢了。

#include <pic.h>
#include "delay.h"

#define Q_out                    GP0


#define high                  1
#define low                    0       


void main(void)
{  

        GPIO    =0b00000000;       
        DelayMs(1000);
        TRIS        =0b00100000;                           //T0CKI(即GP5)设为输入
        OPTION         =0b10101000;                          //使用TIMER0,上升沿,不分频
        TMR0        =0;                     
       
        while(1)
        {
                        if((TMR0%2)!=1 )
                        {
                                Q_out=high;          //计数为双数时GP0输出高电平
                        }

                        else Q_out=low;                //计数为单数时GP0输出高电平

        }
}


(原文件名:1.JPG)



===========================================为什么编辑好的程序,发表后,排版都乱了!
0条回答

一周热门 更多>