【屏幕模块 – 笔记】深圳市晶联讯电子 液晶模块 JLX19296G-915-BN

最近工作在用这款屏幕,折腾两星期后差不多摸透了,写下笔记给日后的自己,和有需要的人.

一、屏幕介绍

  • 型 : JLX19296G-915-BN , 这个型 属于裸屏,焊接式 FPC,没有自带字库.尺寸为 .
  • 特点 : 能串行也能并行通讯, 多种显示扫描方向,有单色和灰度,能亮和不亮背光.对比度设置.
  • 实现 : 我实现的是硬件串行; 扫描方向是; 单色;亮不亮背光取决于有没有给背光供电,有就亮,没有就不亮.
  • 相关 : 官 链接 http://www.jlxlcd.cn/html/zh-detail-877.html ; pdf 说明文档也在里面下载.
  • 注意 : 不同型 的引脚不太一样,初始化的部分参数不一样,其它差不多(虽然我没用过多款,但是对比pdf手册感觉是一样的 )

二、代码解析

不说废话,直接按着代码一步步解说 .

1. 单片机通讯引脚 的 初始化

  • 这部分主要是gpio的初始化,不同单片机平台的api接口不一样,自行测试更换.建议一开始拿着裸机的spi例程修改,事半功倍.
  • 只有两点需要 注意 的:
  1. 模块正常工作时,复位引脚接高电平,需要复位就拉低,保持,再拉高.如果悬空或没有接高电平,就不能使用,惨痛的教训!!!
  2. 串行通讯使用spi协议,感觉pdf的时序图,是在时钟线scl从低电平跳变高电平时读取sda的数据,从pdf自带例程的模拟通讯实现也能看出来.; 在硬件spi设置中就是.波特率的设置根据单片机不同,可以自己算也可以自己试,我是从快到慢一个个试.

推荐笔记 : SPI总线传输的4种模式 https://www.cnblogs.com/gmpy/p/12461461.html

2. 屏幕模块 的 初始化

  • 这部分就是拷贝pdf例程的内容的了,我对比多个型 的pdf例程,和指令表内容, 发现模块初始化这部分内容,不同型 的例程存在坑爹的赋值粘贴嫌疑 ,也就是有部分注释没改或没有用的多余内容,但不影响使用.

  • 可以屏幕说明pdf有附带中文指令表说明, 上也有 说明手册的中文版,可以对照查看.

  • 这部分我无聊的将每个指令都化作宏定义,查看手册表明注释和分类.如下.最后总结需要重点关注的内容:

  1. 数据扫描方向 : 决定了扫描方向 自上到下,从左到右.
  2. 数据格式选择 : 决定了 低位在上.
  3. 显示模式 : 决定了单色模式.
  4. 设置对比度 : 决定屏幕整体显示偏黑还是偏透明.
  5. 显示控制 : (重点) 我起初将这个误以为是对比度,修改后导致显示坐标发生整体偏移,所以这部分内容不要修改,直接拷贝例程最好.
  • 如果你初始化成功会看到屏幕是””的效果,之后调用清屏即可.如果你初始化后屏幕没有任何显示,代表初始化失败了,可能没成功通讯,检查通讯引脚,模块电源,还有复位引脚有没有接高电平.
/******************************************************************************* * 全局宏定义    // https://max.book118.com/html/2017/1025/137875607.shtm ******************************************************************************/// 1. 设置扩展指令#define Extension_Command(EXT1, EXT0)   ((0x30)|(((EXT1)&0x1)3)|(((EXT0)&0x1)0)) 	// ======================= 指令 1 =======================// 2. 显示开/关 设置LCD显示器 DSP=0;显示关闭 DSP=1;显示打开#define Display_ON_OFF(DSP)  	    ((0xAE)|(((DSP)&0x1)0))	// 3. 反转显示 设置反向显示 INV=0;正常显示 INV=1;反向显示#define Inverse_Display(INV)  	    ((0xA6)|(((INV)&0x1)0))	// 4. 所有像素开/关 设置所有像素模式 AP=0;全像素关闭模式 AP=1;全像素开启模式#define All_Pixel_ON_OFF(AP)  	    ((0x22)|(((AP)&0x1)0))	// 5. 显示控制  CLD;设置CL驱动频率 DT;点空比 LF/FI;帧周期#define Display_Control_0()  	    (0xCA)#define Display_Control_1(CLD)		((0x00)|(((CLD)&0x1)2))#define Display_Control_2(DT)		((0x00)|(((DT)&0xFF)0))#define Display_Control_3(LF, FI)	((0x00)|(((LF)&0xF)0)|(((FI)&0x1)4)|(((LF)&0x10)1))// 6. 省电 设置省电模式 SLP=0;退出休眠模式 SLP=1;进入休眠模式#define Power_Save(SLP)  		    ((0x94)|(((SLP)&0x1)0))// 7. 设置页面地址 起始页面地址;00H

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年7月9日
下一篇 2022年7月9日

相关推荐