初学PIC,利用PIC18F8720做跑马灯,想法是利用timer0中1s时间中断,利用该中断进行
跑马灯实验,程序如下,该程序在MPLAB里调试ok,可以进入中断,PORTJ的值也是依次循环左移,但是利用protues进行仿真,不能进入timer0时间中断,J口所有的灯都不亮。望大虾指导,非常感激。附件是proteus的仿真。
#include <pic18.h>
void main(void)
{
TRISJ=0X00;//设置J口为输出口
PORTJ=0X00;//J口初始化
T0CON=0X87;//timer0 设置成定时器模式,1/256分频,
TMR0L=0X12;//低8位数值
TMR0H=0X7A;//高8位数值,定时1s中断(8MZ)
GIE=1; //中断使能
TMR0IE=1; //time0中断使能
while(1)
{
;
}
}
void interrupt timer0(void)
{
if(TMR0IE&&TMR0IF)
{
TMR0IF=0; //time0 中断标志位清0
if(PORTJ==0)PORTJ=0X01;
else PORTJ=PORTJ<<1;
TMR0L=0X12;
TMR0H=0X7A;
}
} |