LCD基本特点
为什么使用LCD?
作为电子产品的主要显示器件,其特点为:
- 低电压微功耗
- 平板型结构,使用方便,工艺简单
- 使用寿命长
- 被动显示,适合信息量大、显示密度高、观看时间长的场合
- 显示信息量大且易于彩色化
- 无电磁辐射
LCD分类方法
按电光效应分类
- 电场效应类
- 电流效应类
- 电热写入效应类
- 热效应类
按显示内容分类
- 字段型(笔划型):主要应用于数字仪表、计算器、计数器中
- 点阵字符型:指显示的基本单元由一定数量点阵组成,专门用于显示数字、字母、常用图形符号及少量自定义符号或汉字
- 点阵图形型
按LCD器件、采光方式分类
- 带背光源:在弱光或者黑暗条件下使用,背光源会增加一定的功耗。
- 不带背光源:依靠背面的反射膜将射入的自然光从下面反射出来完成的。
点阵字符型液晶显示模块的驱动构件设计实例
点阵字符型LCD:指显示的基本单元由一定数量点阵组成,专门用于显示数字、字母、常用图形符号及少量自定义符号或汉字。把LCD控制器、点阵驱动器、字符存储器、显示体及少量的阻容元件等集成为一个液晶显示模块。
液晶显示模块在市场上已经规范化,其店特性及接口特性是统一的。因此只要设计出一种型号的接口电路,在指令上稍加修改即可使用各种规模的字符型液晶显示模块。
点阵字符型LCD模块控制器:HD44780(兼容SED1278、KS0066、NJU6408)
HD44780的外部接口信号线一般有14条,有的型号显示器使用16条,不论哪种型号,与MCU的接口都有8条数据线和3条控制线。
将需要格式化信息及待显示数据写入HD44780模块中。
需保证E引脚在产生下降沿时数据已经被传送至总线上,否则无法正常显示。
HD44780编程结构
指令寄存器(IR):用于MCU向HD44780写入指令码,IR只能写入。
数据寄存器(DR):用于寄存数据。当RS=1、R/┐W=0时,数据线DB7到DB0上的数据写入数据寄存器。
忙标志(BF):MCU可以读出并判别。当BF=1时,表示组件正在进行内部操作,不能接受外部指令或数据。
地址计数器(AC):如果地址码随指令写入IR,则IR的地址码部分自动装入地址计数器AC之中,同时选择了相应的地址单元。AC具有自动加1或自动减1功能。
显示数据寄存器(DD RAM):用于存储显示数据,共有80个字符编码。对于不同的显示行数及每行字符个数,所使用的地址不同。
字符发生器ROM(CG ROM):由8位字符码生成5X7点阵字符160中和5X10点阵字符32种。
图中的8位字符编码与字符的对应关系,可以直接使用,其中大部分与ASCII码兼容。
字符发生器RAM(CG RAM):提供给用户自定义特殊字符用的,容量仅为64字节,编址为00H到3FH。
时序发生电路
对HD44780的操作是由指令完成的
HD44780指令集
- 清屏
- 归位
- 输入方式设置
- 显示开关控制
- 光标或画面移位
- 功能设置
- CG RAM地址设置
- DDRAM地址设置
- 读忙标志BF和AC值
- 写数据到DDRAM或CGRAM
- 读DDRAM或CGRAM数据等指令
硬件接线
LCD与MCU的硬件接线使用宏定义描述,且每个接线单独使用宏定义,更具普适性。
若LCD接在MCU的不同引脚,只需修改LCD的硬件接线宏定义即可。
LCD模块初始化:初始化MCU相关引脚为GPIO功能,并设置LCD的相关参数。
LCD显示:将待显示的内容逐字节写入LCD模块显示。
LCD驱动构件使用方法
- 根据LCD实际使用的MCU引脚,修改lcd.h文件中“LCD的硬件接线”;
- 在“includes.h”文件中声明全局变量位置生命LCD显示缓冲区数组,该LCD模块可显示32个字符,因此定义缓冲区数组大小为32字节; unit_8 g_LCDBuffer[32]; //LCD显示缓冲区
- 在main.c文件中“初始化外设模块”位置对LCD进行初始化; LCDInit(); //LCD初始化,lcd显示初始字符
- 只要对数组g_LCDBuffer赋可以显示的ASCII码,调用LCDshow函数,即可在LCD屏幕上显示数组g_LCDBuffer中的内容。LCDShow(g_LCDBuffer);