- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
ch02输入通道接口技术研讨
2.3.2 行列式键盘 行列式键盘由行线和列线组成,按键设置在行、列结构的交叉点上,行列线分别连在按键开关的两端。行线通过上拉电阻接到+5V上。当无键按下时,行线处于高电平状态;当有键按下时,行、列线将导通,此时,行线电平将由与此行线相连的列线电平决定。 行列式键盘与计算机的连接多采用I/O接口芯片,如8155、8255等。有时为了简单起见,也采用锁存器,如74LS273、74LS244、74LS373等。 1.定时扫描法 图2-12所示为采用8255端口构成的4×8矩阵键盘。 图2-12 采用8255端口构成的4×8矩阵键盘 根据计算机进行扫描的方法可分为定时扫描法和中断扫描法两种。 按键按下时,与此键相连的行线与列线导通,行线在无键按下时处在高电平,显然,如果让所有的列线也处在高电平,那么,按键按下与否不会引起行线电平的变化,因此,必须使所有列线处在低电平,只有这样,当有键按下时,该键所在的行电平才会由高电平变为低电平。CPU根据行平电的变化,便能判定相应的行有键按下。为进一步确定具体键,不能使所有列线在同一时刻都处在低电平,可在某一时刻只让一条列线处于低电平,其余列线均处于高电平,另一时刻,让下一列处在低电平,依次循环,这种依次轮流每次选通一列的工作方式称为键盘扫描。 图中,8255的PA端口为输出工作方式作为列线使用,PC端口作为行线使用。每一个行线与列线的交叉点处接一个按键,每个键设一个编号。 定时扫描法的工作过程如下: 1)定时扫描键盘,判断是否有键按下 使列线均为低电平,定时从PC口读入行值,监视有无键按下。 若行值的低4位值为为0FH(1111),无键按下;若不为1111,说明有键按下。 2)消除按键抖动 若有键按下,则延时10~20ms,再次从PC口读入行值。 3)求按键键值 对键盘逐列扫描,即逐列输出低电平。若某行的值为0(低电平),说明该列与该行交叉点的键按下。 首先令PA0=0,读入行值,若行值不等于0FH(1111),说明该列有键按下,求出按键值。 例如若列输出值为0FDH(PA1=0),行输入值为0EH(1110,即PC0=0),则所按键值为1。 4)等待按键释放 程序需等待按键释放后,才做下一按键的处理。 2.中断扫描法 当无键按下时,CPU处理自己的工作,当有键按下时,产生中断请求,CPU转去执行键盘扫描子程序,并识别键号。中断扫描方式可以提高CPU工作效率 。 工作原理: 所有的列线输出均为低电平,当没有键按下时,所有的行线上均为高电平,经4输入与非门后输出为低电平,再送到中断申请端IRQ2,这时不会产生中断。 当有任意一键按下时,对应该键的行线变为低电平,使得4输入与非门的输出变为高电平,这时使得IRQ2产生正跳变,向CPU申请中断。CPU响应中断后,再调用定时扫描法的程序,找到所按的键,并做相应的处理。 图2-14 中断扫描法硬件原理图 2.3.3 软键盘与触摸屏接口 所谓软键盘,就是以图形显示方式形成的键盘图案,而非物理键盘。 1.电阻式触摸屏的接口电路与坐标值 原理: 用笔接触触摸屏的不同位置,则由Y+(或X+)端输入到片内AD转换器的电压值不同,输入电压经片内AD转换后就得到笔触点的Y(或X)值,而该输出值与笔触点位置成近似线性关系。 电阻式触摸屏所得坐标值精度将受几个因素的影响: 触摸屏本身电阻材料的均匀性 ADS7846模拟电子开关的内阻和A/D转换器自身的转换精度 A/D转换时X+(或Y+)端所接正电源及X?(或Y?)端所接地的干扰 图2-15 4线电阻式触摸屏与ADS7846的接口原理图 2.干扰误差的消除方法 为了尽可能减小干扰误差对点触精度的影响,必须对ADS7846的电源和接地采取一些抗干扰措施。 应该仔细处理电源旁路和接地方法的问题 采取软件方法克服随机干扰。 3.坐标定位与坐标变换 触摸屏常和点阵式LCD屏叠加在一起配套使用。 因此,获得笔在触摸屏上的触点坐标后,还需经过坐标变换,才能得到笔触点在LCD屏上的位置坐标。 设?X = (XB?XA+XD?XC),?Y = (YA?YC+YB?YD),设笔接触的任一点在触摸屏上的坐标为(XT, YT),其所对应的显示屏上的坐标为(X, Y),则有 X= (XT?X0)×M/?X+M/2 (2-4) Y= (YT?Y0)×N/?Y+N/2 (2-5) 图2-16 4点定位图 图2-16所示为电阻式触摸屏与点阵式LCD屏重叠放置的4点定位图。 设LCD屏的大小为M(宽)×N高),左下角为坐标原点,则 A(M/4,3N/
文档评论(0)