3 RA8806和51单片机接口电路
RA8806支持4位或8位数据总线的8080/6800系列MPU接口,其外部接口引脚功能描述如表1所示。基于RA8806控制器的LCD和51系列单片机的接口采用总线或直接I/O方式,基于总线的接口方式如图1所示,数据总线直接和单片机的PO端口相连,P20选择指令或数据,P27作为片选信号,因此LCD的命令端口地址是0x7100,数据端口地址是0x7000。LCD的复位信号直接从51单片机的复位信号取反得到,为保证LCD复位信号的稳定,单片机复位的对地电阻不能大于4.7 kΩ。LCD的复位也可采用基于直接I/O方式的LCD接口方式(图2),用一个单片机引脚产生复位信号。
4 软件设计
基于RA8806控制器的LCD软件设计包括基本读写函数、字符串显示函数、画线函数、图像显示函数、触摸屏相关函数等。这里重点介绍基本读写函数的编程方法,编程注意事项及触摸屏的开发过程。
4.1 基本读写函数
基于RA8806控制器的LCD和51单片机接口的基本读写函数主要包括:指令写入函数(写数据到寄存器),缓冲器读取函数,内存写入和读取函数,以及状态读取函数。这些函数主要是按照RA8806数据资料给出的时序要求进行编写。单片机和 RA8806接口方式不同,编程方式也不同。以RA8806指令写入函数为例,时序要求如图3所示。
若RA8806和单片机的接口按图1的总线方式,指令简单,接口时序由单片机自动形成,其指令如下:
4.2 RA8806编程注意事项
(1)内存写入与读取 当写数据到内存(可能是显示内存或字型产生内存)时,必须先执行缓存器编号为B0h的“写入指令周期”。反之,如果读取内存中的数据时,则必须先执行缓存器编号为B1h的“写入指令周期”。
(2)字符模式和图形模式 RA8806支持两种自MPU写入内存的模式:字符模式和图形模式。在图形模式时,数据以点阵的方式直接写入内存;而在字符模式下,写入的数据以字码的形式被写入RA8806,而写入的字码会再到CGROM中读出相对的字型码而后写入内存。因此,当需要画线或显示图像时,必须设置LCD 工作在图形方式;当显示字符时,务必切换到文字方式。