备和输出设备两类。人机接口是计算机同人机交互设备之间实现信息传输的控制电路。接口中要分别传送数据信息、命令信息和状态信息。数据信息、命令信息和状态信息都通过数据总线来传送。大多数计算机都把外设的状态信息视为输入数据,而把命令信息看成输出数据,并在接口中分设各自相应的寄存器,赋以不同的端口地址,各种信息分时地使用数据总线传送到各自的寄存器中去。在嵌入式系统中,目前常见的人机接口设备有键盘、LCD、触摸屏等。
61
键盘输入接口
在ARM嵌入式系统应用中,键盘是人机交互对话最通用的方法之一。操作者通过键盘向系统发送各种指令或置入必要的数据信息。键盘模块设计的好坏,直接关系到系统的可靠性和稳定性。在ARM应用系统中,键盘扫描只是ARM的工作内容之一,ARM在忙于各项工作任务的同时,如何兼顾键盘的输入,则取决于键盘的工作方式。键盘工作方式的选取原则是既要保证能及时响应按键操作,又要不过多占用ARM的工作时间。611键盘工作原理11通常的标准键盘是由许多按键开关组成的。按键开关电路是指通过外力使电路瞬时接通的开关,在许多场合都有应用。比如大多数处理器的RESET电路都用到了按键开关,它通过按键产生一个瞬时的低电压,CPU感知这个低电压后重启。在有些系统中也用按键开关切换工作模式,它通过按键开关生成一个低压脉冲,产生一次中断,在中断处理程序中改变工作模式,并且通过置外部标志的方式告知用户当前的工作模式,通过切换开关,就可以实现在不同工作模式之间进行切换。按键开关的电路如图61所示。
Vcc
至微处理器
图61
按键开关电路示意图
当按键断开时,输出高电压,为逻辑1;当按键按下时,电平输出点与地相连,输出低电平,为逻辑0。如图61所示的按键开关电路是最简单的,遗憾的是,它并不完善,因为它按下或者被释放时,并不能明确地产生一个逻辑0或者逻辑1。由于按键是机械触点,当机械触点断开、闭合时,会产生抖动。这种抖动对于用户来说是感觉不到的,但对计算机来说,则是完全可以感应的。计算机处理的速度是在微秒级,而机械抖动的时间至少是毫秒级,这对计算机而言,已是一个“漫长”的时间了。假如利用按键开关产生中断可能就会产生一个问题,就是说按键有时灵,有时不灵,其实就是这个原因。有可能只按了一次按键,可是计算机却已执行了多次中断的操作。为使CPU能正确地读出按键的状态,对每一次按键只作一次响应,就必须考虑如何去除抖动。常用
158
f的去r