newywx 发表于 2019-8-8 17:43:47

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

各位兄弟,用STC15W4K56S4接了一块带字库的ST7920驱动的LCD12864,显示字母和数字正确,显示汉字的时候有的字变成同音字了,而且还不是同一个同音字,比如我让12864显示以下四行汉字

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

实际显示变成下面这样的了,用的keil V5.11.2.0,之前根据论坛里提供的方法把有关0XFD的文件c51.exe和cx51.exe都用uedit自己编辑过了,有没有哪个兄弟碰到类似的问题的,实在不知道这个是什么原因造成的?

wye11083 发表于 2019-8-8 18:17:35

貌似你通信不稳吧。看上去是误码了。

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

建议你用示波器看看波形是不是毛刺太多。或者给信号线串个100R的小电阻。

shamiao 发表于 2019-8-8 18:24:15

系CFB5 洗CFB4 习CFB0
问CECA 稳CEC8 卫CEC0
显CFD4 闲CFD0
--------------------------------
最低一个字节漂了

newywx 发表于 2019-8-8 18:24:39

好的,我先找示波器看看,特意显示字幕和数字没看到有错

newywx 发表于 2019-8-8 18:29:23

shamiao 发表于 2019-8-8 18:24
系CFB5 洗CFB4 习CFB0
问CECA 稳CEC8 卫CEC0
显CFD4 闲CFD0


兄弟有心了,我按照2楼兄弟说的试试看

makesoft 发表于 2019-8-8 19:34:08

putchar() 函数写的有问题

newywx 发表于 2019-8-8 21:47:13

wye11083 发表于 2019-8-8 18:17
貌似你通信不稳吧。看上去是误码了。

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


刚才割线在LCD12864的8根数据线和几根控制线里都串了100欧姆电阻还是没有改变,明天再用示波器看看波形怎样

newywx 发表于 2019-8-8 21:47:58

makesoft 发表于 2019-8-8 19:34
putchar() 函数写的有问题

兄弟说来听听?

lswood 发表于 2019-8-8 22:38:49

你的c51编译器打汉字补丁了吗?就是By小琪那个。如果keil的c51遍一起不打汉字补丁,汉字编码就会有问题,st7920显示会错码。

lswood 发表于 2019-8-8 22:41:30

就是那个0xFD汉字补丁

newywx 发表于 2019-8-8 23:34:37

lswood 发表于 2019-8-8 22:41
就是那个0xFD汉字补丁

我是参照论坛里有的兄弟提出来的用UEDIT软件直接修改c51.exe和cx51.exe这2个文件来解决0xFD这个问题的,不知道怎么验证是否修改成功

lb0857 发表于 2019-8-9 08:18:01

0xFD汉字补丁和破解补丁都是一起打上滴一样重要

lj123456 发表于 2019-8-9 08:33:46

数据口加个滤波电容试试,

newywx 发表于 2019-8-9 08:35:25

lb0857 发表于 2019-8-9 08:18
0xFD汉字补丁和破解补丁都是一起打上滴一样重要

今天先量一下信号,然后再找一下这个补丁试试

newywx 发表于 2019-8-9 08:36:53

lj123456 发表于 2019-8-9 08:33
数据口加个滤波电容试试,

今天先量信号看看

makesoft 发表于 2019-8-9 08:58:22

你不贴程序和电路,谁能帮你猜出问题呢?

dadatou 发表于 2019-8-9 11:33:02

绝对是因为没有打C51的补丁。

newywx 发表于 2019-8-9 19:19:14

应该不是没打补丁的问题,下午特意找了补丁打了后还是一样,如2楼兄弟所言,用示波器看了有几个脚毛刺有点大,先临时加了103电容上去现在正常了,估计是板子布线不太好,等别的部分调试好到时重新排板看看,感谢楼上各位兄弟的回帖{:handshake:}

lswood 发表于 2019-8-9 19:37:07

newywx 发表于 2019-8-9 19:19
应该不是没打补丁的问题,下午特意找了补丁打了后还是一样,如2楼兄弟所言,用示波器看了有几个脚毛刺有点 ...

驱动st7920还用讲究布线?我拉一米多长的排线随便走接12864屏幕也没有出现这种情况,机器上5个步进电机也没干扰到屏幕。

newywx 发表于 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_();
好像是在其文档的某个附录里头,仅凭印象,懒得翻文档了。

newywx 发表于 2019-8-9 23:14:18

矩阵时间 发表于 2019-8-9 20:25
STC15 的有些操作后面建议加 _nop_();
好像是在其文档的某个附录里头,仅凭印象,懒得翻文档了。 ...

我找找看你说的这个,谢谢!

jssd 发表于 2019-8-9 23:21:19

没加外部上拉或者没开内部上拉电阻吧。默认的输入输出驱动比较弱,很容易受干扰。

newywx 发表于 2019-8-10 09:19:44

jssd 发表于 2019-8-9 23:21
没加外部上拉或者没开内部上拉电阻吧。默认的输入输出驱动比较弱,很容易受干扰。 ...

没上拉电阻的,端口设的是准双向口,有可能是这个原因,后面改板要加上去了{:handshake:}

小李非刀 发表于 2019-8-10 19:02:06

不是0xfd布丁问题,也不用串电阻、并电容。
先检查电源是否毛刺多,如果有毛刺,考虑先滤除。
如果是别的电路干扰了IO,就将IO设置为推挽输出。但要注意,读状态时bit7要设置回准双向口。
也要注意访问速度要符合7920的时序,黑白屏速度低。

注意合理排版,一点接地,去除干扰是治本方法。

newywx 发表于 2019-8-11 12:36:53

小李非刀 发表于 2019-8-10 19:02
不是0xfd布丁问题,也不用串电阻、并电容。
先检查电源是否毛刺多,如果有毛刺,考虑先滤除。
如果是别的电 ...

好的,我再好好检查一下
页: [1]
查看完整版本: LCD12864同样的汉字变成不同同音字的问题