目 录
1.LCD 的特点 1
2.LCD 显示器的分类 1
2.1 字段式 1
2.2 点阵字符式 1
2.3 点阵图形式 1
3、通用点阵字符LCD显示器应用 1
3.1显示模式设置 (0x38) 2
3.2显示模式设置 (0x0C) 3
3.3光标模式设置 (0x06) 3
3.4清屏设置 (0x01) 4
3.5初始化步骤: 4
4、程序分析和说明 5
4.1 读写检测指令。 5
4.2 ARM地址映射图 6
4.3 看一下写操作。 6
4.4 主程序 8
前一部分是关于液晶的简单说明,是别出弄来的
★低电压微功耗。工作电压 3-5V,每平方厘米液晶显示屏的耗电量在 uA级。
★平板结构。易大量生产,物理体积小,占用空间少。
★寿命长。
★光线柔和。液晶显示器是被动发光器件,90%以上是外部物体对光的反射。被动显示适合人的视觉习惯,不会引起疲劳。
★无电磁辐射。液晶显示器不会产生电磁辐射,是绿色器件。
从液晶显示器的使用和显示内容来分,LCD 可分为字段式(笔划式),点阵字符式,点阵图形式三种。
字段式液晶显示器同 LED 数码显示器有些相同点,它是以长条笔划状或一些特殊固定图形与汉字显示象素组成的液晶显示器件,简称段型显示器。段型显示器以七段显示器为常见,特殊图形与字符类的段型液晶显示器一般要到生产厂家定做。段型液晶显示器在数字仪表、计数器,家电产品中应用较多。
点阵字符式液晶显示器一般是一个功能模块,它由小面积的液晶显示屏和驱动电路组合
而成。模块中内置有 192 种字符、数字、字母、标点符号等可显示的字型点阵图形库,并提供可控制的并行或串行接口以及通信协议。市场上常见的有 1 行、2 行、4 行,每行可显示8、12、16、24、32个 5x7 点阵字符的通用液晶显示器。
点阵图形式液晶显示器一般显示面积大于点阵式液晶显示器,点阵从 80x32到 1024x768不等。点阵图形式液晶显示器的显示灵活性好,自由度大,可以显示各种图形、字符和汉字等。但点阵图形式液晶显示器的控制最复杂,硬件连接线多,占用 MCU 的资源也多。为了适应越来越多的液晶显示器应用,一些高性能的单片机已经将液晶显示器驱动功能集成在片内。目前国内一些厂商将驱动电路、汉字库和点阵液晶显示器屏做成一个组件模块,模块带有与 MCU 通信的并行或串行接口,使用时,只要 MCU 通过通信口下发相应的控制指令就能显
示各种信息,方便了使用。
通用点阵字符液晶显示器是专用于显示数字、字母、图形符号和一些自定义符号的显示
器。这类显示器把 LCD控制器、点阵驱动器、字符存储器全做在一块 PCB 板上,构成便于应用的显示器模块。这类点阵字符液晶显示器模块在国际上已经规范化,一般都采用日立公司的 HD44780极其兼容电路,如 SED1278、KS0066等,作为 LCD 的控制器。
HD44780 具有简单而功能较强的指令集,可实现字符移动、闪烁等功能。与 MCU 的数据传输可采用 8 位并行或4位并行传输两种方式。可用于驱动 40 * 4,16 * 1,16 * 2,16 * 4,20 * 2,20 * 4,等多种点阵字符液晶显示器。HD44780对外有 14 根引脚,与 MCU 的接口信号及定义见表。
本实验采用深圳锦昌电子公司的JCM1602C液晶,这种液晶是HD44780的兼容电路,管脚和指令系统与HD44780完全一致。具体的使用手册可到该公司网站下载。也可以采用其他兼容HD44780的其他液晶,控制方式和程序一样。
控制液晶显示主要原理是:将液晶的三个控制端口分别设置为不同的电平。从而将数据或命令发送到液晶的数据端口,控制液晶执行不同的操作。
主要用看一下控制液晶的初始化显示:
步骤:见手册
当然还有其他组合方式:
这也就说明了,当IO口不够使用的情况下,我们也可以使用4位并行串口。
也可以按照自己的习惯设置
0X07, 屏幕左移经常用,挺不错的!!这里注意的就是 RAM的缓冲区,共80个字节,每行40个,不要超出。
以上基本就是主要初始化的几个设置。
看一下程序:
这里参数 0, 写的是命令 。 如果为1,写的就是数据。
看程序即懂:
将数据位变成输入, 设置好命令, 判断第7位是否为0,就是所谓的忙检测。
再数据位变成输出。
看它就是移位的时候小心一些,出了范围就不可控了
其实就是数据写入的地址, 第一行 地址开始为 0x80 , 第二行 地址开始为 0x80 + 0x40。也可以直接从 0xC0 算起。
1、单独的 写地址(命令) 和 写 数据
2、写字节数据 (字节数据包括 地址和数据)
写地址(命令) 和 写 数据
其中写地址,更加详细了一些,X、Y坐标。
其中写数据, 有写字符串数据(字节组成字符串)
主程序中主要是以上二者组合在一起。
写字节数据 (字节数据包括 地址和数据)
一幕了然,用了写地址(命令) 和 写数据 的升级版, 都是调动的最基本的写操作。
最后端口初始化,就不在讲解了!!非常简单了,没有任何复杂配置。