做一块自带5110英文字库的单片机(程序中不需要字库代码)
最近看了看STC的PDF,上面的资源比传统51要多些,比如自带的RAM扩展,内部EEPROM等但是好像都不太常用。忽然想到可以利用一下内部的EEPROM,把NOKIA5110液晶的英文字库写到
里面去,程序里面就不需要在写字库数据了!哈哈,貌似不错的想法。
用了两个小时的时间终于做成功了,哈哈,还相当不错(自我感觉良好 (^-^) ),上传给大家参考参考。
先说思路:
1.先写一个程序(对EEPROM操作的程序),把字库数据写到EEPROM中保存起来(当然具体位置我们应该要清楚)。
2.修改原来5110中写字符的函数,字模数据来自EEPROM中,去掉原程序中的字库数据。
其实还是蛮简单的哈!
先看几张图咯:
http://cache.amobbs.com/bbs_upload782111/files_24/ourdev_521425.jpg
(原文件名:2.jpg)
http://cache.amobbs.com/bbs_upload782111/files_24/ourdev_521426.jpg
(原文件名:3.jpg)
http://cache.amobbs.com/bbs_upload782111/files_24/ourdev_521427.jpg
(原文件名:4.jpg)
http://cache.amobbs.com/bbs_upload782111/files_24/ourdev_521428.jpg
写入EEPROM中的字库数据 (原文件名:5.jpg)
源程序如下:
两个程序都在里面ourdev_521423.rar(文件大小:284K) (原文件名:STC自带5110字库.rar)
(WR_EEPROM文件夹为写eeprom的程序(该程序实现把5110英文字库的数据写到单片机内部eeprom中),先把该程序下载到单片机,用串口依次发送命令:"X#commd""W#commd""R#commd",把字库数据写到eeprom中,5110字库即永久保存在单片机内,这就是一块自带英文字库的单片机啦!
然后再烧写EEPROM_ZIKU文件夹内的程序即可。
**此程序用的单片机为STC89C52RC,如用STC其他型号单片机则应修改相应的eeprom地址(因为不同的信号EEPROM地址不同,具体见
STC的PDF手册)) 感觉会更麻烦,还不入程序里带字库方便, 回复【1楼】soulcoffee 崔超
-----------------------------------------------------------------------
不麻烦,还省ROM。其实更重要的是学会了对STCEEPROM的操作。 呵呵,纯属个人想法哈! //**********************************************************************
// NOKIA5110_w_char: 显示英文字符
// 输入参数:c :显示的字符;
//**********************************************************************
void NOKIA5110_w_char(unsigned char c)
{
unsigned char i;
unsigned int addr;
addr = (c-32)*5; // 字模在eeprom的地址
NOKIA5110_w_byte(0,1); // 第一列为空白
for( i=0;i<5;i++ )
{
STC_EEPROM_R(addr+i); // 从eeprom中读出字模数据
NOKIA5110_w_byte(ep_data,1);// 向LCD写如数据
}
}
//**********************************************************************
// NOKIA5110_w_char_string: 英文字符串显示函数
// 输入参数:*s :英文字符串指针;
// X、Y : 显示字符串的位置,x 0-83 ,y 0-5
//**********************************************************************
void NOKIA5110_w_char_string(unsigned char X,unsigned char Y,char *str)
{
NOKIA5110_set_XY(X,Y);
while (*str)
{
NOKIA5110_w_char(*str);
str++;
}
}
#endif mark mark 强烈关注,顶~~~ mark,顶一下。 非常好! 这个比较感兴趣 想法不错,赞一个。 能做个简易的汉子字库吗? 回复【12楼】qq635274216
-----------------------------------------------------------------------
可以,就是单片机的存储空间不够,一个12X12的中文字库要190K,16X16的要255K。
不过可以放到一个1MByte 的 NOR Flash中,还可以存放好几种字体。 有英文也不错了.谢谢楼主! 看下学习了。 谢谢分享 标记下 MARK 楼主做一个16x16 字库嘛好做一个 12x12的字库
同时要有粗体和正常两种
大小不用担心 外扩 eeprom 撒
./emotion/em131.gif mark 这个不错,靠谱!!
页:
[1]