微处理器程序设计技术.ppt
《微处理器程序设计技术.ppt》由会员分享,可在线阅读,更多相关《微处理器程序设计技术.ppt(86页珍藏版)》请在三一办公上搜索。
1、键盘输入接口与状态机编程,摘自,1、通用I/O数字输入接口设计,假如把一个单片机嵌入式系统比做一个人的话,那么单片机就相当于人的心脏和大脑,而输入接口就好似人的感官系统,用于获取外部世界的变化、状态等各种信息,并把这些信息输送进人的大脑。嵌入式系统的人机交互通道、前向通道、数据交换和通信通道的各种功能都是由单片机的输入接口及相应的外围接口电路实现的。,对于一个电子系统来讲,外部现实世界各种类型和形态的变化和状态都需要一个变换器将其转换成电信号,而且这个电信号有时还需要经过处理,使其成为能被MCU容易识别和处理的数字逻辑信号,这是因为单片机常用的输入接口通常都是数字接口(A/D接口,模拟比较器除
2、外,他们属于模拟输入口,而是在芯片内部将模拟信号转换成数字信号的),上述的“变换器”和“转换处理”从专业的角度讲就是“传感器技术”和“信号调理电路”。因此,一个单片机嵌入式系统的设计和开发人员要具备这些专业知识和技能,不仅要熟悉一些常用传感器的特性和应用,以及相关的信号调理、转换、接口电路,还要跟踪国际上新技术的发展,将新型传感器器件和新型电路元器件应用于系统设计中。,采用新型传感器器件和新型电路元器件,可以大大提高嵌入式系统设计的效率,简化系统的硬件结构和软件设计难度,缩短开发周期,提高系统的性能和可靠性。根据系统外围电路输入的电信号形式,可以把输入信号分为以下几种形式:,1.1.1 I/O
3、输入接口硬件设计要点,(1)模拟信号和数字信号。传感器将某个外部参数(如温度、转速)的变化转换成电信号。如果传感器输出电信号的幅度变化特征代表了外部参数的变化,如电压的升高下降(电流增大减小)表示温度高低的变化,那么这个传感器就是模拟传感器,它产生是模拟信号。由于MCU是数字化的,因此模拟信号要转换成数字信号才能由MCU处理。转换电路称为模数转换“A/D”。,A/D变换是嵌入式系统重要的外围接口电路之一,用途广泛。在系统硬件设计中可以选取专用的A/D变换芯片作为模拟传感器和单片机之间的接口,也可以选取片内带A/D转换功能的单片机以简化硬件电路的设计。,(2)电压信号和电流信号,单片机I/O接口
4、的逻辑是数字电平逻辑,既以电压的高和低电平作为逻辑“1”和“0”,因此进入单片机的信号要求是电压信号。一些传感器的输出是电流信号,甚至是微小的电流,那么在进入单片机前还需要将电流信号放大、并把电流转换成电压的信号调理电路。,在一些长远距离的应用中,考虑到电压信号的抗干扰能力差,长线衰减等因素,往往在一端把电压信号变成电流信号,在长线中传送电流,而在另一端再把电流信号再转换成电压信号,这样大大提高了信号传输的可靠性,如RS-485通信等。另外,为了防止外部强电信号对嵌入式系统的冲击而使用的光电隔离技术,也采用电流/电压变换方法。,(3)单次信号和连续信号,间隔时间较长单次产生的脉冲信号,以及较长
5、时间保持电平不变化的信号称为单次信号。常见的单次信号一般是由按键、限位开关等人为动作或机械器件产生的信号。而连续信号一般指连续的脉冲信号,如计数脉冲信号,数据通信传输等。,单次信号要注意信号的纯净和抗干扰,如消除按键的抖动,外部的干扰等。在图中,外部状态开关与系统之间采用电流传输方式,在系统入口串接磁阻线圈。当外部开关闭合后,回路中有大电流通过,光电器件导通输出“0”;,而在开关断开后,回路中无电流流通,光电器件不会导通输出“1”。空间的电磁信号会在传输线上产生高频的干扰信号,磁阻线圈则对高频信号起到阻碍作用,使电流不能突变。,另外空间电磁干扰往往能产生较高的干扰电压,但不会产生大的干扰电流(
6、mA),而没有毫安级的电流在回路中流过,光电器件是不会导通的。所以采用上面的电路设计,就能有效提高系统的抗干扰性。此外,采用光电隔离设计后,当外部有强信号冲击时,只能把隔离器件损坏,有效地保护了弱电系统本身。,连续信号往往在数据交换和通信通道中使用,其特点是对时间定位、捕捉、时序的要求较高,通常要对信号的边沿(上升沿或下降沿)进行检测,或由信号的边缘触发。此时外围器件的选择应符合频率的要求,同时还要求程序员熟悉信号的时序以及相关的通信接口协议等。,1.1.2 I/O输入接口软件设计要点,根据不同的硬件接口电路和嵌入式系统功能需求的不同,输入接口软件的设计也是千百万化、丰富多彩的。设计开发一个好
7、的嵌入式系统产品,不仅要求软件设计人员要具备很强的硬件能力,还要有相当高的软件设计编程能力和经验。这是开发嵌入式系统的特点:硬件软件不可分割,同等重要。,按键和键盘接口的软硬件设计与实现,按键和键盘是单片机嵌入式系统中一个重要的组成部分,虽然在硬件电路上的连接实现非常简单,但由于按键其本身的特殊性(如需要考虑消除抖动,确认释放等)和功能的多样性(如连续按键,多功能等),它的软件接口程序的设计和实现要相对复杂些。,在学习本章的内容时,更重要的是掌握系统软件设计编写的方法和技术,采用模块化的思想实现功能模块的单一性、独立性,以及学习基于状态机思想的程序设计方法。,1.2 按键输入接口设计,在单片机
8、嵌入式系统中,按键和键盘是一个基本和常用的接口,它是构成人机对话通道的一种常用的方式。按键和键盘能实现向嵌入式系统输入数据、传输命令等功能,是人工干预、设置和控制系统运行的主要手段。,1.2.1 简单的按键输入硬件接口与分析,键盘是由一组按键组合构成的,所以我们先讨论简单的单个按键的输入。上图是简单按键输入接口硬件连接电路图,图中单片机的三个I/O口PC7、PC6、PC5作为输入口(输入方式),分别与K3、K2、K1三个按键连接。其中K2是标准的连接方式,当没有按下K2时,PC6的输入为高电平,按下K2输入为低电平。PC6引脚上的电平值反映了按键的状态。,根据按键连接电路可知,按键状态的确认就
9、是判别按键是否闭合,反映在输入口的电平就是和按键相连的I/O引脚呈现出高电平或低电平。如果输入高电平表示断开的话,那么低电平则表示按键闭合,所以简单的讲,在程序中通过检测引脚电平的高低,便可确认按键是否按下。,但对于实际的按键确认并不是象上面描述的那么简单。首先要考虑的是按键消抖的问题。通常,按键的开关为机械弹性触点开关,它是利用机械触点接触和分离实现电路的通、断。由于机械触点的弹性作用,加上人们按键时的力度、方向的不同,按键开关从按下到接触稳定要经过数毫秒的弹跳抖动,既在按下的几十毫秒时间里会连续产生多个脉冲。,释放按键时,电路也不会一下断开,同样会产生抖动,这两次抖动的时间分别为10-20
10、ms左右,而按键的稳定闭合期通常大于秒。因此,为了确保MCU对一次按键动作只确认一次,在确认按键是否闭合时,必须要进行消抖处理。否则,由于MCU软件执行的速度很快,非常可能将抖动产生的多个脉冲误认为多次的按键。,消除按键的抖动既可采用硬件方法,也可采用软件的方法。使用硬件消抖的方式,需要在按键连接的硬件设计上增加硬件消抖电路,如采用R-S触发器或RC积分电路等。采用硬件消抖方式增加了系统的成本,而利用软件方式消抖则是比较经济的做法,但增加了软件设计的复杂性。,软件方式消抖的基本原理是在软件中对按键进行两次测试确认,既在第一次检测到按键按下后,间隔10ms左右再次检测该按键是否按下,只有在两次都
11、测到按键按下时才最终确认有键按下,从而消除了抖动的影响。在按键接口软件中,除了要考虑按键消抖外,一般还要判别按键的释放,只有检测到按键释放以后,才能确定为一次完整的按键动作完成。,1.2.2 基于状态机的按键输入软件接口设计,一般的教课书中给出的按键输入软件接口程序通常非常简单,在程序中一旦检测到按键输入口为低电平时,便采用(调用)软件延时程序延时10ms。然后再次检测按键输入口,如果还是低电平则表示按键按下,转入执行按键处理程序。,如果第二次检测按键输入口为高电平,则放弃本次按键的检测,从新开始一次按键检测过程。这种方式实现的按键输入接口,作为基础学习和一些简单的系统中可以采用,但在多数的实
12、际产品设计中,这种按键输入软件的实现方法有很大的缺陷和不足。,上面所提到简单的按键检测处理方法,不仅是由于采用了软件延时而使的MCU的效率降低,而且也不容易同系统中其它功能模块协调工作,系统的实时性也差。,另外,由于在不同的产品系统中对按键功能的定义和使用方式也会不同,而且是多变的,加上在测试和处理按键的同时,MCU还要同时处理其它的任务(如显示、计算、计时等),因此编写键盘和按键接口的处理程序需要掌握有效的分析方法,具备较高的软件设计能力和程序编写的技巧。,可以先仔细观察一下实际产品中各种按键的功能和使用。如一般的电子手表上只有2-3个的按键,却要实现时间、日期、闹钟时间的设置和查看显示等多
13、种功能,因此这些按键是多功能(或复用)的,在不同的状态下,按键的功能也不同。,更典型的是手机的键盘,就拿手机键盘上的数字键“2”来将,当手机用于打电话需要拨出电话号码时,按“2”键代表数值“2”。而使用手机发短信用于输入短信文字信息时(英文输入),第一次按下“2”键为字母“A”,紧接着再次按下为字母“B”,连续短时间按下该键,它的输入代表的符号不同,但在同一个位置,而稍微等待一段时间后,光标的位置就会右移,表示对最后输入字符的确认。,因此,按键输入接口设计和实现的核心,更多的体现在软件接口处理程序的设计中。下面将以此为例,介绍有限状态机的分析设计原理,以及基于状态机思想进行程序设计的基本方法与
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微处理器 程序设计 技术
链接地址:https://www.31ppt.com/p-5975702.html