引言
带中文字库的TS128X64(图1)具有4 位/8 位并行、2 线或3 线串行多种接口方式,引脚功能见图2。其内部含有国标一级、二级简体中文字库的点阵图形液晶显示模块;其显示分辨率为128×64, 内置8192 个16*16 点汉字,和128 个16*8 点ASCII 字符集。(见图1)。
图1 TS12864 液晶实物图
该模块接口方式灵活和操作指令简单、方便,可构成全中文人机交互图形界面。可以显示8×4 行16×16 点阵的汉字。也可完成图形
显示,有低电压低功耗的特点。由该模块构成的液晶显示方案与同类型的图形点阵液晶显示模块相比,不论硬件电路结构还是显示程序都要简洁得多,且该模块的价格也略低于相同点阵的图形液晶模块。(见图2)。
图2 TS12864 引脚功能表
本设计讲采用STC89C52 对TS128X64 进行驱动,设计并制作LCD 驱动电路,使其可通过按键切换LCD 的显示内容,并且实现对数字,汉字,英文以及图片的显示,滚屏,以及动画功能。
1. 硬件设备
STC89C52 是STC 公司生产的一种低功耗、高性能CMOS8 位微控制器,具有 8K 在系统可编程Flash存储器。
STC89C52 使用经典的MCS-51 内核,但做了很多的改进使得芯片具有传统51 单片机不具备的功能。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得STC89C52 为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。(见图3)。
图3 STC89C52 各引脚标注具有以下标准功能: 8k 字节Flash,512字节RAM, 32 位I/O口线,看门狗定时器,内置4KB EEPROM,MAX810 复位电路,3 个16位定时器/ 计数器,4 个外部中断,一个7向量4 级中断结构(兼容传统51的5向量2 级中断结构),全双工串行口。
图4 STC89C52 实物图
另外 STC89C52 可降至0Hz 静态逻辑操作,支持2 种软件可选择节电模式。空闲模式下,CPU 停止工作,允许RAM、定时器/ 计数器、串口、中断继续工作。掉电保护方式下,RAM 内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。最高运作频率35MHz,6T/12T 可选。
2. 软件
本设计使用Keil C51 进行编程。Keil 51 是没过Keil Software 公司出品的51 系列兼容单片机C 语言软件开发系统。Keil 提供了包括C 编译器,宏汇编,连接器,库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境uvision将这些部分组合在一起。运行Keil 软件需要Pentium 或以上的CPU,16MB 或更多RAM,20M以上空闲的硬盘空间,WIN98,NT,WIN2000,WINXP 等操作系统。
图5 Keil 51 的编译环境
与汇编相比,C 语言在功能上,结构性,可读性,可维护性上有明显的有优势,因而易学易用。
3. 设计与制作
3.1. 硬件的设计与制作
在单片机应用系统中,按键主要分为2 种:直接按键和矩阵编码按键。本设计主要采用直接按键。每个按键都直接接到单片机的一个I/O 口上。通过判断按键借口的电位即可识别按键操作。通过与P1^3(S3)和P1^4(S4)直接连接的两个按键来进行LCD 显示内容的切换。且通过与RST 连接的按键(S2)进行复位操作。
画出如图6 所示的原理图,根据原理图对电路进行PCB 板子制作与调试。PCB 版图的制作使用Altium DesignerWinter 09。在PCB 电路布局时尽量考虑到元器件的封装和操作者的使用情况,为了线路检测、方便和元器件的回收利用,电路使用了排针和针座,避免较为贵重的芯片的死焊,避免焊盘的脱落和在焊接的时候把元器件烧坏等现象。焊接完后好对电路图进行检测,检查所有元器件是否完好,位置是否都正确,是否有挂接和虚焊的现象。接电之前试测电源和地线,确保不存在短接,并检查电路,同时用万用表检测是否存在线断路,上电后还应检测各个器件的电源以及地脚的电平是否正确。
图6 LCD12864 系统电路原理图3.2. 程序的设计与编写
3.2.1. 程序功能
本程序实现基本字符的显示(汉子、英文、数字)。同时实现滚屏的功能:能滚动显示诗歌“冷灯看剑,剑上几番功名?炉香无需计苍生,纵一川烟逝,万丈云埋,孤阳还照古陵。”此外,
还能够实现128X64 的图片显示,并且通过快速切换4 张图片,最终实现一只鸽子展翅飞翔的动画效果。
液晶屏初始化后,开始在液晶屏上显示基本信息(由汉字、英文、数字组成),之后进入检测按键循环。其他显示效果通过两个按键来切换:按键1 控制动画显示和图片显示,按键2 控制诗歌滚动显示,通过按下复位键使液晶复位重新启动。
3.2.2. 程序
程序的设计思路如程序框图(图7)所示,由于程序有几百行,篇幅太长,文章中就不再加以叙述。
图7 程序框图
4. 结果测试
将附录中的程序导入单片机中,可以得到结果如,图8 图9 图10所示。
结束语
本设计为基于51 单片机的12864LCD 显示驱动,基本能够实现预期的功能,通过按键实现对数字,汉字,英文以及图片的显示,实现滚屏和动画功能。
但暂时还不能实现反白和按键控制背光等功能。制作电路板时易出现断线,短路,以及其他一些电路错误,需要通过后期仔细检测并才去对应措施加以解决。