打算用定时器T0实现控制数码管每隔一秒钟减少1, 可是在keil里面全速运行一个程序却没有反应,但是单步运行的话观察变量的变化倒是看到各个变量在变化...不知道是为何,请各位帮忙了...另外..我用的是Proteus+keil来调试的....
小弟谢过了先^_^
void IT0_Init(void)//初始化中断寄存器等
{
TMOD=0x01;
TH0=0x3C;
TL0=0xAF;
ET0=1;
EA=1;
TF0=0;
TR0=1;
}
void Timer0_Overflow() interrupt 1 using 2
{
static unsigned char second=20;//用中断20次来计时一秒钟
TH0=0x3C;
TL0=0xAF;
second--;
intrCounter--;//这个总中断的次数
if (second==0)
{
MAX7219_DisplayChar(DIG_1,code_table[Num--]);//Num是个全局变量,记录的是开始显示的数字,这里用的是MAX7219来控制的数码管, 这个函数应该没有问题的...
second=20;
}
if (intrCounter==0)//完成总中断次数后中断停止..
{
TR0=0;
}
}
另外, 请问一下是不是因为我中断用的寄存器组与主程序默认的寄存器有冲突呀??(可是我从using 0到using 3都试过了还是不行)
谢谢各位帮忙了^_^