液晶显示技术T6963C的使用(C语言).doc
- 文档编号:2494697
- 上传时间:2022-10-30
- 格式:DOC
- 页数:17
- 大小:237KB
液晶显示技术T6963C的使用(C语言).doc
《液晶显示技术T6963C的使用(C语言).doc》由会员分享,可在线阅读,更多相关《液晶显示技术T6963C的使用(C语言).doc(17页珍藏版)》请在冰豆网上搜索。
T6963C的使用(C语言)
内置T6963C的128×128图形液晶显示模块
从图1我们可以看出:
(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=0N=16即1/128占空比系数
MD2=MD3=1M=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。
图1内置T6963C的128×128图形液晶显示模块的电原理图
内置T6963C控制器的液晶显示模块的接口技术
内置T6963C控制器的液晶显示模块与计算机的接口时序为Inter8080时序。
本节以常用的单片机AT89C51为实验样机,以模块128128为显示样片叙述计算机与内置T6963C控制器的液晶显示模块的接口技术。
1直接访问方式
直接访问方式是把内置T6963C控制器的液晶显示模块作为存储器或I/O设备直接挂在计算机的总线上。
模块的数据线接计算机的数据总线上,片选及寄存器选择信号线由计算机的地址总线提供,读和写操作由计算机的读写操作信号控制。
计算机直接访问方式下与内置T6963C控制器的液晶显示模块的实用接口电路如图1所示。
图1直接访问方式下接口电路图
上图所示的电路,对于完成液晶显示模块的显示来说,所用的硬件是相对比较少的,但是如果计算机需要进行扩展的话,使用上图的话不是很经济(浪费了太多的地址空间)。
这个时候,可以考虑使用全地址译码或者部分地址译码的方式。
在上图所示的电路中:
●8位数据总线与AT89C51的数据总线连接
●地址线A15作为模块操作的片选线
●地址线A14作为模块的寄存器选择线C/D
这样就确定了AT89C51操作字符型液晶显示模块的唯一地址选择。
图中的电位器为V0提供了可调的驱动电压,用以实现显示对比度的调节。
以下将给出直接访问方式的驱动程序。
(1)地址定义
#include
#include
#include
#defineucharunsignedchar
#defineuintunsignedint
#definenop()_nop_()
xdataucharCmdADD_at_0xC000;
xdataucharDatADD_at_0x8000;
#defineSTA00
#defineSTA11
#defineSTA22
#defineSTA33
#defineSTA66
(2)读状态字与状态判断
ucharReadST(ucharStatus)
{
uchartemp;
temp=CmdADD;
switch(status)
{
case0:
temp&=0x01;/*屏蔽其余位*/
break;
case1:
temp&=0x02;/*屏蔽其余位*/
break;
case2:
temp&=0x04;/*屏蔽其余位*/
break;
case3:
temp&=0x08;/*屏蔽其余位*/
break;
case6:
temp&=0x40;/*屏蔽其余位*/
break;
default:
break;
}
returntemp;
}
(3)写指令和写数据
/*写入一个字节的数据*/
voidWrDat(uchardat)
{
while(ReadST(STA1)==0x00){}
DatADD=dat;
}
/*写入无参数的命令*/
voidWrCom1(ucharcmd)
{
while(ReadST(STA0)==0x00){}
CmdADD=cmd;
}
/*写入带一个参数的命令*/
voidWrCom2(uchardat,cmd)
{
WrDat(dat);
Com1(cmd);
}
/*写入带两个参数的命令*/
voidWrCom3(uchardat1,dat2,cmd)
{
WrDat(dat1);
WrDat(dat2);
WrCom1(cmd);
}
(4)读数据
ucharRdDat(void)
{
uchartemp;
while(ReadST(STA1)==0x00){}
temp=DatADD;
returntemp;
}
2间接控制方式
间接控制方式是将内置T6963C控制器的液晶显示模块与计算机系统中的某个并行I/O接口连接,计算机通过对该I/O接口的操作间接的实现对模块的控制。
本文以AT89C51的P1和P2接口为并行接口与字符型液晶显示模块连接,图2给出了本文推荐的实用接口电路。
图2间接控制方式下的接口电路图
图中的电位器为V0提供了可调的驱动电压,用以实现显示对比度的调节。
在编制驱动函数的时候,要注意时序的配合,根据Intel8080时序的规范,间接控制方式通过软件执行产生操作时序,所以在时间上是足够满足要求的。
因此间接控制方式能够实现高速计算机与字符型液晶显示模块的连接。
(1)接口定义
#include
#include
#include
#defineucharunsignedchar
#defineuintunsignedint
#definenop()_nop_()
#defineSTA00
#defineSTA11
#defineSTA22
#defineSTA33
#defineSTA66
sbitCD=P2^7;
sbitCE=P2^6;
sbitRD=P2^5;
sbitWR=P2^4;
(2)读状态字与状态判断
ucharReadST(ucharStatus)
{
uchartemp;
CE=0;
P1=0xFF;
CD=1;
RD=0;
temp=P1;
RD=1;
switch(status)
{
case0:
temp&=0x01;/*屏蔽其余位*/
break;
case1:
temp&=0x02;/*屏蔽其余位*/
break;
case2:
temp&=0x04;/*屏蔽其余位*/
break;
case3:
temp&=0x08;/*屏蔽其余位*/
break;
case6:
temp&=0x40;/*屏蔽其余位*/
break;
default:
break;
}
returntemp;
}
(3)写指令和写数据
/*写入一个字节的数据*/
voidWrDat(uchardat)
{
while(ReadST(STA1)==0x00){}
CD=0;
P1=dat;
WR=0;
WR=1;
}
/*写入无参数的命令*/
voidWrCom1(ucharcmd)
{
while(ReadST(STA0)==0x00){}
CD=1;
P1=dat;
WR=0;
WR=1;
}
/*写入带一个参数的命令*/
voidWrCom2(uchardat,cmd)
{
WrDat(dat);
Com1(cmd);
}
/*写入带两个参数的命令*/
voidWrCom3(uchardat1,dat2,cmd)
{
WrDat(dat1);
WrDat(dat2);
WrCom1(cmd);
}
(4)读数据
ucharRdDat(void)
{
uchartemp;
while(ReadST(STA1)==0x00){}
CD=0;
P1=0xFF;
RD=0;
temp=P1;
RD=1;
returntemp;
}
内置T6963C控制器型图形液晶显示模块的应用软件
内置T6963C图形液晶显示模块的应用是随应用系统的性质而定,本节将提供一些实用程序并作为示例进一步对T6963C指令的应用作一说明。
接口电路为图2和图3所示的实用电路,驱动程序也为上一节所提供的。
使用的液晶显示模块的样机的电原理图为图6-66所示的128×128图形点阵的原理图,供使用者参考。
1初始化设置
初始化设置主要是对显示区域的设置和显示方式的设置。
这个程序只需在主程序对系统初始化时调用一次就可以了,除非要在应用中需要改变设置。
是为了计算地址的方便,设置显示区域的宽度为10H,即16个字节(128/8=16)。
初始化子程序通常在主程序开始时调用。
voidInit(void)
{
WrCom3(0x00,0x00,0x40);
WrCom3(0x10,0x00,0x41);
WrCom3(0x00,0x08,0x42);
WrCom3(0x10,0x00,0x43);
WrCom1(0xA7);
WrCom1(0x80);
WrCom1(0x9C);
}
2清显示存储器
该子程序对显示存储器完全清零,不分显示区域性质。
所以在初始化时使用和在全显示存储器需要清零时使用。
voidClearLCD(void)
{
uinttemp;
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
ad0
0
0
0
1
1
1
0
0
0
0
0
0
0
0
0
0
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 液晶显示 技术 T6963C 使用 语言
![提示](https://static.bdocx.com/images/bang_tan.gif)