2335|2

1466

帖子

1

TA的资源

五彩晶圆(初级)

楼主
 

【树莓派Pico测评】 LCD1602的4位模式显示驱动 [复制链接]

本帖最后由 jinglixixi 于 2021-4-26 11:59 编辑

本打算在树莓派Pico开发板上实现OLED屏的显示驱动,但一直未果于是受相关帖子的启发将其改为LCD1602屏的显示驱动。

LCD1602屏有3种显示驱动方式,分别是8位并行显示方式、4位并行显示方式及配置I2C转换器的I2C驱动方式。

就这3种驱动方式而言,可谓是各具特色。

1. 8位并行方式,其优点是传输数据快,可一次性完成8位数据的传输,其不足之处就是占用的引脚资源过多。

2. 4位并行方式,其特点是分2次来完成8位数据的传输,每次传输4位数据,可部分节省占用的引脚资源。

3. I2C驱动方式,在转换模块的作用下,其传输数据只用2个I/O引脚。

为了便于使用,这里选取4位并行方式来进行显示驱动。另外,为了便于背光的调节,特用手头的I2C驱动模块来为LCD1602屏提供背光电源及VL的引脚处理。I2C驱动模块如图1所示,其电源由I2C接口来输入。

图1  I2C驱动模块
 

图2  单行显示效果
 

图3  双行显示效果
 

实现图2和图3显示效果的关键函数有:显示定位函数defLCD_set_xy()及字符显示函数defLCD_write_char()。

显示定位函数的内容为:

defLCD_set_xy(x , y):

address = 0

if y == 1 :

address = 0xc0+x

if y == 0 :

address = 0x80+x

send2LCD8(address)  
 

字符显示函数的内容为:

defLCD_write_char(x , y, Recdata):

LCD_set_xy(x , y)    #写地址 

rs.value(1)

send2LCD8(Recdata)

rs.value(0)
 

实现显示效果的主程序为:

setUpLCD()  #初始化

bl.value(1)

p='Raspberry Pi Pico'

n=len(p)  

fori in range(n) :

LCD_write_char(i , 0, ord(p))

p='ID: jinglixixi'

n=len(p)  

fori in range(n) :

LCD_write_char(i , 1, ord(p))

最新回复

不错,继续加油:)   详情 回复 发表于 2021-4-26 09:32
点赞 关注
 

回复
举报

2万

帖子

71

TA的资源

管理员

沙发
 

不错,继续加油:)

加EE小助手好友,
入技术交流群
EE服务号
精彩活动e手掌握
EE订阅号
热门资讯e网打尽
聚焦汽车电子软硬件开发
认真关注技术本身

点评

好的,努力!  详情 回复 发表于 2021-4-26 11:52
个人签名

加油!在电子行业默默贡献自己的力量!:)

 
 

回复

1466

帖子

1

TA的资源

五彩晶圆(初级)

板凳
 
soso 发表于 2021-4-26 09:32 不错,继续加油:)

好的,努力!

 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

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

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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

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

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

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