在 QFN48 封装中,部分 LED 段码引脚可能默认被配置为其他外设功能(如 PWM、ADC、UART、外部中断等),如果没有正确设置 端口复用寄存器(如 PnM1、PnM0),则 LED 段码引脚可能无法正常输出。
例如:SEG4~SEG7 可能映射到 P2.0~P2.3,在 QFN48 中这些引脚可能默认为 ADC 输入或其他功能,需通过配置寄存器将其切换为 LED 段码输出功能。
3. LED 驱动配置参数不匹配
您提供的代码片段中,LEDCKS 的配置根据 LEDMODE 不同而不同:
c
if (LEDMODE==2)//共阴/共阳
LEDCKS = FOSC/160UL/8UL/16UL/LEDF;
else
LEDCKS = FOSC/160UL/8UL/8UL/LEDF;
endif
复制代码
若 LEDMODE 设置为 2(共阴/共阳),则分频系数更大,可能导致扫描频率过低,影响部分段码输出,尤其是在 QFN48 封装中,若 COM 数量较多,可能影响 SEG 的输出时序。
建议:确认 LEDMODE 是否正确设置,以及 LEDCKS 的分频是否符合芯片手册推荐值。
4. COM 输出数量与段码输出不匹配
STC8H4K64TL 支持最多 8 个 COM 和 32 个 SEG 输出。若在 QFN48 中使用了更多的 COM 输出,可能导致 SEG4~SEG7 在扫描逻辑中被忽略或被禁用。
建议:检查 LEDCON、LEDCKS、LEDCOMx 等寄存器配置,确认 COM 输出数量是否与 SEG 输出数量匹配。
5. 未使能 LED 段码输出通道
部分芯片需通过寄存器(如 LEDSELx)来选择启用哪些 SEG 通道。若未对 SEG4~SEG7 对应的位进行使能,即使配置正确,也不会输出。
建议:检查 LEDSEL0、LEDSEL1 等寄存器是否启用了 SEG4~SEG7。