网站大量收购独家精品文档,联系QQ:2885784924

微处理器程序设计技术.pptVIP

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

函数read_key()的返回参数提供上层程序使用。返回值为0时,表示按键无动作;而返回1表示有一次按键闭合动作,需要进入按键处理程序做相应的键处理。在函数read_key()中定义了3个局部变量,其中key_press和key_return为一般普通的局部变量,每次函数执行时,key_press中保存着刚检测的按键值。key_return为函数的返回值,总是先初始化为0,只有在状态1中重新置1,作为表示按键确认的标志返回。上面所提到简单的按键检测处理方法,不仅是由于采用了软件延时而使的MCU的效率降低,而且也不容易同系统中其它功能模块协调工作,系统的实时性也差。另外,由于在不同的产品系统中对按键功能的定义和使用方式也会不同,而且是多变的,加上在测试和处理按键的同时,MCU还要同时处理其它的任务(如显示、计算、计时等),因此编写键盘和按键接口的处理程序需要掌握有效的分析方法,具备较高的软件设计能力和程序编写的技巧。可以先仔细观察一下实际产品中各种按键的功能和使用。如一般的电子手表上只有2-3个的按键,却要实现时间、日期、闹钟时间的设置和查看显示等多种功能,因此这些按键是多功能(或复用)的,在不同的状态下,按键的功能也不同。更典型的是手机的键盘,就拿手机键盘上的数字键“2”来将,当手机用于打电话需要拨出电话号码时,按“2”键代表数值“2”。而使用手机发短信用于输入短信文字信息时(英文输入),第一次按下“2”键为字母“A”,紧接着再次按下为字母“B”,连续短时间按下该键,它的输入代表的符号不同,但在同一个位置,而稍微等待一段时间后,光标的位置就会右移,表示对最后输入字符的确认。因此,按键输入接口设计和实现的核心,更多的体现在软件接口处理程序的设计中。下面将以此为例,介绍有限状态机的分析设计原理,以及基于状态机思想进行程序设计的基本方法与技巧。对于电子技术和电子工程类的读者,最先接触和使用到状态机应该是在数字逻辑电路课程里,状态机的思想和分析方法被应用于时序逻辑电路设计。其实,有限状态机(FSM)是实时系统设计中的一种数学模型,是一种重要的、易于建立的、应用比较广泛的、以描述控制特性为主的建模方法,它可以应用于从系统分析到设计(包括硬件、软件)的所有阶段。很多实时系统,特别是实时控制系统,其整个系统的分析机制和功能与系统的状态有相当大的关系。有限状态机由有限的状态和相互之间的转移构成,在任何时候只能处于给定数目的状态中的一个。当接收到一个输入事件时,状态机产生一个输出,同时也可能伴随着状态的转移。一个简单的有限状态机在数学上可以描述为:在状态机中,时间序列也是非常重要的一个因素,从硬件的角度看,时间序列如同一个触发脉冲序列或同步信号,而从软件的角度看,时间序列就是一个定时器。状态机由时间序列同步触发,定时检测输入,以及根据当前的状态输出相应的信号,并确定下一次系统状态的转移。在时间序列进入下一次触发时,系统的状态将根据前一次的状态和输入情况发生状态的转移。其次,作为时间序列本身也可能是一个系统的输入信号,影响到状态的改变,进而也影响到系统的输出。所以对于时间序列,正确分析和考虑选择合适的时间段的间隔也是非常重要的。间隔太短的话,对系统的速度、频率响应要求高,并且可能减低系统的效率;间隔太长时,系统的实时性差,响应慢,还有可能造成外部输入信号的丢失。一般情况下,时间序列的时间间隔的选取,应稍微小于外部输入信号中变化最快的周期值。通常主要有两种方法来建立有限状态机,一种是“状态转移图”,另一种是“状态转移表”,分别用图形方式和表格方式建立有限状态机。实时系统经常会应用在比较大型的系统中,这时采用图形或表格方式对理解复杂的系统具有很大的帮助。总的来说,有限状态机的优点在于简单易用,状态间的关系能够直观看到。应用在实时系统中时,便于对复杂系统进行分析。下面将给出两个按键与显示相结合的应用设计实例,结合设计的例子,讨论如何使用有限状态机进行系统的分析和设计,以及如何在软件中进行描述和实现。基于状态机分析的简单按键设计(一)我们把单个按键作为一个简单的系统,根据状态机的原理对其动作和确认的过程进行分析,并用状态图表示出来,然后根据状态图编写出按键接口程序。把单个按键看成是一个状态机话,首先需要对一次按键操作和确认的实际过程进行分析,根据实际的情况和系统的需要确定按键在整个过程的状态,每个状态的输入信号和输出信号,以及状态之间的转换关系。最后还要考虑时间序列的间隔。采用状态机对一个系统进行分析是一项非常细致的工作,它实际上是建立在对真实系统有了全面深入的了解和认识的基础之上,进行综合和抽象化的模型建立的过程。这个模型必须与真实的系统相吻合,既能正确和全面的对系统进行描述,也能够适合使用软件或硬件方式来实现。

文档评论(0)

135****2083 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档