掉电唤醒定时器基本知识

如果 STC8 系列单片机内置掉电唤醒专用定时器被允许(通过软件将 WKTCH 寄存器中的 WKTEN位置 1),当 MCU 进入掉电模式/停机模式后,掉电唤醒专用定时器开始计数,当计数值与用户所设置的值相等时,掉电唤醒专用定时器将 MCU 唤醒。MCU 唤醒后,程序从上次设置单片机进入掉电模式语句的下一条语句开始往下执行。掉电唤醒之后,可以通过读 WKTCH 和 WKTCL 中的内容获取单片机在掉电模式中的睡眠时间。

写入的寄存器值必须比实际计数值少 1

掉电后,IO输出和SFR特殊功能寄存器与前一个状态保持一致。

内部掉电唤醒定时器的时钟频率约为 32KHz,误差较大。用户可以通过读 RAM 区 F8H 和 F9H 的

内容(F8H 存放频率的高字节,F9H 存放低字节)来获取内部掉电唤醒专用定时器出厂时所记录的时钟频率。

掉电模式可以使用 INT0(P3.2)、INT1(P3.3)、INT2(P3.6)、INT3(P3.7)、INT4(P3.0)、T0(P3.4)、T1(P3.5)、T2(P1.2) 、 T3(P0.4) 、 T4(P0.6) 、 RXD(P3.0/P3.6/P1.6/P4.3) 、 RXD2(P1.0/P4.6) 、 RXD3(P0.0/P5.0) 、RXD4(P0.2/P5.2)、I2C_SDA(P1.4/P2.4/P3.3)以及比较器中断、低压检测中断、掉电唤醒定时器唤醒。

实验说明

循环睡眠唤醒,使用掉电唤醒定时器定时2秒,掉电之前LED2-LED5灯熄灭,之后LED2-LED5灯点亮。

现象:LED2-LED5灯熄灭2s,LED2-LED5灯点亮2s,反复进行此过程。

接线图

编写程序

代码说明:部分代码借鉴STC官网,根据实验改动,由于代码过只展示部分代码,完整代码可下载。

Logo

智能硬件社区聚焦AI智能硬件技术生态,汇聚嵌入式AI、物联网硬件开发者,打造交流分享平台,同步全国赛事资讯、开展 OPC 核心人才招募,助力技术落地与开发者成长。

更多推荐