内置触摸屏与键盘接口的LCD控制器RA8806的应用
时间:05-17
来源:国外电子元器件
点击:
1 引言
LCD作为一种常见的显示设备。具有功耗低、体积小、重量轻、显示的信息量大等特点,尤其是在便携设备中,更是占据着绝对主流的地位。对于字符或数字的简单信息显示,通常可用段码式LCD驱动器。而对于复杂的信息显示,则必须由点阵式LCD驱动显示,最常见的点阵式LCD控制/驱动器中,有不带中文字库的LCD驱动器T6963,也有带中文字库的LCD驱动器ST7920。
对于输入设备,最常见的是键盘。在小型控制系统中,键盘通常利用处理器的I/O端口扫描矩阵式行列。但占用I/O端口线,并降低处理器效率。另一种方法是利用专用的键盘接口器件,如英特尔的8279。周立功的ZLG7289等。触摸屏作为一种简单、自然的输入设备。具有坚固耐用、反应速度快、节省空间、易于交流等优点。触摸屏使人机交互更为直截,极大方便用户操作。常见的触摸屏控制器有ADS7846。但不论是键盘还是触摸屏,使用外扩器件的实现方法无疑会增加电路的复杂性和成本。
RA8806是一个双图层中英文字符与绘图模式的点阵LCD控制器,最大支持320×240点分辨率的LCD面板(扩展模式下,可支持640×240或是320×480分辨率的LCD面板)。RA8806不仅内置中文字库,还提供了8×8的键盘扫描接口和4线电阻式触摸屏控制接口,为中型尺寸LCD显示控制提供了完整人机交互的解决方案。这里全面介绍RA8806的硬件配置方法以及软件编程方法。
2 RA8806主要特性
RA8806的内部结构如图l所示。RA8806内置了4×8或8x8的键盘扫描接口,支持多键同时按下及按键时间长短判断功能;RA8806触摸屏控制器,支持了4线电阻式触摸屏扫描接口;一路可编程PWM控制器,可调节LCD面板的对比度或背光亮度;在与控制器接口方面,RA8806能够支持4位或8位数据总线宽度的8080/6800系列控制器;在显示效果方面,RA8806能够提供4级灰度显示。此外还提供了屏幕局部滚动、文字反白、粗体显示、文字放大与旋转等显示功能。
3 RA8806接口及编程
3.1 RA8806控制接口
RA8806支持8080和6800两种微控制器接口,由接口类型选择引脚MI的状态决定;MI接低电平时,选择8080接口,反之,选择6800接口。数据总线的宽度由引脚DB的状态决定:当DB接高电平时,数据总线的宽度为8位,反之,总线宽度为4位。在并行模式下,只要将RA8806和微控制器的对应引脚相连即可。对RA8806的控制访问,与8080/6800控制器对存储器的访问方式相同。需要注意的是引脚RS用来确定要传送的数据类型:RS为高电平时表示命令周期,RS为低电平表示为数据周期,对RA8806的访问类型如表l所示。
3.2 RA8806键盘接口
RA8806的矩阵键盘扫描接口应用起来非常方便,只要将KOUT[7:O]行扫描输出和KIN[7:O]列信号输人接上相应的按键即可,如图2所示。
与键盘扫描相关的寄存器有:扫描控制寄存器KSCR0和KSCRl,扫描数据寄存器KSDRO~KSDR2。在KSCRO中,最高位DB7是键盘扫描功能使能位。DB6为键盘矩阵大小选择位,DB6=1,键盘大小为4x8;DB6=O,键盘大小为8x8。DB[5:4]决定键盘消抖动的采样次数DB3为按键长按判断功能使能位。DB[2:0]决定键盘扫描的速度。KSCRl用来设置键盘唤醒功能及长按时间调整等。通过配置相应命令寄存器,RA8806的键盘扫描电路就能正常工作。
当有按键事件发生时RA8806可以通过引脚INT向系统控制器请求中断,由于RA8806的所有中断共用一个中断请求引脚INT。因此系统控制器需要读取RA8806的中断状态寄存器INTR,以判断中断来源,下面以Keil C51为例,给出键盘中断程序的主要代码:
3.3 RA8806触摸屏接口
RA8806内置一组10位A/D转换器和控制电路,用来连接4线电阻式触摸屏。只要将RA8806的X1和X2、Yl和Y2分别与触摸屏的对应引脚相连,并在Yl引脚接39~51 kΩ的上拉电阻即可,如图3所示。当触摸屏被有效触摸时,触摸点的X,Y坐标值被记录在RA8806的相应寄存器中,同时可以向微控制器申请中断。
与触摸屏相关的寄存器有:触摸屏控制寄存器TPCRl和TPCR2;触摸屏数据寄存器TPXR、TPYR和TPZR。TPCRl的DB7是触摸屏使能位;DB[6:4]决定采样触摸屏数据前的等待时间;DB[2:0]选择触摸屏A/D转换器的转换速度;TPCR2用来设置触摸屏的工作模式。
触摸屏的数据寄存器TPXR和TPYR用来保存触摸点X、Y坐标值的高8位,而低2位则保存在TPZR,如果对触摸屏的分辨率要求不高,可忽略TPZR的内容。当触摸屏被接触时,信号不够稳定,为了避免误动作,通常采取连续读两次坐标值进行对比的方法加以消除,触摸屏中断服务程序的流程图如图4所示。
3.4 RA8806显示内存访问
RA8806的显示内存有CGRAM、DDRAMl和DDRAM2 3部分,微控制器访问的是哪一部分内存,RA8806要显示的是哪部分内存的内容,都是由内存访问模式寄存器MAMR来决定。需要注意的是要将待显示的内容写入到显示内存时,必须先执行内存写命令寄存器MWCR的命令写周期,之后才能将显示内容写入到显示内存中;同样要读取显示内存时,也必须先执行内存读命令寄存器MRCR的命令写周期,之后才能读取显示内存。下面以字符放大显示为例,给出部分程序代码段:
LCD作为一种常见的显示设备。具有功耗低、体积小、重量轻、显示的信息量大等特点,尤其是在便携设备中,更是占据着绝对主流的地位。对于字符或数字的简单信息显示,通常可用段码式LCD驱动器。而对于复杂的信息显示,则必须由点阵式LCD驱动显示,最常见的点阵式LCD控制/驱动器中,有不带中文字库的LCD驱动器T6963,也有带中文字库的LCD驱动器ST7920。
对于输入设备,最常见的是键盘。在小型控制系统中,键盘通常利用处理器的I/O端口扫描矩阵式行列。但占用I/O端口线,并降低处理器效率。另一种方法是利用专用的键盘接口器件,如英特尔的8279。周立功的ZLG7289等。触摸屏作为一种简单、自然的输入设备。具有坚固耐用、反应速度快、节省空间、易于交流等优点。触摸屏使人机交互更为直截,极大方便用户操作。常见的触摸屏控制器有ADS7846。但不论是键盘还是触摸屏,使用外扩器件的实现方法无疑会增加电路的复杂性和成本。
RA8806是一个双图层中英文字符与绘图模式的点阵LCD控制器,最大支持320×240点分辨率的LCD面板(扩展模式下,可支持640×240或是320×480分辨率的LCD面板)。RA8806不仅内置中文字库,还提供了8×8的键盘扫描接口和4线电阻式触摸屏控制接口,为中型尺寸LCD显示控制提供了完整人机交互的解决方案。这里全面介绍RA8806的硬件配置方法以及软件编程方法。
2 RA8806主要特性
RA8806的内部结构如图l所示。RA8806内置了4×8或8x8的键盘扫描接口,支持多键同时按下及按键时间长短判断功能;RA8806触摸屏控制器,支持了4线电阻式触摸屏扫描接口;一路可编程PWM控制器,可调节LCD面板的对比度或背光亮度;在与控制器接口方面,RA8806能够支持4位或8位数据总线宽度的8080/6800系列控制器;在显示效果方面,RA8806能够提供4级灰度显示。此外还提供了屏幕局部滚动、文字反白、粗体显示、文字放大与旋转等显示功能。
3 RA8806接口及编程
3.1 RA8806控制接口
RA8806支持8080和6800两种微控制器接口,由接口类型选择引脚MI的状态决定;MI接低电平时,选择8080接口,反之,选择6800接口。数据总线的宽度由引脚DB的状态决定:当DB接高电平时,数据总线的宽度为8位,反之,总线宽度为4位。在并行模式下,只要将RA8806和微控制器的对应引脚相连即可。对RA8806的控制访问,与8080/6800控制器对存储器的访问方式相同。需要注意的是引脚RS用来确定要传送的数据类型:RS为高电平时表示命令周期,RS为低电平表示为数据周期,对RA8806的访问类型如表l所示。
3.2 RA8806键盘接口
RA8806的矩阵键盘扫描接口应用起来非常方便,只要将KOUT[7:O]行扫描输出和KIN[7:O]列信号输人接上相应的按键即可,如图2所示。
与键盘扫描相关的寄存器有:扫描控制寄存器KSCR0和KSCRl,扫描数据寄存器KSDRO~KSDR2。在KSCRO中,最高位DB7是键盘扫描功能使能位。DB6为键盘矩阵大小选择位,DB6=1,键盘大小为4x8;DB6=O,键盘大小为8x8。DB[5:4]决定键盘消抖动的采样次数DB3为按键长按判断功能使能位。DB[2:0]决定键盘扫描的速度。KSCRl用来设置键盘唤醒功能及长按时间调整等。通过配置相应命令寄存器,RA8806的键盘扫描电路就能正常工作。
当有按键事件发生时RA8806可以通过引脚INT向系统控制器请求中断,由于RA8806的所有中断共用一个中断请求引脚INT。因此系统控制器需要读取RA8806的中断状态寄存器INTR,以判断中断来源,下面以Keil C51为例,给出键盘中断程序的主要代码:
3.3 RA8806触摸屏接口
RA8806内置一组10位A/D转换器和控制电路,用来连接4线电阻式触摸屏。只要将RA8806的X1和X2、Yl和Y2分别与触摸屏的对应引脚相连,并在Yl引脚接39~51 kΩ的上拉电阻即可,如图3所示。当触摸屏被有效触摸时,触摸点的X,Y坐标值被记录在RA8806的相应寄存器中,同时可以向微控制器申请中断。
与触摸屏相关的寄存器有:触摸屏控制寄存器TPCRl和TPCR2;触摸屏数据寄存器TPXR、TPYR和TPZR。TPCRl的DB7是触摸屏使能位;DB[6:4]决定采样触摸屏数据前的等待时间;DB[2:0]选择触摸屏A/D转换器的转换速度;TPCR2用来设置触摸屏的工作模式。
触摸屏的数据寄存器TPXR和TPYR用来保存触摸点X、Y坐标值的高8位,而低2位则保存在TPZR,如果对触摸屏的分辨率要求不高,可忽略TPZR的内容。当触摸屏被接触时,信号不够稳定,为了避免误动作,通常采取连续读两次坐标值进行对比的方法加以消除,触摸屏中断服务程序的流程图如图4所示。
3.4 RA8806显示内存访问
RA8806的显示内存有CGRAM、DDRAMl和DDRAM2 3部分,微控制器访问的是哪一部分内存,RA8806要显示的是哪部分内存的内容,都是由内存访问模式寄存器MAMR来决定。需要注意的是要将待显示的内容写入到显示内存时,必须先执行内存写命令寄存器MWCR的命令写周期,之后才能将显示内容写入到显示内存中;同样要读取显示内存时,也必须先执行内存读命令寄存器MRCR的命令写周期,之后才能读取显示内存。下面以字符放大显示为例,给出部分程序代码段:
- 新应用需求推动 MEMS传感器市场复苏(07-12)
- Z1智能手机降噪耳机选用艾迈斯半导体高性能芯片(08-22)
- elmos在慕尼黑电子展展出电机驱动和车用LED驱动器产品系列(02-15)
- 陀螺仪传感器为何能使鼠标变得如此自由?(05-18)
- 用触觉导航(05-29)
- 触控面板技术的应用发展趋势(05-04)