掉电用掉电定时器唤醒后转到用定时器1显示LED的程序时,定时器1失效 | 已解决
掉电后用掉电定时器唤醒后,转到用定时器1显示LED的程序时,定时器1失效,这样LED就不闪烁了。该程序如果不是掉电唤醒后运行,执行正常,LED闪烁。不知道什么原因掉电定时器唤醒后定时器1 无效了
void Save_E_Mode() //
{
while(1)
{
NOP4(); //STC8Hxx.h
PCON = 0x02;//
_nop_();
_nop_();
_nop_();
NOP4(); //
Dispaly_BattV();
}
void Dispaly_BattV()
{
CPU_Init(); // 单片机初始化子程序,这里加和不加效果一样都
while(1)
{
if (msec5<=2000)
{
P0=0xff;//led 端口 ,msec5在定时器1里计数
}else
if (msec5<4000)
{
P0=0x0f;
} else {
msec5=0;
}
}
}
用的是stc8h8k64u芯片 掉电唤醒对别的外设是没有影响的,唤醒只是恢复时钟,不会影响定时器等等外设的。唤醒后时钟恢复,定时器得到时钟继续计数,不需要“转到”的操作。 梁先生您好,下面的应该还有判断语句
void Save_E_Mode() //
{
while(1)
{
NOP4(); //STC8Hxx.h
PCON = 0x02;//
_nop_();
_nop_();
_nop_();
NOP4(); //
if (1==CDB_LED1_IN)
{
Dispaly_BattV();
}
}
唤醒后判断接口是否是1,如果不是继续掉电,否则执行 Dispaly_BattV(); 现在是 Dispaly_BattV();程序里需要有时间中断,但不工作了 加个串口看下定时器计数值 谢谢两位,最后发现问题是在时间中断里调用了掉电子程序。
页:
[1]