一、概述键盘在单片机应用系统中,实现输入数据、传送命令的功能,是人工干预的主要手段
键盘分两大类:编码键盘和非编码键盘
编码键盘:由硬件逻辑电路完成必要的键识别工作与可靠性措施
每按一次键,键盘自动提供被按键的读数,同时产生一选通脉冲通知微处理器,一般还具有反弹跳和同时按键保护功能
这种键盘易于使用,但硬件比较复杂,对于主机任务繁重之情况,采用8279可编程键盘管理接口芯片构成编码式键盘系统是很实用的方案
非编码键盘:只简单地提供键盘的行列与矩阵,其他操作如键的识别,决定按键的读数等仅靠软件完成,故硬件较为简单,但占用CPU较多时间
有:独立式按键结构、矩阵式按键结构
二、键盘系统设计首先,确定键盘编码方案:采用编码键盘或非编码键盘
随后,确定键盘工作方式:采用中断或查询方式输入键操作信息
然后,设计硬件电路
非编码键盘系统中,键闭合和键释放的信息的获取,键抖动的消除,键值查找及一些保护措施的实施等任务,均由软件来完成
(一)非编码键盘的键输入程序应完成的基本任务1
监测有无键按下;键的闭合与否,反映在电压上就是呈现出高电平或低电平,所以通过电平的高低状态的检测,便可确认按键按下与否
判断是哪个键按下
编程扫描方式:当单片机空闲时,才调用键盘扫描子程序,反复的扫描键盘,等待用户从键盘上输入命令或数据,来响应键盘的输入请求
定时扫描工作方式:单片机对键盘的扫描也可用定时扫描方式,即每隔一定的时间对键盘扫描一次
中断工作方式:只有在键盘有键按下时,才执行键盘扫描程序并执行该按键功能程序,如果无键按下,单片机将不理睬键盘3
完成键处理任务
(二)从电路或软件的角度应解决的问题1
消除抖动影响
键盘按键所用开关为机械弹性开关,利用了机械触点的合、断作用
由于机械触点的的弹性作用,一个按键开关在闭合和断开的瞬间均有一连串的抖动、抖动时间的长短由按键的机械特性决定,一般