1. STC32G.H寄存器文件深度解析
STC32G系列单片机作为国产8位增强型51内核MCU,其寄存器配置直接影响外设控制与系统性能。头文件STC32G.H中定义了所有特殊功能寄存器(SFR)的地址映射和位域,但官方注释往往过于简略。本文将结合实测经验,逐项解析关键寄存器的设计意图和实战用法。
1.1 核心寄存器分类与寻址机制
STC32G采用哈佛架构,其SFR空间与RAM独立编址,通过直接寻址方式访问。寄存器按功能可分为五大类:
-
CPU核心控制类:
- ACC(累加器):运算结果暂存器,支持位操作
- PSW(程序状态字):包含CY/AC/OV等标志位
c复制sfr PSW = 0xD0; // 位定义: sbit CY = PSW^7; // 进位标志 sbit AC = PSW^6; // 辅助进位 -
中断系统类:
- IE(中断使能):总开关+各中断源独立使能
- IP(中断优先级):两级优先级配置
c复制sfr IE = 0xA8; // 典型配置: IE = 0x85; // 开启总中断+串口1中断 -
定时器类:
- TMOD(工作模式):定时器0/1的模式选择
- THx/TLx(计数寄存器):计数值存储
-
串行通信类:
- SCON(串口控制):工作模式/中断标志
- SBUF(数据缓冲):收发共用寄存器
-
扩展功能类:
- AUXR(辅助寄存器):时钟分频控制
- P_SW1(外设切换):引脚功能重映射
关键提示:STC32G的SFR地址范围是0x80-0xFF,只能使用直接寻址方式。对可位寻址寄存器(地址末位为0或8),既可按字节操作也可位操作。
1.2 隐藏功能寄存器揭秘
官方手册未充分说明的几个实用寄存器:
-
CLK_DIV(时钟分频控制):
c复制sfr CLK_DIV = 0x97; // 位7-4:主时钟分频比实测发现设置0x90可使系统时钟降频至1/16,大幅降低功耗。
-
PxPU(上拉电阻控制):
