解决Keil的OxFD_BUG

Keil BUG 汉字显示

Keil的OXFD BUG,12864液晶显示汉字问题,0xFD补丁。

最近写个12864液晶程序,采用索引查表的方式显示汉字,遇到了有些字乱码的情况,仔细检查最终查到了凡是汉字内码低位为FD的均会出现乱码,遂联想到了Keil的oxFD BUG,以前最早用Keil2的时候就听说过,没想到到了Keil4这个问题依然存在,所以开始没有太在意。数据表如下:

struct typFNT_GB16 code GB_16[] = 
{

"元",
0x00,0x20,0x20,0x22,0x22,0xE2,0x22,0x22,0x22,0xE2,0x22,0x22,0x22,0x20,0x20,0x00,
0x00,0x40,0x20,0x10,0x0C,0x03,0x00,0x00,0x00,0x3F,0x40,0x40,0x40,0x40,0x70,0x00,//元

"能",
0x10,0xB8,0x97,0x92,0x90,0x94,0xB8,0x10,0x00,0x7F,0x48,0x48,0x44,0x74,0x20,0x00,
0x00,0xFF,0x0A,0x0A,0x4A,0x8A,0x7F,0x00,0x00,0x3F,0x44,0x44,0x42,0x72,0x20,0x00,//能

"正",
0x00,0x02,0x02,0xC2,0x02,0x02,0x02,0x02,0xFE,0x82,0x82,0x82,0x82,0x82,0x02,0x00,
0x20,0x20,0x20,0x3F,0x20,0x20,0x20,0x20,0x3F,0x20,0x20,0x20,0x20,0x20,0x20,0x00,//正

"源",
0x10,0x21,0x06,0xE0,0x00,0xFE,0x02,0xF2,0x5A,0x56,0x52,0x52,0x52,0xF2,0x02,0x00,
0x04,0xFC,0x03,0x40,0x30,0x0F,0x20,0x11,0x4D,0x81,0x7F,0x01,0x05,0x09,0x30,0x00,//源
};
调用时:show_HZ(0,0,"元正能源");“元”字以后的汉字均乱码,查看“正”字的内码为D5FD.验证一下这几个内码低位为FD的汉字:“妪,听”。经证实均会出现乱码。由于BUG,编译的时候FD变成了00,所以就乱码了。

解决:

1.使用HexEditor编辑Keil安装目录下的/keil/c51/bin/c51.exe文件,搜索80FBFD改成80FBFF,如果使用汇编则修改A51.exe.
2.使用晓奇工作室出品的补丁程序ccKeilVxx.exe。下载后放在/keil/c51/bin/目录下运行即可。

KeilC51 0xFD BUG补丁 ccKeilVxx.exe下载

0
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值