利用函数指针数组进行的键散转处理(4x4)

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

单片机

键盘接口电路

简介

Copyleft2009 by高飞电子经营部

P.S.

文档由高飞整理。能力有限,疏漏在所难免!这里说声抱歉了。

若对文档所描述的观点存在疑问,欢迎交流。

QQ:1275701567

键盘是单片机应用系统中不可缺少的输入设备,是实心人机对话的纽带,是操作人员控制干预单片机应用系统的主要手段。如用手机键盘发送短信息、遥控器键盘控制家用电器等。各种仪器仪表的小键盘系统,则可以显示各种信息。例如,数字式频率计、数字式扫频仪、数字式测量仪等。通过键盘向单片机应用系统输入数据和控制命令,实现对应用系统的认为控制,可以提高应用系统的灵活性。每种单片机应用系统的小键盘系统会实现不同的功能。比如,需要按键进行清零、预置值、改变测量范围等。这些功能是由一系列键盘电路通过编程实现的。因此,键盘在控制系统中得到了广泛的应用。本文档介绍了单片机系统中键盘接口电路及其相应的实现方式。

包含以下内容:

●键盘的组成和分类;

●键盘实现的硬件接口电路;

●4x4键盘与单片机的接口实例;

●二进制编码器键盘与单片机的接口实例。

1.1键盘设计的组成和分类

说说键盘的发展史。键盘发展至今,已经有100多年的时间。伴随着材料科学和电子技术的发展,键盘的物理构成和物理构造也不断变化发展。这些不同结构的键盘,各有特点,适用于不同的场合,但是控制方法都是类似的。

1.1.1键盘的物理结构

1.机械式结构键盘

机械式结构键盘,一般使用类似金属接触式开关的原理,实现触点导通或断开。在实际应用中,机械开关的结构形式很多。最常用的是交叉接触式。它的优点是结实耐用,缺点是不防水,敲击比较费力。交叉接触式机械开关,在单片机应用系统中最为常用。轻触开关也属于这一类。

2.电容式结构键盘

电容式结构键盘是一种类似电容式开关原理键盘。它通过按键改变电极的间距而产生电容量的变化,暂时形成震荡脉冲允许通过的条件。电容的容量是由介质、两极间的距离及两极的面积来决定的。当键帽按下时,两极的距离就发生变化,就引起电容容量发生变化。当参数设计合适时,按键时就有输出,而不按键就无输出。这个输出再经过整形放大,去驱动编码器。由于电容器无接触,所以这种按键在工作过程中不存在磨损、接触不良等问题,耐久性、灵敏度和稳定性都比较好。另外,为了避免电极间进入灰尘,电容式按键开关采用了密闭封装,比较便于保养。优良的特性带来的缺点就是代价高昂,标准PC键盘淘宝卖价不低于1500RMB!

3.塑料薄膜式键盘

塑料薄膜式键盘内有4层,塑料薄膜一层有凸起的导电橡胶,当中一层为隔离层,上下两层有触点。通过按键使橡胶凸起按下,使其上下两层触点接触,输出编码。这种按键无机械磨损,可靠性较高,最大的特点就是低价格、低噪声、低成本。

4.导电橡胶式键盘

导电橡胶式键盘触点通过导电的橡胶接通,其结构是有一层带有凸起的导电橡胶,凸起部分导电,而这凸起部分对准每个按键,互相连接的平面部分不导电。当键帽按下去时,由于凸起部分导电,把下面的触点接通;不按时,凸起部分会弹起。

1.1.2键盘的组成形式

在不同的系统中,键盘的数量有很大的差别。如电子表一般只需要3或4个控制键,手机一般需要20个控制键,而PC键盘的按键则要多很多。各种系统按键的数量有很大区别,但是键盘与单片机的接口线不可能和按键数量呈正比增长。于是很多有趣的方法就被提了出来。

1.独立式键盘

独立式键盘的各个按键之间彼此独立,每个按键均连接单片机的一根I/O口。独立式键盘的硬件接口电路简单,软件设计也比较方便,但由于每一个按键均需要单片机的一根I/O口,当键盘按键数量比较多时,需要的I/O口也较多。因此,独立式键盘只适合按键较少的应用场合。一般情况下,按键数等于占用的I/O口端数。

多时,可采用矩阵式键盘。一般情况下,按键数等于矩阵行数和列键闭合的位置。常用的按键位置判断方法,有扫描法和线反转法。稍后介绍。

2.矩阵式键盘

矩阵式键盘是一种扫描式键盘。其工作过程要比独立式按键复杂。矩阵式键盘由行线、列线及位于行列线交叉点上的按键等部分组成。当单片机应用系统需要的按键数量比较数的乘积。

矩阵式键盘由于采用矩阵式结构,单片机的一根I/O 口状态已经不能确定是哪个键被按下,需要通过连接到按键上的2跟I/O 口线的状态共同来确定键的状态。同时,按键的两端均接到I/O 口线上,不能一端接I/O 口线一端接地。因此,必须采用行线和列线信号状态分别处理,综合考虑才能判断按

3.编码式键盘有些场合矩阵式键盘也不能满足要求。比如,要设计一个100个按键的键盘(听起来数量巨大),用矩阵式键盘最少需要占用单片机的20个I/O 端口。对很多单片机来说,这是很难实现的。因此便有了编码方式的结构键盘,每一个按键对应一个编码,只需要查询键盘与单片机的接口状态(即按键所对应的编码),即可以获得相应的按键值。编码方式的键盘示意图如下。

2^3=8。在本电路中,三根I/O线可以表示8中状态,这8种状态就分别对应了编码键盘的各个按键情况。当编码键盘没有被按下时,各端口呈现高电平。下表是其对应的真值表。

P1.0、P1.1、P1.2三个端口的电平状态对应按键状态

0、0、0 无键被按下

0、0、1 按键S3被按下

0、1、0 按键S2被按下

0、1、1 按键S6被按下

1、0、0 按键S1被按下

1、0、1 按键S5被按下

1、1、0 按键S4被按下

1、1、1 按键S7被按下

综上,编码式键盘占用了单片机n个端口,可以接出2^n-1个按键。

4.高可靠性PWM式键盘

近年来,有许多有关单片机的开发应用人员,研究并提出了各种键盘接口方法。试图节省宝贵的I/O口。PWM键盘接口电路由此诞生了。它只需要一根I/O 口线,就能实现多位按键输入,但这种键盘接口电路和编程稍嫌复杂,成本也相应提高。

PWM式键盘接口电路原理图见下图。如图所示,采用一个运放实现多谐振荡器,电路的震荡周期T正比于R k C。如果改变R k的值,可以得到不同震荡周期的T值。将振荡器的输出接到单片机,利用单片机的脉冲测量功能,可以得到R k的值。而R k实际采用下下图电路实现。得到了R k的值也就得到了键值。

下图

下下图

相关文档
最新文档