有限状态机建模在嵌入式按键设计中的应用_第1页
有限状态机建模在嵌入式按键设计中的应用_第2页
有限状态机建模在嵌入式按键设计中的应用_第3页
有限状态机建模在嵌入式按键设计中的应用_第4页
有限状态机建模在嵌入式按键设计中的应用_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第30卷第2期2012年4月沈阳师范大学学报(自然科学版)JournalofShenyangNormalUniversity(NaturalScience)Vol.30No2Apr2012文章编号:16735862(2012)02016804有限状态机建模在嵌入式按键设计中的应用12何剑宇,刘兢兢(1辽宁现代服务职业技术学院,沈阳110164;2沈阳市126中学,沈阳110000)摘要:为了使嵌入式软件代码更加可靠,增强程序的可维护性,将有限状态机理论应用于介绍了有限状态机建模在嵌入式嵌入式设计中。论述了有限状态机的基本结构和它的基本原理,系统中实际应用现状。针对一种实际按键模块的需要,利用有

2、限状态机的嵌入式设计建立了系统模型。采用状态机实现方法编写了按键接口程序,实现了2个按键的状态机模型设计。系统的调试结果验证了模型的正确性和可靠性,具有一定的工程价值。关键词:有限状态机;数学建模;嵌入式系统;按键文献标志码:A中图分类号:TN18doi:103969/jissn1673-58622012020090引言有限状态机作为实时系统设计中的一种数学模型,是一种重要的、易于建立的、以描述控制特性为应用比较广泛的建模方法。使用有限状态机的方法对动画角色行为建模,能够有效处理复杂的动主的、1画角色行为模型,简化动画的设计。将有限状态机应用在数控系统软件开发中,实现了系统的控制2缩短了系统的

3、开发时间,增强了系统的可靠性。目前,嵌入式系统设流程和行为的准确分析和表达,3计已经在工业生产智能化、航空航天等各个领域得到广泛应用。在生产实践中,许多工程技术人员4嵌入式系统运行所需要的大量硬件资源对于部分通过引入嵌入式操作系统来解决实际问题。然而,资源较少的单片机来说根本无法完成嵌入式操作系统的移植,如果选择资源更多的芯片又可能增加硬67。件成本。为了解决这些问题,魏先民等人将有限状态机的理论应用到嵌入式软件的开发实践中89,实践发现有限状态机技术的引入使程序结构变得简单清晰很大程度上降低了嵌入式软件开发的文章利用有限状态机方法编写了2难度。以往的很多研究中都没有详细介绍有限状态机的应用实

4、例,个按键的接口程序1011,实现了单按键状态机无法实现的功能,具有很强的工程价值。1有限状态机及其基本原理有限状态机是指输出取决于过去输入部分和当前输入部分的时序逻辑电路,在任何时刻只处在一若有事件发生可以根据当前状个特定状态。事件的驱动程序设计是常见的设计模型。在任一状态下,6态与输入事件的不同,选择处理该事件的方法以及是否转换到下一个状态。一个有限状态机(FSM)L,F,S,Z)。其中,N是一个有限的状态集合,;L表示该通常表示为:M=(N,它的每个元素称作“状态”“事件”;F定义为状态转换函数,系统能接收的所有事件的集合,它的每个元素称为一个是N×EN上的映射;S是系统的一个

5、特殊状态,一般是系统启动时刻的初始状态;Z是N的一个子集,定义为一个终态集。有限状态机通常用状态转移表和状态转移图2种方式表示。一般用有向图来表示有限状态机,其节点表示每个状态,如图1所示。收稿日期:20110909。基金项目:国家自然科学基金资助项目(60673021);辽宁省教育厅科学研究资助项目(2009A666)。作者简介:何剑宇(1970),女,辽宁沈阳人,辽宁现代服务职业技术学院教授,硕士。件当,与输刻巡抖态信出闭认释一”第2期何剑宇,等:有限状态机建模在嵌入式按键设计中的应用171returnkey_return;该简单按键接口函数read_key()在整个系统程序中应每隔10m

6、s调用执行一次,每次执行时将先读取与按键连接的I/O的电平到变量key_press中,然后进入用switch结构构成的状态机。switch结构在每个状态中将根据状态的不同,以及key_中的case语句分别实现了3个不同状态的处理判别过程,press的值(状态机的输入)确定输出值(key_return),和确定下一次按键的状态值(key_state)。函数read_key()的返回参数提供上层程序使用。返回值为0时,表示按键无动作;而返回1表示有一次按键闭合动作,需要进入按键处理程序做相应的键处理。在函数read_key()中定义了3个局部变key_press中保存着刚检测的量,其中key_pr

7、ess和key_return为一般普通的局部变量,每次函数执行时,按键值。key_return为函数的返回值,总是先初始化为0,只有在状态1中重新置1,作为表示按键确认的标志返回。变量key_state非常重要,它保存着按键的状态值,该变量的值在函数调用结束后不能消“局部静态变量”,必须保留原值,因此在程序中定义为用static声明。失,4结论文章详细介绍了有限状态机的基本原理及其在嵌入式系统中的实现方法和具体的应用实例,利用有限状态机的方法对双按键进行逻辑分析和模型设计,并编写了双按键的接口程序。最终实现了单按键状态机无法实现的功能。系统程序的调试结果验证了状态机模型的通用性和可靠性,具有很

8、强的工程价值和实际意义。通过状态机方法,降低了系统的复杂性,提升了系统软件的质量和可靠性。参考文献:1J计算机技术与发展,2007,17(6):130132朱晟仁有限状态机在动画角色行为中的建模应用2D上海:中国科学院上海冶金研究所,2000李为建有限状态机在数控系统软件中的应用研究3PeterVDLC专家编程M徐4马5赵2002波,译北京:人民邮电出版社,M北京:北京航空航天大学出版社,2007潮AVR单片机嵌入式系统原理与应用实践J计算机工程与科学,2010,32(4):128130良,倪福川基于有限状态机的嵌入式系统建模研究与实现6J潍坊学院学报,2006,6(4):2425魏先民有限状

9、态机在嵌入式系统中的应用7J工程设计学报,2003,10(5):251255徐小良有限状态机的一种实现框架8陈J重庆工学院学报,2007,21(5):5558勇有限状态机的建模与优化设计9JAMERB,IVARJ,GRADYBTheunifiedmodelinglanguagereferencemanualMBoston:AddisonWesley,199910J单片机与嵌入式系统应用,2010(4):7981秦国栋有限状态机的嵌入式Linux按键驱动设计11乔M北京:中国铁道出版社,2000林,杨志刚VisualC+60高级编程技术:DirectX篇J广西轻工业,2008,10(4):383

10、9锐,曾小宝有限状态机在嵌入式中的实现及应用12J沈阳师范大学学报:自然科学版,2009,27(1):7174胡世昌,杜庆东面向对象程序内部的两种不同实现13李晓锋,宋14WUXiaoping,JIAYunde,LIUYushuApracticaldesignofembeddedDSPvisualtrackingJJournalofBeijingUniversityofTechnology,2000,20(6):70370715ZHOUJinzhi,WUJingDesignofembeddedwebmicro-systembasedonMSP430JOrdnanceIndustryAutoma

11、tion,2004,23(6):4647FinitestatemachinemodelinganditsapplicationsinembeddeddesignHEJian-yu1,LIUJing-jing2(1LiaoningVocationalTechnicalCollegeofModernService,Shenyang110164,China;2126thMiddleSchoolofShenyang,Shenyang110000,China)Abstract:Inordertomakethecodeofembeddedsoftwaremorereliable,andtoenhancethemaintainabilityoftheprogram,thetheoryoffinitestatemachineisappliedinembeddeddesignThispaperdiscussesthefinitestatemachineanditsprinciple,introducedthestatemachineprogramminginembeddedsystemsandcharacteristicsofthepracticalapplication;thenpreparedbythestatemachine

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论