版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、基于AT89C52的液晶显示的实现摘要 本文讨论了基于AT89C52单片机应用系统开发的液晶显示的实现,并介绍了一些处理汉字显示的技巧。关键词 单片机 AT89C52 液晶 点阵显示1 引言 随着单片机应用领域的不断扩大,用单片机控制汉字显示已成为一种单片机发展的必然趋势。以前那种将汉字点阵编码存入ROM ,在显示时再调用的方法已经不能适应当前的需求。好的应用所能显示的决不能仅仅局限于显示事先定义好的个别汉字,而应该提供直接使用至少包含国家标准的一、二级汉字字库的功能。2 芯片器件介绍2.1 AT8
2、9C52单片机 AT89C52单片机是EPROM型单片机,可寻址64KB字节的程序存储器和64KB字节的外部数据存储器。以单片机为核心,配以一定的外围电路和软件,实现某些功能,就组成了单片机应用系统。2.2 液晶显示模块 我们选用北京精电蓬远公司的VPG12864T液晶显示模块,内置T6963C控制器,实现了T6963C与行、列驱动器及显示缓冲区RAM的接口,带有LED边光/底光,温度范围较广,属宽温型,无须外部提供液晶驱动电压,点阵数为128×64,支持图形、文本以及图文合成方式的三显示方式,且T6963C带有
3、内部字符集。液晶模块与微处理器MPU的接口电路有两种方式:一是直接访问方式,将AT89C52数据口P0直接与液晶模块的数据口连接;二是采用间接控制方式,MPU通过I/O并行接口,模拟液晶模块的时序,间接实现对液晶显示模块的控制。本文讨论的实现方法采用第一种方式。2.3 字库芯片 字库芯片采用具有256K空间的可编程ROM芯片都可以,我们采用了ATMEL公司的AT27C020芯片,其中烧录含有国家标准的一、二级汉字的16×16点阵字库。 汉字点阵在字库中的首地址由如下公式计算:
4、起始地址=(区号-1)×94+(位号-1)×32 自此起始地址起的后续32个字节就是该汉字的字模数据。从字库芯片中的32个字节的字模数据按下表排列构成汉字: 其中,汉字由两字节ASCII码组成,分别减去0xA0即得到该汉字的区号和位号。这样就可以直接由汉字的ASCII码来计算该汉字在字库中的地址: 起始地址=(第一字节-0xA1)×94+(第二字节-0xA1)×32 由于AT89C52最大寻址64K空间,所以在实现时将AT27
5、C020分成多页,每页的空间不大于64KB,页号通过译码器的有效输出或其他扩展方式确定。3 硬件线路设计 AT89C52与字库芯片AT27C020及液晶显示模块VPG12864T的接口逻辑如图1所示: 图2硬件逻辑接口 由于AT89C52的最大寻址空间为64K,而AT27C020的空间为256K,因而要对寻址进行扩展。地址扩展的方式有两种,一种是利用MPU的IO口进行扩展,AT27C020的低16位地址直接与MPU的地址线相连,而高2位则需进行地址扩展,上图中AT27C020的A16和A17分别接到AT89C52
6、的P1.6和P1.7,片选信号CE接到P1.5上,此时寻址的页大小为64KB(页大小还可以根据需要设置为32KB,16KB等)。寻址由软件编程来实现,例如要读38400H单元的内容,可由下列程序实现: 此种方法实现起来简单明了,不需额外的硬件,缺点是占用MPU的IO资源较多,适用于IO资源有富余的情况。在笔者的应用中,MPU的IO需要余留给其他应用,不能分配这么多的IO来,故采用另外一种方法,由硬件逻辑实现,见图: 本例中的页大小为32KB。AT27C020的片选信号CS1由地址线A15产生(即A15连到片选信号CE上),如要读38400H单元的内
7、容,先由程序产生高位地址AA17、AA16、AA15。对字库芯片寻址时,先产生页地址,再进行页内寻址,利用此种方法可进行多位地址的扩展。举例如下:4 软件的实现与控制 VPG12864T液晶模块的系统指令集其实就是T6963C控制器的指令集,模块的初始化设置一般都由管脚设置完成。T6963C的指令可带一个或两个参数,或无参数。每条指令的执行都是先送入参数,再送入指令代码,且每次操作之前要进行状态字检测。T6963C的状态字如下说明。在处理显示操作时,首先要指定字符串、文字段的有效显示位置。 STA0:指令读写状态
8、 STA1:数据读写状态 STA2:数据自动写状态 STA3:数据自动读状态 STA5:读/写出错状态 STA6:运行控制器检测 STA7:闪烁状态检测 另外STA4保留.4.1 显示字符 VPG12864T液晶模块字符的显示有两种实现方式,一是利用T6963C提供的字符集,另一种方法是将字符的点阵数据存放在ROM内,需要时以图形方式显示。当电路
9、驱动能力不够时,可以采用第二种方式。字符显示相对比较简单,在这里不做详细描叙。4.2 显示汉字 处理汉字显示时,由于VPG12864T液晶模块是128×64点阵的,所以显示16×16点阵的汉字一行最多显示8个,且最多显示4行。对于每一个汉字的显示,首先应该计算该汉字在字库中的地址,然后读出该汉字的点阵排列。当显示至一行的末尾时要换行显示。在处理汉字显示时有两种方法:一是一次只显示一个汉字,即对于每一个汉字,先计算出此汉字地址,读出其点阵数据,显示完毕再处理下一个汉字,直到处理完所有的汉字;第二种方法是将所要显示的所有汉字的点阵数据从字库中
10、读出存放外部RAM中,再集中处理显示的问题。本文讨论的是后一种方法。字符半角码与全角码有如下的对应关系: 半角字符对应的全角字符的起始地址的计算公式: 起始地址=(2×94+(ASCII-0x21)×32 汉字显示处理的流程如下(用“#”作为显示汉字段的结束标志): 在处理汉字显示时,如果要实现汉字的反显(例如实现菜单操作),将汉字的32字节字模数据分别与0xFF异或(XRL)运算,或者取反(CPL)运算后再显示即可。4.3 实现进度条和动画 进度条显示的原理就是在连续的位置不间断地显示一些点阵,来表示某事务的完成进度。实现进度条的程序如下。程序中用R1、R2记录点阵数据,RLEN记录显示的进度条长度范围。 上面的程序段中,ST01是判STA0、STA1状态的子程序;DELAY是延时子程序,具体应用时可根据需要设置延时的时间;C_ADD=8100H,表示指令通道地址,D_ADD=8000H,表示数据通道地址。 显示动画的与显示进度条原理大致相同,不同的是进度条在不同位置显示,而动画则在同一个位置交替显示不同的点阵。动画显示的例子略。5 结束语
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 事业单位土木工程岗面试高频考题试卷及参考答案202
- 事业单位财会岗面试高频考题试卷及参考答案
- 2027年备考会计基础 【零基础学员必练】押题练习试题(备用卷)含答案
- 2027年备考会计基础 【零基础学员必练】通关考试题库带答案解析
- 2026年湖南安全技术职业学院高职单招笔试英语历年参考题库含答案解析
- 2026年湖北艺术职业学院高职单招笔试英语历年参考题库含答案解析
- 2026年温州科技职业学院高职单招笔试职业适应性测验历年参考题库含答案解析
- 2026年海南政法职业学院高职单招笔试化学历年参考题库含答案解析
- 2026年济宁职业技术学院高职单招笔试职业适应性测验历年参考题库含答案解析
- 2026年泉州海洋职业学院高职单招笔试物理历年参考题库含答案解析
- 2026年医疗器械监督管理条例培训试卷附答案
- (正式版)DB14∕T 1324-2016 《公路桥梁预应力钢绞线局部释放法测试现存应力技术指南》
- 郑州网约车资格证模拟考试及答案
- 多资产配置全景研究系列控波御险:多资产组合风险管理方法论
- 2026年体育教研员竞聘题库(附答案)
- 水泥产品碳足迹核算报告
- 新版西师版五年级上册数学全册教案(完整版)教学设计含教学反思
- 电梯工程安装及后期保养合同三篇
- 人工智能驱动下的人才竞争力评价与专业演变研究
- 2025年正高面审答辩正高面审答辩重症医学笔试参考题库附带答案详解
- 工业网络和现场总线技术基础与案例
评论
0/150
提交评论