STC8H08K64U 执行定时器掉电唤醒代码后,单片机再也检测不到了
本帖最后由 zhanghua 于 2024-5-21 10:22 编辑STC8H08K64U 执行定时器掉电唤醒代码后,单片机再也检测不到了
重新上下电,用ISP软件也无法检测,如何解决?
是不是插上串口程序就休眠,然后根本没时间响应下载?
#include "reg51.h"
#include "intrins.h"
sfr WKTCL = 0xaa;
sfr WKTCH = 0xab;
sfr P0M1 = 0x93;
sfr P0M0 = 0x94;
sfr P1M1 = 0x91;
sfr P1M0 = 0x92;
sfr P2M1 = 0x95;
sfr P2M0 = 0x96;
sfr P3M1 = 0xb1;
sfr P3M0 = 0xb2;
sfr P4M1 = 0xb3;
sfr P4M0 = 0xb4;
sfr P5M1 = 0xc9;
sfr P5M0 = 0xca;
sbit P11 = P1^1;
void main()
{
P0M0 = 0x00;
P0M1 = 0x00;
P1M0 = 0x00;
P1M1 = 0x00;
P2M0 = 0x00;
P2M1 = 0x00;
P3M0 = 0x00;
P3M1 = 0x00;
P4M0 = 0x00;
P4M1 = 0x00;
P5M0 = 0x00;
P5M1 = 0x00;
WKTCL = 0xff; //设定掉电唤醒时钟约为1秒钟
WKTCH = 0x87;
while (1)
{
_nop_();
_nop_();
PCON = 0x02; //MCU进入掉电模式
_nop_();
_nop_();
_nop_();
_nop_();
P11 = ~P11;
}
}
STC单片机进入休眠后功耗非常低,板子上的电容都能支撑工作一段时间。
而烧录时需要对MCU进行上电复位到系统ISP区域才能触发烧录。
如果断电时间太短的话,板子上的电容没那么快放光,无法触发芯片产生掉电复位,从而触发不了ISP下载。 断电之后 拿镊子放放电(不知道你怎么用,你自己评估危险性哦{:4_229:}) ,,然后在上电下载。。
板子什么用的,建议加上USB下载代码,按P3.2进入USB模式这样就不怕进不来ISP模式了 soma 发表于 2024-5-21 11:31
板子什么用的,建议加上USB下载代码,按P3.2进入USB模式这样就不怕进不来ISP模式了 ...
非常感谢,用USB模式可以 用USB_HID下载方式,即先按下P3.2不松,再对单片机断电,单片机重新上电,最后再放开P3.2。这样能进入USB-HID下载方式。
我有次写程序,不小心把P3口全部写低电平,最后也是用此方式重新下载程序。 dumon 发表于 2024-5-22 08:49
用USB_HID下载方式,即先按下P3.2不松,再对单片机断电,单片机重新上电,最后再放开P3.2。这样能进入USB-H ...
谢谢,再请教下,STC 睡眠模式醒来后串口乱码是什么情况?
页:
[1]