液晶显示技术T6963C的使用(C语言)
基于图形液晶控制器T6963C的显示驱动(C语言)
基于图形液晶控制器 T6963C 的显示驱动程序(C 语言)设计
电气工程及其自动化专业 谷庆广
[摘 要] 随着AT89C51单片机在各个领域的应用, 图形液晶显示控制器T6963C的应 用也正在不断地走向深入。设计以C语言为编程语言,以控制器T6963C来控制液晶显示 器LM3229的显示,对核心绘点子程序、绘直线子程序、绘圆子程序的算法设计做了详细 剖析。在Keil中进行了程序编写和调试, 在Proteus ISIS中进行了系统软、硬件交互仿 真,最后完成了实际电路连接并实现了系统各项功能。基于C语言的T6963C显示驱动程 序,具有很好的可移植性,节约了使用者单独编程和开发的时间和效率,有很好的市场 发展前景。 [关键词] AT89C51 单片机;Proteus 仿真软件;T6963C 控制器;图形液晶 LM3229
I
基于图形液晶控制器 T6963C 的显示驱动程序(C 语言)设计
目
录
1 引言........................................................................................................................................ 1 1.1 课题背景介绍.............................................................................................................. 1 1.2 研究现状综述............................................................................................................. 1 2 T6963C 控制器的显示原理................................................................................................... 2 2.1 LM3229 内部结构........................................................................................................ 2 2.2 显示 RAM 的编址方式................................................................................................. 3 2.2.1 文本显示区....................................................................................................... 3 2.2.2 图形显示区....................................................................................................... 4 2.3 T6963C 的读、写操作................................................................................................ 4 2.3.1 写操作............................................................................................................... 4 2.3.2 读操作............................................................................................................... 4 2.4 T6963C 指令................................................................................................................ 5 2.4.1 光标地址设置................................................................................................... 6 2.4.2 显示地址设置................................................................................................... 6 2.4.3 文本显示区首地址设置................................................................................... 7 2.4.4 文本显示区宽度设置....................................................................................... 7 2.4.5 图形显示区宽度设置....................................................................................... 7 3 基于 T6963C 的显示驱动程序设计.................................................................................... 11 3.1 硬件电路................................................................................................................... 12 3.2 绘点子程序............................................................................................................... 12 3.3 绘直线算法及子程序............................................................................................... 13 3.4 绘圆算法及子程序................................................................................................... 15 3.5 绘图编程实例........................................................................................................... 18 3.5.1 正方形显示子程序........................................................................................ 19 3.5.2 正方形水平移动显示子程序........................................................................ 19 3.5.3 图像显示子程序............................................................................................ 20 3.5.4 仿真运行结果................................................................................................ 21 结束语...................................................................................................................................... 23 参考文献.................................................................................................................................. 24 附录.......................................................................................................................................... 25 致谢.......................................................................................................................................... 37
T6963C控制器系列液晶模块 中文说明书
T6963C控制器系列液晶模块使用说明书感谢您关注和使用我们的液晶产品。
如果您在使用中有任何疑问,请拨打我们的客户服务热线*************寻求技术支持和获取相关资料,我们竭诚为您服务。
您可以登录我们的网站了解最新产品信息。
或者您可以在我公司网站的留言簿栏目留下您宝贵的意见。
深圳市亚斌显示电子有限公司第一章亚斌T6963C控制器系列产品介绍一、 T6963C控制器系列产品主要特性z Intel8080系列微处理器接口z6×8和8×8字体可选z图形方式、文本方式以及图形与文本混合显示,文本方式下的特征显示图形拷贝功能z内置字符发生器CGROM,含128个字符。
模块上带32K显示缓冲区。
二、 产品列表128×64点阵系列160×128点阵系列240×64点阵系列240×128点阵系列YB12864F YB12864FA YB12864T YB12864J YB12864I YB160128AYB160128BYBS24064-1YB24064BYB24064DYB240128-1YB240128-2YB240128-6YB240128EYB240128AYB240128DYB240128BYB240128C三、 接口顺序12864*160128**24064***240128-1*1*240128-2*2*2401281A 240128-6*1 FG FG FG FG FG FG FG2 GND GND GND GND GND GND GND3 VCC VCC VCC VCC VCC VCC VCC4 V0 V0 V0 V0 V0 V0 V05 /WR VEE /WR /WR /WR /WR /WR6 /RD /WR /RD /RD /RD /RD /RD7 /CE /RD /CE /CE /CE /CE /CE8 C/D /CE C/D C/D C/D C/D C/D9 /RST C/D NC /RST /RST /RST NC10 DB0 /HALT /RST DB0 DB0 DB0 /RST11 DB1 /RST DB0 DB1 DB1 DB1 DB012 DB2 DB0 DB1 DB2 DB2 DB2 DB113 DB3 DB1 DB2 DB3 DB3 DB3 DB214 DB4 DB2 DB3 DB4 DB4 DB4 DB315 DB5 DB3 DB4 DB5 DB5 DB5 DB416 DB6 DB4 DB5 DB6 DB6 DB6 DB517 DB7 DB5 DB6 DB7 DB7 DB7 DB618 FS DB6 DB7 FS FS FS DB7BLADB7 FS VEE BLA VEE FS1920 BLK NC VEE BLA BLK BLA*4* VEE21 -- BLA BLK -BLA22 -- BLK --BLK * 12864系列产品接口相同,型号见产品列表** 160128系列产品接口相同,型号见产品列表*** 24064系列产品接口相同,型号见产品列表*1* 与240128-1接口相同的产品有:240128A-1*2* 与240128-2接口相同的产品有:240128B,240128C*3* 与240128-6接口相同的产品有:240128A*4* 2401281A背光的控制脚正负极可选,即20脚可以为BLA,也可以为BLK说明:以上产品都有STN黄绿膜,蓝膜以及FSTN产品可选。
液晶显示技术T6963C的使用(C语言)
T6963C的使用(C语言)内置T6963C的128×128图形液晶显示模块从图1我们可以看出:(1)偏压电路的设计≈),电阻R1~R5组成了分压电液晶显示驱动电源采用了1/1313=≈)R。
路,其中:R1=R2=R4=R5=R,R38.319驱动负电源由接口V0提供。
(2)驱动电路的组成在液晶显示驱动控制系统中,由两片T6A39列驱动器和两片T6A40行驱动器组成驱动电路。
(3)T6963C工作参数的设置T6963C的工作参数设置如下:/DUAL=1 单屏结构SDSEL=0 一位串行数据传输MDS=1、MDl=MD0=0 N=16即1/128占空比系数MD2=MD3=1 M=32即256点列/行FS0=0 通过计算机选择6×8点阵字体或8×8点阵字体(4)晶振频率选择根据T6963的设置参数可以求得:Fosc= F R×64×2×M×N =60×64×2×32×16=3.932MHz。
通过查表6-32也可以得到频率值,大小也为3.932MHz。
这个时候,选用4MHz的晶振。
(5)显示存储器显示存储器为8K字节容量,存储器芯片为6264或其它SRAM。
图1 内置T6963C的128×128图形液晶显示模块的电原理图内置T6963C控制器的液晶显示模块的接口技术内置T6963C控制器的液晶显示模块与计算机的接口时序为Inter8080时序。
本节以常用的单片机AT89C51为实验样机,以模块128128为显示样片叙述计算机与内置T6963C控制器的液晶显示模块的接口技术。
1 直接访问方式直接访问方式是把内置T6963C控制器的液晶显示模块作为存储器或I/O设备直接挂在计算机的总线上。
模块的数据线接计算机的数据总线上,片选及寄存器选择信号线由计算机的地址总线提供,读和写操作由计算机的读写操作信号控制。
T6963C液晶
在文本属性显示方式下,图形显示开关也应启用,只是特性不同。光标显示及光
标闪烁功能的启用要在文本显示启用时进行,否则无效。
● 光标形状设置
格式
1
0
1
0
0
N2
N1
N0
该指令设置光标的显示形状。无参数补充。在指令中的三个设置位设置了光标点
8
数。光标是以 8 点列 X N 行,行的取值由位 N2,N1,N0 组合完成。
一. 主要功能
1. 可用在字符、图形、字符和图形组合模式。 2. 显示模式可通过引脚电平设置
列数:32,40,64,80 行数: 2,4,6,8,10,12,14,16,20,24,28,32 3. 字符字体可通过引脚电平设置
水平点数:5,6,7,8 垂直点数:8(固定不变) 即字体可为:5X8,6X8,7X8,8X8 4. 显示 DUTY:1/16 TO 1/128 5. 有一个 128-WORD 字符产生 ROM, 可控制 64KB 外部静态显示 RAM。 6. 具有良好的 CPU 接口(8 位数据线,4 位控制线:/WR,/RD,/CE,C/D)
文本与图形以逻辑异或
的关系合成显示
011
逻辑与
文本与图形以逻辑与的
关系合成显示
100
文本属性
文本显示特征以双字节
显示
在设置了文本属性显示方式后,图形显示区将转换成文本属性区,用于存储字符
的属性代码,其地址与显示屏上的对应关系与文本显示区相同。因此在显示屏上
某位置上显示的字符是由双字节数据组成,第一字节为字符代码存储在文本显示
● 地址指针设置
1. 光标地址设置
D1
D2
指令代码
水平位置(低 7 位有效)
T6963C中文数据手册完整版(免费共享)
T6963C TOSHIBA点阵LCD集成控制芯片2009-8-21 T6963C是一个用在LCD控制驱动集成电路(LSI)和数据显示存储器上的LCD控制器。
它有一个8位的并行数据总线和控制线与MPU接口进行读写操作,它可以直接与TMPZ-80相连接。
T6963C有一个128-word的字符生成ROM,可用来控制最大为64KB的外部显存RAM。
文本、图形和外部字符生成RAM的分配很简单,显示窗口能自由地在已分配存储器范围内移动。
通过编程输入引脚电平的不同组合,器件支持很宽范围的LCD显示尺寸。
它支持文本、图形以及文本与图像混合显示模式。
另外,还包括多种特性功能。
1.特性z显示模式(可通过选择引脚电平来设置)列:32、40、64、80行:2、4、6、8、10、12、14、16、20、24、28、32行列数的组合不能使频率超过5.5MHz(看图2)z字符字体(可通过选择引脚电平来设置)水平点数:5、6、7、8垂直点数:8(固定)和在文本模式中一样,在图形模式中也可以设置字符字体大小。
在选择字体大小时,晶振频率不会改变。
z显示占空比:1/16~1/128。
(duty = 1/8N,N表示行数)z内置一个128-word的字符生成ROM(T6963C-0101)z外部显存:最大支持64KB显存内文本区域大小、图形区域大小、外部字符生成区域大小可由软件编程设置。
z CPU的读写操作不影响LCD显示。
z内置晶体振荡电路,振荡频率可以根据显示大小进行调整。
如果使用外部时钟,XI 引脚作为时钟输入引脚(XO 断开)。
外接电容大小:晶体振荡器:20~30pF陶瓷振荡器:30~100pF内置反馈电阻: 900KΩz Toshiba LCD驱动集成电路(不带内置RAM)也可与T6963C连接。
z外部显存必须为静态RAM,因为T6963C不支持动态RAM的刷新功能。
z特性功能只支持文本模式,不能在图形或字符组合模式中使用。
内置控制器液晶显示模块的应用
内置控制器型液晶显示模块的应用——T6963C液晶显示驱动控制器在中规模图形液晶显示模块中,内置T6963C控制器的液晶显示模块是目前较为常用的品种较多的内置控制器型图形液晶显示模块。
这里列举香港精电公司的部分产品,如表1所示,以展示内置T6963C控制器的液晶显示模块的阵容。
表1本章将以香港精电公司的液晶显示模块MGLS240128T为实例,说明内置T6963C控制器型液晶显示模块的应用。
第一节内置T6963C控制器型图形液晶显示模块的电路特性内置T6963C控制器型液晶显示模块的驱动控制系统是由液晶显示控制器T6963C及其周边电路,行驱动器组,列驱动器组以及液晶驱动偏压电路组成。
从模块的外接口考察模块的电路特性,实际上就是T6963C的电路特性。
T6963C是日本东芝公司的产品,其原理图和引脚图如图1和图2所示。
T6963C的最大特点是具有独特的硬件初始值设置功能,显示驱动所需的参数如占空比系数,驱动传输的字节数/行及字符的字体选择等均由引脚电平设置,这样T6963C的初始化在上电时就已经基本设置完成,软件操作的主要精力就可以全部用于显示画面的设计上了。
这就是T6963C广泛应用于内置控制器型的液晶显示模块的原因。
下面按照控制器的三部结构分解T6963C,详细介绍T6963C的电路原理。
一、控制部控制部是T6963C控制器的核心,它由振荡器、时序控制电路、工作方式设置寄存器及电路,内部字符库CGROM及光标控制电路,显示存储器管理电路以及运算电路和各种功能电路组成。
控制部通过振荡器外接晶体振荡器产生振荡脉冲,经时序控制电路调制产生T6963C 的工作时钟脉冲序列,根据工作方式设置电路生成各路控制及驱动时序脉冲,从而实现T6963C的工作控制。
控制部提供了使用引脚电平设置内部工作状态的功能,使T6963C上电后就开始对所连接的液晶显示驱动系统进行正常的控制及驱动。
这将避免因上电时控制器尚未进行初始化而使液晶显示驱动系统不能正常工作,导致液晶显示屏上出现不希望的显示状态。
T6963C中文资料
使用内藏T6963C控制器的液晶显示模块的注意事项1.部分内藏T6963C控制器的液晶模块为含EL 场致发光背光器件在点背光时需用逆变器型号为PYE-D32-49 PYE-D32-50或可替换的其客观存在型号逆变器供电为5V直流电源输出交流电压接至液晶的背光引脚逆变器为配件损坏将无法修理也请注意使用2.常用负电源产生为法1 采用79系列三端集成稳压器可产生-18V 7918 -24V 7924 等电源2 采用DC-DC模块市场上常见的5D**系列型号可选择使用3 采用DC-DC集成电路制作负电源如MAX749 MAX680等3.相关液晶模块的工作负电压参考值(仅供参考负电源提供的负压范围尽可能宽例如下面的12864T及其背光型所需的V0=-5.4V 负电源提供的负压可在-10V左右这样可提供较大的调节余地因为液晶材料的物理特性液晶的对比度会随着温度的变化而相应变化所以您加的负电压值应该随温度作相应的调整大致是温度变化10 电压变化1伏为满足这一要求您可做一个温度补偿电路或者安排一个电位器测度环境温度T6963C液晶显示模块上以内藏控制器型然后详细叙述内藏T6963C控制器一T6963C的特点(1)T6963C是点阵(2)T6963C的字符(3)T6963C的占空(4)T6963C可以图特征显示还可以实现图形拷贝操(5)T6963C具有内字符发生器CGRAM并允许MPU随时二T6963C的引脚T6963C的QFP(1)D0-D7:T6963C与MPU接口的数据总线,三态(2)/RD /WR 读写选通信号低电平有效输入信号(3)/CE T6963C的片选信号低电平有效(4)C/D 通道选择信号1为指令通道0为数据通道(5)/RESET /HALT /RESET 为低电平有效的复位信号它将行列计数器和显示寄存器清零关显示/HALT具有/RESET的基本功能还将中止内部时钟振荡器的工作(6)DUAL SDSELDUAL=1为单屏结构DUAL=0为双屏结构SDDEL=0为一位串行数据传输方式(7)MD2,MD3:设置显示窗口长度,从而确定了列数据传输个数的最大值,其组合逻辑关系如下:MD3 1 1 0 0MD2 1 0 1 0每行字符数32 40 64 80(8)MDS,MD1,MD0:设置显示窗口宽度(行),从而确定T6963C的帧扫描信号的时序和显示驱动的占空比系数,当DUAL=1时,其组合功能如下:MDS 0 0 0 0 1 1 1 1MD1 1 1 0 0 1 1 0 0MD2 1 0 1 0 1 0 1 0 字符行 2 4 6 8 10 12 14 16 总行数16 32 48 64 80 96 112 128 占空比1/16 1/32 1/48 1/64 1/80 1/96 1/112 1/128 当DUAL=0时,以上设置中的字符行和总行数增至原来的2倍,其它都不变,这种情况下的液晶屏结构为双屏结构出端三T6963C指令集T6963C的初始化设置一般都由管脚设置完成因此其指令系统将集中于显示功能的设置上T6963C的指令可带一个或两个参数每条指令的执行都是先送入参数如果有的话再送入指令代码每次操作之前最好先进行状态字检测T6963C的状态字如下所示STA7 STA6 STA5 STA4 STA3 STA2 STA1 STA0STA0 指令读写状态 1 准备好 0 忙STA1 数据读写状态 1 准备好 0 忙STA2 数据自动读状态 1 准备好 0 忙STA3 数据自动写状态 1 准备好 0 忙STA4 未用STA5 控制器运行检测可能性 1 可能 0 不能STA6 屏读/拷贝出错状态 1 出错 0 正确STA7 闪烁状态检测 1 正常显示 0 关显示由于状态位作用不一亲友因此执行不同指令必须检测不同状态位在MPU一次读写指令和数据时STA0和STA1要同时有效—处于准备好状态当MPU读写数组时判断STA2和STA3状态屏读写拷贝指令使用STA6STA5和STA7反映T6963C内部运行状态字符代码: D7 D6 D5 D4 D3 D2 D1 D0行地址指针: +) R2 R1 R0实际地址: V15 V14 V13 V12 V11 V10 V9 V8 V7 V6 V5 V4 V3 V2 V1 V0(3)地址指针设置:设置将要进行操作的显示缓冲区(RAM)的一个单元地址,D1 D2为该单元地址的低位和高位地址2 显示区域位置指令格式为D1 D2 0 1 0 0 0 0 N1 N2根据N1 N0的不同取值该指令有四种指令功能形式N1 N0 D1 D2 指令代码功能0 0 低字节高字节40H 文本区首址0 1 字节数00H 41H 文本区宽度字节数/行1 0 低字节高字节42H 图形区首址1 1 字节数00H 43H 图形区宽度字节数/行文本区和图形区地址对应显示屏上左上角字符位或字节位修改该地址可以产生卷动效呆D1 D2分别为该地址的低位和高位字节文本区宽度字节数/行设置和图形区宽度字节数/行设置用于调整一行显示所占显示RAM的字节数从而确定显示屏与显示RAM单元的对应关系T6963C硬件设置的显示窗口宽度是指T6963C扫描驱动的有效列数需说明的是当硬件设置 6 8字位时图形显示区单元的低6位有效对应显示屏上 6 1显示位3N3字符代码时将自N2—当设区改为文示与不显征区内D3 字符闪烁控制位D3=1为闪烁D3=0为不闪烁D2—D0的组合如下D2 D1 D0 显示效果0 0 0 正常效果1 0 1 负向效果0 1 1 禁止显示空白启用文本特征方式时可在原有图形区和文本区外用图形区域设置指令另开一区作为文本特征区以保持原图形区的数据 显示缓冲区可划分如下单屏结构SAD1 SAD1ˊ SAD14 显示开关 指令格式如下无参数 1 0 0 1 N3 N2 N1 N0N0 1/0 光标N1 1/0 光标N2 1/0 文本N3 1/0 图形5 光标形状选光标开头为86 数据自动读该指令执行后动增 1 自动读 写结束时 必7 数据一次读 写方式 指令格式如下D1 1 1 0 0 0 N 2 N1 N0D1为需要写的数据 读时无此数据N2 N1 N0 指 令 代 码 功 能 0 0 0 C0H 数据写 地址加 1 0 0 1 C1H 数据读 地址加 1 0 1 0 C2H 数据写 地址减 1 0 1 1 C3H 数据读 地址减 1图形显示区文本特性区 文本显示区 CGRAM 2K显示缓冲区R A M1 0 0 C4H 数据写地址不变1 0 1 C5H 数据读地址不变8 屏读指令格式为无参数 1 1 1 0 0 0 0 0该指令将屏上地址指针处文本与图形合成后显示的一字节内容数据送到T6963C的数据栈内等待MPU读出地址指针应在图形区内设置9 屏拷贝指令格式为无参数 1 1 1 0 1 0 0 0该指令将屏上当前地址指针图形区内处开始的一行合成显示内容拷贝到相对应的图形显示区的一组单元内该指令不能用于文本特征方式下或双屏结构液晶显示器的应用上10 位操作该指令可将显示缓N3=1置 1 N3=0清N2—N0 操作位至此T6963C的指内藏T6963C的液晶同时也已用硬件设置了液晶的结液晶显示模块一般都是单屏结构阵图形液晶显示模块的方框图如下第法一接访问方式MPU可利用数据总线口电路以公司提供的演示板为例8031数据口P0口直接与液晶显示模块的数据连拉接由于T6963C接口适于8080系列和Z80系列MPU 所以可以直接用8031的RD /WR作为液晶显示模块的读写控制信号液晶显示模块/RESET /HALT挂在+5V 上/CE信号可由地址线译码产生C/D信号由8031地址线A8提供A8=1为指令口地址A8=0为数据口地址各驱动子程序如下DAT1 EQU 30H 第一参数单元DAT2 EQU 31H 第三参数/数据单元COM EQU 32H 指令代码单元C-ADD EQU 8100H 指令通道地址D-ADD EQU 8000H 数据通道地址1.读状态字子程序占用寄存器: DPTR,A 输出寄存器 A 存储标志字R-ST MOV DPTR #C-ADD 设置指令通道地址MOVX A @DPTRRET由此程序派生出判断有关标志位的子程序(1)判状态位STA1,STA0子程序(读写指令和读写数据状态),在写指令的读写数据之前这两个标志位必须同时为 1ST01 LCALL R-STJNB ACC.0,STO1JNB ACC.1,ST01RET(2)判状态位STA2子程序(数据自动读状态),该位在数据自动读操作过程中取代STA0和STA1有效在连续读过程中每读一次之前都要确认STA2=1ST2 LCALL R-STJNB ACC.2,ST2RET(3)判状态位STA3子程序(数据自动写状态)ST3: LCALL R-STJNB ACC.3,ST3RET(4)判状态位STA6子程序(屏读/屏拷贝状态)ST6: LCALL R-STJNB ACC.6,ST6RETERR: LJMP ST6 出错处理程序1.写指令和写数据子程序PR1: LCALL ST01 双字节参数指令写入入口MOV A DAT1 取第一参数单元数据LCALL PR13 写入参数PR11 LCALL ST01 单字节参数指令写入入口MOV A DAT2 取第二参数单元数据LCALL PR13 写入参数PR12 LCALL ST01 无参数指令写入入口MOV A COM 取指令代码单元数据LJMP PR14 写入指令代码PR13 MOV DPTR #D-ADD 设置数据通道地址/数据写入入口PR14 MOVX @DPTR A 写入操作RET此程序是通用程序当写入单参数指令时应把参数或数据送入DAT2内其子程序入口为PR11 无参数指令写入子程序入口为PR122.读数据子程序PR2 LCALL ST01 判状态位MOV DPTR #D-ADD 设置数据通道地址MOVX A @DPTR 读数据操作MOV DAT2 A 数据存入第二参数/数据单元RET一间接控制方式间接控制方式是MPU通过并行接口间接实现对液晶显示模块控制根据液晶显示模块的需要并行接口需要一个8位的并行接口和一个3位并行口由下图所示8031的P1口作为数据总线P3口中3位作为读写及寄存器选择信号由于并行接口只用于液晶显示模块所以/CE信号接地就行了MPU通过并行接口操纵液晶显示模块要对其时序关系有一个清楚的了解并在程序中应明确地反映出来间接控制方式的基本程序如下CD EQU P3.2 通道选择信号WR EQU P3.3 写操作信号RD EQU P3.4 读操作信号1 读状态字子程序R-ST MOV P1 #0FFH P1口置 1SETB CD CD=1CLR RD /RD=0MOV A P1 读操作SETB RD RD=1RET此程序可以直接调节器用直接访问方式中的ST01 ST2 ST3和ST6等子程序2 写指令和写数据子程序PR1 LCALL ST01 双字节参数指令写入入口MOV A DAT1 取第一参数单元数据LCALL PR13 写入参数PR11 LCALL ST01 单字节参数指令写入入口MOV A DAT2 取第二参数单元数据LCALL PR13 写入参数PR12 LCALL ST01 无参数指令写入入口MOV A COM 取指令代码单元数据LJMP PR14 写入指令代码PR13 CLR CD CD=0/数据写入入口PR14 MOV P1 A 设置数据CLR WR /WR=0SETB WR /WR=1RET3 读数据子程序PR2 LCALL ST01 判状态位CLR CD C/D=0MOV P1 1#0FFH P1口置 1CLR RD /RD=0MOV A P1 读取数据SETB RD /RD=0MOV DAT2 A 数据存入第二参数/数据单元RET第五章应用举例示例一初始化程序该程序为通用设置程序在240 128规模以内的液晶显示模块都适应1 始化设置子程序INT MOV DAT1 #00H 设置文本显示区域首地址MOV DAT2 #00HMOV COM #40HLCALL PR1MOV DAT1 #20H 设置文本显示区域宽度MOV DAT2 #00H 即一行显示年占字节数MOV COM #41HLCALL PR1MOV DAT1 #20H 设置图形显示区域首地址MOV DAT2 #08H 或为文本属性区域首地址MOV COM #42HLCALL PR1MOV DAT1 #20H 设置图形显示区域宽度MOV DAT2 #00H 或为文本属性区域宽度MOV COM #43H 即一行显示所占字节数LCALL PR1MOV COM #0A7H 光标形状设置LCALL PR12MOV COM #80H 显示方式设置逻辑或合成LCALL PR12MOV COM #9CH 显示开关设置LCALL PR12RET2 演示程序段MOV SP #60HORL P3 #1CH 间接控制方式控制线初始化LCALL INTLCALL CLEAR示例二清显示RAM区1 清显示RAM子程序CLEAR MOV DAT1 #00H 设置显示RAM首地址MOV DAT2 #00H 设置CGRAM偏置地址MOV COM #24HLCALL PR1MOV R3 #00H 设置循环量MOV R4 #20HMOV COM #0B0H 设置自动写方式LCALL PR12CLEAR1 LCALL ST3 判状态位S2MOV A #00H 置数据0LCALL PR13 写入数据DJNZ R3 CLEAR1 循环DJNZ R4 CLEAR1MOV COM #0B2H 设置自动写结束指令LCALL PR12RET示例三建立CGRAM程序1 建立CGRAM子程序地址设定在代码为80H起处COUNT EQU 34H 西文字符8 8点阵个数CGRAM MOV DAT1 #03H 设置CGRAM偏置地址MOV DAT2 #00HMOV COM #22HLCALL PR1MOV DAT1 #00H 设置RAM地址指针MOV DAT2 #1CHMOV COM #24HLCALL PR1MOV COM #0B0H 设置自动写方式LCALL R12MOV A COUNT 计算写入的字节数MOV B #08HMUL ABMOV COUNT A 计算器低8位数据INC B 计算器高8位数据MOV DPTR #CGTAB 取字符库首地址PUSH DPH 存字符库指针PUSH DPLCGRAM1 LCALL ST3 判自动写状态位POP DPL 取字符库指针POP DPHCLR AMOVC A @A+DPTR 取数据INC DPTR 字符库指针加一PUSH DPH 存字符库指针PUSH DPLLCALL PR13 写入数据DJNZ CONUT CGRAM1 计数循环DJNZ B CGRAM1MOV COM #0B2H 定入结束自动写指令LCALL PR12POP ACC 修正栈指针POP ACCRET2 汉字库(本字库由PICKHZB.EXE软件提取生成)CGTAB:DB 000H,040H,037H,010H,081H,061H,022H,00AH液DB 016H,02BH,0E2H,022H,022H,022H,023H,022HDB 080H,044H,0FEH,020H,020H,03CH,044H,064HDB 098H,048H,050H,020H,050H,08EH,004H,000HDB 00FH,008H,008H,00FH,008H,008H,00FH,008H晶DB 07EH,042H,042H,07EH,042H,042H,07EH,042HDB 0E0H,020H,020H,0E0H,020H,020H,0E0H,024HDB 0FEH,084H,084H,0FCH,0084,084H,0FCH,084H3 建立CGRAM步骤以汉字液晶为例(1)建立偏置寄存器内容(2)建立字符字模数据及定义该字符的字符代码;“液晶”的字模数据建立在CGTAB内其字符代码分别定义为80H和84H 因为一个汉字字模需要占用四个西文字模的空间所以汉字代码的定义方法如下以80H为例80H 汉字代码表示汉字左上半部字模代码81H 隐含代码表示汉字左下半部字模代码82H 隐含代码表示汉字右上半部字模代码83H 隐含代码表示汉字右下半部字模代码(3)定入CGRAM例如:将汉字“液晶”二字作为自定义字符建立程序如下MOV COUNT #08HLCALL CGRAMSJMP $示例四西文显示1 西文字符写入子程序文本属性显示方式的应用CODE EQU 33H 字符代码ATTR EQU 34H 字符属性码低4位有效O-Y EQU 35H Y坐标0-15O-X EQU 36H X坐标0-29WRI-C MOV A O-Y 计算文本显示RAM地址MOV B #20H 文本显示区宽度为20HMUL ABADD A O-XMOV DAT1 AMOV A BADDC A #00HMOV DAT2 APUSH ACC 存地址的高8位MOV COM #24H 设置地址指针LCALL PR1MOV DAT2 CODE 写入字符代码MOV COM #0C4HLCALL PR11POP ACC 取地址的高8位ADD A #08H 计算相应的属性区RAM地址MOV DAT2 AMOV COM #24H 设置地址指针LCALL PR1MOV DAT2 ATTR 写入属性参数MOV COM #0C4HLCALL PR11RET2 文本属性方式设置程序段MOV COM #84H 设置文本属性显示方式LCALL PR12MOV COM #9FH 开文本和图形显示LCALL PR123 文本属性方式显示演示程序段MOV DAT1 #0EHMOV DAT2 #01HMOV COM #21HLCALL PR1MOV R1 #00HLOOPA MOV R2 #00HMOV R3 #00HMOV R4 #01HLOOPB MOV A R2MOV DPTR #DTABMOVC A @A+DPTRMOV CODE AMOV O-X R3MOV O-Y R4LCALL WRI-CINC R2INC R3MOV A R2CJNE A #14 LOOPBLCALL DELAYINC R1LJMP LOOPADELAY MOV R5 #00HMOV R6 #00HDELAY1 NOPDJNZ R5 DELAY1DJNZ R6 DELAY1RETDTAB DB 37H 45H 4CH 43H 4FH 4DH 45H 00H 39H 4FH 55H WELCONE YOU 示例五汉字显示方式一文本方式下的汉字显示1 汉字写入子程序文本方式CODE EQU 33H 汉字字符代码O-Y EQU 35H Y坐标0-15O-X EQU 36H X坐标0-29WRI-CT MOV A O-Y 计算显示RAM地址MOV B #20HMUL ABADD A O-XMOV DAT1 AMOV A BADDC A #00H 文本显示区首地址为0000HMOV O-Y AMOV DAT2 A 设置显示RAM地址MOV COM #24HLCALL PR1MOV A CODE 取汉字代码MOV DAT2 A 写入左上半部汉字代码MOV COM #0C0HLCALL PR11MOV A CODEADD A #02HMOV DAT2 A 写入右上半部汉字代码LCALL PR11MOV A #20H 显示RAM地址修正ADD A O-XMOV DAT1 ACLR AADDC A O-YMOV COM #24H 设置显示RAM地址LCALL PR1MOV PR1MOV A CODEINC AMOV DAT2 A 写入左下半部汉字代码MOV COM #0C0HLCALL PR11MOV A CODEADD A #03HMOV DAT2 A 写入右下半部汉字代码LCALL PR11RET在示例三上我们已经提供CGRAM的方法并且作为示例建立了汉字液晶二字的字库在此以文本方式显示汉字液晶二字演示程序如下MOV CODE #80H 液MOV O-X #00HMOV O-Y #00HLCALL WRI-CTMOV CODE #84H 晶MOV O-X #07HMOV O-Y 02HLCALL WRI-CTSJMP $示例六汉字显示方式二形方式下的汉字显示软件PICKHZB.EXE建立的汉字库而编制的1 汉字写入子程序图形方式CODE EQU 33H 汉字字符代码O-Y EQU 35H Y坐标0-127O-X EQU 36H X坐标0-29COUNT EQU 34H 计数器WRI-CC MOV A O-Y 计算图形显示RAM地址MOV B #20H 图形显示A区宽度为20HMUL ABADD A O-XMOV O-X AMOV A BADDC A #80H 图形显示区首地址为0800HMOV O-Y AMOV DPTR #CCTAB 计算汉字库字符首地址MOV A CODEMOV B #20HMUL ABADD A DPLMOV DPL AMOV A BADDC A DPHMOV DPH APUSH DPH 存字库地址指针PUSH DPLMOV COUNT #10H 计数器设置为16次WRI-CC1 MOV DAT1 O-X 设置显示RAM地址MOV DAT2 O-YMOV COM #24HLCALL PR1POP DPL 取字库地址指针POP DPHCLR AMOVC A @A+DPTR 取左部字模数据MOV DAT2 A 设置数据MOV A #10H 偏置地址为16MOVC A @A+DPTR 取右部字模数据MOV DAT1 A 暂存数据INC DPTR 字库地址指加一PUSH DPH 存字库地址指针PUSH DPLMOV SOM #0C0H 设置一次写数据指令代码LCALL PR11 写入数据MOV DAT2 DAT1 设置右部数据LCALL PR11 写入数据MOV A #20H 显示RAM地址修正ADD A O-XMOV O-X ACLR AADDC A O-YMOV O-Y ADJNZ CONUT WRI-CC1 计数器循环POP ACC 修正栈指针POP ACCRET2 汉字库(PICKHZB.EXE软件提取生成)CCTAB: DB 004H,00EH,0F8H,008H,008H,0FEH,008H,01CH;科DB 01AH,029H,028H,048H,088H,008H,008H,008HDB 010H,010H,090H,050H,010H,090H,050H,014HDB 01EH,0F0H,010H,010H,010H,010H,010H,010HDB 001H,007H,07CH,004H,004H,005H,0FFH,00CH;利DB 00EH,015H,014H,024H,044H,004H,004H,004HDB 004H,084H,004H,024H,024H,024H,0A4H,024HDB 024H,0A4H,0A4H,024H,004H,004H,014H,008HDB 000H,040H,020H,020H,000H,00FH,0E0H,021H;达DB 021H,022H,022H,024H,028H,050H,08FH,000HDB 080H,080H,080H,080H,088H,0FCH,080H,000HDB 040H,020H,010H,018H,008H,006H,0FCH,000HDB 00/H,00/H,00/H,00/H,00/H,00/H,00/H,00/H;DB 00/H,00/H,00/H,00/H,00/H,00/H,00/H,00/HDB 00/H,00/H,00/H,00/H,00/H,00/H,00/H,00/HDB 00/H,00/H,00/H,00/H,00/H,00/H,00/H,00/H3 图形方式下汉字显示演示程序MOV CODE #00HMOV O-X #00HMOV O-Y #00HLCALL WRI-CCMOV CODE #01HMOV O-X #03HMOV O-Y #00HLCALL WRI-CCMOV O-X #06HMOV O-Y #00HLCALL WRI-CCMOV CODE #03HMOV O-X #09HMOV O-Y #00HLCALL WRI-CCRET附录一T6963C的内部字符集。
T6963c补充说明
T6963c 补充说明(128*64LCD )1. T6963c 具有64KB 的显示缓冲区,也叫做T6963c 的外部RAM 或显示RAM ,它用于存储要显示的文本数据、图形数据和外部字符发生器数据(即外部CG 数据,相对于内部字符发生器CGROM 而言的)。
在单屏扫描的显示功能下(T6963c 还具有双屏扫描功能,由引脚DUAL 决定,我们使用的是单屏扫描),这些文本、图形和外部CG 数据可以自由的放在这个64KB 的RAM 中。
但是为了便于操作,这里推荐类似下图所示的分法:2. 使用128点*64点(16列*8行)的液晶显示屏时,为了在程序中便于对所要显示的图形或文本定位,有必要对实际的液晶屏进行说明。
值得注意的是,图形显示和文本显示所使用的纵坐标是有区别的,因为图形最小可以操作一个位的显示或不显示,而文本只能操作一个字符(8*8)的显示或不显示;所以文本方式下纵坐标只有8行。
为了便于操作,可将液晶屏分为四个区,如下图所示:0000H7FFFH其中外部CG 数据区最大需要2KB ,因为一个字符代码代表一个8*8的字符,即一个字符代码就占用8个字节的数据,如果只选用外部字符发生器,字符代码可以是00H-FFH (如果使用内部CGROM ,00H-7FH 被内部CGROM 占用,外部CGRAM 只能用80H-FFH ),共256个字符,即需要8*256=2048=2KB 。
至于图形显示区和文本显示区的大小就由实际应用决定了。
如果单独使用图形或文本显示方式时,液晶屏上显示的就只是图形显示区或文本显示区的数据;如果采用合成显示(包括或、异或和与)方式,液晶屏上显示的就是图形区和文本区相应单元数据合成后的效果了,如下图所示:图形显示四个显示区大小一样,各有16*16=256个单元,分别各占显示RAM 的256个数据单元,它们的地址是连续的,对应显示RAM中相应的连续单元,也就是说显示屏上所显示的内容与显示RAM中的数据是一一对应的,当然还要考虑显示模式问题(即图形或文本方式以及合成方式)。
T6963C
*功能描述:写入一个不带参数的控制字
*函数说明:
*调用函数:JudgeState(),WriteReg()
*全局变量:NONE
*输入:
*返回:NONE
*设计者:Xiongtao
******************************************************************************************************************************************************/
*函数名:JudgeState()
*功能描述:判断液晶LCD指令读写状态和数据读写状态
*函数说明:LCD_STATE为LCD状态字位如:JUDGE_COM_AND_DATA,JUDGE_AUTO_READ...
*调用函数:ReadState()
*全局变量:NONE
*输入:LCD_State
temp = temp & LCD_State;
if(--count) return;
}
}
/******************************************************************************************************************************************************
void Write_CMD_2Data(INT8U data1, INT8U data2,INT8U cmd)
{
JudgeState(0x03); //判断读写状态是否忙
基于T6963C控制器的液晶模块显示技术
基于T6963C控制器的液晶模块显示技术T6963C 是一种点阵式液晶图形显示控制器,可直接与8 位微处理器接口。
T6963C 的字符字体格式由硬件设置,具体格式为:5×8,6×8,7×8,8×8等4 种。
T6963C 能以图形方式、文本方式及图形和文本合成方式进行显示。
较多厂家的液晶图形显示器采用了该控制器。
下面以北京青云创新科技发展有限公司的图形液晶显示模块LCM2401286 为例介绍了基于T6963C 控制器的液晶显示模块图形方式下字符汉字显示技术LCM2401286 是黄绿模式的240×128点阵式LCD 图形显示器,可显示15×8行16×16点阵的汉字,其主控芯片为T6963C。
正确使用该种显示器需了解其硬件结构和软件编程特点。
1 基于液晶模块的硬件技术1.1 引脚说明由于基于T6963C 控制器液晶模块的诸多功能设置均是通过硬件来实现的,即通过不同引脚的电平状态来设置,但基于T6963C 控制器的各厂家的液晶模块,由于各自的特点不同,故各厂家或各型号的液晶模块主要引出脚也各不相同,因此要对这些重要引脚加以说明。
T6963C 的QFP 封装共有67 个引脚,以LCM2401286 显示器为例,在T6963C 控制器上的复位引脚,在LCM2401286 显示器引出脚中表示为,在T696 3C 控制器上的单双屏显示模式选择引脚DUAL,在LCM2401286 显示器中DUAL端直接接高电平,设置为单屏结构。
在T6963C 控制器上的显示窗口长度设置引脚MD7、MD3,通过两引脚不同的电平状态可设置不同的显示窗口长度,如表1 所示,在LCM2401286 显示器中MD2,MD3 端均接高电平,设置为每行字符数为32。
在T6963C 控制器上的显示窗口宽度(行)设置引脚MDS、MD1、MD0,其组合功能如表2 所示,在LCM2401286 显示器中MDS,MD1,MD0 设置100,。
液晶图形动态显示--模块T6963C的应用方法
第30卷第1期应用科技AppliedScienceandTechnologyV01.30.№1Jan.,2003文章编号:1009—671X(2003)01—0020—04液晶图形动态显示——模块T6963C的应用方法林孝工1,高淑芬2,鹿静3(I哈尔滨S-程大学动力与核能工程学院,黑龙江哈尔滨150001;2哈尔滨工程大学信息与通信工程学院,黑龙江哈尔滨150001;3哈尔滨自来水公司职工学校,黑龙江哈尔滨150080)摘要:结合点阵图形液晶显示器控制器T6963C的性能和特点,与单片机80C196KC结合,进行图形动态最小的方法。
①关键词:液晶罔形动态显示;单片机;控制命令中图分类号:TP36文献标识码:ADynamicLiquidGraphicsCrystalDisplay——theApplicationofT6963CModuleI。
INXiao—gon91.GAOShu—fen2.LUJing’(1CollegeofPnwerandNuclearEnergyEngineering,HarbinEngineeringUniversity,Harbin15()(】0l,China;2CollegeofCom—muni(ationandInformationEngineering,HarbinEngineeringUniversity,Harhin150001,China;3TheStaffSchool,Had)inWa—terworksGroupCorporation,Harbin150080,China)Abstract:Tnthepaper,thecapabilityandcharacteristicofgraphicscontrolofT6963liquidcrystaldisplaywer。
presentedIncombinationwith80C196KCSCM.thedisplaymodelofdynamicliquidgraphicscrystalwasglvell・Keywords:liquidcrystaldisplay;SCM;controlcommand0引百液晶显示器已广泛应用在电子仪表、数字万用表、汁算器、电子游戏机和笔记本电脑中,但要在中小型控制系统得到广泛的应用,就必须将图形液晶与单片机结合进行图形动态显示才能实现,数字与图形动态显示功能是液晶广泛应用的关键。
基于T6963C驱动的经典程序(240128)
code uchar const uPowArr[]
= {0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};
// ASCII 字模宽度及高度定义 #define ASC_CHR_WIDTH 8 #define ASC_CHR_HEIGHT 12 // ASCII 字模,显示为 8*16 char code ASC_MSK[96*12] = { // Terminal9; 此字体下对应的点阵为:宽 x 高=8x12 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff, // < 0x20 时,打印此字 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // ' ' 0x00,0x0C,0x1E,0x1E,0x1E,0x0C,0x0C,0x00,0x0C,0x0C,0x00,0x00, // '!' 0x00,0x66,0x66,0x66,0x24,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // '"' 0x00,0x36,0x36,0x7F,0x36,0x36,0x36,0x7F,0x36,0x36,0x00,0x00, // '#'
设置控制词
模式设定
显示模式
光标形式
数据自动 读写 数据读写
屏幕读取 屏幕拷贝 位设置 / 复位
位复位 位设置 位 0(最低位) 位1 位2 位3 位4 位5 位6 位7
2
接口信号
引脚 号 1 2 3 4 5 6 7 8 9 标记号 FG Vss Vdd Vo Wr Rd CE C/D Reset 说明 显示屏框夹外壳地 电源地 电源+5V LCD 工作电源(对比度调节负电压输入) 数据写入当 WR = L 时,将数据写入 T6963C 数据读出 WR = L C/D = H :写命令 C/D = L :读命令 RD = L C/D = H: 读状态 C/D = L : 读数据 复位信号,H:正常(T6963C 有内部上拉电阻) L: 初始化 T6963C. Text 文本和图形的地址,文本和图 形区域设定被保持。 数据位 0 数据位 1 数据位 2 数据位 3 数据位 4 数据位 5 数据位 6 数据位 7 字体选择:FS = H, 6*8 点的字体,FS = L, 8*8 点的字体 DC-DC 负电源输出(液晶屏工作电压,作对比度调节) 背光电源正端 背光电源负端 备注 接地
T6963C中文数据手册
在模块与前面板之间最好加装一块约0.1 毫米左右的衬垫。面板应保持平整,以免在装配后产生 扭曲,并可提高其抗振性能。 三、严防静电
模块中的控制、驱动电压是低压、微功耗的CMOS 电路,极易被静电击穿。静电击穿是一种不 可修复的损坏,而人体有时会产生高达几十伏或上百伏的高压静电,所以在操作、装配以及使用中都 应极其小心,严防静电。为此:
1
点阵图形液晶显示模块 T6963C 控制器使用手册
前言
T6963C液晶显示控制器多用于中小规模的液晶显示器件,常被装配在图形液晶显示模块上,以内 藏控制器型图形液晶显示模块的形式出现。
注意事项
十分感谢您购买我公司的产品。在使用前请您首先仔细阅读以下注意事项,以免给您造成不必要 的损失。您在使用过程中遇到困难时,请打拨打我公司电话,我们将尽力为您提供服务和帮助。 一、处理保护膜
1
1
0
0
FS0
1
0
1
0
字体
5×8
6×8
7×8
8×8
10、X1、X0:振荡时钟引脚。
11、AD0-15:输出信号,显示缓冲区 16 位地址总路线。
12、D0-7:三态,显示缓冲区 8 位数据总路线。
13、R/W:输出,显示缓冲区读/写控制信号。
14、CE:输出,显示缓冲区片选信号,低电平有效。
15、CE0,CE1:输出,DUAL=1 时的存储器片选信号。
第二章、6963C 的引脚说明及其功能
一、T6963C 外形图
二、T6963C 引脚说明 T6963C 的 QFD 封装共有 67 个引脚,各引脚说明如下: 1、D0-D7:T6963C 与 MPU 接口的数据总线,三态。
液晶控制器T6963的C语言驱动程序
StartAddr=lin*LineChar*16 +column; //定位起始行
for(i=0;i<35;i++)
{
OutPortCom3( (unsigned char)(StartAddr), (unsigned char)(StartAddr>>8), 0x24); //定位当前操作位置
//显示一个汉字(16*16点阵)
//lin:行(0-7), column: 列(0-7)
//hzcode: 汉字代码(自定义的)
void ShowHZD(unsigned char lin,unsigned char column,unsigned int hzcode)
{
unsigned char i,j;
/*------输入/出函数,与T6963通讯------------------------------------------------*/
/*------------------------------------------------------------------------*/
#include "menu.h" //汉字点阵库(自做)
//set following data by user according to LCD
#define ComPort 0xB101
#define DataPort 0xB000
#define GraphAddr 0x0000 //head of graph
unsigned char InPortData() { RWCheck(); return(XBYTE[DataPort]); }
液晶显示控制器T6963C与单片机的接口及编程
液晶显示控制器T6963C与单片机的接口及编程作者:武汉大学电气工程学院李晓静蒋云峰刘开培文章来源:电子设计应用点击数:379 更新时间:2005-2-23摘要:本文介绍了液晶显示控制器T6963C的众多优点,给出了其与单片机的接口电路。
并阐述了以模块化为基础的显示软件设计,具体分析了状态位检测、显示初始化、英文显示、汉字显示等功能的程序设计。
引言液晶显示器件(LCD)由于具有显示信息多、体积小、重量轻、功耗低、寿命长、价格低、接口控制方便等优点,正在测量及控制领域被广泛地推广和应用。
液晶显示器按其功能可分为笔段式和点矩阵式两种。
后者又可以分成字符点阵式和图形点阵式,图形点阵式液晶显示器不仅可显示数字、字符等内容,还能显示汉字和任意图形。
目前用于图形液晶模块的控制器很多。
本文以T6963C为例简单介绍一下液晶显示模块与CPU的接口以及软件编程问题。
图1 内置T6963C的点阵图形液晶显示模块原理图图2 接口部分硬件原理图图3 非自动写命令/数据流程图图4 非自动读数据流程图图5 自动写数据程序流程图图6 汉字显示流程图T6963C及其构成的液晶显示模块T6963C 是图形点阵式液晶显示控制器,能直接与80 系列的8 位微处理器接口。
字符字体可由硬件或软件设置,字体有4 种:5×8、6×8 、7×8、8×8。
在内置T6963C 的液晶显示模块上已经实现了T6963C 与行、列驱动器及显示缓冲区RAM 的接口,同时也已用硬件设置了数据传输方式、显示窗口长度、宽度等。
内置T6963C 的单屏点阵图形液晶显示模块结构如图1所示。
此模块的初始化设置一般由管脚设置完成,所以初始化时,由软件编写的指令就集中在显示功能的设置上。
T 6963C的指令可带一个、两个参数,或无参数。
若指令中含有参数,则每条指令执行时均须先送入参数,再送入指令代码。
由于状态位作用不一样,因此执行不同指令必须检测不同状态位。
T6963C控制器图形液晶显示模块使用手册
该类液晶模块的管脚定义见下表 表二 而各型号的管脚排列见附录三
表二
管脚名称 FG VSS VDD V0(Vadj) * VEE /WR /RD /CE C//D /RST DB0 DB1 DB2 DB3 DB4 DB5 DB6 DB7 FS LED+ LED-
管脚定义 边框地 用于防静电 防雷击 应与大地连 禁止悬空 数字地 逻辑电源+5V 对比度调节 不与 VEE 成对提供时 也作液晶驱动电源 液晶驱动电源 写 读 片选 指令数据通道 复位信号 可通过对+5V 接 4.7K 电阻 对地接 4.7u 电容来实现 **
-10.5V
78×70
128×64
0.39×0.55 62×44
85×70(-CCFL) ****
QH12864T -HT-LED04
LED 底光
VPG12864T -SC-HT-LED03
LED 边光
宽温型 无须外部提供
VPG12864T -SC-HT-LED04
LED 底光
MGLS128128T-LED03
MGLS24064 - HT-LED04
LED 底光
VPG24064-SC-HT-LED04
LED 底光
常温型 宽温型 军品型 宽温型 军品型 半宽温型
-16V -13.0V
128×128 0.50×0.50 73×73
92×106
160×128 0.54×0.54 101×82 129×102
常温型 宽温型
-16V
常温型 宽温型
宽温型 宽温型
无须外部提供 -10V
240×128 320×64
0.4×0.4 114×64 0.44×0.44 167×35
T6963C控制器的液晶屏应用
北京周立功
重庆周立功
地址:北京市海淀区知春路 113 号银网中心 A 座 地址:重庆市石桥铺科园一路二号大西洋国际大厦
1207-1208 室 (中发电子市场斜对面)
(赛格电子市场)1611 室
电话:(010)62536178 62536179 82628073
电话:(023)68796438 68796439
传真:(010)82614433
传真:(023)68796439
杭州周立功
成都周立功
地址:杭州市天目山路 217 号江南电子大厦 502 室 电话:(0571) 28139611 28139612 28139613
28139615 28139616 28139618 传真:(0571) 28139621
销售:
电话:(020)22644249 22644399 22644372 22644261 28872524 28872342 28872349 28872569 28872573 38601786
维修:
电话:(020)22644245
产品应用笔记
©2008 Guangzhou ZHIYUAN Electronics CO., LTD. iii
的控制和 GUI 应用
广州致远电子有限公司
广州致远电子有限公司
修订历史
版本 V1.00
日期 2009/06/12
T6963C 控制器液晶屏的应用
EPC 工控主板 MiniISA 总线
原因 创建文档
产品应用笔记
©2008 Guangzhou ZHIYUAN Electronics CO., LTD. i
地址:武汉市洪山区广埠屯珞瑜路 158 号 12128 室 (华中电脑数码市场) 电话:(027)87168497 87168297 87168397 传真:(027)87163755
T6963C液晶控制器快速显示汉字的方法详解
T6963C液晶控制器快速显示汉字的方法详解
T6963C是一款在仪表中使用得比较多的一种液晶显示控制器。
提供文本和点阵两种输出方式,但点阵输出的速度比文本显示的速度要慢很多。
在文本方式下,其CGROM控制128个英文ASCII码字符,CGRAM则可由用户自定义32个汉字或128个自定义图形。
由于仪表中使用的汉字经常超过32个,因此,需要对汉字的显示作特别的处理。
但由于汉字的处理有些特殊,因此,很多开发人员即偷懒,直接使用点阵需出。
昨天,我到一家比较有名的电力企业参观,见其仪表的显示速度非常之慢,可以断定它的显示是采用点阵而不是采用文本方式,于是写了此文章。
原理:利用液晶故有的CGRAM,将一个汉字作为四个字符,以文本方式显示汉字。
方法:CGRAM中能显示的字符从80H到FFH,共128个。
其中,每连续四个字符作为显示一个汉字。
故能显示的汉字量为32个。
但在系统中使用的汉字数可能会超过32个。
所以,采用数据缓冲技术,在需要显示汉字时,。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
T6963C的使用(C语言)内置T6963C的128×128图形液晶显示模块从图1我们可以看出:(1)偏压电路的设计≈),电阻R1~R5组成了分压电液晶显示驱动电源采用了1/1313=≈)R。
路,其中:R1=R2=R4=R5=R,R38.319驱动负电源由接口V0提供。
(2)驱动电路的组成在液晶显示驱动控制系统中,由两片T6A39列驱动器和两片T6A40行驱动器组成驱动电路。
(3)T6963C工作参数的设置T6963C的工作参数设置如下:/DUAL=1 单屏结构SDSEL=0 一位串行数据传输MDS=1、MDl=MD0=0 N=16即1/128占空比系数MD2=MD3=1 M=32即256点列/行FS0=0 通过计算机选择6×8点阵字体或8×8点阵字体(4)晶振频率选择根据T6963的设置参数可以求得:Fosc= F R×64×2×M×N =60×64×2×32×16=3.932MHz。
通过查表6-32也可以得到频率值,大小也为3.932MHz。
这个时候,选用4MHz的晶振。
(5)显示存储器显示存储器为8K字节容量,存储器芯片为6264或其它SRAM。
图1 内置T6963C的128×128图形液晶显示模块的电原理图内置T6963C控制器的液晶显示模块的接口技术内置T6963C控制器的液晶显示模块与计算机的接口时序为Inter8080时序。
本节以常用的单片机AT89C51为实验样机,以模块128128为显示样片叙述计算机与内置T6963C控制器的液晶显示模块的接口技术。
1 直接访问方式直接访问方式是把内置T6963C控制器的液晶显示模块作为存储器或I/O设备直接挂在计算机的总线上。
模块的数据线接计算机的数据总线上,片选及寄存器选择信号线由计算机的地址总线提供,读和写操作由计算机的读写操作信号控制。
计算机直接访问方式下与内置T6963C控制器的液晶显示模块的实用接口电路如图1所示。
图1 直接访问方式下接口电路图上图所示的电路,对于完成液晶显示模块的显示来说,所用的硬件是相对比较少的,但是如果计算机需要进行扩展的话,使用上图的话不是很经济(浪费了太多的地址空间)。
这个时候,可以考虑使用全地址译码或者部分地址译码的方式。
在上图所示的电路中:●8位数据总线与A T89C51的数据总线连接●地址线A15作为模块操作的片选线●地址线A14作为模块的寄存器选择线C/D这样就确定了AT89C51操作字符型液晶显示模块的唯一地址选择。
图中的电位器为V0提供了可调的驱动电压,用以实现显示对比度的调节。
以下将给出直接访问方式的驱动程序。
(1)地址定义#include <reg51.h>#include <stdio.h>#include <intrins.h>#define uchar unsigned char#define uint unsigned int#define nop() _nop_()xdata uchar CmdADD _at_ 0xC000;xdata uchar DatADD _at_ 0x8000;#define STA0 0#define STA1 1#define STA2 2#define STA3 3#define STA6 6(2)读状态字与状态判断uchar ReadST(uchar Status){uchar temp;temp=CmdADD;switch(status){case 0:temp&=0x01; /*屏蔽其余位*/break;case 1:temp&=0x02; /*屏蔽其余位*/case 2:temp&=0x04; /*屏蔽其余位*/break;case 3:temp&=0x08; /*屏蔽其余位*/break;case 6:temp&=0x40; /*屏蔽其余位*/break;default:break;}return temp;}(3)写指令和写数据/*写入一个字节的数据*/void WrDat(uchar dat){while(ReadST(STA1)==0x00) {} DatADD=dat;}/*写入无参数的命令*/void WrCom1(uchar cmd){while(ReadST(STA0)==0x00) {} CmdADD=cmd;}/*写入带一个参数的命令*/void WrCom2(uchar dat,cmd){Com1(cmd);}/*写入带两个参数的命令*/void WrCom3(uchar dat1,dat2,cmd){WrDat(dat1);WrDat(dat2);WrCom1(cmd);}(4)读数据uchar RdDat(void){uchar temp;while(ReadST(STA1)==0x00) {}temp=DatADD;return temp;}2 间接控制方式间接控制方式是将内置T6963C控制器的液晶显示模块与计算机系统中的某个并行I/O 接口连接,计算机通过对该I/O接口的操作间接的实现对模块的控制。
本文以AT89C51的P1和P2接口为并行接口与字符型液晶显示模块连接,图2给出了本文推荐的实用接口电路。
图2 间接控制方式下的接口电路图图中的电位器为V0提供了可调的驱动电压,用以实现显示对比度的调节。
在编制驱动函数的时候,要注意时序的配合,根据Intel8080时序的规范,间接控制方式通过软件执行产生操作时序,所以在时间上是足够满足要求的。
因此间接控制方式能够实现高速计算机与字符型液晶显示模块的连接。
(1)接口定义#include <reg51.h>#include <stdio.h>#include <intrins.h>#define uchar unsigned char#define uint unsigned int#define nop() _nop_()#define STA0 0#define STA1 1#define STA2 2#define STA3 3#define STA6 6sbit CD=P2^7;sbit CE=P2^6;sbit RD=P2^5;sbit WR=P2^4;(2)读状态字与状态判断uchar ReadST(uchar Status){uchar temp;CE=0;P1=0xFF;CD=1;RD=0;temp=P1;RD=1;switch(status){case 0:temp&=0x01; /*屏蔽其余位*/break;case 1:temp&=0x02; /*屏蔽其余位*/break;case 2:temp&=0x04; /*屏蔽其余位*/break;case 3:temp&=0x08; /*屏蔽其余位*/break;case 6:temp&=0x40; /*屏蔽其余位*/break;default:break;}return temp;}(3)写指令和写数据/*写入一个字节的数据*/void WrDat(uchar dat){while(ReadST(STA1)==0x00) {} CD=0;P1=dat;WR=0;WR=1;}/*写入无参数的命令*/void WrCom1(uchar cmd){while(ReadST(STA0)==0x00) {} CD=1;P1=dat;WR=0;WR=1;}/*写入带一个参数的命令*/void WrCom2(uchar dat,cmd) {WrDat(dat);Com1(cmd);}/*写入带两个参数的命令*/void WrCom3(uchar dat1,dat2,cmd){WrDat(dat1);WrDat(dat2);WrCom1(cmd);}(4)读数据uchar RdDat(void){uchar temp;while(ReadST(STA1)==0x00) {}CD=0;P1=0xFF;RD=0;temp=P1;RD=1;return temp;}内置T6963C控制器型图形液晶显示模块的应用软件内置T6963C图形液晶显示模块的应用是随应用系统的性质而定,本节将提供一些实用程序并作为示例进一步对T6963C指令的应用作一说明。
接口电路为图2和图3所示的实用电路,驱动程序也为上一节所提供的。
使用的液晶显示模块的样机的电原理图为图6-66所示的128×128图形点阵的原理图,供使用者参考。
1 初始化设置初始化设置主要是对显示区域的设置和显示方式的设置。
这个程序只需在主程序对系统初始化时调用一次就可以了,除非要在应用中需要改变设置。
是为了计算地址的方便,设置显示区域的宽度为10H,即16个字节(128/8=16)。
初始化子程序通常在主程序开始时调用。
void Init(void){WrCom3(0x00,0x00,0x40);WrCom3(0x10,0x00,0x41);WrCom3(0x00,0x08,0x42);WrCom3(0x10,0x00,0x43);WrCom1(0xA7);WrCom1(0x80);WrCom1(0x9C);}2 清显示存储器该子程序对显示存储器完全清零,不分显示区域性质。
所以在初始化时使用和在全显示存储器需要清零时使用。
void ClearLCD(void){uint temp;WrCom3(0x00,0x00,0x24);WrCom1(0xB0);for(temp=0;temp<8192;temp++){while(ReadST(STA3)==0x00) {}WrDat(0x00);}WrCom1(0xB2);}3 建立CGRAM该程序是在内部CGROM有效时建立CGRAM的子程序,所以使用的字符代码是从80H 开始的。
一般在建立CGRAM的时候,把CGRAM定义在SRAM的最后面的一段地址空间内,在本段代码中,因为CGROM有效,所以只能定义128个CGRAM,占用的空间为1KB,地址空间为1C00H~1FFFH。
这个时候,可以看出起始地址的偏置地址值与字符代码值的大小如下:ad15 ad14 ad13 ad12 ad11 ad10 ad9 ad8 ad7 ad6 ad5 ad4 ad3 ad2 ad1 ad00 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0●偏置地址值为03H;●字符代码从80H开始。
void WrCGRAM(uchar count,*tab){uint temp,counttemp;counttemp=count<<3;WrCom3(0x03,0x00,0x22);WrCom3(0x00,0x1C,0x24);WrCom1(0xB0);for(temp=0;temp<counttemp;temp++){while(ReadST(STA3)==0x00) {}WrDat(*(tab+temp));}WrCom1(0xB2);}4 西文字符写入(文本属性显示方式的应用)非文本属性显示方式的西文字符写入非常简单,先设置显示地址指针(24H),再写入字符代码即可。