T6963C的使用(C语言)
内置T6963C的128×128图形液晶显示模块
从图我们可以看出:
(1)偏压电路的设计
液晶显示驱动电源采用了1/13偏压电路(),电阻R1~R5组成了分压电路,其中:R1=R2=R4=R5=R,R3的值为()R。
驱动负电源由接口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= FR×64×2×M×N =60×64×2×32×16=3.932MHz。
通过查表6-32也可以得到频率值,大小也为3.932MHz。这个时候,选用4MHz的晶振。
(5)显示存储器
显示存储器为8K字节容量,存储器芯片为6264或其它SRAM。
图 内置T6963C的128×128图形液晶显示模块的电原理图
内置T6963C控制器的液晶显示模块的接口技术
内置T6963C控制器的液晶显示模块与计算机的接口时序为Inter8080时序。本节以常用的单片机AT89C51为实验样机,以模块128128为显示样片叙述计算机与内置T6963C控制器的液晶显示模块的接口技术。
1 直接访问方式
直接访问方式是把内置T6963C控制器的液晶显示模块作为存储器或I/O设备直接挂在计算机的总线上。模块的数据线接计算机的数据总线上,片选及寄存器选择信号线由计算机的地址总线提供,读和写操作由计算机的读写操作信号控制。
计算机直接访问方式下与内置T6963C控制器的液晶显示模块的实用接口电路如图所示。
图直接访问方式下接口电路图
上图所示的电路,对于完成液晶显示模块的显示来说,所用的硬件是相对比较少的,但是如果计算机需要进行扩展的话,使用上图的话不是很经济(浪费了太多的地址空间)。这个时候,可以考虑使用全地址译码或者部分地址译码的方式。
在上图所示的电路中:
●8位数据总线与AT89C51的数据总线连接
●地址线A15作为模块操作的片选线
●地址线A14作为模块的寄存器选择线C/D
这样就确定了AT89C51操作字符型液晶显示模块的唯一地址选择。
图中的电位器为V0提供了可调的驱动电压,用以实现显示对比度的调节。
以下将给出直接访问方式的驱动程序。
(1)地址定义
#include
#include
#include
#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; /*屏蔽其余位*/
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) {}
DatADD=dat;
}
/*写入无参数的命令*/
void WrCom1(uchar cmd)
{
while(ReadST(STA0)==0x00) {}
CmdADD=cmd;
}
/*写入带一个参数的命