当前位置:首页 > 技术心得 > 正文内容

Keil C51某些汉字不显示bug解决

xjtudll12年前 (2014-10-13)技术心得17610

这个问题是在用ST7920 LCD 12864时发现的,“星期三”中的“三”字显示不出来。经查,发现是Keil编译器的问题,编译器在编译汉字时会将汉字内码0xFD给过滤掉,导致汉字显示不正常。

一、直接用汉字编码

如果直接用编码则不会有这个问题。例如,“三”用0xc8,0xfd代替。

举例如下:

code const unsigned char week_ch[7][6]=

{

{"星期日"},

{"星期一"},

{"星期二"},

{"星期三"},

{"星期四"},

{"星期五"},

{"星期六"}

};

如果直接编译,星期三肯定显示不正常。这个时候可以直接用编码。

code const uchar week_ch[7][6]=

{

{0xD0,0xC7,0xC6,0xDA,0xC8,0xD5},

{0xD0,0xC7,0xC6,0xDA,0xD2,0xBB},

{0xD0,0xC7,0xC6,0xDA,0xB6,0xFE},

{0xD0,0xC7,0xC6,0xDA,0xC8,0xFD},

{0xD0,0xC7,0xC6,0xDA,0xCB,0xC4},

{0xD0,0xC7,0xC6,0xDA,0xCE,0xE5},

{0xD0,0xC7,0xC6,0xDA,0xC1,0xF9}

};

编码可以在LCD模块的使用手册里找到,也可以在ST7920 datasheet里找到。

clip_image002




二、给keil打补丁

针对keil的汉字编译bug,已有网友(晓奇工作室)做了补丁。

下载地址:http://www.greenxf.com/soft/40975.html

若地址失效,请百度or google搜索“Keil C51汉字修复”。

补丁使用办法:

1、关闭Keil,将exe文件拷贝到 \Keil\C51\BIN

clip_image004

2、运行exe文件,打开后点“start”,等待即可。

clip_image006


3、重启Keil

经试验,该补丁对Keil 4有效。

还有人说,用十六进制编辑软件如Ultraedit打开c51.exe,搜索80FBFD,改为80FBFF即可。这个方法我没有尝试。

c51.exe位置:Keil安装目录/keil/c51/bin/c51.exe”。

扫描二维码推送至手机访问。

版权声明:本文由鸟的天空发布,如需转载请注明出处。

本文链接:http://xjtudll.cn/Exp/340/

标签: keil
分享给朋友:

“Keil C51某些汉字不显示bug解决” 的相关文章

金蝶K3单据编码规则扩展方法解密

金蝶K3单据编码规则扩展方法解密

https://baijiahao.baidu.com/s?id=1603718041512798752&wfr=spider&for=pc 在实施客户过程中,客户对单据编码规则提了一些简单的需求: 需求一:内贸订单和外贸订单希望能够通过前缀编码来区分。 需求二:系统订单编码规则为&...

二极管主要技术参数

描述二极管特性的物理量称为二极管的参数,它是反映二极管电性能的质量指标,是合理选择和使用二极管的主要依据。 1、电气参数 (1)正向压降VF VF:Forward Voltage,正向压降。是二极管在规定正向电流IF规定结温Tj下的正向电压。 (2)反向电流IR IR:Reverse Cu...

430仿真器安装驱动提示INF找不到所需的段落

430仿真器安装驱动提示INF找不到所需的段落

在安装msp430 USB仿真器驱动程序时,出现问题:在inf中找不到所需段落。 打开setupapi.log(windows目录下)一看,发现是找不到 [ClassInstall32] 段。 找到原因,就知道如何解决了。解决方法如下 1、打开UIF的驱动程序,其下有2个INF文档,umpusb...

Xcode Warning: The Copy Bundle Resources build phase contains this target's Info.plist file

Xcode Warning: The Copy Bundle Resources build phase contains this target's Info.plist file

问题: 编译时,提示The Copy Bundle Resources build phase contains this target's Info.plist file 原因: Info.plist被添加到了Copy Bundle Resources里,原因不明。如图所示: 解决...

navigationController的pushViewController无效问题

参考资料:http://www.cocoachina.com/ask/questions/show/52842 我觉得这个问题很有代表性,尤其是小白,所以将重点内容摘抄过来了。 问题及操作过程: 1、新建一个 single View Application,会自动给我生成一个带xib的文件,就是默认...

如何扩展SyntaxHighlighter

    在做这个工作之前,你需要对JavaScript有比较深入的了解,尤其需要熟悉正则表达式。如果网络已经存在你需要拓展的加亮库,那就不用自己搞了,直接选用。另外,如果你需要拓展的语言跟已经存在的加亮库类似,那么可以修改它。比如,C51是在C上扩展而成,所以我们可以选...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。