每天都有先发现! 代码很详细! 代码非常详细! 有代码说的不明白的, 可以回帖交流!
KEIL 使用过程中遇到的问题及解决办法
1、keil 代码与其他文本文件(txt、word 等)互相复制粘贴中文变成乱码
这个问题很常见,比如从keil 复制粘贴到文本文件
keil 中的内容:
复制到文本文件之后的内容:
这给我们带来了很大的麻烦,比如我将字模中的内容复制到keil 中,出现乱码我就得挨个去修改;比如我写论文,代码复制到word 中我需要对汉字变成的乱码一个个修改!
解决措施:
打开keil ---> Edit ---> Configuration --->Encoding 修改为Chinese GB2312
2、*** FATAL ERROR L250: CODE SIZE LIMIT IN RESTRICTED VERSION EXCEEDED 提示在使用过程中发现两个问题,第一,未注册软件的2K 代码限制;第二,软件注册后依旧 2K 代码限制!
我们看到:code=2264,使用代码量(2K 比例)106%。
意思就是说你的软件有2K 代码限制,首先我们需要破解软件。具体的网上很多资料,不多说。
问题是破解之后发现还是没法生成hex 文件,造成上述情况的原因是:这个项目
(project)是在之前还没有破解时建立的,因此project 目录下的.obj 文件中记录了这个项目有代码长度限制。因此即使用破解版去编译这个项目,Keil 依然认为存在代码长度限制。
解决措施:
Project --> Clean target --> Rebuild all target files
问题解决!
16管脚LCD12864液晶汉字、数字、英文大小写字母、常用符号混合显示单片机源程序如下:
- /*****************************************************/
- /* NAME : 16管脚LCD12864液晶模块字符显示 (汉字、数字、英文大小写字母)
- /* MCU : STC89C51
- /* 晶振 :11.0592MHz
- /* 接线 : D0~D7 ---- P0.0~P0.7
- /* CS ---- P3.2
- /* RESET ---- P3.3
- /* RD ---- P2.5
- /* RS ---- P2.6
- /* WR ---- P2.7
- /* 说明 : 1、因为16管脚的LCD12864很少见,也很少用到,网上资料也比较少比较杂,对新手来说容易
- 造成比较大的误导,因此首先不建议用这个液晶模块,20管脚的液晶使用比较广泛,建议
- 使用20管脚的。
- 2、使用该液晶的应该大多数人是从普中科技的开发板中得到的硬件模块以及参考代码,因此
- 考虑使用的兼容性我们尽量保证了代码引脚跟原版代码一致,在引脚上面修改了两个名称。
- 第一改"RW"为"WR",因为液晶模块上面丝印标注是"WR"。第二改"RSET"为"RESET",跟模块丝印
- 标注保持一致。模块于单片机的引脚对应上面没有作变更,保持跟原来一致,以方便新手借用
- 51开发板直接插上液晶使用(细致程度我自己都怕!);
- /*****************************************************/
- #include<reg51.h>
- #include"st7565.h"
- void Delay10ms(unsigned int c);
- void main()
- {
- uchar i;
- Lcd12864_Init();
- Lcd12864_ClearScreen();
- while (1)
- {
- //效果 :四行按照不同字序显示"液晶显示文字测试"八个字
- Lcd12864_ClearScreen();
- Lcd12864_ChineseDisplay(0, 0, "?晶显示文字测试");
- Lcd12864_ChineseDisplay(2, 0, ":测字文示显晶液");
- Lcd12864_ChineseDisplay(4, 0, "?示文字测试液晶");
- Lcd12864_ChineseDisplay(6, 0, ":字显示液晶测试"); //符号的中英文有区别
- Delay10ms(200); //不能删除,如删除会出现文字清屏不彻底导致留尾巴
- //效果 :四行动态显示"液晶显示文字测试"八个字
- for (i=0; i<8; i += 2)
- {
- Lcd12864_ClearScreen();
- Lcd12864_ChineseDisplay(i, 0, "液晶显示文字测试");
- Delay10ms(60);
- }
- //效果 :阿拉伯数字显示、大小写英文字母显示
- Lcd12864_ClearScreen();
- Lcd12864_CharDisplay(0, 0, "0123456789ABCDEF");
- Lcd12864_CharDisplay(2, 0, "abcdefghijklmnop");
- Lcd12864_CharDisplay(4, 0, ":qrstuvwxyzGHIJK");
- Lcd12864_CharDisplay(6, 0, "?LMNOPQRSTUVWXYZ");
- Delay10ms(600);
- }
- }
- /************************************************************
- * 函 数 名 : Delay10ms
- * 函数功能 : 延时函数,延时10ms
- *************************************************************/
- ……………………
- …………限于本文篇幅 余下代码请从51黑下载附件…………
复制代码
所有资料51hei提供下载:
KEIL使用过程中遇到的问题及解决办法 16管脚LCD12864液晶汉字、数字、英文大小写字母.rar
(285.98 KB, 下载次数: 52)
|