首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

液晶显示控制器T6963C与单片机的接口及编程

液晶显示控制器T6963C与单片机的接口及编程

摘    要:本文介绍了液晶显示控制器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所示。
此模块的初始化设置一般由管脚设置完成,所以初始化时,由软件编写的指令就集中在显示功能的设置上。T6963C的指令可带一个、两个参数,或无参数。若指令中含有参数,则每条指令执行时均须先送入参数,再送入指令代码。由于状态位作用不一样,因此执行不同指令必须检测不同状态位。
液晶显示模块与单片机的接口电路
在本例中以80C320为CPU。另外,在此设计中,不是将CPU与液晶显示模块直接相连,而是通过PSD813F1连接的。PSD813F1是由WSI公司研制的新一代可编程微控制器系统外围器件,具备完整的在系统可编程特性。不仅功能比较强大,通过PSD还可以连接其他的器件和模块,比如数据采集模块、键盘等,便于在原有基础上进行功能扩展。
将CPU的地址/数据线AD0~AD7及A8~A15与PSD813F1的AD0~AD15连接起来,由PSD的PB口输出信号来片选LCD和数据缓冲器74LS245。同时CPU的地址/数据线AD0~AD7也接到74LS245的A端A0~A7上,其B端B0~B7的输出连接到液晶显示模块的数据输入端DO0~DO7。接口电路如图2所示。
软件设计
状态位检测与数据/指令读写程序
在本例中,采用C语言来编程。
状态位检测
由于LCD指令的执行是一个不断地检测状态、写指令及读写数据的过程,因此可把它们编写成通用的函数,以便随时调用。液晶显示控制器T6963C的状态位从低到高分别是STA0~STA7。进行状态位检测时,先从T6963C的状态寄存器中读取状态字,然后提取对应的状态值,通过判断决定下一步的操作。
数据/指令的读写程序
读写数据和命令可以分为自动和非自动两种情况。由于非自动写命令或数据的步骤基本类似,均是在检测状态字的STA0和STA1两位是否准备好的情况下来决定写命令或数据到输出口,这里就把非自动写命令或数据流程图综合在一起,如图3所示。非自动读数据的流程图如图4所示,也是在检测STA0和STA1已经准备好的基础上由输入口读取数据的,然后将此数据返回,以便于别的程序调用。图5是自动写数据的程序流程图,它仅需要检测状态字的STA3即可。当然,自动读数据时只须检测STA2,但自动读数据在本例中用的较少,其流程图在此省略。
模块化设计
鉴于T6963C的特点,设计中采用模块化结构。这里主要介绍初始化、英文字符显示、汉字显示等几个模块。
初始化模块
在T6963C中内嵌有128种字符点阵的CGROM(字符发生器ROM),同时T6963C还可管理一定大小的显示缓冲区。显示缓冲区RAM的具体大小由不同显示尺寸的模块决定,点阵越大RAM越多,本设计采用的240×128模块带有16KB的RAM。该显示缓冲区分为文本显示区、图形显示区和CGRAM区。文本显示区和图形显示区是两个不同性质的使用区域,是本设计使用的重点。CGRAM区是用户为方便制作特殊符号而在显示缓冲区内任意设置的一个区域,它可作为外扩的字符发生器。对T6963C初始化时,在关闭显示后应该先确定采用哪种方式进行显示(文本/图形),再来设置显示缓冲区中图形区的首地址、宽度和文本区的首地址、宽度。此后可选择光标的形状,继而进行显示开关设置。               
英文显示模块                                                        
英文显示模块程序编制的任务是把欲显示的字符代码送入和行列位置对应的文本显示缓冲区中。只需定位首字符地址,设置使LCD控制器的地址指针自动增1,然后连续往LCD的数据口送入显示数据即可。
汉字显示模块                                                         
本设计采用直接在图形方式下显示汉字的方式。显示字符可以直接从T6963C自带的CGROM中选取,而要显示汉字则要建立汉字字模。其建立方法有多种,可采用从UCDOS的汉字点阵字库中提取所需要汉字的16点阵字模,进而生成汉字库以备选取汉字之用。汉字字模在此汉字库中以一定的顺序存放,每一个汉字有一个对应的顺序号,该顺序号以变量HZH表示。图6是汉字显示的程序流程。
结语
T6963C液晶显示控制器在应用中可以与各种型号的微控制器接口,实现控制和现场过程的动态显示。本系统可灵活地嵌入各种大型设备或大规模系统中,用于显示必要的数据,或执行参数设定。
继承事业,薪火相传
返回列表