Keil UV3一直存在汉字显示(0xFD)的bug,以前在用到带字库的12864液晶的时候,“数”字总是不能正常显示,后来有网友告诉我这是keil的bug,解决掉了。后来keil升级了,我也换了新版本Keil UV4,把Keil UV3存在汉字显示bug的这个问题给忘记了,最近又用到12864液晶,发现Keil UV4编译出来的程序还是不能正常显示“数”字,又去查了一遍液晶说明书里的字库,发现里面有“数”字,突然想起来Keil UV3的bug,然后照以前的办法修改了Keil UV4的bug,现在显示正常了。
  在这里给大家提个醒,Keil升级成UV4了,但是UV3的bug却遗留着,有用到带字库的液晶,赶紧去把这个问题解决掉!
  解决办法:用十六进制编辑软件HexEdit打开Keil安装目录/keil/c51/bin/c51.exe,搜索80FBFD,改为80FBFF即可。

  编译器没有修改之前不能正常显示

  修改了bug显示正常了

“三”的机内码是C8FD,“数”的机内码是CAFD,“过”的机内码是B9FD,我试过了,只要是机内码后两位是FD的都不能显示,修改了bug就可以了。
没有修改bug三不能显示 (原文件名:图片_0~1.JPG)


修改了bug显示正常了 (原文件名:图片_0~1.JPG) 
在此我也把ST7920的说明书上传,可以查看一下汉字机内码表st7920中文数据手册.pdfourdev_671134YUMHPO.pdf(文件大小:1.64M)

这个问题早就遇到过。是编译器的问题。
点击此处下载 ourdev_673840SD8X3K.rar(文件大小:10K) (原文件名:ccKeilVxx.rar)

将文件解压后放入keil/c51/bin文件夹运行即可。

keil 不认为是bug

http://www.keil.com/support/docs/2618.htm

我现在已经不打补丁了,免得出个新版本不支持,写的时候避免吧

用内码代替,即例如
printf ("Hello World \xca\xfd \n"); /* Print "Hello World 数" */

下面的是来自Keil官方的解决方法

http://www.keil.com/support/docs/2618.htm

GENERAL: COMPILER IGNORES 0XFD, 0XFE, 0XFF VALUES IN STRINGS

Information in this article applies to:

* C166 Compiler All Versions
    * Cx51 Compiler All Versions
    * C251 Compiler All Versions

QUESTION

I have a problem with the interpretation of Russian strings in the Keil C51 compiler. Some Russian characters are using the encoding 0xFD. It looks like this encoding is ignored by the compiler and is not included in the program code.

Example:

code char RussianString[] = "??? ????";

Why does this problem exist and how can I avoid this behavior?
ANSWER

The character encodings 0xFD, 0xFE, and 0xFF are used internally by the C compiler. The ANSI standard only requires support for ASCII characters in the range 0x00 - 0x7F.

You may insert these characters by using HEX encodings in the string as follows:

code char RussianString[] = "My Text" "\xFD";

A simple text replacement which replaces all 0xFD characters with the string '" "\xFD' should do the job.

对于这个BUG建议还是不要修改软件,因为不确定在某些特定条件下是否会引起莫名奇妙的其他问题,而且涉及到这个BUG的汉字不多,下面是从GB2312中抽了出来:

褒 饼 昌 除 待 谍 洱 俘 庚 过

糊 积 箭 烬 君 魁 例 笼 慢 谬

凝 琵 讫 驱 三 升 数 她 听 妄

锡 淆 旋 妖 引 育 札 正 铸

佚 冽 邶 埤 荦 蔟 摭 啐 帻 猃

恺 泯 潺 妪 纨 琮 椠 辇 挲 臊

忑 睚 铨 稞 瘕 颀 螨 簖 酏 觚

鳊 鼾

碰到这些字,建议手动处理一下就好了!

Keil UV4 BUG(带字库液晶不能显示“数、正、过”问题的请看)的更多相关文章

  1. 单片机中不带字库LCD液晶屏显示少量汉字

    单片机中不带字库LCD液晶屏如何显示少量汉字,一般显示汉字的方法有1.使用带字库的LCD屏,2.通过SD 卡或者外挂spi flash存中文字库,3.直接将需要的汉字取模存入mcu的flash中. 第 ...

  2. STM32实战应用(一)——1602蓝牙时钟1液晶的显示测试

    前言 从51到STM32F4学习这么久了,总算找到点头绪了,目前学习了GPIO,中断,定时器,看门狗的基本使用,所以想试着看看能不能做个什么东西,就是想复习一下最近学习的知识.正好上学期单片机课程设计 ...

  3. AC日记——【模板】分块/带修改莫队(数颜色) 洛谷 P1903

    [模板]分块/带修改莫队(数颜色) 思路: 带修改莫队: (伏地膜xxy): 代码: #include <bits/stdc++.h> using namespace std; #defi ...

  4. 莫队 [洛谷2709] 小B的询问[洛谷1903]【模板】分块/带修改莫队(数颜色)

    莫队--------一个优雅的暴力 莫队是一个可以在O(n√n)内求出绝大部分无修改的离线的区间问题的答案(只要问题满足转移是O(1)的)即你已知区间[l,r]的解,能在O(1)的时间内求出[l-1, ...

  5. 嵌入式Qt4.8.0支持ttf字库,并显示中文

    引言 最近在做QT项目发现中文没法显示,于是百度QT嵌入式显示中文,基本上提示的都是把ttf字库转换为QPF(QT专门支持二进制的),发现这个qpf本身制作就很麻烦,按照网上的做法实实在在来了一边,发 ...

  6. 使用opencv调用24*24点阵字库和8*16ASCII字库在图片显示文字数字

    课程实验:编程读汉字点阵字库,把自己的名字和学号叠加到图片的右下位置. 主要步骤分为三部分 第一部分:读取图片(文件读取) 第二部分:读取文字并从字库中提取相应的编码(字库的存储原理) 第三部分:将相 ...

  7. bug -- android 7.0 popwindow显示位置异常情况解决

    android 7.0 popwindow显示位置异常,在android7.1官方进行解决了,但是还是要多7.0的bug进行解决,我的解决方案里面通过重写popwindow进行适配: import a ...

  8. 51单片机 | 实现SMC1602液晶屏显示实例

    ———————————————————————————————————————————— LCD1602 - - - - - - - - - - - - - - - - - - - - - - - - ...

  9. keil uV4一个project内各个后缀名文件的作用

    1 test1 无后缀文件,这个是终于生成的文件.仅仅要有这个文件KEIL就能够软件仿真,不能打开 2 test1.hex 这个文件能够直接下载到单片机里,他就是从无后缀文件test1里提取的,去掉了 ...

随机推荐

  1. LeetCode_Convert Sorted Array to Binary Search Tree

    Given an array where elements are sorted in ascending order, convert it to a height balanced BST. /* ...

  2. 正确地黑C

    转载:http://tieba.baidu.com/p/3190068223?pn=1 本版暂时当作提纲,不做详细展开讨论,以后可能更新. 注意:本文主旨不是政治正确. 1.设计C的设计相对于同期来说 ...

  3. impala编译

    impala编译 编译系统centos 5.10 说明:版本1.3.x----2.1.x都能编译 一.预装库 1.gcc安装 yum install gcc44 yum install gcc44-c ...

  4. C++按值和按址传递对象的思考和优化

    C++是一门面向对象(OOP)编程语言,在这门语言中也有函数,函数的参数可以是变量数值,当然也可以是对象.所以,传统地就有关于对象是按值传递还是按址传递的讨论. 在C语言中,按值传递在很多情况下可以出 ...

  5. JQuery 补充

    筛选: expr         String 字符串值,包含供匹配当前元素集合的选择器表达式. jQuery      objectobject 现有的jQuery对象,以匹配当前的元素. elem ...

  6. Lua Table 操作

    Lua中table类似与C#种的字典,其实就是一个key-value键值对数据结构.来学习下table基本操作 Table的创建 myTable = {} --表名后面使用{}赋值,表示一个空的表 m ...

  7. 在Maven的配置文件中,自定义私有仓库地址和设置下载的jar包的保存位置

    在Maven的settings.xml,可以设置Maven的私有仓库的地址,还可以设置所下载jar包在自己电脑的保存地址(默认不设置保存在个人文件夹的.m2文件夹下). 1.设置私有仓库地址: < ...

  8. Unity 定时开启/关闭外部应用

    自从加入工作的队伍里,博客都荒废了,今天周末,难得清静,写篇博客!刚才看到了Process类,随手写了个小demo.给大家分享下! 首先大家要对Process类有一些简单的了解,参考资料:https: ...

  9. iOS:UI系列之UINavigationController

    又到了总结的时间了,突然间感觉时间过得好快啊, 总觉的时间不够用,但是这也没办法啊, 只有自己挤时间了,虽然是零基础,但是这并不能代表什么啦,只要努力,收获总还是有的, 同时我也相信广大的博友肯定也有 ...

  10. MySQL 触发器的定义

    -- Insert DELIMITER $$ USE `testdatabase`$$ DROP TRIGGER /*!50032 IF EXISTS */ `Trigger_XXX_INSERT`$ ...