便携式功率分析仪设计----键盘设计与校准、调试与测试
4.5键盘操作
一般的测量仪器都可通过按键输入命令对仪器进行测量,按键的种类很多,从机械结构来分有机械接触式的,导电橡胶的等,但无论何种按键都具有一个最基本的特性,那就是能实现触点的通和断,然后通过电路实现电气上的逻辑通和断,从而实现功能的控制,在现代电子测量仪器中一个按键能表示一个使仪器完成某种操作的命令,也可用几个按键组合完成一个特定的命令,还能用一个按键在不同的状态下表示不同的命令,但一般每个按键都有其唯一的代码。CPU通过读代码来识别按键进行处理,按键的排列一般都是矩阵形式,每一个按键都有唯一的行、列位置,所以CPU通过确定按键的行列来确定按键的位置,键盘与CPU的连接方式有两种,一种是利用中断,当有键按下时,按键闭合,键盘板产生一个中断信号,CPU转入键盘处理程序,另一种就是利用查询法,定时读回键盘列信号,判断是否有键按下,如果有,则转入键盘处理程序,如果没有,则执行其他命令。
4.5.1键盘扫描控制
当键盘数目较多时,为了节省单片机的接口资源,应该采用矩阵式键盘,其行线上的电平由键盘接口的扫描输出控制,行线上按一定的顺序依次出现低电平,在没有键按下时,各列线均被上拉电阻拉为高电平,并且在任意时刻只有一跟行线出现低电平。若有某键按下,它所在的列将会被拉成低电平。在键盘扫描和键盘读入高速同步进行的情况下,相对速度较慢的按键动作总是可以被捕捉到的。键盘接口可采用普通的带选通的逻辑电路芯片,键盘的扫描操作不应该安排在非中断的常规程序中,因为那样将影响主程序的运行速度,解决的方法之一就是将键盘扫描程序作为独立的一块,仅在主程序产生中断时调用,二是选用在键盘按下时会产生中断的芯片。
在实际设计中我们采用了非编码键盘,使用逐行扫描方式进行键盘扫描。逐行扫描法的实现方法是:通过执行键盘扫描程序对键盘矩阵进行扫描,以识别按键的行、列位置。程序查询的步骤如下:
1)查询是否有键按下。
首先由CPU对行线的各位置"0",然后CPU再从列线读入数据。若读入的数据为全"1",表示无键按下;只要读入的数据中有一位不为"1",表示有键按下,接着查按键的位置。
2)查询已按下键的位置。
a.查询已按下的键在哪一列。哪一位列线为"0",表示被按下的键就肯定在这一列中。
b.查询已按下的键在哪一行。需要逐行进行扫描。CPU首先使X0=0,X1~X7为全"1",读入Y0~Y7,若为全"1",表示按键不在这一行;接着使X1=0,其余各位为全"1",读入Y0~Y7,……,直至Y0~Y7不为全"1"为止。
3)按行号和列号求键的位置码。
得到的行号和列号表示按下键的位置码。若该键是字符键,则根据这个键码到专用的ROM中取出此键的ASCII码;若该键是功能键,则转入相应的服务子程序,完成其功能操作。
任何机械式按键,在断开和闭合时均会因碰撞的弹跳而造成机械抖动,这种抖动在电气上产生时断时续的信号,使得高速的电子逻辑电路出现错误的结果,针对这种抖动现象,可以采用两种消除方法,一种是在软件中安排消抖算法,软件方法就是在判断有键按下后,软件延迟一段时间再判断键盘状态,否则认为是按键抖动,重新进行扫描。二是采用硬件消抖电路,硬件方法就是给列信号线上加一个低通滤波器,消除按键过程中的尖峰抖动。在本系统设计过程中的消除抖动采用软件延迟法,利用定时器DelayNS()完成延迟判断,从而达到消抖的目的。
除了按键以外,一般的测量仪器键盘上还有旋钮。旋钮与按键不同,对旋钮而言是要能表示两种动作:左旋、右旋。而在旋钮静止状态,旋钮所占用的信号线既可能导通又可能截止。所以在矩阵式键盘上对旋钮动作的识别不同:首先行线上按一定的顺序依次出现低电平,若旋钮无动作时,旋钮所占用的两条列线的状态不变,若旋钮有动作时,旋钮所占用的两条列线的状态会连续变化,且变化规律类似于:00->01->11->10->00或00->10->11->01->00.由此可判断出是哪个旋钮动作和旋钮的旋转方向。对旋钮,机械抖动问题很小。
4.5.2键盘接口
在本系统设计中,由于串口通讯中要求发送和接受双方必须遵守数据格式和时间限制等方面的统一规定,这样才能保证正常进行。这使得串口通讯方式控制起来略显烦琐,为使键盘扫描控制更加简单,键盘的硬件接口没有使用ARM的串口,其键盘通讯以外接4×4键盘为例,我们是直接利用ARM的P1.16~P1.23口的第一功能标准I/O口,分为行变量LINE[]、列变量COLUMN[]来实现键盘操作控制的,这样进行如前文所述的逐行扫描法时,将十分直观和简
便携式功率分析仪 相关文章:
- 便携式功率分析仪设计----硬件设计(二)(04-20)
- 便携式功率分析仪设计-----硬件设计(三)(04-21)
- 便携式功率分析仪设计----硬件设计(04-20)
- 便携式功率分析仪设计-----频率部分电路设计(04-19)
- 便携式功率分析仪设计-----频率部分电路设计(二)(04-19)
- 便携式功率分析仪设计----概述与总体设计(04-20)