今天换用使用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)
===========================================为什么编辑好的程序,发表后,排版都乱了!
一周热门 更多>