LM1095R 液 晶 显 示 模 块 应 用 参 考 深 圳 市 拓 普 微 科 技 开 发 有 限 公 司 版 本 描 述 日 期 编 者 0.1 新 版 本 2005-10-28 淮 俊 霞 0.2 修 改 2.4: 双 图 层 的 灰 阶 显 示 2006-01-18 淮 俊 霞 修 改 参 考 程 序 中 的 错 字 0.3 修 改 2.6: 初 始 化 寄 存 器 的 设 置 修 改 参 考 程 序 :delay 函 数 中 的 延 迟 时 间 2006-08-10 淮 俊 霞 http://www.topwaysz.com 1 / 8
目 录 1 简 介... 3 2 应 用... 3 2.1 接 口... 3 2.2 指 令 操 作... 3 2.3 寄 存 器 及 参 数 表... 4 2.4 参 数 总 结... 5 2.5 显 示 屏 幕 与 视 窗... 6 2.6 复 位 和 初 始 化... 6 2.7 应 用 举 例... 7 参 考 程 序... 8 http://www.topwaysz.com 2 / 8
1 简 介 本 公 司 产 品 LM1095R 为 192 128 点 阵 中 文 / 图 形 液 晶 显 示 模 块, 内 置 RA8803 控 制 器 模 块 不 仅 可 以 显 示 单 一 的 文 本 图 形, 而 且 可 以 实 现 双 图 层 的 合 成 显 示 ( 或 异 或 同 或 与 四 种 逻 辑 关 系 ), 此 外 还 能 产 生 四 阶 灰 度 的 效 果 文 本 模 式 下 能 够 实 现 大 小 字 体 的 混 编 ( 最 大 字 体 为 64 64), 在 连 续 输 入 资 料 时, 可 以 自 动 设 定 行 距 使 显 示 画 面 更 加 美 观, 大 大 节 省 用 户 的 开 发 时 间 模 块 的 特 点 有 : 单 电 源 供 电, 内 置 升 压 电 路 高 对 比 度,FSTN 型 LCD 屏 白 色 LED 背 光 内 嵌 简 体 中 文 字 库 (7602 个 汉 字 ) 双 图 层 内 存 (2 9.6K 显 示 存 储 器 ) 可 自 定 义 16 个 字 符 2 应 用 2.1 接 口 模 块 与 单 片 机 AT89S52 的 接 口, 采 用 I/O 方 式 的 8 位 并 行 通 信, 如 下 图 所 示 模 块 引 脚 名 称 1 Vout 2 V0 3 VDD 4 VSS 5 BUSY 6 NC 7 /CS 8 RS 9 /WR 10 /RD 11 DB0 18 DB7 19 /RST 20 BLA 注 :BUSY 空 接 2.2 指 令 操 作 操 作 控 制 状 态 指 令 代 码 RS /RD /WR DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 写 寄 存 器 命 令 0 1 0 寄 存 器 地 址 码 参 数 读 寄 存 器 数 据 命 令 0 0 1 寄 存 器 地 址 码 数 据 写 操 作 1 1 0 写 数 据 数 据 读 操 作 1 0 1 读 数 据 http://www.topwaysz.com 3 / 8
2.3 寄 存 器 及 参 数 表 寄 存 器 00H 缺 指 令 参 数 省 值 DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 C9H 电 源 模 式 (Power Mode) 11: 正 常 模 式 00: 关 闭 模 式 软 件 复 位 1: 复 位 0: 正 常 模 式 0 显 示 模 式 显 示 开 关 1: 文 本 模 式 1: 开 0: 图 形 模 式 0: 关 03H 80H 1 0 0 0 高 低 位 反 转 垂 直 移 动 显 示 数 据 1: 允 许 0: 禁 止 10H 6FH 读 数 据 时, 光 标 自 动 移 位 中 英 文 对 齐 正 反 相 存 储 数 据 选 择 1: 正 相 0: 反 相 字 体 设 置 1: 粗 体 0: 正 常 写 数 据 时, 光 标 自 动 移 位 光 标 显 示 1: 开 0: 关 11H 22H 光 标 的 高 度 行 距 12H 91H 图 形 模 式 下, 图 层 显 示 模 式 选 择 光 标 自 动 移 位 方 向 选 择 1: 向 右 0: 向 下 001: 只 显 示 Page 1 ( 单 一 上 图 层 显 示 ) 010: 只 显 示 Page 2 ( 单 一 下 图 层 显 示 ) 011: 双 图 层 显 示 000: 灰 阶 显 示 在 双 图 层 模 式 下,Page1 与 Page 2 的 逻 辑 关 系 00: OR 01: XOR 10: NOR 11: AND 20H 27H 0 0 设 定 工 作 视 窗 右 边 位 置 21H 27H 0 0 设 定 显 示 视 窗 右 边 位 置 30H EFH 设 定 工 作 视 窗 底 部 位 置 31H EFH 设 定 显 示 视 窗 底 部 位 置 40H 00H 0 0 设 定 工 作 视 窗 左 边 位 置 41H 00H 0 0 设 定 显 示 视 窗 左 边 位 置 50H 00H 设 定 工 作 视 窗 顶 部 位 置 51H 00H 设 定 显 示 视 窗 顶 部 位 置 60H 00H 0 0 设 定 光 标 X 地 址 70H 00H 设 定 光 标 Y 地 址 71H 00H 水 平 移 动 时, 块 移 动 的 起 始 行 72H EFH 水 平 移 动 时, 块 移 动 的 结 束 行 90H 04H 设 定 移 位 时 钟 屏 幕 闪 烁 水 平 移 动 1: 允 许 0: 禁 止 光 标 闪 烁 显 示 类 型 1: 正 向 0: 负 向 平 移 模 式 1: 水 平 移 动 0: 垂 直 移 动 光 标 宽 度 1: 8 或 16 0: 固 定 8 选 择 读 写 操 作 的 图 层 00:Page 0 (512B SRAM) 01:Page 1 (9.6KB SRAM) 10:Page 2 (9.6KB SRAM) 11: 同 时 存 取 两 图 层 E0H 00H (1) 图 形 模 式 下, 若 寄 存 器 [F0]Bit3 为 1, 本 寄 存 器 的 数 据 会 被 全 部 填 写 到 DDRAM 内, 之 后 [F0]Bit3 被 置 0 (2) 灰 阶 模 式 下, 用 来 控 制 灰 阶 的 显 示 效 果, 0 与 1 的 数 目 代 表 显 示 的 比 率 F0H 92H 1 0 字 型 ROM 的 选 择 00: 简 体 字 型 (256KB) 01: 繁 体 字 型 (512KB) 10: 简 体 字 型 (512KB) F1H 0FH 字 型 水 平 方 向 的 大 小 00: 一 倍 01: 二 倍 10: 三 倍 11: 四 倍 字 型 垂 直 方 向 的 大 小 00: 一 倍 01: 二 倍 10: 三 倍 11: 四 倍 写 资 料 到 DDRAM 1: 开 始 写 入 0: 未 动 作 文 本 模 式 下 强 制 ASCII 解 码 4 种 ASCII 区 块 选 择 00: 区 块 0 01: 区 块 1 10: 区 块 2 11: 区 块 3 1 1 1 1 http://www.topwaysz.com 4 / 8
2.4 参 数 总 结 单 页 显 示 选 择 页 码 [12H]=0x91 或 0x11 // Page 1 [12H]= 0xA2 或 0x22 // Page 2 设 定 显 示 模 式 [00H]=0xCD // 文 本 模 式 [00H]=0xC5 // 图 形 模 式 定 位 光 标 位 置 [60H]=0x** [70H]=0x** 写 入 数 据 (1) 图 形 模 式 下, 直 接 写 入 数 据 (2) 文 本 模 式 下, 先 写 入 代 码 的 高 字 节, 再 写 入 代 码 的 低 字 节 图 形 功 能 : 1) 光 标 自 动 移 位 方 向 : [12H] Bit7 位 2) 自 动 写 入 数 据 : [E0H] [F0H]Bit3 位 文 本 功 能 : 1) 文 本 的 设 置 行 距 选 择 : [11H] Bit3:0 位 字 体 选 择 : [10H] Bit4 位 字 型 大 小 :[F1H] Bit7:4 位 中 / 英 文 文 字 对 齐 :[10H] Bit6 位 字 符 负 向 显 示 :[10H] Bit5 位 字 符 高 低 位 反 转 :[03H] Bit3 位 水 平 移 动 :[03H] Bit1:0 位 ;[71H] [72H] 可 以 设 置 任 意 两 Common 区 块 之 间 的 移 动 垂 直 移 动 :[03H] Bit2 0 位 2) 光 标 的 设 置 定 位 :[60H] [70H] 光 标 显 示 :[10H] Bit2 位 光 标 闪 烁 :[10H] Bit1 位 光 标 宽 度 :[10H] Bit0 位 光 标 高 度 :[11H] Bit7:4 位 选 择 page1 进 行 读 写 操 作 [12H]=0x91 或 0x11 设 定 显 示 模 式 [00H] Bit3 位 定 位 光 标 位 置 [60H]=0x** [70H]=0x** 写 入 数 据 选 择 page2 进 行 读 写 操 作 [12H]= 0xA2 或 0x22 设 定 显 示 模 式 [00H] Bit3 位 定 位 光 标 位 置 [60H]=0x** [70H]=0x** 写 入 数 据 双 图 层 显 示 两 图 层 或 关 系 [12H]=0xB3 //Page1 RAM OR Page2 RAM 两 图 层 异 或 关 系 [12H]=0xB7 //Page1 RAM XOR Page2 RAM 两 图 层 同 或 关 系 [12H]=0xBB //Page1 RAM NOR Page2 RAM 两 图 层 与 关 系 [12H]=0xBF //Page1 RAM AND Page2 RAM 灰 阶 显 示 : 提 高 系 统 时 钟 [01H] Bit1:0 位 灰 阶 对 比 设 置 [E0H]=0x** 提 高 帧 频 [90H]=0x** 显 示 灰 阶 [12H]=0x00 关 显 示 [00H] Bit2 位 开 显 示 [00H] Bit2 位 延 迟 1 秒 http://www.topwaysz.com 5 / 8
2.5 显 示 屏 幕 与 视 窗 X 坐 标 00H 01H 17H Y 坐 标 DB7 DB0 DB7 DB0 DB7 DB0 DB7 DB0 00H 01H 7FH 192 128 像 素 用 户 有 两 种 视 窗 的 选 择 : 一 种 是 显 示 视 窗 (Display Window), 另 一 种 是 工 作 视 窗 (Active Window) 显 示 视 窗 是 实 际 的 LCD 面 板 的 大 小, 而 工 作 视 窗 是 在 实 际 的 显 示 视 窗 内 设 定 比 显 示 视 窗 小 的 子 视 窗 显 示 图 形 或 者 字 符 ( 左 上 角 ) 的 位 置 可 以 用 光 标 寄 存 器 [60H] [70H] 来 定 义, 在 连 续 写 入 数 据 时 可 以 设 置 光 标 自 动 移 位 ( 寄 存 器 [10H] 的 Bit3 置 1), 光 标 的 移 动 会 以 寄 存 器 [20H] [30H] [40H] [50H] 所 设 置 的 工 作 视 窗 为 边 界, 自 动 换 行 或 换 页 2.6 复 位 和 初 始 化 上 电 后, 模 块 需 要 进 行 硬 件 复 位 和 初 始 化 的 设 置, 参 见 下 面 的 流 程 图 及 程 序 初 始 化 结 束 后, 模 块 的 状 态 为 : 选 择 Page 1, 文 本 模 式, 正 常 字 体, 光 标 闪 烁 处 于 屏 幕 的 右 上 角 入 口 硬 件 复 位 _RST=0; delay(time); _RST=1; delay(time); // 复 位 开 始 // 延 迟 250ms 以 上 // 复 位 结 束 // 延 迟 50ms 寄 存 器 参 数 的 设 置 : 芯 片 控 制 寄 存 器 移 位 时 钟 字 体 控 制 寄 存 器 光 标 高 度 行 距 设 定 工 作 视 窗 显 示 视 窗 返 回 CmdWrite (0x00,0xcd); // 文 本 模 式, 开 显 示 CmdWrite (0x90,0x0d); // 移 位 时 钟 的 设 定 CmdWrite (0xf0,0xa0); // 简 体 中 文 ROM,ASCII 区 块 0 CmdWrite (0x11,0x00); // 光 标 高 度 为 1, 行 距 为 0 CmdWrite (0x20,0x17); // 工 作 视 窗 参 数 的 设 定 CmdWrite (0x30,0x7f); CmdWrite (0x40,0x00); CmdWrite (0x50,0x00); CmdWrite (0x21,0x17); // 显 示 视 窗 参 数 的 设 定 CmdWrite (0x31,0x80); CmdWrite (0x41,0x00); CmdWrite (0x51,0x00); 初 始 化 流 程 图 http://www.topwaysz.com 6 / 8
2.7 应 用 举 例 Page 1 Page 2 Page 1 XOR Page 2 1) 选 择 Page1, 文 本 模 式 下 写 入 字 符 TOPWAY CmdWrite (0x12,0x91); // 选 择 Page1 进 行 读 写 CmdWrite (0x00,0xcd); // 文 本 模 式, 显 示 开 CmdWrite (0x60,0x09); // 定 义 X 轴 光 标 CmdWrite (0x70,0x38); // 定 义 Y 轴 光 标 Printstr ("TOPWAY"); // 调 用 子 函 数, 写 入 字 符 串 delay (time); // 延 迟 一 段 时 间 2) 选 择 Page2, 图 形 模 式 下 写 入 数 据 0xff CmdWrite (0x12,0xa2); // 选 择 Page2 进 行 读 写 CmdWrite (0x00,0xc5); // 图 形 模 式, 显 示 开 CmdWrite (0x60,0x00); // 定 义 X 轴 光 标 CmdWrite (0x70,0x00); // 定 义 Y 轴 光 标 FullScreenFill(0xff); // 调 用 子 函 数, 全 屏 点 亮 delay (time); // 延 迟 一 段 时 间 3) 两 图 层 合 成,Page1 XOR Page2 CmdWrite (0x12,0xb7); //Page1 XOR Page2 delay (time); // 延 迟 一 段 时 间 4) 自 定 义 字 符 入 口 设 定 绘 图 模 式 选 择 page0 本 模 块 提 供 给 用 户 16 个 自 定 义 字 符, 可 以 写 入 SRAM(Page0), 代 码 为 FFF0H-FFFFH 写 入 过 程 见 流 程 图, 其 中 X 轴 光 标 为 代 码 低 4 位 的 偶 数 倍 在 文 本 模 式 下 先 写 入 代 码 高 字 节, 再 写 入 代 码 低 字 节, 就 可 以 显 示 出 所 定 义 的 字 符 定 位 X 轴 光 标 写 入 字 符 左 半 面 的 16Byte 数 据 X 轴 光 标 加 1 写 入 字 符 右 半 面 的 16Byte 数 据 返 回 自 定 义 字 符 流 程 图 CmdWrite (0x00,0xc5); // 选 择 图 形 模 式 CmdWrite (0x12,0x10); // 选 择 Page0 SRAM CmdWrite (0x60,0x00); // 定 义 X 轴 光 标 DataWrite (data); // 写 入 前 16 个 数 据 CmdWrite (0x60,0x01); //X 轴 光 标 加 1 DataWrite (data); // 写 入 后 16 个 数 据 CmdWrite (0x00,0xcd); // 文 本 模 式, 显 示 开 CmdWrite (0x12,0x91); // 选 择 Page1 进 行 读 写 CmdWrite (0x60,0x00); // 定 义 X 轴 光 标 CmdWrite (0x70,0x00); // 定 义 Y 轴 光 标 DataWrite(0xff); // 写 入 自 定 义 字 符 的 高 8 位 DataWrite(0xf0); // 写 入 自 定 义 字 符 的 低 8 位 delay (time); // 延 迟 一 段 时 间 http://www.topwaysz.com 7 / 8
参 考 程 序 // 本 例 程 的 演 示 结 果 为 : 拓 普 微 LM1095R #include <reg52.h> #include <intrins.h> #define uchar unsigned char #define uint unsigned int #define LCD_BUS P1 //MCU P1<------> LCM sbit _RD=P3^6; sbit _WR=P3^7; sbit RS=P3^1; sbit CS=P3^4; sbit _RST=P3^5; // 读 信 号 // 写 信 号 // 寄 存 器 选 择 // 片 选 信 号 // 复 位 信 号 // 延 迟 子 程 序 void delay(uint t) uint i; uint j; for(j=0;j<t;j++); for(i=0;i<109;i++) // 写 寄 存 器 命 令 void CmdWrite(uchar cmdreg,uchar cmddata) LCD_BUS=cmdreg; // 写 入 寄 存 器 的 地 址 CS=0; _RD=1; RS=0; _WR=0; RS=1; CS=1; LCD_BUS=cmddata; CS=0; _RD=1; RS=0; _WR=0; RS=1; CS=1; // 写 入 参 数 // 数 据 写 操 作 void DataWrite(unsigned char wrdata) _RD=1; RS=1; LCD_BUS=wrdata; // 写 入 数 据 CS=0; _WR=0; RS=0; CS=1; // 写 入 字 符 串 void Printstr(uchar code *pstr) while(*pstr>0) DataWrite(*pstr); pstr++; delay(1); // 整 屏 幕 写 入 数 据 void FullScreenFill(uchar fill_data) uchar i,j; CmdWrite(0x60,0x00); CmdWrite(0x70,0x00); for(i=0;i<24;i++) for(j=0;j<128;j++) DataWrite(fill_data); // 模 块 复 位 与 初 始 化 void LCD_Initial() _RST=0; // 复 位 开 始 delay(250); _RST=1; delay(50); CmdWrite(0x00,0xcd); CmdWrite(0x90,0x0d); CmdWrite(0xf0,0xa0); CmdWrite(0x11,0x00); CmdWrite(0x20,0x17); CmdWrite(0x30,0x7f); CmdWrite(0x40,0x00); CmdWrite(0x50,0x00); CmdWrite(0x21,0x17); CmdWrite(0x31,0x80); CmdWrite(0x41,0x00); CmdWrite(0x51,0x00); // 复 位 结 束 // 工 作 视 窗 参 数 的 设 定 // 显 示 视 窗 参 数 的 设 定 // 主 程 序 void main() _RD=1; RS=1; CS=1; LCD_BUS=0xff; LCD_Initial(); CmdWrite(0x12,0x91); // 选 择 page1 进 行 读 写 CmdWrite(0x00,0xcd); // 文 本 模 式, 开 显 示 FullScreenFill(0x00); // 清 屏 CmdWrite(0x60,0x06); CmdWrite(0x70,0x38); Printstr(" 拓 普 微 LM1095R"); while(1) ; //end of program http://www.topwaysz.com 8 / 8