amoBBS 阿莫电子论坛

 找回密码
 注册
搜索
bottom↓
查看: 615|回复: 25

LCD12864同样的汉字变成不同同音字的问题

[复制链接]
发表于 2019-8-8 17:43:47 | 显示全部楼层 |阅读模式
各位兄弟,用STC15W4K56S4接了一块带字库的ST7920驱动的LCD12864,显示字母和数字正确,显示汉字的时候有的字变成同音字了,而且还不是同一个同音字,比如我让12864显示以下四行汉字

"系统系统系统系统";
"系统显示问题多多";
"系统显示问题多多 ";
"系统系统系统系统";

实际显示变成下面这样的了,用的keil V5.11.2.0,之前根据论坛里提供的方法把有关0XFD的文件c51.exe和cx51.exe都用uedit自己编辑过了,有没有哪个兄弟碰到类似的问题的,实在不知道这个是什么原因造成的?
12864.jpg
发表于 2019-8-8 18:17:35 | 显示全部楼层
貌似你通信不稳吧。看上去是误码了。

汉字是区位码排列,同音字都在一块。

建议你用示波器看看波形是不是毛刺太多。或者给信号线串个100R的小电阻。
发表于 2019-8-8 18:24:15 | 显示全部楼层
系CFB5 洗CFB4 习CFB0
问CECA 稳CEC8 卫CEC0
显CFD4 闲CFD0
--------------------------------
最低一个字节漂了
 楼主| 发表于 2019-8-8 18:24:39 | 显示全部楼层
好的,我先找示波器看看,特意显示字幕和数字没看到有错
 楼主| 发表于 2019-8-8 18:29:23 | 显示全部楼层
shamiao 发表于 2019-8-8 18:24
系CFB5 洗CFB4 习CFB0
问CECA 稳CEC8 卫CEC0
显CFD4 闲CFD0

兄弟有心了,我按照2楼兄弟说的试试看
发表于 2019-8-8 19:34:08 来自手机 | 显示全部楼层
putchar() 函数写的有问题
 楼主| 发表于 2019-8-8 21:47:13 | 显示全部楼层
wye11083 发表于 2019-8-8 18:17
貌似你通信不稳吧。看上去是误码了。

汉字是区位码排列,同音字都在一块。

刚才割线在LCD12864的8根数据线和几根控制线里都串了100欧姆电阻还是没有改变,明天再用示波器看看波形怎样
 楼主| 发表于 2019-8-8 21:47:58 | 显示全部楼层
makesoft 发表于 2019-8-8 19:34
putchar() 函数写的有问题

兄弟说来听听?
发表于 2019-8-8 22:38:49 来自手机 | 显示全部楼层
你的c51编译器打汉字补丁了吗?就是By小琪那个。如果keil的c51遍一起不打汉字补丁,汉字编码就会有问题,st7920显示会错码。
发表于 2019-8-8 22:41:30 来自手机 | 显示全部楼层
就是那个0xFD汉字补丁
 楼主| 发表于 2019-8-8 23:34:37 | 显示全部楼层
lswood 发表于 2019-8-8 22:41
就是那个0xFD汉字补丁

我是参照论坛里有的兄弟提出来的用UEDIT软件直接修改c51.exe和cx51.exe这2个文件来解决0xFD这个问题的,不知道怎么验证是否修改成功
发表于 2019-8-9 08:18:01 | 显示全部楼层
0xFD汉字补丁  和破解补丁都是一起打上滴  一样重要
发表于 2019-8-9 08:33:46 | 显示全部楼层
数据口加个滤波电容试试,
 楼主| 发表于 2019-8-9 08:35:25 | 显示全部楼层
lb0857 发表于 2019-8-9 08:18
0xFD汉字补丁  和破解补丁都是一起打上滴  一样重要

今天先量一下信号,然后再找一下这个补丁试试
 楼主| 发表于 2019-8-9 08:36:53 | 显示全部楼层
lj123456 发表于 2019-8-9 08:33
数据口加个滤波电容试试,

今天先量信号看看
发表于 2019-8-9 08:58:22 | 显示全部楼层
你不贴程序和电路,谁能帮你猜出问题呢?
发表于 2019-8-9 11:33:02 | 显示全部楼层
绝对是因为没有打C51的补丁。
 楼主| 发表于 2019-8-9 19:19:14 | 显示全部楼层
应该不是没打补丁的问题,下午特意找了补丁打了后还是一样,如2楼兄弟所言,用示波器看了有几个脚毛刺有点大,先临时加了103电容上去现在正常了,估计是板子布线不太好,等别的部分调试好到时重新排板看看,感谢楼上各位兄弟的回帖
发表于 2019-8-9 19:37:07 来自手机 | 显示全部楼层
newywx 发表于 2019-8-9 19:19
应该不是没打补丁的问题,下午特意找了补丁打了后还是一样,如2楼兄弟所言,用示波器看了有几个脚毛刺有点 ...

驱动st7920还用讲究布线?我拉一米多长的排线随便走接12864屏幕也没有出现这种情况,机器上5个步进电机也没干扰到屏幕。
 楼主| 发表于 2019-8-9 20:13:57 | 显示全部楼层
lswood 发表于 2019-8-9 19:37
驱动st7920还用讲究布线?我拉一米多长的排线随便走接12864屏幕也没有出现这种情况,机器上5个步进电机也 ...

我也搞不懂,以前用STC12的驱动过LCD2004也是随便布的线都没问题,这次用STC15驱动这个12864就出现这样的问题
发表于 2019-8-9 20:25:34 | 显示全部楼层
STC15 的有些操作后面建议加 _nop_();
好像是在其文档的某个附录里头,仅凭印象,懒得翻文档了。
 楼主| 发表于 2019-8-9 23:14:18 | 显示全部楼层
矩阵时间 发表于 2019-8-9 20:25
STC15 的有些操作后面建议加 _nop_();
好像是在其文档的某个附录里头,仅凭印象,懒得翻文档了。 ...

我找找看你说的这个,谢谢!
发表于 2019-8-9 23:21:19 来自手机 | 显示全部楼层
没加外部上拉或者没开内部上拉电阻吧。默认的输入输出驱动比较弱,很容易受干扰。
 楼主| 发表于 2019-8-10 09:19:44 | 显示全部楼层
jssd 发表于 2019-8-9 23:21
没加外部上拉或者没开内部上拉电阻吧。默认的输入输出驱动比较弱,很容易受干扰。 ...

没上拉电阻的,端口设的是准双向口,有可能是这个原因,后面改板要加上去了
发表于 2019-8-10 19:02:06 | 显示全部楼层
不是0xfd布丁问题,也不用串电阻、并电容。
先检查电源是否毛刺多,如果有毛刺,考虑先滤除。
如果是别的电路干扰了IO,就将IO设置为推挽输出。但要注意,读状态时bit7要设置回准双向口。
也要注意访问速度要符合7920的时序,黑白屏速度低。

注意合理排版,一点接地,去除干扰是治本方法。
 楼主| 发表于 2019-8-11 12:36:53 | 显示全部楼层
小李非刀 发表于 2019-8-10 19:02
不是0xfd布丁问题,也不用串电阻、并电容。
先检查电源是否毛刺多,如果有毛刺,考虑先滤除。
如果是别的电 ...

好的,我再好好检查一下
友情提示:标题不合格、重复发帖,将会被封锁ID。详情请参考:论坛通告:封锁ID、获得注册邀请码、恢复被封ID、投诉必读
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|阿莫电子论坛(原ourAVR/ourDEV) ( 公安备案:44190002001997(交互式论坛) 工信部备案:粤ICP备09047143号 )

GMT+8, 2019-9-15 18:50

阿莫电子论坛, 原"中国电子开发网"

© 2004-2018 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表