基于AT89C52的液晶显示的实现.doc

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

基于AT89C52的液晶显示的实现 摘要? 本文讨论了基于AT89C52单片机应用系统开发的液晶显示的实现,并介绍了一些处理汉字显示的技巧。 关键词? 单片机? AT89C52? 液晶? 点阵显示 1 引言 ??? 随着单片机应用领域的不断扩大,用单片机控制汉字显示已成为一种单片机发展的必然趋势。以前那种将汉字点阵编码存入ROM ,在显示时再调用的方法已经不能适应当前的需求。好的应用所能显示的决不能仅仅局限于显示事先定义好的个别汉字,而应该提供直接使用至少包含国家标准的一、二级汉字字库的功能。 2 芯片器件介绍 2.1 AT89C52单片机 ??? AT89C52单片机是EPROM型单片机,可寻址64KB字节的程序存储器和64KB字节的外部数据存储器。 以单片机为核心,配以一定的外围电路和软件,实现某些功能,就组成了单片机应用系统。 2.2 液晶显示模块 ??? 我们选用北京精电蓬远公司的VPG12864T液晶显示模块,内置T6963C控制器,实现了T6963C与行、列驱动器及显示缓冲区RAM的接口,带有LED边光/底光,温度范围较广,属宽温型,无须外部提供液晶驱动电压,点阵数为128×64,支持图形、文本以及图文合成方式的三显示方式,且T6963C带有内部字符集。 液晶模块与微处理器MPU的接口电路有两种方式:一是直接访问方式,将AT89C52数据口P0直接与液晶模块的数据口连接;二是采用间接控制方式,MPU通过I/O并行接口,模拟液晶模块的时序,间接实现对液晶显示模块的控制。本文讨论的实现方法采用第一种方式。 2.3 字库芯片 ??? 字库芯片采用具有256K空间的可编程ROM芯片都可以,我们采用了ATMEL公司的AT27C020芯片,其中烧录含有国家标准的一、二级汉字的16×16点阵字库。 ??? 汉字点阵在字库中的首地址由如下公式计算: ??? 起始地址=[(区号-1)×94+(位号-1)]×32 ??? 自此起始地址起的后续32个字节就是该汉字的字模数据。从字库芯片中的32个字节的字模数据按下表排列构成汉字: ? 其中,汉字由两字节ASCII码组成,分别减去0xA0即得到该汉字的区号和位号。这样就可以直接由汉字的ASCII码来计算该汉字在字库中的地址: ???? 起始地址=[(第一字节-0xA1)×94+(第二字节-0xA1)]×32 ??? 由于AT89C52最大寻址64K空间,所以在实现时将AT27C020分成多页,每页的空间不大于64KB,页号通过译码器的有效输出或其他扩展方式确定。 3 硬件线路设计 ??? AT89C52与字库芯片AT27C020及液晶显示模块VPG12864T的接口逻辑如图1所示: ? 图2 硬件逻辑接口 ??? 由于AT89C52的最大寻址空间为64K,而AT27C020的空间为256K,因而要对寻址进行扩展。地址扩展的方式有两种,一种是利用MPU的IO口进行扩展,AT27C020的低16位地址直接与MPU的地址线相连,而高2位则需进行地址扩展,上图中AT27C020的A16和A17分别接到AT89C52的P1.6和P1.7,片选信号CE接到P1.5上,此时寻址的页大小为64KB(页大小还可以根据需要设置为32KB,16KB等)。寻址由软件编程来实现,例如要读38400H单元的内容,可由下列程序实现: ??? 此种方法实现起来简单明了,不需额外的硬件,缺点是占用MPU的IO资源较多,适用于IO资源有富余的情况。在笔者的应用中,MPU的IO需要余留给其他应用,不能分配这么多的IO来,故采用另外一种方法,由硬件逻辑实现,见图3: ? 本例中的页大小为32KB。AT27C020的片选信号CS1由地址线A15产生(即A15连到片选信号CE上),如要读38400H单元的内容,先由程序产生高位地址AA17、AA16、AA15。对字库芯片寻址时,先产生页地址,再进行页内寻址,利用此种方法可进行多位地址的扩展。举例如下: 4 软件的实现与控制 ??? VPG12864T液晶模块的系统指令集其实就是T6963C控制器的指令集,模块的初始化设置一般都由管脚设置完成。T6963C的指令可带一个或两个参数,或无参数。每条指令的执行都是先送入参数,再送入指令代码,且每次操作之前要进行状态字检测。T6963C的状态字如下说明。在处理显示操作时,首先要指定字符串、文字段的有效显示位置。 ? STA0:指令读写状态 ??? STA1:数据读写状态 ??? STA2:数据自动写状态 ??? STA3:数据自动读状态 ??? STA5:读/写出错状态 ??? STA6:运行控制器检测 ??? STA7:闪烁状态检测 ??? 另外STA4保留. 4.1 显示字符 ??? VPG12864T液晶模块字符的显示有两种实现方

文档评论(0)

170****0532 + 关注
实名认证
内容提供者

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

版权声明书
用户编号:8015033021000003

1亿VIP精品文档

相关文档