logo资料库

用51单片机实现状态机.ppt

第1页 / 共38页
第2页 / 共38页
第3页 / 共38页
第4页 / 共38页
第5页 / 共38页
第6页 / 共38页
第7页 / 共38页
第8页 / 共38页
资料共38页,剩余部分请下载后查看
《单片机技术基础教程与实践》 第9章 51单片机实现状态机 9.1 有限状态机             有限状态机(FSM)与流程图很相似,具有一组按照一定路径排列的状态,依据于状 态中的事件和动作,一个状态可以转移到其他状态。          状态是时间中的一个点,例如,当你等火车的时候,你在等待状态。一种状态在一个 状态机中,只能出现一次。        事件是某时发生的事情,例如火车到达,火车运行。        动作是当事件出现时,实现的任务,例如,火车到达后,上车        转移是两个状态之间的联系,可以从一个状态移动到另外一个状态。        状态图就是对一个事物在某个事件发生后从一个源状态到另外一个目的状态转移的图形 描述。            状态图中,使用圆圈表示状态,圆圈中的文字或数字表示该状态的名字或是编码,状 态转移方向用箭头表示,在箭头旁写的文字是转移条件。对于梅里状态图,在箭头旁用 “输入/输出”的格式表示转移条件与满足该转移条件下的输出;而对于摩尔状态机,常将 输出放在状态圆圈中。 作者:夏路易 电子工业出版社所有
《单片机技术基础教程与实践》 由图可知,当k=0时,状态从a0转移到a1, 若是k0=1,从状态a1转移到a2,等等,若 是reset=0,则无论在什么状态,都将转移 到a0状态。  k=0 a0 . a1 reset=0 reset=0 a4 . 报警 r e s e t = 0 td=1 k=1 a2 置数 . k=0 a3 . 定时 作者:夏路易 电子工业出版社所有
《单片机技术基础教程与实践》 一个状态机描述需要五个要素:状态、输入、输出、状态转移函数、输出函数。      如果在一个状态中包含着另一个状态序列,则称该状态为复合状态。      状态机就是能够根据状态转移条件进行状态转换和输出状态活动的自动机。状态机可以使 用数字电路实现,或是单片机通过软件编程实现。      如果状态数量有限、输入数量有限、输出数量有限,则称为有限状态机(FSM)。      在数字电路中,有两类基本的电路,它们是组合电路和时序电路,它们之间的区别是组合 电路的结构中没有反馈、输入值直接决定输出值,而时序电路的结构中具有反馈,其输出由 状态和输入决定。状态机是时序电路的一种。 . 输入 现在状态 . 组合逻辑 记忆电路 反馈 . 次态逻辑或驱动逻辑 . 作者:夏路易 电子工业出版社所有
《单片机技术基础教程与实践》 9.1.1 时钟同步有限状态机   如果一个时序电路中的触发器都使用同一个时钟信号,则称为同步状态机  1. 结构 时钟同步状态机的结构如图所示。 其中次态逻辑由现态和输入形成。状态记忆是n个触发器,用于记忆2n状态。输出逻辑由现在 状态和输入形成。 在时钟的上升沿或是下降沿(取决于触发器结构),触发器在次态逻辑的控制下动作。  . 驱动 次态逻辑 状态 记忆 现态 输出 逻辑 输出 . 输入 . 时钟 . 作者:夏路易 电子工业出版社所有
2. 输出逻辑         如果一个时序电路的输出与现在状态和输入都有关,则称为梅里状态机,就是说,在 某状态下,满足某输入条件的输出就是梅里输出。值得注意的是梅里状态机的输入变化直 接引起输出的变化,而不是等到下一个状态到来时输出才变化。就是梅里状态机。 《单片机技术基础教程与实践》 驱动 次态逻辑 . 状态 记忆 现态 输出 逻辑 输出 . 输入 . 时钟 .         与输入无关,输出只与状态有关的状态机,称为摩尔状态机,所以摩尔状态机的输 出与状态变化同步。摩尔状态机是使用广泛的状态机,如图所示。 作者:夏路易 电子工业出版社所有
《单片机技术基础教程与实践》 3. 状态编码        具有n个状态变量的状态机具有2n个状态。究竟一个状态用什么样的二进制数表示,就是状 态编码问题。状态与它的编码之间不是唯一关系。最简单的状态编码就是采用自然二进制整数 顺序来表示状态,这样的编码虽然简单,但是最终的电路未必是最简单的。如果要得到最简单 的结果,最好把各种编码都试一试,但是太累人,一般情况下采用经验编码方法。           在状态编码时应该考虑的一些因素: (1)选择初始状态的编码与状态机的复位状态相同,这样就会使状态机复位时就回到状态机 的初始状态。 (2)每一次状态变化,应该使发生的状态变量最少。 (3)如果有未使用的状态,则尽量选择可以达到简化逻辑设计的状态编码。设计中应该保证 从未使用状态一定可以进入初始状态。 作者:夏路易 电子工业出版社所有
《单片机技术基础教程与实践》 4. 主从状态机          一个大的状态机设计是非常复杂的,一般情况下,最好将大的状态机分解成小状态机的 集合。一般划分的原则是按照功能划分,主要输入、输出和控制算法由主状态机完成,而辅助 的、在主状态机控制下的算法由子状态机完成,就是说主状态机完成顶层算法,子状态机完成 底层算法。            最常见的划分就是将计数器作为子状态机,这时,主状态机只要发出启动信号,而等待 计数器返回的计数完成信号。虽然主状态机增加了启动计数器的输出信号和来自计数器的计数 完成信号,但是该计数器就可以为主状态机节省n-1个状态。 主从状态机的一般结构如图所示。  . 输入 . 主状态机 START 1 DONE 1 START 2 DONE 2 START n DONE n . 作者:夏路易 电子工业出版社所有 输出 . 子状态机1 子状态机2 子状态机n
5. 状态转移条件 状态转移的条件和输入的信号数有关,n个输入信号,将有2n个转移条件,这些条件之间应该 是互斥的,只能有一个转移条件有效。也就是只能转移到另外一个状态,而不是一个以上的 状态。 《单片机技术基础教程与实践》 在状态机设计过程中,对于状态转移的条件是容易给出的,但是使多个状态转移条件满足互 斥条件确是比较难的,因为这需要更深刻的考虑状态、转移条件之间的关系。 一个状态只向另外一个状态转移的状态机是最简单的状态机,因为只有一个状态转移条件。 有些状态图只给出本状态向外状态的转移条件,而向自己转移的条件未给出,这种情况可以 理解为只要不向外状态转移就保持在本状态不动。  作者:夏路易 电子工业出版社所有
分享到:
收藏