单片机到手(PS:编译软件,ISP下载软件提前两天都开始待命了),迫不及待地更新了程序,通过USB接口和复位键,ISP下载实在是太方便了。重启单片机-调整时间-OK,本应该显示“星期三”,却只显示了“星期 ”(昨天5月13日 星期三),程序错了?不会啊,跟星期显示相关的程序不过几十行,关键只有几行,反复检查没有问题。后来发现问题出在‘三’上,液晶屏怎么也显示不了‘三’,液晶屏不会有问题吧。于是写了一个最简单的显示程序,只显示一个汉字,反反复复试验,发现不只是‘三’凡是ASCII码中包含0xFD的都不行,仔细研究了hex文件后,加上0xFD,液晶显示正常。问题终于确定出在Keil这个大神身上。
百度Keil 0xFD ,原来这是一个早已臭名昭著的Bug,可已经折腾我这个新手好四个小时,费这么大劲!
解决方法两个:
①下个晓奇工作室出的补丁,自己搜一下。
②用十六进制编辑软件如HexEdit打开c51.exe,搜索80FBFD,改为80FBFF即可。
c51.exe位置:Keil安装目录/keil/c51/bin/c51.exe
我用第二种方法,向提供方法的前辈们致敬!此时已经是5月14日凌晨两点了,赶快休息!
注:绕了这么大一圈,起床后决定把它记录下来。这个过程也是很有收获的,如知道了‘Hex文件校验和’的算法,自己以后可以对Hex文件进行简单的修改了,等……
文章评论(0条评论)
登录后参与讨论