1 / 26
文档名称:

第9章键盘输入接口与状态机编程.doc

格式:doc   大小:1,149KB   页数:26页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

第9章键盘输入接口与状态机编程.doc

上传人:yzhlyb 2018/8/8 文件大小:1.12 MB

下载得到文件列表

第9章键盘输入接口与状态机编程.doc

相关文档

文档介绍

文档介绍:第9章键盘输入接口与状态机编程
在前面的章节中,已经详细介绍了AVR单片机通用数字I/O口的特性以及应用于输出方式的基本使用方法,并给出了一些与中断、定时计数器相结合的输出控制应用和应用实例。本章将进一步讨论AVR通用I/O口用于按键和键盘输入接口,以及基于状态机的软件设计思想和实现。
通用I/O数字输入接口设计
假如把一个单片机嵌入式系统比做一个人的话,那么单片机就相当于人的心脏和大脑,而输入接口就好似人的感官系统,用于获取外部世界的变化、状态等各种信息,并把这些信息输送进人的大脑。嵌入式系统的人机交互通道、前向通道、数据交换和通信通道的各种功能都是由单片机的输入接口及相应的外围接口电路实现的。
对于一个电子系统来讲,外部现实世界各种类型和形态的变化和状态都需要一个变换器将其转换成电信号,而且这个电信号有时还需要经过处理,使其成为能被MCU容易识别和处理的数字逻辑信号,这是因为单片机常用的输入接口通常都是数字接口(A/D接口,模拟比较器除外,他们属于模拟输入口,而是在芯片内部将模拟信号转换成数字信号的)。上述的所为“变换器”和“转换处理”从专业的角度讲就是“传感器技术”和“信号调理电路”。因此,一个单片机嵌入式系统的设计和开发人员要具备这些专业知识和技能,不仅要熟悉一些常用传感器的特性和应用,以及相关的信号调理、转换、接口电路,还要跟踪国际上新技术的发展,将新型传感器器件和新型电路元器件应用于系统设计中。采用新型传感器器件和新型电路元器件,可以大大提高嵌入式系统设计的效率,简化系统的硬件结构和软件设计难度,缩短开发周期,提高系统的性能和可靠型。
I/O输入接口硬件设计要点
根据系统外围电路输入的电信号形式,可以把输入信号分为以下几种形式:
(1) 模拟信号和数字信号。
传感器将某个外部参数(如温度、转速)的变化转换成电信号(电压或电流)。如果传感器输出电信号的幅度变化特征代表了外部参数的变化,如电压的升高下降(电流增大减小)表示温度高低的变化,那么这个传感器就是模拟传感器,它产生是模拟信号。由于MCU是数字化的,因此模拟信号要转换成数字信号才能由MCU处理。这个转换电路称为摸数转换“A/D”。A/D变换是嵌入式系统重要的外围接口电路之一,用途广泛。在系统硬件设计中可以选取专用的A/D变换芯片作为模拟传感器和单片机之间的接口,也可以选取片内带A/D转换功能的单片机以简化硬件电路的设计。大多数型号的AVR单片机在片内都集成有A/D接口,关于A/D接口将在以后的章节中进行专门介绍。
有些外部参数的变化可以采用数字式传感器器件直接将其变化转换成数字信号。如采用光栅和光电开关器件将位移和转动圈数转换成脉冲信号,用以测量位移或转速。还有一些新型的传感器器件,把模拟传感器、A/D变换和数字接口集成在一片芯片内,构成了智能数字传感器,如AD公司和MAXIM公司的数字温度传感器器件等,这些器件的推出,方便了嵌入式系统的硬件设计。
(2) 电压信号和电流信号。
单片机I/O接口的逻辑是数字电平逻辑,既以电压的高和低电平作为逻辑“1”和“0”,因此进入单片机的信号要求是电压信号。一些传感器的输出是电流信号,甚至是微小的电流,那么在进入单片机前还需要将电流信号放大、并把电流转换成电压的信号调理电路。
在一些长远距离的应用中,考虑到电压信号的抗干扰能力差,长线衰减等因素,往往在一端把电压信号变成电流信号,在长线中传送电流,而在另一端再把电流信号再转换成电压信号,这样大大提高了信号传输的可靠性,如RS-485通信等。另外,为了防止外部强电信号对嵌入式系统的冲击而使用的光电隔离技术,也是电流/电压变换的应用(图9-1)。
图9-1 长线电流传输和光电隔离
(3) 单次信号和连续信号。
间隔时间较长单次产生的脉冲信号,以及较长时间保持电平不变化的信号称为单次信号。常见的单次信号一般是由按键、限位开关等人为动作或机械器件产生的信号。而连续信号一般指连续的脉冲信号,如计数脉冲信号,数据通信传输等。
单次信号要注意信号的纯净和抗干扰,如消除按键的抖动,外部的干扰等。在图9-1中,外部状态开关与系统之间采用电流传输方式,在系统入口串接磁阻线圈。当外部开关闭合后,回路中有大电流通过,光电器件导通输出“0”;而在开关断开后,回路中无电流流通,光电器件不会导通输出“1”。空间的电磁信号会在传输线上产生高频的干扰信号,磁阻线圈则对高频信号起到阻碍作用,使电流不能突变。另外空间电磁干扰往往能产生较高的干扰电压,但不会产生大的干扰电流(<mA),而没有毫安级的电流在回路中流过,光电器件是不会导通的。所以采用上面的电路设计,就能有效提高系统的抗干扰性。此外,采用光电隔离设计后,当外部有强信号冲击时,只能把隔离器件损坏,有效