求助8H4K64TLCD-45I-LQFP48驱动LCD屏内部低速IRC驱动不显示
8H4K64TLCD-45I-LQFP48驱动段码LCD屏,用外部32k晶振正常,内部低速IRC不显示。
丝印版本:2308A551882B H+A
读取版本信息:
单片机型号: STC8H4K64TLCD
软件协议, V3.0: 7.4.5U
能正常显示的程序:
X32KCR=0xC0;//启动外部32768晶振,设置高增益
// X32KCR = 0x80 + 0x40; //启动外部32K 晶振, 低增益+0x00, 高增益+0x40.
while(!(X32KCR&0x01));
/*IRC32KCR = 0x80; //启动内部低速IRC
while (!(IRC32KCR & 0x01)); //等待时钟稳定*/
LCDCFG2=0x00; //设置SEG脚位
LCDCFG=0x80;//设置LCD时钟为外部32768Hz晶振,设置VLCD为0.65*VCC(3.25V)VCC=5v
// LCDCFG=0xC0; //设置LCD时钟为内部32768Hz,设置VLCD为0.65*VCC(3.25V)VCC=5v
// 60Hz
DBLEN=0x00; //设置死区时间
COMLENL=0x43; //设置COM时间
COMLENM=0x00; //设置COM时间
COMLENH=0x00; //设置COM时间
BLINKRATE=0x40; //设置闪烁率LCD不能显示的程序:
/*X32KCR=0xC0;//启动外部32768晶振,设置高增益
// X32KCR = 0x80 + 0x40; //启动外部32K 晶振, 低增益+0x00, 高增益+0x40.
while(!(X32KCR&0x01));*/
IRC32KCR = 0x80; //启动内部低速IRC
while (!(IRC32KCR & 0x01)); //等待时钟稳定
LCDCFG2=0x00; //设置SEG脚位
// LCDCFG=0x80;//设置LCD时钟为外部32768Hz晶振,设置VLCD为0.65*VCC(3.25V)VCC=5v
LCDCFG=0xC0; //设置LCD时钟为内部低速IRC,设置VLCD为0.65*VCC(3.25V)VCC=5v
// 60Hz
DBLEN=0x00; //设置死区时间
COMLENL=0x43; //设置COM时间
COMLENM=0x00; //设置COM时间
COMLENH=0x00; //设置COM时间
BLINKRATE=0x40; //设置闪烁率
手册显示:A 版芯片不要使用此模式,B版本可以,咨询商家说:“+A”就是B版本。
请教各位朋友和老师,可能是什么原因导致不能显示?
非常感谢!
您好,针对您在使用STC8H4K64TLCD单片机驱动段码LCD屏时,内部低速IRC无法正常显示的问题,以下是一些可能的原因和解决方案:
1. 时钟源配置问题
外部晶振与内部IRC的切换:在您的代码中,外部32K晶振的配置是正常的,但内部低速IRC的配置被注释掉了。确保在切换时钟源时,正确配置了相关寄存器。具体来说,您需要取消注释并启用以下代码:
c
IRC32KCR = 0x80; //启动内部低速IRC
while (!(IRC32KCR & 0x01)); //等待时钟稳定
LCD时钟源选择:在LCDCFG寄存器中,您需要将时钟源设置为内部32768Hz。确保以下代码被正确执行:
c
LCDCFG = 0xC0; //设置LCD时钟为内部32768Hz,设置VLCD为0.65VCC(3.25V)VCC=5v
2. 时钟稳定性
等待时钟稳定:在切换时钟源后,必须等待时钟稳定。您已经在外部晶振的配置中使用了while(!(X32KCR&0x01));来等待时钟稳定,同样在内部IRC的配置中也需要使用while (!(IRC32KCR & 0x01));来确保时钟稳定。
3. 电源电压配置
VLCD配置:确保LCDCFG寄存器中的VLCD配置与您的电源电压匹配。您当前的配置是0x80,表示VLCD为0.65VCC(3.25V),适用于VCC=5V。如果您的电源电压不同,请相应调整VLCD配置。
4. 死区时间和COM时间配置
死区时间和COM时间:确保DBLEN、COMLENL、COMLENM和COMLENH寄存器的配置与您的LCD屏规格匹配。您当前的配置是:
c
DBLEN = 0x00; //设置死区时间
COMLENL = 0x43; //设置COM时间
COMLENM = 0x00; //设置COM时间
COMLENH = 0x00; //设置COM时间
如果LCD屏仍然无法显示,可以尝试调整这些参数,特别是COMLENL的值。
5. 硬件连接检查
引脚连接:确保LCD屏的引脚与单片机的SEG和COM引脚正确连接,并且没有接触不良或短路现象。
电源和地线:检查LCD屏的电源和地线连接是否稳定,确保电源电压在LCD屏的工作范围内。
6. 软件版本和硬件兼容性
软件版本:您当前的软件协议版本是V3.0: 7.4.5U,确保该版本支持内部低速IRC的使用。如果有更新的软件版本,建议升级到最新版本。
硬件版本:您的丝印版本是2308A551882B H+A 91842,确保该硬件版本与软件版本兼容。
7. 调试建议
逐步调试:建议逐步调试代码,先确保内部低速IRC能够正常启动并稳定运行,然后再配置LCD相关寄存器。
使用示波器:使用示波器检查内部低速IRC的输出频率,确保其稳定在32768Hz。
通过以上步骤,您应该能够解决内部低速IRC无法驱动LCD屏显示的问题。如果问题仍然存在,建议进一步检查硬件连接和软件配置,或联系STC技术支持获取更多帮助。
希望这些建议对您有所帮助,祝您顺利解决问题!
[本文内容由国芯人工智能辅助生成,仅供参考] 补充:
把系统时钟源分别设为内部IRC和外部32K晶振,用定时器控制LED,经过计时对比,内外两个32k频率几乎一致,排除内部时钟误差太大的可能。
+A是A版,不支持 DebugLab 发表于 2025-4-8 00:47
+A是A版,不支持
谢谢!请问哪里能买到B版本? DebugLab 发表于 2025-4-8 00:47
+A是A版,不支持
另外,官网商城里的客服也说“+A”是B版本。 idxwgueb 发表于 2025-4-8 09:16
谢谢!请问哪里能买到B版本?
可联系对应客服经理申请B版本样品测试
【免费 + 包邮 送】 送/申样/采购 可上班时间加 如下您对应地区的客服 QQ或微信联系
加STC华南区客服司经理QQ: 2234917869 ;微信:18012226298要求 【免费+包邮】 送, 还免费教仿真
加STC华南区客服刘经理QQ: 3398500488 ;微信:18106296592要求 【免费+包邮】 送, 还免费教仿真
加STC华南区客服佘经理QQ: 614777595; 微信:18106296591 要求 【免费+包邮】 送, 还免费教仿真
加STC华南区客服曹经理QQ: 1933892258 ;微信:18106296595 要求 【免费+包邮】 送, 还免费教仿真
加STC华东区客服聂经理QQ: 2593903262; 微信:18106296598要求 【免费+包邮】 送, 还免费教仿真
加STC华东区客服吴经理QQ: 1463035472; 微信:19952583954要求 【免费+包邮】 送, 还免费教仿真
加STC西北区客服孙经理QQ: 1347154513 ;微信:18106296593要求 【免费+包邮】 送, 还免费教仿真
加STC华北区客服石经理QQ: 1638975601 ;微信:19952583876要求 【免费+包邮】 送, 还免费教仿真
加STC华中区客服唐经理QQ:2571301708 ; 微信:18106296589 要求 【免费+包邮】 送, 还免费教仿真
加STC东北区客服李经理QQ: 1017142298 ;微信:19952583534要求 【免费+包邮】 送, 还免费教仿真
加STC西南区客服曹经理QQ: 3897745450 ;微信:18012226281 要求 【免费+包邮】 送, 还免费教仿真
加STC西南区客服吴经理QQ: 1463035472 ;微信:19952583954 要求 【免费+包邮】 送, 还免费教仿真
已确认:8H4K64TLCD +A版本应该只是在A版本基础上修复了休眠漏电流问题。B版本才增加了时钟源选择。
AI-32位8051 发表于 2025-4-8 13:56
已确认:8H4K64TLCD +A版本应该只是在A版本基础上修复了休眠漏电流问题。B版本才增加了时钟源选择。
明白了,感谢指点!
页:
[1]