[复旦微FM33LG0系列开发板测评]LCD使用及真值表工具使用说明
[复制链接]
本帖最后由 AE007 于 2021-11-29 02:04 编辑
本次测试的是FM33LG0的LCD模块,并且使用LCD真值表工具可以快速的定义COM和SEG对应的显示数据寄存器数据。使用一块4COM-9SEG的LCD段码液晶屏并改写官方例程。
LCD概述
LCD 显示驱动模块用于驱动段码式液晶屏,能够支持 4、6、8COM,最大显示段数分别为 128 段(4COM)、180 段(6COM)和 224 段(8COM)。
主要特点:
⚫ 最大支持 8×40、6×42、4×44 的显示段数
⚫ 1/3bias、1/4bias
⚫ 16 级灰度可调
⚫ LCD 驱动支持片内电阻型、片外电容型 2 种模式
⚫ 支持闪烁功能,且闪烁频率可调
⚫ 支持间歇式点亮功能,点亮、熄灭时间可配置
⚫ 支持全亮、全灭功能
⚫ 低功耗,LCD 驱动可以在 Active 模式、Sleep 模式和 DeepSleep 模式下工作
⚫ 支持 Type A 和 Type B 两种 LCD 驱动波形(可配置)
⚫ 典型帧刷新频率 64Hz
使用流程
1. 接线说明:
COM脚:4COM必须顺序连接到COM0-3
SEG脚:不必连续使用,可以用SEG0-SEG2-SEG3···等。注意SEG29-31和COM复用,没使用的引脚不要初始化为SEG功能。
2. 配置LCD真值表:
以下内容根据液晶屏真值表和连接的引脚填入
生成的文件在LCD真值表.exe同目录上
.xml文件为界面的配置文件信息,是为了方便客户在下一次用的时候直接进行导入,无需再进行配置。
.h文件为复旦微芯片COM和SEG对应的显示寄存器的数据。
3. 把.h文件拷贝进LCD例程
4. GPIO根据实际连接初始化
5. LCD初始化
6. 用COM和SEG对应的显示寄存器的数据
SET_VALUE_XXX将点亮液晶指定段,RESET_VALUE_XXX将熄灭液晶指定段。控制液晶值调用相应字段后,将DISPDATA[]中的数据更新值LCD显示数据寄存器即可实现液晶显示控制。比如要显示LCD的数字1
SET_VALUE_1B;//显示第一位的段码B
SET_VALUE_1C;//显示第一位的段码C
FL_LCD_WriteData(LCD, FL_LCD_DATA_REG0, DISPDATA[0]); //刷新缓冲区
FL_LCD_WriteData(LCD, FL_LCD_DATA_REG1, DISPDATA[1]); //刷新缓冲区
FL_LCD_WriteData(LCD, FL_LCD_DATA_REG2, DISPDATA[2]); //刷新缓冲区
FL_LCD_WriteData(LCD, FL_LCD_DATA_REG3, DISPDATA[3]); //刷新缓冲区
7. 代码中还有一个快速显示数字的函数
先定义数码管显示数组0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x07, 0x7f,0x6f,//0~9 //数码管显示数组
//------------ 第1个"8"字符 ----------
if( (Result&0x01) == 0x01 ) { SET_VALUE_1A;} //1A
if( (Result&0x02) == 0x02 ) { SET_VALUE_1B;} //1B
if( (Result&0x04) == 0x04 ) { SET_VALUE_1C;} //1C
if( (Result&0x08) == 0x08 ) { SET_VALUE_1D;} //1D
if( (Result&0x10) == 0x10 ) { SET_VALUE_1E;} //1E
if( (Result&0x20) == 0x20 ) { SET_VALUE_1F;} //1F
if( (Result&0x40) == 0x40 ) { SET_VALUE_1G;} //1G
总结
在本次试验中发现复旦微的芯片有以下几个优点:1. 例程库很全; 2. LCD模块的SEG脚可以灵活配置方便布线;3. 芯片可以在低功耗下运行LCD模块;4. LCD真值表工具可以快速的定义COM和SEG对应的显示数据寄存器数据,节约大量的时间。
例程和LCD工具发在文章后面,有不清楚的可以留言。
LCD真值表.zip
(23.26 KB, 下载次数: 63)
LCD 4COM示例 - 傅工开源.rar
(10.18 MB, 下载次数: 153)
|