单片机与液晶显示模块HS12864-1的接口及其编程
图2中采用并行通信方式,单片机的IOA0-IOA7口与液晶模块的DB0-DB7口相连作为数据输入输出用;即IOB0- IOB 4口与液晶模组的CS1、CS2、D/I、R/W、E相连作为单片机对液晶的控制口。
4、显示程序设计
在液晶上显示整屏字符或图像有两种方法:一种是将所要显示的字模数据一次性发送到显示数据RAM中;另外一种是在屏幕上指定位置进行单独显示[4]。两种方法都要在控制器空闲的条件下进行操作,在操作之前都要先读取忙标志,判断控制器是否处于忙状态,在一般情况下,可以用延时等待的方法代替。
本系统程序主要包括主程序和几个子程序块: LCD初始化, 液晶显示屏选择,LCD显示,还有若干个控制子程序。主程序分别调用这些子程序实现对液晶显示器操作控制。程序流程图见图3。
图3 程序流程图
凌阳单片机的编程语言常用的有二种:汇编语言和C语言。汇编语言的机器代码生成效率很高但可读性不强,而C语言在大多数情况下其机器代码生成效率和汇编语言相当,但可读性和可移植性却远远超过汇编语言,而且C语言还可以嵌入汇编来解决高时效性的代码编写问题。对于开发周期来说,用C语言的开发周期通常要小于汇编语言很多。综合以上C语言的优点,在设计时选择了C语言。
这里给出右半屏送命令/数据程序,说明SPCE061A单片机程序设计中对IOA /IOB口的设置。凌阳单片机控制液晶显示部分程序如下:
5、结束语
本系统调试采用的是凌阳61板(即SPCE061A EMU BOARD)和u'nSP IDE 集成开发环境。硬件调试较为简单,只需调节好液晶的对比度和背光亮度即可;在软件方面,使用凌阳u'nSP IDE 软件来编译调试液晶程序。
在调试中字模数据来自字模生成软件Zimo3,其生成的字模数据在本程序中不能直接使用,运行结果会出现字体的上下部分颠倒,需要将其顺序反转。
调试效果达到了程序设计的要求。
参考文献
[1] 李维 言是,郭强.《液晶显示应用技术》[M].北京:电子工业出版社,2003.
[2] 薛钧义.《凌阳十六位单片机原理及应用》[M].北京:北京航空航天大学出版社,2003.
[3] 张立材. 基于SPCE061A的多功能信号发生器设计实现[J]. 微计算机信息,2004.20(3):94-95.
[4] 杨雷,刘晓,魏春雪.液晶显示器的接口技术及其抗干扰措施[J].液晶与显示,2003.18(2):121-124.
[5] 广州市千喜科技开发有限公司内部技术资料.《HS12864-1图形点阵液晶显示模块使用手册》[M].广州市千喜科技开发有限公司.
评论