docs: 根据1.14寸屏幕、5按键与可编程RGB新规格更新项目文档

This commit is contained in:
2026-07-09 10:49:15 +08:00
parent 17a90ff7dc
commit fdf0c5ed1b
15 changed files with 174 additions and 113 deletions

View File

@@ -1,4 +1,4 @@
# 编码实现 - 低功耗电源管理 (docs/60_coding/mod-power.md)
# 编码实现 - 低功耗电源管理 (Docs/60_coding/mod-power.md)
本文件对应低功耗待机与外部中断唤醒的具体编码实现细节。
@@ -9,20 +9,20 @@
## 2. 关键代码片段与逻辑实现
### 2.1 屏幕休眠命令与供电切断
在待机检测到达 10 秒超时后,调用进入睡眠流程:
在待机检测到达 10秒超时后调用进入睡眠流程
```c
void Enter_Deep_Sleep(void) {
// 1. 发送屏幕休眠指令 (Sleep In)
LCD_WriteCmd(0x10);
Delay_ms(120); // 必须等待 120ms 供屏幕电容放电
// 2. 切断 SGM3833 正负高压供电,阻断 VELVDD 的泄露电流
// 2. 切断 LCD 供电与背光
SGM_CTRL = 0;
// 3. 配置 KEY 端口的中断触发(配置为下降沿触发)
P0IM0 = 0x00; // 下降沿
P0IM1 = 0x00;
P0INTE = 0x0E; // 开启 P0.1, P0.2, P0.3 的端口中断
P0INTE = 0x3E; // 开启 P0.1(UP), P0.2(SOS1), P0.3(DOWN), P0.4(CONFIRM), P0.5(SOS2) 的端口中断 (0011 1110)
// 4. 调用单片机 PD 指令挂起主时钟
PCON |= 0x02; // PD = 1
@@ -32,14 +32,14 @@ void Enter_Deep_Sleep(void) {
```
### 2.2 端口中断唤醒与显示重建
当按键被按下P0.1~P0.3 电平跳变触发外部端口中断CPU 被唤醒并从停机处继续执行:
任意按键被按下P0.1~P0.5 电平下降沿跳变触发外部端口中断CPU 被唤醒并从停机处继续执行:
```c
void Port0_Isr(void) interrupt 37 {
u8 int_src = P0INTF;
P0INTF = 0x00; // 清除中断标志位
if (int_src & 0x0E) {
// 1. 恢复 SGM3833 供电
if (int_src & 0x3E) { // 检查是否是 5 个按键引发的唤醒
// 1. 恢复 LCD 背光与供电
SGM_CTRL = 1;
Delay_ms(20); // 等待供电稳定