摘要:介绍了ACM12864J液晶显示模块的特性与功能,提出ACM12864J与SPCE061A微控制器的硬件接口设计,以及在此设计基础之上实现字符显示、汉字显示、图形与曲线显示的方法与编程技巧。
0. 引言
点阵式平板图形液晶显示器在各种便携式产品中具有非常广泛的应用。显示器的核心液晶显示器控制器品种繁多,各种控制芯片在控制电路逻辑、控制指令、指标参数等方面各有差异。但是对于已经带有控制电路的平板点阵式图形液晶显示器,使用者无需关心其控制核心的集成芯片,控制电路的几个信号,就可以方便地利用它进行开发。
1. ACM12864J液晶显示模块的特性
ACM12864J是采用联合电子公司生产的小型液晶显示模块,该模块价格低,数据可读写,自带负压发生电路,单+5V供电,带背光,可由各种微控制器器直接控制,数据读写操作不受外部时钟控制,不带汉字库,占空比为1/64,外部共有20条引脚来进行外部接口。
ACM12864J采用的数据传送方式是纵向数据传送方式,64行共分为0~7页,每页8行,逐页显。发送数据步骤:先发送第0页第一列,高位在下,为一个字节;再发送第二列,直到128行结束;然后发送第2页第一列,依次类推,直到整屏数据发送完为止。。这种数据显示方式利用字模提取软件,采用"纵向8点下高位"输出格式取模,不做任何修改,就能很好的显示。其写时序如图1所示。
2.ACM12864J液晶显示模块应用的硬件设计
ACM12864J数据为8位并行数据接口,外加数根控制线,若直接与单片机接口,占用口线太多。而SPCE061A内置有SIO接口,通过74HC164进行的串并转换,可以用来传送8位并行数据。这样加上连背光灯控制信号线也不过占用8根I/O口。倘若不进行读操作,可减至7根控制信号线。SIO的接口共有四种接口方式,即地址为8位、16位、24位和无地址接口,与ACM12864J的接口采用无地址方式传送,设置好寄存器工作状态,即可直接传送数据,SPCE061A的SIO接口最高传输率可达5Mb/S。数据的读写控制线由单片机的I/O线控制,LCD所需的时序延时由编好的位操作函数直接控制,编程时不须考虑SPCE061A与ACM12864J接口的时间要求,简化了编程。硬件电路如图2所示。
3. 软件程序编制
3.1 SIO初始化及写数据
SPCE061A单片机是由台湾凌阳科技股份有限公司生产的具有SOC系统的微控制器,该控制器内置A/D转换、SIO口等。SPCE061A的串行外围设备接口SIO在传送数据之前,须对SIO口控制寄存器进行初始化。SIO口控制寄存器P_SIO_Ctrl主要设置SIO口通信的工作模式,包括设备地址、传输速度、读写设置、功能设置等。SIO口数据寄存器P_SIO_Data主要负责读写过程中数据的接收与发送。SIO口的启动控制寄存器P_SIO_Start,又是状态控制寄存器,根据P_SIO_Start的状态,判断数据接收或发送完毕。
SPCE061A不提供位操作指令,对位进行操作时,要不影响其他位的状态,可采用"读---改---写"的办法,即:先读出某一位的的值,经逻辑与、逻辑或运算,再回写到当前字节,即改变了I/O口的状态。为此,编写位操作函数Set_IOA_Bit(n,dir,attrib,buffer,data)、Set_IOB_Bit(n,dir,attrib,buffer,data)解决上述问题,该函数的参数定义如下:n-位操作的位数;dir,attrib,buffer-位操作的属性;data-位操作的数据;。其传送数据的程序如下:
absMiddle" border="0" style="width: 507px; height: 238px" onload="return imgresize(this);" onclick="javascript:window.open(this.src);" style="cursor:pointer;"/>
3.2 ASCII字符的显示