6398|8

1297

帖子

2

TA的资源

纯净的硅(中级)

楼主
 

【一起玩MicroPython】03 LCD5110驱动与8*8 ascii字体。 [复制链接]

 
都是摸着石头过河,请高手指点。@allankliu

显示选用常见的LCD5110,主要是网上可以找到micropython的驱动(5110内部使用8544驱动,https://github.com/mbirth/wipy-upcd8544),自己简单改改就可以用啦。分辨率84*48。手上这块板子上没有丝印,而且有两排,所以注意铁皮宽一点的在上面。这样管脚顺序和图是一样的了。

一般接7个脚就行,8接不接都可以。其中数据脚有5个,SCLK和DIN就是SPI标准的SCK和MOSI。为了方便,CE(芯片使能,低电平有效)、RST和DC(数据1指令0选择)分别接了E11、E9和E7。初始化可以参照下列代码
  1. from pyb import SPI, Pin
  2. import upcd8544
  3. from font import Font
  4. SPI    = pyb.SPI(1)  #A5-SCK,A7-MO
  5. CE     = pyb.Pin('E11')
  6. RST    = pyb.Pin('E9')
  7. DC     = pyb.Pin('E7')
  8. LIGHT  = pyb.Pin('A3')
  9. lcd = upcd8544.PCD8544(SPI, RST, CE, DC, LIGHT)
复制代码

然后可以使用以下方法来控制:
clear():位置自动回到00,就是左上角
position(x,y):x是横向位置,从左到右,0:83,y是上下的位置,从上到下,0:5
data(arr):后面接数组。LCD5110是这样,一个字节控制8个点,是当前x位置上的一列,所以8*8的字符可以直接往上写(8个字节),但是有点丑。
light_on()和light_off():实际控制和原驱动正好相反。修改了一下
其他方法基本上用不到。

然后又画葫芦写了一个8*8字体的模块(字体是mbed上copy来的,有点丑啊,比LCD1602还不如,谁有好看点的?),就是查询某个字符对应的数据。放到附件里面了。

另外感觉LCD这块有点难写,怎么把应用的特殊显示要求和通用的lcd字符显示代码分开?@allankliu

最后就是定义个函数,去写屏幕了
  1. def write_String(string):
  2.     for s in string:
  3.         lcd.data(Font.get_Font(s))
  4.                
  5. lcd.position(20,1)
  6. write_String('HELLO')
  7. lcd.position(14,2)
  8. write_String('EEWORLD')
复制代码
看图,大写还行,小写有点丑

font.py在附件里面,
font.py (6.67 KB, 下载次数: 36)

最新回复

放内存是不行的,汉字库太大,只能放在外部的flash或eeprom中。  详情 回复 发表于 2016-5-19 10:30

赞赏

1

查看全部赞赏

点赞 关注
 
 

回复
举报

1万

帖子

24

TA的资源

版主

沙发
 
以后专门做一个5110的库,把字库也放进去,就方便了。不知道汉字怎样打包。

点评

pyb用户能用多大内存?动态释放吗?像这样把font做在模块里,加载的时候会占很大内存吗?英文还好,中文是个问题  详情 回复 发表于 2016-5-19 08:10
我觉得还是分开好一点吧,这样可以在不同显示器上共用。而且字体也有大有小,都放在一起太庞大了  详情 回复 发表于 2016-5-18 16:20
 
 
 

回复

1297

帖子

2

TA的资源

纯净的硅(中级)

板凳
 
dcexpert 发表于 2016-5-18 14:23
以后专门做一个5110的库,把字库也放进去,就方便了。不知道汉字怎样打包。

我觉得还是分开好一点吧,这样可以在不同显示器上共用。而且字体也有大有小,都放在一起太庞大了
 
 
 

回复

1891

帖子

2

TA的资源

纯净的硅(中级)

4
 
5110 好久好久,没用过了,依稀记得,第一次驱动起 5110点阵屏幕的那种兴奋。。。。
个人签名
分享铸就美好未来。。。




 
 
 

回复

1891

帖子

2

TA的资源

纯净的硅(中级)

5
 
取模软件 取出来的字体不行吗???

点评

8*8能显示的多一点。取模软件能取,但是试过最小字都是8*16的。而且出来的一般都是C51格式的,不好用。能推荐个好点的取模软件么?  详情 回复 发表于 2016-5-18 22:50
个人签名
分享铸就美好未来。。。




 
 
 

回复

1297

帖子

2

TA的资源

纯净的硅(中级)

6
 
574433742 发表于 2016-5-18 21:28
取模软件 取出来的字体不行吗???

8*8能显示的多一点。取模软件能取,但是试过最小字都是8*16的。而且出来的一般都是C51格式的,不好用。能推荐个好点的取模软件么?

点评

C51 A51 什么从左到右,从右到左,各种格式都是可以调的,,,具体的软件真心不记得了,,好久不用了,可以百度找找。。。  详情 回复 发表于 2016-5-19 06:56
 
 
 

回复

1891

帖子

2

TA的资源

纯净的硅(中级)

7
 
johnrey 发表于 2016-5-18 20:50
8*8能显示的多一点。取模软件能取,但是试过最小字都是8*16的。而且出来的一般都是C51格式的,不好用。能 ...

C51  A51 什么从左到右,从右到左,各种格式都是可以调的,,,具体的软件真心不记得了,,好久不用了,可以百度找找。。。
个人签名
分享铸就美好未来。。。




 
 
 

回复

1297

帖子

2

TA的资源

纯净的硅(中级)

8
 


pyb用户能用多大内存?动态释放吗?像这样把font做在模块里,加载的时候会占很大内存吗?英文还好,中文是个问题

点评

放内存是不行的,汉字库太大,只能放在外部的flash或eeprom中。  详情 回复 发表于 2016-5-19 10:30
 
 
 

回复

1万

帖子

24

TA的资源

版主

9
 
johnrey 发表于 2016-5-19 08:10
pyb用户能用多大内存?动态释放吗?像这样把font做在模块里,加载的时候会占很大内存吗?英文还好,中文 ...

放内存是不行的,汉字库太大,只能放在外部的flash或eeprom中。
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表