查看: 5238|回复: 0

LCD使用及真值表工具使用说明

[复制链接]

1

主题

4

帖子

1383

积分

资深专家

Rank: 7Rank: 7Rank: 7

积分
1383
发表于 2021-11-29 10:33:17 | 显示全部楼层 |阅读模式
本帖最后由 PNK-FU 于 2021-11-29 10:37 编辑

本次测试的是FM33LG0LCD模块,并且使用LCD真值表工具可以快速的定义COMSEG对应的显示数据寄存器数据。使用一块4COM-9SEGLCD段码液晶屏并改写官方例程。

使用流程
1.      接线说明:
           COM脚:4COM必须顺序连接到COM0-3
           SEG脚:不必连续使用,可以用SEG0-SEG2-SEG3。。。等。注意SEG29-31COM复用,没使用的引脚不要初始化为SEG功能。
2.      配置LCD真值表:
         以下内容根据液晶屏真值表和连接的引脚填入
图1.jpg

         生成的文件在LCD真值表.exe同目录上
                .xml文件为界面的配置文件信息,是为了方便客户在下一次用的时候直接进行导入,无需再进行配置。
                  .h文件为复旦微芯片COMSEG对应的显示寄存器的数据。
3.      把.h文件拷贝进LCD例程
图2.jpg

4.      GPIO根据实际连接初始化
图3.jpg
5.      LCD初始化
图4.jpg
6.      用COM和SEG对应的显示寄存器的数据

         SET_VALUE_XXX将点亮液晶指定段,RESET_VALUE_XXX将熄灭液晶指定段。控制液晶值调用相应字段后,将DISPDATA[]中的数据更新值LCD显示数据寄存器即可实现液晶显示控制。比如要显示LCD的数字1
图5.jpg
         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"字符 ----------
f( (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
图6.jpg

         例程和LCD工具发在文章后面,有不清楚的可以留言。
LCD 4COM示例 - 傅工开源.rar (10.18 MB, 下载次数: 1966)
回复

使用道具 举报

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

本版积分规则

快速回复 返回顶部 返回列表