LCD12864同样的汉字变成不同同音字的问题
各位兄弟,用STC15W4K56S4接了一块带字库的ST7920驱动的LCD12864,显示字母和数字正确,显示汉字的时候有的字变成同音字了,而且还不是同一个同音字,比如我让12864显示以下四行汉字"系统系统系统系统";
"系统显示问题多多";
"系统显示问题多多 ";
"系统系统系统系统";
实际显示变成下面这样的了,用的keil V5.11.2.0,之前根据论坛里提供的方法把有关0XFD的文件c51.exe和cx51.exe都用uedit自己编辑过了,有没有哪个兄弟碰到类似的问题的,实在不知道这个是什么原因造成的?
貌似你通信不稳吧。看上去是误码了。
汉字是区位码排列,同音字都在一块。
建议你用示波器看看波形是不是毛刺太多。或者给信号线串个100R的小电阻。
系CFB5 洗CFB4 习CFB0
问CECA 稳CEC8 卫CEC0
显CFD4 闲CFD0
--------------------------------
最低一个字节漂了 好的,我先找示波器看看,特意显示字幕和数字没看到有错 shamiao 发表于 2019-8-8 18:24
系CFB5 洗CFB4 习CFB0
问CECA 稳CEC8 卫CEC0
显CFD4 闲CFD0
兄弟有心了,我按照2楼兄弟说的试试看 putchar() 函数写的有问题 wye11083 发表于 2019-8-8 18:17
貌似你通信不稳吧。看上去是误码了。
汉字是区位码排列,同音字都在一块。
刚才割线在LCD12864的8根数据线和几根控制线里都串了100欧姆电阻还是没有改变,明天再用示波器看看波形怎样 makesoft 发表于 2019-8-8 19:34
putchar() 函数写的有问题
兄弟说来听听? 你的c51编译器打汉字补丁了吗?就是By小琪那个。如果keil的c51遍一起不打汉字补丁,汉字编码就会有问题,st7920显示会错码。 就是那个0xFD汉字补丁 lswood 发表于 2019-8-8 22:41
就是那个0xFD汉字补丁
我是参照论坛里有的兄弟提出来的用UEDIT软件直接修改c51.exe和cx51.exe这2个文件来解决0xFD这个问题的,不知道怎么验证是否修改成功 0xFD汉字补丁和破解补丁都是一起打上滴一样重要 数据口加个滤波电容试试, lb0857 发表于 2019-8-9 08:18
0xFD汉字补丁和破解补丁都是一起打上滴一样重要
今天先量一下信号,然后再找一下这个补丁试试 lj123456 发表于 2019-8-9 08:33
数据口加个滤波电容试试,
今天先量信号看看 你不贴程序和电路,谁能帮你猜出问题呢? 绝对是因为没有打C51的补丁。 应该不是没打补丁的问题,下午特意找了补丁打了后还是一样,如2楼兄弟所言,用示波器看了有几个脚毛刺有点大,先临时加了103电容上去现在正常了,估计是板子布线不太好,等别的部分调试好到时重新排板看看,感谢楼上各位兄弟的回帖{:handshake:} newywx 发表于 2019-8-9 19:19
应该不是没打补丁的问题,下午特意找了补丁打了后还是一样,如2楼兄弟所言,用示波器看了有几个脚毛刺有点 ...
驱动st7920还用讲究布线?我拉一米多长的排线随便走接12864屏幕也没有出现这种情况,机器上5个步进电机也没干扰到屏幕。 lswood 发表于 2019-8-9 19:37
驱动st7920还用讲究布线?我拉一米多长的排线随便走接12864屏幕也没有出现这种情况,机器上5个步进电机也 ...
我也搞不懂,以前用STC12的驱动过LCD2004也是随便布的线都没问题,这次用STC15驱动这个12864就出现这样的问题 STC15 的有些操作后面建议加 _nop_();
好像是在其文档的某个附录里头,仅凭印象,懒得翻文档了。 矩阵时间 发表于 2019-8-9 20:25
STC15 的有些操作后面建议加 _nop_();
好像是在其文档的某个附录里头,仅凭印象,懒得翻文档了。 ...
我找找看你说的这个,谢谢! 没加外部上拉或者没开内部上拉电阻吧。默认的输入输出驱动比较弱,很容易受干扰。 jssd 发表于 2019-8-9 23:21
没加外部上拉或者没开内部上拉电阻吧。默认的输入输出驱动比较弱,很容易受干扰。 ...
没上拉电阻的,端口设的是准双向口,有可能是这个原因,后面改板要加上去了{:handshake:} 不是0xfd布丁问题,也不用串电阻、并电容。
先检查电源是否毛刺多,如果有毛刺,考虑先滤除。
如果是别的电路干扰了IO,就将IO设置为推挽输出。但要注意,读状态时bit7要设置回准双向口。
也要注意访问速度要符合7920的时序,黑白屏速度低。
注意合理排版,一点接地,去除干扰是治本方法。 小李非刀 发表于 2019-8-10 19:02
不是0xfd布丁问题,也不用串电阻、并电容。
先检查电源是否毛刺多,如果有毛刺,考虑先滤除。
如果是别的电 ...
好的,我再好好检查一下
页:
[1]