广州周立功单片机发展有限公司Te:(020)38730916387309173873097638730977Fax:38730925 酤MM 喜§§§9 图5.19HD61830引脚图 523东芝公司点阵式图形液晶控制器T6963C T6%63C常用于中规模的单色点阵图形液晶的显示控制器,其最大特点是具有独特的硬 件初始化值设置功能,显示驱动所需的参数如占空比系数、驱动传输的字节数/行、字符的 字体选择等均由引脚电平设置。器件逻辑框图如图5.20所示,器件引脚图如图5.21所示, 相关参数如下 工作电压:50V 最大驱动液晶点阵:单色640×128(单屏) 支持存储器大小:64K字节SRAM MPU接口:8位并行数据接口 显示方式:图形方式、文本方式、图形文本混合方式 字符发生器:128种5×8、6×8、7×8、8×8字符( CGROM) 可管理外部2K字节的 CGRAM8×8字符) 驱动LCD占空比:1/16~1/128 低功耗:显示期间电流典型值3.3mA
广州周立功单片机发展有限公司 Tel: (020) 38730916 38730917 38730976 38730977 Fax: 38730925 - 16 - 图 5. 19 HD61830 引脚图 5.2.3 东芝公司点阵式图形液晶控制器 T6963C T6963C 常用于中规模的单色点阵图形液晶的显示控制器 其最大特点是具有独特的硬 件初始化值设置功能 显示驱动所需的参数如占空比系数 驱动传输的字节数/行 字符的 字体选择等均由引脚电平设置 器件逻辑框图如图 5. 20 所示 器件引脚图如图 5. 21 所示 相关参数如下 工作电压 5.0V 最大驱动液晶点阵 单色 640 128(单屏) 支持存储器大小 64K 字节 SRAM MPU 接口 8 位并行数据接口 显示方式 图形方式 文本方式 图形文本混合方式 字符发生器 128 种 5 8 6 8 7 8 8 8 字符(CGROM) 可管理外部 2K 字节的 CGRAM(8 8 字符) 驱动 LCD 占空比 1/16 1/128 低功耗 显示期间电流典型值 3.3mA
广州周立功单片机发展有限公司Te:(020)38730916387309173873097638730977Fax:38730925 add to d15 (TO/FROM RAMI aNAL ARTHMETK 以 GNERATOA D, 5o D7 TO/FROM CFU CDATA LP, FR, ED, HOD, LoO 图5.20T6963C原理模框图 5 52 51 50 49 48 47 466aaaa33是 T6963c 图5.21T6963C引脚图 另外,针对国内用户对汉字显示的需求,还有一些内部集成有汉字库的点阵式图形液晶 驱动控制器,比如ST7920。 5.3点阵式图形液晶模块及驱动程序 由于点阵式液晶显示屏的引脚较多,生产厂家通常会将液晶显示屏和驱动电路装配在一 起,形成液晶显示模块,即 LCD Module,简称LCM。LCM是液晶显示产品的另外一种商 品形式,它是将液晶显示器件、连接件、驱动和控制集成电路(有些液晶模块需要外接液晶 控制器)、PCB线路板、背光源、结构件装配在一起的组件。液晶显示模块在很大程度上方 便了用户的使用,用户只要将其与微控制器连接,即可进行图形的显示输出控制 这里列举几种常用的点阵式图形液晶模块及驱动程序。 53.1SMG240128A点阵图形液晶模块 SMG240128A点阵图形液晶模块的点像素为240×128点,黑色字/白色底,STN液晶屏, 17
广州周立功单片机发展有限公司 Tel: (020) 38730916 38730917 38730976 38730977 Fax: 38730925 - 17 - 图 5. 20 T6963C 原理模框图 图 5. 21 T6963C 引脚图 另外 针对国内用户对汉字显示的需求 还有一些内部集成有汉字库的点阵式图形液晶 驱动控制器 比如 ST7920 5.3 点阵式图形液晶模块及驱动程序 由于点阵式液晶显示屏的引脚较多 生产厂家通常会将液晶显示屏和驱动电路装配在一 起 形成液晶显示模块 即 LCD Module 简称 LCM LCM 是液晶显示产品的另外一种商 品形式 它是将液晶显示器件 连接件 驱动和控制集成电路(有些液晶模块需要外接液晶 控制器) PCB 线路板 背光源 结构件装配在一起的组件 液晶显示模块在很大程度上方 便了用户的使用 用户只要将其与微控制器连接 即可进行图形的显示输出控制 这里列举几种常用的点阵式图形液晶模块及驱动程序 5.3.1 SMG240128A 点阵图形液晶模块 SMG240128A 点阵图形液晶模块的点像素为 240 128 点 黑色字/白色底 STN 液晶屏
广州周立功单片机发展有限公司Te:(020)38730916387309173873097638730977Fax:38730925 视角为6:00,内嵌控制器为东芝公司的T6963C,外部显示存储器为32K字节,模块的电路 原理框图如图5.22所示。 ADO-AD SRA 0B0-DBY T6963 TA39 TAss TA39 OR EQUIV LED PANE 240 x 128 JUTS vd Vs5- 图5.22sMG240128A点阵图形液晶模块原理框图 EasyARM200开发板可以直接支持SMG240128A点阵图形液晶模块或相兼容的液晶模 块,应用连接电路如图5.23所示。采用8位总线方式连接,SMG240128A点阵图形液晶模 块的没有地址总线,显示地址和显示数据均通过DB0~DB7接口实现,由于模块工作电源 是5V,而LPC2210的O电压为3.3V,所以在总线上串接4709保护电阻。图形液晶模块 的C①D与A1连接,用于控制模块处理数据/命令,将C/D与A1连接有一个好处,就是LPC2210 可以使用16位总线方式操作该图形液晶模块(高8位数据被忽略)。模块的片选信号由 LPC2210的A22和外部存储器BANK3片选CS3相“或”后得到,当A22和nCS3同时为 0时,模块被选中,所以其数据操作地址为0x8300000,命令操作地址为0x83000002 Address::0x83000000-0x83000002 E URD P270E 图5.23SMG240128A点阵图形液晶模块应用连接电路 使用LPC2210的总线对SMG240128A点阵图形液晶模块操作控制前,先要设置芯片的 外部存储器控制器(EMC),如程序清单5.1所示。SMG240128A点阵图形液晶模块驱动程序 18
广州周立功单片机发展有限公司 Tel: (020) 38730916 38730917 38730976 38730977 Fax: 38730925 - 18 - 视角为 6:00 内嵌控制器为东芝公司的 T6963C 外部显示存储器为 32K 字节 模块的电路 原理框图如图 5. 22 所示 图 5. 22 SMG240128A 点阵图形液晶模块原理框图 EasyARM2200开发板可以直接支持SMG240128A点阵图形液晶模块或相兼容的液晶模 块 应用连接电路如图 5. 23 所示 采用 8 位总线方式连接 SMG240128A 点阵图形液晶模 块的没有地址总线 显示地址和显示数据均通过 DB0 DB7 接口实现 由于模块工作电源 是 5V 而 LPC2210 的 I/O 电压为 3.3V 所以在总线上串接 470 保护电阻 图形液晶模块 的C/D与A1连接 用于控制模块处理数据/命令 将C/D与A1连接有一个好处 就是LPC2210 可以使用 16 位总线方式操作该图形液晶模块(高 8 位数据被忽略) 模块的片选信号由 LPC2210 的 A22 和外部存储器 BANK3 片选 CS3 相 或 后得到 当 A22 和 nCS3 同时为 0 时 模块被选中 所以其数据操作地址为 0x83000000 命令操作地址为 0x83000002 图 5. 23 SMG240128A 点阵图形液晶模块应用连接电路 使用 LPC2210 的总线对 SMG240128A 点阵图形液晶模块操作控制前 先要设置芯片的 外部存储器控制器(EMC) 如程序清单 5. 1 所示 SMG240128A 点阵图形液晶模块驱动程序
广州周立功单片机发展有限公司Te:(020)38730916387309173873097638730977Fax:38730925 如程序清单5.2所示,ADS1.2集成开发环境、系统时钟Fclk=44.2368MHz条件下通过。 程序清单5.1存储器接口BANK3总线配置—SMG240128A LDR RO=BCFG3 设置BCFG3寄存器 Rl.=0x10000CA0 STR R1,[R0] 程序清单5.2SMG240128A点阵图形液晶模块驱动程序 *文件名: LCDDRIVE. O *功能:图形液晶240*128驱动(型号为SMG240128A)。32K显示存,00004-7FFFH地址。 显示是横向字节,高位在前。 说明:图形液晶采用T6963C液晶控制芯片,单5伏供电,并行接口(使用LPC220驱动) *硬件连接:D0-D7<D0-D7 /R<=> nWE RD <= nOE #include"config. h TCOLOR disp bufuIGUl LCM XMAX/8]: ∥声明GU显示缓冲区 定义LCM地址 #define TG240128 COM (((volatile unsigned short*)0x83000002) #define TG240128 DAT (*((volatile unsigned short*)Ox83000000)) 率市布率布市市市市市布市市布市市市率市市率市率市市市事市市率市市率市市率事市率市布率事事 *名称: LCD Write Commando *功能:写命令子程序。(发送命令前,不检查液晶模块的状态) 入口参数: command要写入LCM的命令字 *出口参数:无 说明:函数会设置LCM数据总线为输出方式 #define LCD Write Command(command) TG240128 COM=(uint16)command *名称: LCD Write Data0 *功能:写数据子程序。(发送数据前,不检查液晶模块的状态)
广州周立功单片机发展有限公司 Tel: (020) 38730916 38730917 38730976 38730977 Fax: 38730925 - 19 - 如程序清单 5. 2 所示 ADS1.2 集成开发环境 系统时钟 Fcclk=44.2368MHz 条件下通过 程序清单 5. 1 存储器接口 BANK3 总线配置 SMG240128A … LDR R0, =BCFG3 ; 设置 BCFG3 寄存器 LDR R1, =0x10000CA0 STR R1, [R0] … 程序清单 5. 2 SMG240128A 点阵图形液晶模块驱动程序 /**************************************************************************************** * 文件名 LCDDRIVE.C * 功能 图形液晶 240*128 驱动(型号为 SMG240128A) 32K 显示存 0000H-7FFFH 地址 * 显示是横向字节 高位在前 * 说明 图形液晶采用 T6963C 液晶控制芯片 单 5 伏供电 并行接口(使用 LPC2210 驱动) * 硬件连接 D0--D7 <===> D0--D7 * /WR <===> nWE * /RD <===> nOE * /CE <===> nCS3_1 * C/D <===> A1 * * /RST <===> VCC ****************************************************************************************/ #include "config.h" TCOLOR gui_disp_buf[][GUI_LCM_XMAX/8]; // 声明 GUI 显示缓冲区 /* 定义 LCM 地址 */ #define TG240128_COM (*((volatile unsigned short *) 0x83000002)) #define TG240128_DAT (*((volatile unsigned short *) 0x83000000)) /*********************************************************************** * 名称 LCD_WriteCommand() * 功能 写命令子程序 (发送命令前 不检查液晶模块的状态) * 入口参数 command 要写入 LCM 的命令字 * 出口参数 无 * 说明 函数会设置 LCM 数据总线为输出方式 ***********************************************************************/ #define LCD_WriteCommand(command) TG240128_COM = (uint16)command /*********************************************************************** * 名称 LCD_WriteData() * 功能 写数据子程序 (发送数据前 不检查液晶模块的状态)
广州周立功单片机发展有限公司Te:(020)38730916387309173873097638730977Fax:38730 入口参数:dat要写入LCM的数据 *出口参数:无 *说明:函数会设置LCM数据总线为输出方式 率事事市率事市市半事本布水市布水事市事市事市事市市市市半率水市布水事和布市市市事市市布率 #define LCd WriteData(dat) TG240128 DAT=(uint16)dat 名称: LCD ReadstateO 力能:读取状态字子程序 *入口参数:无 *出口参数:返回值即为读出的状态字 *说明:函数会设置LCM数据总线为输入方式 #define LCD ReadStateO TG240128 COM /*亭率事事事*事率事布布冰*亭事事事布事事率事和市事布率事和布事事*事事事布*事事 名称: LCD ReadDatao *功能:读取数据子程序 *入口参数:无 *出口参数:返回值即为读出的数据 说明:函数会设置LCM数据总线为输入方式 #define LCD ReadDatao TG240128 DAT ∧*以下为LCM的驱动层,主要负责发送T6963的各种命令,提供设置显示地址等功能,在发送命令前会 检测其状态字。带参数命令模式:先参数,后命令;操作模式:先命令,后数据* T6963C命令定义 # define LCD CUR POS0x21/光标位置设置(只有设置到有效显示地址并打开显示时才看到) LCD CGR POS0x22/ CGRAM偏置地址设置(可以增加自已的符号) LCD ADR POS 0x24 地址指针位置(设置读写操作指针) # define LCD TXT STP0x40/*文本区首址(从此地址开始向屏幕左上角显示字符) # define LCD TXT WID0x41/文本区宽度(设置显示宽度,N/6或N8,其中N为x轴的点数) #define LCD GRH STP0x42图形区首址(从此地址开始向屏幕左上角显示点) define LCD GRH WID0x43/*图形区宽度(设置显示宽度,N6或N8,其中N为x轴的点数)* #define LCD MOD OR 0x80/*显示方式:逻辑或 # define LCD MOD XOr0x81/显示方式:逻辑异或 # define LCD MOD AND0x82/显示方式:逻辑与制 #define LCD MOD TCH 0x83 显示方式:文本特征 20
广州周立功单片机发展有限公司 Tel: (020) 38730916 38730917 38730976 38730977 Fax: 38730925 - 20 - * 入口参数 dat 要写入 LCM 的数据 * 出口参数 无 * 说明 函数会设置 LCM 数据总线为输出方式 ***********************************************************************/ #define LCD_WriteData(dat) TG240128_DAT = (uint16)dat /*********************************************************************** * 名称 LCD_ReadState() * 功能 读取状态字子程序 * 入口参数 无 * 出口参数 返回值即为读出的状态字 * 说明 函数会设置 LCM 数据总线为输入方式 ***********************************************************************/ #define LCD_ReadState() TG240128_COM /*********************************************************************** * 名称 LCD_ReadData() * 功能 读取数据子程序 * 入口参数 无 * 出口参数 返回值即为读出的数据 * 说明 函数会设置 LCM 数据总线为输入方式 ***********************************************************************/ #define LCD_ReadData() TG240128_DAT /* 以下为 LCM 的驱动层 主要负责发送 T6963 的各种命令 提供设置显示地址等功能 在发送命令前会 检测其状态字 带参数命令模式 先参数 后命令 操作模式 先命令 后数据 */ /* T6963C 命令定义 */ #define LCD_CUR_POS 0x21 /* 光标位置设置(只有设置到有效显示地址并打开显示时才看到) */ #define LCD_CGR_POS 0x22 /* CGRAM 偏置地址设置(可以增加自已的符号) */ #define LCD_ADR_POS 0x24 /* 地址指针位置(设置读写操作指针) */ #define LCD_TXT_STP 0x40 /* 文本区首址(从此地址开始向屏幕左上角显示字符) */ #define LCD_TXT_WID 0x41 /* 文本区宽度(设置显示宽度 N/6 或 N/8 其中 N 为 x 轴的点数) */ #define LCD_GRH_STP 0x42 /* 图形区首址(从此地址开始向屏幕左上角显示点) */ #define LCD_GRH_WID 0x43 /* 图形区宽度(设置显示宽度 N/6 或 N/8 其中 N 为 x 轴的点数) */ #define LCD_MOD_OR 0x80 /* 显示方式 逻辑或 */ #define LCD_MOD_XOR 0x81 /* 显示方式 逻辑异或 */ #define LCD_MOD_AND 0x82 /* 显示方式 逻辑与 */ #define LCD_MOD_TCH 0x83 /* 显示方式 文本特征 */