本小节的目录:
8.1,12864液晶模块的简介
8.2,12864液晶模块连接到单片机的原理图
8.3,12864液晶模块时序图的分析以及程序编写
液晶屏是一种非常能给人带来视觉享受的东西!例如上的液晶屏,液晶电视,………,浪漫一点的还有液晶灯,以及迷人的液晶鞋,炫酷的液晶手表等等!但是不管怎么说,还是要先学会使用最简单的液晶吧!
8.1.1)12864液晶模块的简介
比较常用的12864液晶模块有黄绿背光的、蓝色背光的,有带/不带字库的,其控制芯片主要是KS0108、T6863、ST7920等等,这里本人所使用的为ST7920为控制芯片的JX12864K1液晶屏。但是不管用什么类型的12864,其使用操作都大同小异!当然,如果你会使用1602了,那么12864的使用也会变得事半功倍!
1)关于12864液晶模块的说明:
1,可显示出汉字以及图形,内置有8192个中文汉字(16X16点阵)、128个字符(8X16点阵)以及64X256点阵显示RAM(GDRAM),显然是要比1602高级!
2,可以选择8位并行或者是4位串行的操作
3,可以显示出128列× 64行的内容,可以实现文字与图形混合显示功能、可以自由的去设置光标、显示移位功能、垂直画面旋转功能、反白显示功能、休眠模式等等
图1 12864液晶模块实物图
2)12864液晶接口的说明:
图2 12864的液晶接口图
简介上图:
1,引脚3(VL):一般接一个103的电位器,用于调节液晶屏的显示亮度。
2,引脚15(PSB):高电平时选择并口,低电平时选择串口
3,引脚16(NC):空脚即不需要接任何的管脚即可。
3)12864状态字说明
表8-1 状态字的分布表
STA7 D7 |
STA6 D6 |
STA5 D5 |
STA4 D4 |
STA3 D3 |
STA2 D2 |
STA1 D1 |
STA0 D0 |
||
STA0~STA6 | 当前地址指针的数值 | - | |||||||
STA7 | 读/写操作使能 | 1:禁止 0:使能 | |||||||
指令名称 | 指令码 | 指令说明 | |||||||
D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 | ||
清屏 | L | L | L | L | L | L | L | H |
清屏:1、数据指针清零 2、所有显示清零 |
归位 | L | L | L | L | L | L | H | * | AC = 0,光标、画面回HOME位 |
输入方式 设置 |
L | L | L | L | L | H | ID | S |
ID=1→AC自动增一; ID=0→AC减一 S=1→画面平移; S=0→画面不动 |
显示开 关控制 |
L | L | L | L | H | D | C | B |
D=1→显示开;D=0→显示关 C=1→游标显示;C=0→游标不显示 B=1→游标反白;B=0→光标不反白 |
移位控制 | L | L | L | H | SC | RL | * | * |
SC=1→画面平移一个字符; SC=0→光标 R/L=1→右移;R/L=0→左移 |
功能设定 | L | L | H | DL | * | RE | * | * |
DL=0→8位数据接口; DL=1→4位数据接口 RE=1→扩充指令; RE=0→基本指令 |
设定 CGRAM 地址 |
L | H | A5 | A4 | A3 | A2 | A1 | A0 | 设定CGRAM地址到地址计数器(AC),AC范围为00H~3FH需确认扩充指令中SR=0 |
设定 DDRAM 地址 |
H | L | A5 | A4 | A3 | A2 | A1 | A0 |
设定DDRAM地址计数器(AC) 第一行AC范围:80H~8FH 第二行AC范围:90H~9FH |
指令名称 | 指令码 | 指令说明 | |||||||
D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 | ||
待命模式 | L | L | L | L | L | L | L | H | 进入待命模式后,其他指令都可以结束待命模式 |
卷动 RAM 地址选择 |
L | L | L | L | L | L | H | SR |
SR=1→允许输入垂直卷动地址 SR=0→允许输入IRAM地址(扩充指令)及设定CGRAM地址 |
反白显示 | L | L | L | L | L | H | L | R0 | R0=1→第二行反白;R0=0→第一行反白(与执行次数有关) |
睡眠模式 | L | L | L | L | H | SL | L | L |
D=1→脱离睡眠模式; D=0→进入睡眠模式 |
扩充功能 | L | L | H | DL | * | RE | G | * |
DL=1→8位数据接口; DL=0→4位数据接口 RE=1→扩充指令集; RE=0→基本指令集 G=1→绘图显示开; G=0→绘图显示关; |
设定 IRAM地址 卷动地址 |
L | H | A5 | A4 | A3 | A2 | A1 | A0 |
SR=1→A5~A0为垂直卷动地址 SR=0→A3~A0为IRAM地址 |
设定 绘图RAM 地址 |
H | L | L | L | A3 | A2 | A1 | A0 |
垂直地址范围:AC6~AC0 水平地址范围:AC3~AC0 |
A6 | A5 | A4 | A3 | A2 | A1 | A0 |
行名称 | 列地址 | |||||||
第一行 | 80H | 81H | 82H | 83H | 84H | 85H | 86H | 87H |
第二行 | 90H | 91H | 92H | 93H | 94H | 95H | 96H | 97H |
第三行 | 88H | 89H | 8AH | 8BH | 8CH | 8DH | 8EH | 8FH |
第四行 | 98H | 99H | 9AH | 9BH | 9CH | 9DH | 9EH | 9FH |