LMB402CBC 液晶显示模块应用参考 深圳市拓普微科技开发有限公司 版本描述日期编者 0.1 新版本 2006-02-09 杨军 http://www.topwaysz.com 1 / 1
目录 1 概述 3 2 硬件接口 3 3 软件特性 3 3.1 控制器接口信号说明 3 3.2 模块指令系统 4 4 显示数据存储器的地址 4 5 字符发生器 CGRAM 的地址 5 6 应用举例 5 6.1 程序流程图 5 6.2 参考程序 6 http://www.topwaysz.com 2 / 2
1 概述 液晶显示模块 LMB402CBC 是深圳 TOPWAY 公司生产的字符型液晶显示模块中的一款 液晶显示屏是以若干个 5 8 或 5 11 点阵块组成的显示字符群 使用的控制 IC 是 ST7066U 其基本的特性有 : 显示的容量为 2 行 40 个字 具有 CGROM 可显示 192 种字符 (160 个 5 7 和 32 个 5 10 点阵字符 ) 具有 64 个字节的 CGRAM, 可自定义 8 个 5 8 或 4 个 5 11 点阵字符 具有 80 个显示存储器 DDRAM 的地址 外形尺寸 :182.0 33.5 13.4MAX 电源 : 单电源供电 +5V 显示颜色 : 黄绿底兰字 驱动方式 :1/16 Duty,1/5 Bias 标准接口特性, 适配 M6800 系列 MPU 的操作时序 2 硬件接口 液晶显示模块和 MCU 采用的是 8 位并行间接访问方式 模块引脚及接口如图 +5V 5k LMB402CBC VDD V0 V SS DB0 DB1 DB2 DB0 DB3 DB4 DB5 DB6 DB7 AT89S52 P1.0 P1.1 P1.2 DB0 P1.3 P1.4 P1.5 P1.6 P1.7 RS P3.1 E P3.2 R/W P3.7 V CC EA RST XTAL2 XTAL1 Vss +5V 1цF 10k 30pF 12MHz 30pF 引脚号引脚名称 1 VSS 2 VDD 3 V0 4 RS 5 R/W 6 E 7-14 DB0-DB7 15 BLA 16 BLK 3 软件特性 3.1 控制器接口信号说明 RS,R/W 和 E 信号的配合选择决定控制界面的 4 种模式 : RS R/W E DB0-DB7 功能说明 L L H L 输入态 MPU 写指令到指令寄存器 (IR) L H H 输出态 读出忙标志 (BF) 及地址记数器 (AC) 的状态 H L H L 输入态 MPU 写入数据到数据寄存器 (DR) H H H 输出态 MPU 从数据寄存器 (DR) 中读出数据 http://www.topwaysz.com 3 / 3
NO. 3.2 模块指令系统 指令名称 控制信号 RS R/W DB7 DB6 DB5 指令代码 DB4 DB3 1 清屏 0 0 0 0 0 0 0 0 0 1 将空码 (20H) 写入 DDRAM, 将地址记数器 AC 清零 2 归 home 位 0 0 0 0 0 0 0 0 1 将 AC 清零, 将光标或闪烁返回显示屏左上第一个字即 DDRAM 地址的 00H 处 3 输入方式设置 0 0 0 0 0 0 0 1 I/D S 设置显示字符的输入方式即计算机读 / 写 DDRAM 或 CGRAM 后 AC 的修改方式 指令代码 参数状态 输入方式 04H I/D=S=0 画面不动光标左移 05H I/D=0,S=1 画面右滚动 06H I/D=1,S=0 画面不动光标右移 07H I/D=S=1 画面左滚动 4 显示状态设置 0 0 0 0 0 0 1 D C B 控制画面, 光标及闪烁的开与关 指令代码 状态位 功能 DB2 DB1 DB0 功能 D C B 08H-09H 0 关显示 0CH 1 0 0 画面显示 0DH 1 0 1 画面, 闪烁显示 0EH 1 1 0 画面, 光标显示 0FH 1 1 1 三者均显示 5 光标画面滚动 0 0 0 0 0 1 S/C R/L 控制画面或光标向左或向右滚动一个字符位 指令代码 状态位 功能 S/C R/L 10H 0 0 光标左滚动 14H 0 1 光标右滚动 18H 1 0 画面左滚动 1CH 1 1 画面右滚动 6 工作方式设置 0 0 0 0 1 DL N F 设置控制器的工作方式 DL DL=1 设置数据总线长度为 8 位形式 DL=0 设置数据总线长度为 4 位形式 N N=0 一行字符行 N=1 两行字符行 F F=0 5 7 点阵字符体 F=1 5 10 点阵字符体 7 CGRAM 设置 0 0 0 1 A5 A4 A3 A2 A1 A0 将 CGRAM 地址写入 AC 8 DDRAM 设置 0 0 1 A6 A5 A4 A3 A2 A1 A0 将 DDRAM 地址写入 AC 9 读 BF 和 AC 值 0 1 BF AC6 AC5 AC4 AC3 AC2 AC1 AC0 判忙标志位 BF=1 忙 10 写数据 1 0 数据计算机向数据存储器写入数据 11 读数据 1 1 数据向数据存储器读出数据 4 显示数据存储器的地址 注 : 详细的指令系统请参考驱动器 ST7066U 显示存储器地址 00H 01H 02H 03H 24H 25H 26H 27H 40 2Characters 40H 41H 42H 43H 64H 65H 66H 67H http://www.topwaysz.com 4 / 4
5 字符发生器 CGRAM 的地址 用户自定义字符代码 00h (08h) 01h (09h) 02h (0Ah) 03h (0Bh) 04h (0Ch) 05h (0Dh) 06h (0Eh) 07h (0Fh) CGRAM CGRAM 数据字体模式 地址 D7~D5 D4~D0 5 8 点 字体模式 00h 01h 06h 07h 08h 09h 0Eh 0Fh 10h 11h 16h 17h 18h 19h 1Eh 1Fh 20h 21h 26h 27h 28h 29h 2Eh 2Fh 30h 31h 36h 37h 38h 39h 3Eh 3Fh 6 应用举例 6.1 程序流程图 初始化 开始 功能设置 8 位 2 行 主程序 开始 软件复位 开显示 初始化 清屏 输入方式设定 显示字符 结束 返回 http://www.topwaysz.com 5 / 5
6.2 参考程序 // 本程序的演示结果为 : TOPWAY LMB402CBC // "www.topwaydisplay.com" #include <reg52.h> #include <intrins.h> #define uchar unsigned char #define uint unsigned int #define DATABUS P1 sbit LCD_RS =P3^1; sbit LCD_RW =P3^7; sbit LCD_E =P3^2; // 延时程序 void delay(uint t) uint i,j; for(i=0;i<t;i++) for(j=0;j<10;j++) _nop_(); // 驱动函数写指令 void wcode(uchar cmdcode) LCD_RW=0; LCD_RS=0; LCD_E=1; DATABUS=cmdcode; LCD_E=0; delay(5); // 驱动函数写数据 void wdata(uchar Dispdata) LCD_RW=0; LCD_RS=1; LCD_E=1; DATABUS=Dispdata; LCD_E=0; delay(5); // 显示字符串 void hzkdis(uchar code *s) while(*s>0) wdata(*s); s++; // 程序初始化 void LCD_init() delay(2000); wcode(0x38); //8 位形式, 两行字符 wcode(0x0c); // 开显示 wcode(0x01); // 清屏 wcode(0x06); // 画面不动, 光标右移 // 主函数 void main() LCD_E=0; LCD_init(); wcode(0x8c); hzkdis("topway LMB402CBC"); wcode(0xc8); hzkdis("www.topwaydisplay.com"); while(1) ; //end of program http://www.topwaysz.com 6 / 6