有限状态机在单片机编程中的应用

有限状态机在单片机编程中的应用
有限状态机在单片机编程中的应用

有限状态机在单片机编程中的应用

电子技术日新月异,对单片机的编程提出了更高的要求,基于c语言的有限状态机看,可以有效地提高单片机的实时性,同时也增强了程序的可读性和可移植性,便于程序的模块化。

标签:有限状态机;单片机;按键

0引言

有限状态机FSM(Finite State Machine)是一种数学模型,它以有限个状态以及在这些状态间的转移和动作构成,它适用于系统分析到设计整个过程,应用十分广泛。

有限状态机以描述控制特性为主,它特别适合发生有先后顺序或者有逻辑规律的事件,也是软件上常用的一种处理方法。在单片机程序的应用上,有限狀态机把复杂事件分解成有限个稳定状态,通过外部事件的驱动,改变程序当前的状态同时做出相应的操作处理。

1有限状态机

有限状态机主要按照规定的顺序依次完成各种操作,它由一定数目的状态和相互之间的转移构成,在任何时候系统只能处于给定状态中的一个,在外部事件的驱动下,状态机会产生相应的动作处理,同时也可能伴随着状态的转移。有限状态机可以分成两类,第一类为Moore状态机,它的输出只和状态有关而与输入无关;第二类称为Melay状态机,它的输出不仅和状态有关而且和输入有关系。

1.1有限状态机要素

有限状态机包含了现态、条件、动作、次态4个要素。现态指程序所处的当前状态,在满足一定的条件下,系统将会产生一个动作或者执行一次状态的转移,次态是满足条件后转移的新的状态,一旦次态被激活,则转变为新的现态。在这4个要素体现出了状态机内部各状态的因果关系,现态和条件是因,次态和动作是果。

1.2建立有限状态机

有限状态机通常主要有两种方式表现方式,一种是“状态转移图”,另一种是“状态转移表”,这两种方式都可以有效的表现出各个状态间的转移关系。

通常,我们用SWITCH-CASE、IF-ELSEIF-ELSE语句在软件中实现状态机的方法和程序结构。实际编程过程中,虽然有限状态机思想提供了很好的编程思路,但是还应该探讨使用归类的方法来进一步提高程序执行效率,因此在编程之

相关主题
相关文档
最新文档