T6963C的使用(C语言).doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
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 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; /*屏蔽其余位*/ 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; } /*写入带一个参数的命令*/ void Wr

文档评论(0)

autohhh + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档