人机交互接口电路设计论文

2022-04-18

今天小编给大家找来了《人机交互接口电路设计论文(精选3篇)》,供大家参考借鉴,希望可以帮助到有需要的朋友。【摘要】对触点位置坐标识别与输入是触摸液晶屏的重要功能。由于SOPCBuilder系统没有提供TRDB-LTM触摸屏的驱动,因而提出了一种基于Avalon总线的TRDB-LTM触控IP核的设计方法。实现TRDB-LTM触控屏触碰位置坐标的准确录入。给出系统硬、软件设计过程。经测试,所设计的IP核能够准确快速的识别触碰位置坐标,工作稳定可靠。

人机交互接口电路设计论文 篇1:

对称式双电位扩展键盘设计

摘要:本设计是基于MCU的一款高效率键盘输入系统。通过对分立按键和普通二极管的合理布局,实现了一种利用N个双向I/O端口确定N2+N个键值的键盘电路设计。实验证明,该键盘电路结构简单、抗干扰能力强、稳定性好,具有很高的使用价值。

关键词:MCU;键盘;扩展

1 概述

一个好的MCU系统,通常需要有完备的人机交互接口。作为输入端的键盘是人机交互最基本的途径之一。常用的键盘布局有独立式键盘和矩阵式键盘两种。独立式键盘布局方式简单,适合端口数目冗余较大的场合;矩阵式键盘布局方式相对复杂,端口利用率较高。如(图1)八端口4*4矩阵式键盘是使用最广泛的键盘布局方式之一。

2 阶梯式键盘

由于人机交互的越加频繁、所需输入数据量的增加,矩阵式键盘由于占用了过多的端口显得臃肿而陈旧。为了解决按键占用端口数过多的问题,阶梯式键盘应运而生(图2)。阶梯式键盘的特点是舍弃了矩阵式键盘对端口行、列的设计,而是采用了将端口两两相交构成一个阶梯型的阵列,在这个阵列的每个交点处可以安置一个按键,使按键总数达到了N-1+1*N-12=N*N-12。阶梯式按键的原理是当任意一个按键被触发后连接器的两个端口的电位就会相同,由于按键是两两相交,所以可以据此确定唯一的按键值。

3 对称式键盘

通过对阶梯式键盘原理的分析可以发现,当MCU拉低P1时,通过P2、P3、P4的电位变化我们可以确定X1、X2、X3共3个按键是否被触发,当MCU拉低P2时,我们能够确定X4、X5这两个键是否被触发,而当P3被拉低后只能判断按键X6是否被触发。这说明每次扫描能够检测的按键数目有较大差异,为了充分利用软件开销,提出了对称键盘布局结构(图3)。但是这种完全对称的布局形式会引起按键冲突。阶梯式键盘通过端口的两两连接构成,键值通过在触发按键处连接的两个端口保持相同的电位确定。在观察图3的对称式键盘,任意两个端口的两条连线,都连接了两个按键,当任意两个端口被置为同电位后,MCU并不能确定是两条连线中哪一个按键被触发。

在阶梯式按键的键值扫描过程中,为了确定阶梯式按键的键值,会将MCU的端口依次拉低,而其余端口保持高电位。当有按键被触发后,被拉低的端口会与通过被触发按键与另一个端口直接连接,使其也被置为低位。当这两个端口同时置为低位时程序即可确定被触发的按键。这就是阶梯式按键的确定方式,通过上面的分析我们可以发现阶梯式按键那两个被指为低位的端口是由一个将另一个拉低的,其实质是高位端口的电位接到了之前被程序拉低的低位电位端口上。通过这个结论我们可以利用电位的变化顺序来确定按键键值,从而引入改进后的对称键盘布局,即对称式键盘布局(图4)。

对称式键盘布局与之前提到的对称键盘布局不同之处是对称式键盘在其对角线处放置二极管。由于MCU端口电压较小,普通二极管即可。该设计的原理就是利用二极管的单向导通性限制电流的流向,通过MCU对两个端口置为低电位的先后顺序确定是哪个按键的触发,因此对称式键盘的按键总数可以达到:N-1+1*N-1=N2-N。以4端口对称式键盘为例:首先将单片机的键盘端口P1、P2、P3、P4中的P1置为低位,其余三个置为高位。当按键X1触发时,P2通过二级管D2和按键X1与P1接通,P2被置为低位,由于P1先被置低,P2再被置低即可确定是按键X1被触发。按键X2、X3类似。在第二行的扫描过程中,MCU将P2置为低位,P1、P3、P4置为高位。当按键X4被触发时P1通过二极管D1和按键X4被P2置低,由此确定按键X4被触发。与阶梯式键盘不同的是,在对对称式键盘扫描的过程中,低位行会参与高位行键值的判断。

4 对称式双电位扩展键盘

与传统的矩阵式键盘相比对称式键盘在端口的利用率上有了很大的提高,设计表明对称式键盘仍然有较大的扩展空间。对称式键盘键值获取的原理是通过两两相交端口的电位变化以及变化顺序进行判断,如果通过增加只能造成单个端口电位变化的按键连接,即增加独立按键,从而获得对称式扩展键盘设计。对称式扩展键盘设计有两种方式,一是对称式低电位扩展键盘,二是对称式高电位扩展键盘。但是独立按键的引入容易造成与对称式键盘的冲突,如何规避这种冲突就是对称式扩展键盘的重点与难点。

对称式低电位扩展键盘(图5)。需解决的问题是按键冲突的识别。分析阶梯式键盘的键值扫描过程,可以发现在键值扫描过程中端口只有一个保持低位,而其余端口保持高位。当端口同时连接阶梯式键盘和接地的独立按键时,会出现两种情况。第一种情况是当某个接地的独立按键被触发,若按键连接的端口为MCU置为低位的端口,则按键触发不能被MCU捕捉。这种情况在按键扫描的过程中必然会出现,但不会对按键扫描的准确度有影响。以12MHz晶振的51系列单片机为例,单步指令执行周期为1us,以遍历式的扫描方式约需4*6N=24N步单周期指令(注:该文不对具体代码展开分析)。而单次按键的触发时间在10ms以上,两者在时间上至少相差两个量级,所以这种情况可以忽略。采用RISC指令集的AVR或ARM指令周期肯定会更快,造成影响也更小;第二种情况是当连接的端口为MCU置为高位的端口,那么连接按键的端口中将同时有两个端口被置为低电位,这时独立按键与阶梯式键盘按键发生冲突,MCU不能确定是两个按键中的哪一个被触发。为了克服这个问题,就要通过软件的方式进行二次判断。在系统按键扫描过程中,当某一端口被MCU置为低位,扫描发现出现第二个端口亦被为低位。MCU重新将被MCU置为低位的第一个端口重新置为高位,然后MCU再判断捕捉第二个端口的状态。若第二个端口此时亦拉回高电位,说明这是两个端口之间连接的按键被触发,第二个端口通过被触发按键将第一个端口拉高;若第二个端口电位不发生变化仍然保持低电位,这说明是与地相连的独立按键被触发,拉低了第二个端口的电位。这样,通过软件的设计,克服了接地独立按键与阶梯式键盘之间的按键冲突,达到了按键扩展的目的,完成对称式低电位扩展键盘的设计实现。

对称式高电位扩展键盘(图6),原理相对简单而且硬件效率更高,但是却一直不被人所熟知。在按键扫描过程中仅有一个为低电位,其余保持高电位。按键扫描过程中,当接高电位独立按键与处在高电位状态的端口连接时MCU不能捕捉到按键触发。不过当独立按键是与低电位状态的端口连接时,端口通过被触发的独立按键与高电位连接,而是端口被钳位在高电位,通过这个端口电位的变化MCU确定独立按键的键值。由MCU双向端口的电路设计,可以知道MCU可实时监控其双向端口的电位变化,由此迅速的捕捉按键触发,由于双向端口的电路设计不是本文的重点,所以不再展开分析。

对称式低电位扩展键盘和对称式高电位扩展键盘这两种键盘扩展方式,由于两者避免按键冲突的方式不同,所以按键布局的方式也有所不同。接高电位的独立按键应与MCU的双向端口直接连接,从而使端口的电位变化可以被迅速捕捉。若与对称式键盘连接,由于二极管的单向导通特性,独立按键的按键触发不能被捕捉无法获得键值。接地的独立按键则需与对称式按键连接,通过软件的判断来获取键值。因为接地的独立按键出发后为地电位,电流流向是MCU端口流向独立键盘,二极管不会造成影响。所以对称式键盘的两种扩展方式可以完美结合,构成对称式双电位扩展键盘(图7)的按键布局设计,这种按键布局设计可将I/O端口的利用率达到最大化。在实际的工程设计中,对MCU的双向端口要联接上拉电阻。其原理以51系列单片机为例,由于单片机的拉电流较小,约1到2mA,而单个端口的灌电流可以达到10mA以上,为了增加灌电流为端口准备4kΩ左右的上拉电阻是非常有必要的。

5 总结

通过上面的分析可以得出N个端口对称式双电位扩展键盘的最大按键数的公式为:

N-1+1*N-1+N+N=N2+N

不使用二极管,仅通过按键布局构成阶梯式双电位扩展键盘获得的最大按键数为:

N-1+1*N-12+N+N=N*N-12+2N

对称式双电位扩展键盘远高于矩阵式键盘的端口利用率,在端口资源紧张的情况下,意义显得尤为重要。相信在不久的将来对称式双电位扩展键盘占用端口少,扫描效率高这些优点将会被人们接受,并在键盘设计中被广泛采纳。

参考文献:

[1] 赵建领,崔昭霞.精通51单片机开发技术与应用实例[M].北京:电子工业出版社,2012.

[2] 陈忠平.基于Proteus的51系列单片机设计与仿真[M].北京:电子工业出版社,2012.

[3] 刘然.一种新颖的键盘扫描方法与仿真实现[J].电子制作,2008,(7):33-37.

[4] 宋戈,黄鹤松,员玉良.蒋海峰.51单片机应用开发范例大全[M].北京:人民邮电出版社,2012.

[5] 李朝清.单片机接口及原理技术[M].北京:北京航空航天大学出版社,2005.

作者:姜磊

人机交互接口电路设计论文 篇2:

基于Nios II的TRDB—LTM触控IP核设计

【摘要】对触点位置坐标识别与输入是触摸液晶屏的重要功能。由于SOPC Builder系统没有提供TRDB-LTM触摸屏的驱动,因而提出了一种基于Avalon总线的TRDB-LTM触控IP核的设计方法。实现TRDB-LTM触控屏触碰位置坐标的准确录入。给出系统硬、软件设计过程。经测试,所设计的IP核能够准确快速的识别触碰位置坐标,工作稳定可靠。

【关键词】TRDB-LTM触控屏;Nios II;Avalon总线;IP核

1.引言

随着各类多媒体应用终端、平板电脑、智能手机等嵌入式系统设备与日俱增[1],触摸屏作为一种集信息显示与输入,数据通信与转换多种功能于一体的先进人机交互接口,已越来越广泛地应用在各类嵌入式智能设备上,它轻薄体小,画质清晰,易于设计友好的交互界面和实现简单直观操作体验。因而對触摸屏实现支持几乎已然成为嵌入式系统应用开发的必然要求。

在Altera的SOPC软件工具中,已经集成有一些参数化电路功能模块,即IP核[2]。如SSRAM、Flash、Avalon三态桥、PLL、UART等。但是在显示方面,Altera只提供了一个16*2 LCD的控制IP核[3],没有提供触屏IP核,使用时需要编写硬件的时序程序[4]。另外,目前多数研究者致力于设计LCD显示控制的IP核,即LCD的显示(输出),对于触控屏(LTM-LCD)的触控(输入)的研究不多[5]。本文提出一个基于NiosⅡ的TRDB-LTM触控IP核设计,用以实现TRDB-LTM的触控功能。本IP核可以和系统自带的IP核一样,直接挂载于Avalon总线,作为NiosⅡ软核的SOPC一个外设[5]。

2.Avalon总线

2.1 Avalon总线概述

Avalon总线是由Altera开发的一种专用的内部连线技术[6]。它由SOPC自动生成,是处理器与外设之间理想的内联总线,是构建嵌入式系统、开发自定义外设IP核的基础。Avalon接口规范定义了外设和Avalon Switch Fabric之间的数据传输。Nios II系统的所有外设都是通过Avalon总线与Nios II CPU进行数据交换。Avalon接口是一种开放标准,使用Avalon接口创建和发布定制外设不需要任何授权[6]。

2.2 Avalon总线从端口读传输

Avalon总线传输有两个基本模式:主传输和从传输[6]。支持流水传输、三态传输和突发传输属性。TRDB-LTM触控IP核使用的是效率较高的流水从端口读传输,增加传输宽带,提高触控响应灵敏度。具体时序规范此处从略[7]。

3.硬件设计

3.1 TRDB-LTM触碰功能

LTM是LCD Touch Panel Module的缩写。TRDB-LTM是Terasic友晶科技公司推出的4.3英寸数字LCD触碰屏幕套件,分辨率高达800*480。它包含了三个主要的架构:LCD触摸面板、AD转换器、40-pin IDE接口[8]。LTM可由40-pin插座排线连接到Alter DE2-70开发板,LTM集成ADI公司的AD7843触摸屏转换芯片,可将触点的X/Y坐标数字化并保存,并通过SPI数字串行接口与FPGA芯片建立通信连接。AD7843的转换过程参考其数据手册[9]。

3.2 LTM屏幕坐标规划

由Terasic公司提供的LTM文档,我们可以知道,按照功能的不同,屏幕坐标被分成了两种方式表现,一种是时序坐标,一种是触碰所得到的屏幕坐标。时序坐标(x,y)的取值范围从(0,0)至(800,480)。X轴正向为水平向右,Y轴正向为垂直向上。

图1 LTM四个角上的坐标[7]

3.3 TRDB-LTM触摸屏控制器IP核

TRDB-LTM触控IP核Touch_Avalon_Interface的设计结构图如图2所示,主要包括Avalon总线从端口、时钟与复位模块、TRDB_LTM接口模块3个部分。Avalon总线从端口部分主要是为了与Avalon总线通信,时钟与复位模块为IP核提供时钟与复位信号,TRDB_LTM接口模块负责与LTM上的AD转换芯片AD7843进行数据传输。

图2 触控IP核结构框图

iADC_DOUT接收来自AD7843的坐标数据,iADC_DIN向AD7843发送控制字,iADC_PENIRQ_n中断指示信号,低电平有效,表示ADC转换完成,详细的转换时序参见数据手册[8]。将IP核在SOPC Builder里打包封装,如图3所示。

图3 Touch_Avalon_Interface IP核

Avalon總线挂载界面

图4 TRDB-LTM触控IP核

添加到Nios II系统后的生成界面

图5 Console控制端读到的触点位置坐标

4.软件设计

Touch_Avalon_Interface IP核设计文件包括HAL和HDL两个文件夹。HAL里面是IP核的Nios Ⅱ C语言驱动源程序(Touch_Avalon_Interface.h,Touch_Avalon_Interface.c)。HDL中是IP核的Verilog定义文件。限于篇幅,只附上顶层IP核端口的定义:

IP核的Nios Ⅱ C语言驱动源程序主要功能是将IP核读取到的实时触碰坐标通过算法转换成显示坐标,即前文所提的时序坐标。具体程序如下:

为了测试Touch_Avalon_Interface IP核的效果,将IP核添加到一个完整的Nios II系统中,如图4所示。图中红色框中的Touch_Avalon_Interface即为本文所设计的自定义触控IP核。

通过Nios II IDE建立用户工程,将驱动文件拷贝进工程,设置编译,完成后下载到Terasic的DE2-70开发板[10]上进行的测试。触碰LTM屏幕,可在Nios II IDE的Console控制端实时显示触点位置坐标(如图5所示)。

5.结语

本文所提出TRDB-LTM触控IP核设计通过DE2-70开发板硬件平台的测试,触碰响应灵敏,定位准确,实现了TRDB-LTM触碰位置坐标的准确录入。由于Nios Ⅱ核在同一FPGA中的植入数量没有限制,只要FPGA资源充足[7],因而本IP核可以非常自由地结合其他设计中的关于LCD显示控制IP核挂载在Avalon总线上,使FPGA上的SOPC实现对触摸屏的完全支持,使后续应用界面开发者不必关心触屏的底层时序规范,从而缩短开发周期,提高开发效率。

参考文献

[1]刘波文,张军,等.FPGA嵌入式项目开发三位一体实战精讲[M].北京:北京航空航天大学出版社,2012:314-347.

[2]苏阳,蒋银坪,等.那些年,我们拿下了FPGA[M].北京:北京航空航天大学出版社,2013:304-306.

[3]李顺方,周卫星,白洁.基于Avalon总线的可配置LCD控制器IP的核设计[DB/OL].(2007-06-12)[2011-06-25].http://www.paper.edu.cn.

[4]刘少鹏,郭宝增,赵丽娜,马韬.基于FPGA的彩色触摸屏控制器的设计[J].微型机与应用,2012,31(12):18-20.

[5]崔旭晶,马平全.基于SOPC的触控屏控制器IP核设计与实现[J].电子设计工程,2012,20(14):165-169.

[6]梁旭,凌朝东.基于Nios II的TRDB-LTM控制器IP核设计[J].通信技术,2011,11(44):109-115.

[7]周立功.SOPC嵌入式系统基础教程[M].北京:北京航空航天大学出版社,2006:233-239,260-264,2.

[8]Terasic.TRDB_DC2_UserGuideV1.22[M].[S.l.]: Terasic,2007.

[9]Analog Devices,Inc..AD7843Touch Screen Digitizer Datasheet [M].[S.l.]:Terasic,2004:Rev B.

[10]DE2-70 User Manual Version 1.08[Z].Terasic Technologies Ltd,2009.

作者简介:

雷松华(1987—),男,湖南常德人,硕士研究生,研究方向:电子电路设计,嵌入式开发。

郑铿(1988—),男,广东潮汕人,硕士研究生,研究方向:FPGA,图像处理。

作者:雷松华 郑铿

人机交互接口电路设计论文 篇3:

LCD驱动器RA8816接口及编程方法

摘要:LCD驱动器RA8816支持多种控制接口,并且将中文字库、点阵LCD驱动、键盘扫描电路和通用IO口等多种实用的外围电路集成在单颗芯片内部。利用RA8816构成的人机交互系统,软、硬件设计得到极大的简化,不仅更容易控制,而且还能降低系统成本,是构成微机控制系统人机交互的理想方案。文中全面介绍了RA8816的硬件配置方法及关键的控制程序。

关键词:液晶显示驱动器;中文字库;控制接口;键盘扫描电路

引言

在控制器应用中,人机交互通常是利用显示和输入设备来完成的。最简单的显示设备是LED指示灯。通用的IO口就可以控制LED,但LED显示的信息量有限且功耗较大。对于较复杂的信息输出,通常利用LCD进行显示。LCD功耗低、体积小、重量轻、显示的信息量大,能显示各种类型的信息,如字符、图形(包括汉字、曲线、表格等),正越来越广泛地应用于各个领域,尤其是在便携设备中,更是占据着绝对主流的地位。对于字符或数字的信息显示,通常可用段码式LCD驱动器,如盛群的HT1621等。而对于复杂的信息显示,则必须由点阵式LCD驱动器来驱动显示。最常见的点阵式LCD驱动器中,有不带中文字库的东芝LCD驱动器T6963[1,2],也有带中文字库的矽创LCD驱动器ST7920[3,4]。

对于输入设备,最常见的输入设备是按键或键盘。在小型控制系统中,键盘通常可以利用处理器的IO口进行矩阵式行列扫描来实现。但是这种键盘实现方法不仅占用IO口线,而且降低了处理器的效率。另一种键盘输入方法是利用专用的键盘接口芯片,如英特尔的8279[5],周立功的ZLG7289[6,7]等,这种专用芯片的方法会增加电路的复杂性和成本。

在小型便携式应用中,不仅系统控制器的存储空间较小,无法将中文字库放在其存储空间内,而且控制器的IO口数量也非常有限,不能满足实际应用对按键及IO口数量的要求。瑞佑科技最新推出的RA8816,不仅内置了中文字库,而且还提供了4×5的键盘扫描接口及多种控制器接口,特别适用于各种小型屏幕应用产品,如收银机、电话机、传真机、手持式电子装置及各式测量设备等。本文全面介绍RA8816的硬件配置方法以及软件编程方法。

1RA8816主要特性

RA8816是一个点阵LCD驱动控制器,能够支持中英文及图形显示模式,其内部结构框图如图1所示。RA8816内部包含中文字库、数字和英日欧文等字母字库。具有1170字节的显示内存,最大可支持144×65的LCD面板。此外,RA8816还提供450字节的屏幕滚动缓存,使其具有滚动屏幕显示内容不断更新的效果。与ST7920不同的是,RA8816可以任意指定中文字符的显示位置,并且无须偶地址对齐。RA8816还提供了256字节的CGRAM用于自行造字,以便在文字模式下显示字库中没有的文字符号。

在控制器接口方面,RA8816提供了多种接口方式,可直接支持8080/6800系列控制器的并行数据总线接口,并提供4位或8位的数据位宽。此外RA8816还支持串行总线控制接口,包括3线、4线(A-Type和B-Type两种)及I2C共四种的串行接口方式。

RA8816集成了多种实用接口,其中4×5键盘扫描接口能够支持长按及短按时间判断,8个通用IO口可直接驱动LED,这些接口极大地简化了外围电路设计。因此在系统开发时,可选用成本较低的微控制器与RA8816搭配,不仅使系统设计快捷、方便,而且能够降低开发成本。

RA8816的主要特性有:

●支持1/65占空比,1/9~1/5偏压的LCD面板;

●内置2~4倍升压电路、电压调整电路及电压跟随电路;

●内置RC振荡器;

●支持文字与图形两种混和显示模式;

●支持BIG5或GB码;

●支持ASCII 8×8英文字型,8×16半角和16×16全角简体中文或繁体中文;

●支持粗体、反白、滚动等多种显示效果。

2RA8816接口及编程

2.1RA8816控制接口

RA8816可工作在并行模式或串行模式,工作模式的选择由P/S引脚状态来决定,如图2所示, 为高电平时,选择并行模式,否则为串行模式。引脚C86用来选择并行接口的类型,当C86为高电平时选择6800系列控制器接口;为低电平时选择8080系列控制器接口。引脚BIT4用来确定并行模式中数据总线的宽度,BIT4为高电平时总线宽度为4位,否则总线宽度为8位。图2所示配置为6800系列并行接口,8位总线宽度。在并行模式下,只要将RA8816与微控制器的相应引脚相连即可。对RA8816的控制访问,与8080/6800控制器对存储器的访问方式相同。

P/S为低电平时,RA8816工作在串行模式,数据总线的DB[7..6]作为串行模式选择位SMOD[1..0],这两位决定RA8816采用哪种串行模式,如表1所示。

RA8816工作在串行模式时,控制器对RA8816的访问要遵循一定的时序,下面以I2C和4线方式为例来说明其控制方法。系统控制器对RA8816有两种控制时序,一种是对命令寄存器的读写(RS=0),另一种是对数据寄存器的读写(RS=1)。RA8816的命令寄存器共有25个,在对命令寄存器读写时,控制器必须先告诉RA8816要对哪一个命令寄存器进行读或写,因此控制器传递给RA8816的第一个数据是RA8816命令寄存器的索引号,第二个数据才是真正写入(或读出)该命令寄存器的有效数据。命令寄存器控制着RA8816的显示属性,数据寄存器反映RA8816的显示内容。利用I2C总线接口对RA8816命令寄存器的写时序如图3所示。

根据图3所示时序,写命令寄存器的子程序如下所示:

uchar LCD_CmdWrite(uchar Reg_Addr, uchar Data) {

uchar check_flag;

I2C_Start(); //I2C开始条件

I2C_SendAddress(RA8816_Addr, I2C_WRITE);//RA8816器件地址(写)

check_flag = I2C_ReadAck();//读取应答位

if (check_flag)goto lable_i2c_err;//RA8816没有应答

I C_SendData (Reg_Addr|RS_0);//发送RA8816命令寄存器索引号

check_flag = I2C_ReadAck();

if (check_flag)goto lable_i2c_err;

I2C _SendData(Data);//发送有效数据

check_flag = I2C_ReadAck();

if (check_flag)goto lable_i2c_err;

retuenOK;

lable_i2c_err:

I2C_Stop();//I2C停止条件

retuen I2C_ERROR;

}

利用4线(A-Type)接口对RA8816命令寄存器的写时序如图4所示。

根据图4所示时序,写命令寄存器的子程序如下所示:

uchar LCD_CmdWrite(uchar Reg_Addr, uchar Data) {

PIN_CSZ = 0;//片选有效

PIN_SCK = 0;

PIN_SDA = 0;//RW=0 (写)

PIN_RS = 0;//RS=0 (命令寄存器)

Delay_2us(1);

PIN_SCK = 1;

Delay_2us(1);

PIN_RS = 1;//RS=1

AType_SendData(Reg_Addr);//发送RA8816命令寄存器索引号

AType _SendData(Data);//发送有效数据

PIN_CSZ = 1;//片选无效

retuenOK;

}

2.2RA8816键盘接口

RA8816的矩阵键盘扫描接口应用起来非常方便,只要将KST[3..0]行扫描输出和KIN[4..0]列信号输入接上相应的按键,如图5所示,并通过相应命令寄存器的设置就能正常工作。

与键盘有关的寄存器有两个:键盘扫描控制寄存器(KEYR)和键盘扫描数据寄存器(KSDR),KEYR为只写寄存器,KSDR为只读寄存器,这两个寄存器共用一个寄存器地址,写入时选择KEYR,读出时选择KSDR。KEYR的主要控制位有:DB7为键盘扫描使能位;DB[6..5]用来确定键盘消抖动时间;DB3为1时选择自动模式,RA8816会自动判断被按下的键,并将键码存储在KSDR中;当DB3为0时选择非自动模式,此时KSDR中的内容反映的是矩阵键盘行列的电平状态。

当工作在自动模式时,4×5键盘的20个键用BCD码表示为0x00~0x19;当键码为0x20~0x39时,表示对应的按键被长按;当键码为0x42时,表示按键被释放。读取键码的程序代码如下:

uchar Check_Key_Number(void) {

uchar next_status, key_number = 0xFF;

static uchar prev_ststus = 0xFF;

next_status = LCD_CmdRead(KSDR) & 0x7F;//读取键盘扫瞄寄存器

if (next_status != 0x42)

prev_ststus = next_status;//若按键未释放,保存键码

else

key_number = prev_ststus;//若按键释放,返回保存的键码

LCD_CmdWrite(ISR, 0x00);//清除键盘扫瞄中断标志

returnkey_number;

}

3小结

内置中文字库的LCD驱动器RA8816,支持常见的8080/6800系列控制器并行接口和多种串行接口,这极大地扩展了RA8816的应用范围。此外,RA8816还提供了键盘扫描和通用IO接口,大大简化了系统硬件电路设计和软件设计,使得用小封装和小存储空间的控制器就能实现完善的人机交互界面。实验结果表明,RA8816构成的人机交互系统可以使硬件电路更加紧凑、可靠,软件设计更加方便。

参考文献

[1]邓彬伟,皮大能.嵌入式系统中LCD控制器通用驱动程序的设计和实现[J].微计算机信息,2007,23(6-2):27-29.

[2]李晓静,蒋云峰,刘开培.液晶显示控制器T6963C与单片机的接口及编程[J].微型机与应用,2004,(12):21-23.

[3]刘升.基于ST7920控制器的液晶显示器LG128645画线功能的实现[J].国外电子元器件,2007,(1):28-30.

[4]杨应平,石城,蒋爱湘等.图形点阵液晶显示模块与51系列单片机的接口设计[J].现代显示,2006,(6):41-45.

[5]熊庆国,贺风云.多片8279与单片机及键盘/显示器接口电路设计[J].武汉科技大学学报,2002,25(3):293-294.

[6]胡元胜,周伟.智能显示驱动ZLG7289A的原理及应用[J].液晶与显示,2004,19(4):299-303.

[7]李海真,孙运强,王晨光.键盘显示控制芯片ZLG7289A在仪器仪表中的应用[J].国外电子测量技术,2008,27(2):58-60.

作者简介:朱维杰(1971-),男,广东兴宁人,博士,武警工程学院副教授,主要研究方向为数字信号处理、单片机与嵌入式系统应用等,E-mail:zwjjf@sina.com。

作者:朱维杰

本文来自 99学术网(www.99xueshu.com),转载请保留网址和出处

上一篇:中职会计专业课程改革论文下一篇:证券市场专业会计研究论文