计算机C语言-状态机原理详解.pdf

  1. 1、本文档共3页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
计算机C语言-状态机原理详解

状态机原理详解 1.什么是状态机 状态机理论最初的发展在数字电路设计领域。状态机特别适合描述那些有发 生有先后顺序,或者有逻辑规律的事情。状态机的本质就是对具有逻辑顺序或时 序规律事件的一种描述方法。状态机通过响应一系列事件而 “运行”。每个事件 都在属于 “当前” 节点的转移函数的控制范围内,其中函数的范围是节点的一 个子集。函数返回“下一个”(也许是同一个)节点。这些节点中至少有一个必 须是终态。当到达终态,状态机停止。 1.1、有限状态机 (1)常说的状态机是有限状态机FSM。FSM指的是有有限个状态 (一般是一个状态 变量的值),这个机器同时能够从外部接收信号和信息输入,机器在接收到外部 输入的信号后会综合考虑当前自己的状态和用户输入的信息,然后机器做出动 作:跳转到另一个状态。 (2)考虑状态机的关键点:当前状态、外部输入、下一个状态 以我们熟悉的水的三态变化为例,已知当前状态和输入条件,下一状态是确 定的。两个不同的状态,即使输入条件相同,下一状态一般不会相同。 1.2、两种状态机:Moore型和Mealy型 (1)Moore型状态机特点是:输出只与当前状态有关 (与输入信号无关),即可以 把Moore型有限状态的输出看成是当前状态的函数。Moore型状态机相对简单, 考虑状态机的下一个状态时只需要考虑它的当前状态就行了。 (2)Mealy型状态机的特点是:输出不只和当前状态有关,还与输入信号有关。 状态机接收到一个输入信号需要跳转到下一个状态时,状态机综合考虑2个条件 (当前状态、输入值)后才决定跳转到哪个状态。 下面举一个mealy型状态机的例子,学过数字电路的同学可能比较熟悉。 有这样一个序列检测器电路,功能是:检测出串行输入数据 (用Sin表示) 中的4位二进制序列0101(自左至右输入),当检测到该序列时,输出Out 1;没 有检测到该序列时,输出Out 0(注意考虑序列重叠的可能性,如010101,相当 于出现两个0101序列)。 经过分析,首先由于输出不仅和状态有关,而且和输入有关系可以确定采用 Mealy型状态机。该电路在连续收到信号0101时,输出为1,其他情况下输出为 0。在状态图中大圆表示状态,用连接两个大圆的箭头表示转换过程,箭头旁边 的第一个数字表示输入,/后面的数字表示输出。 其次,确定状态机的状态图,该电路必须能记忆所收到的输入数据0、连续 收到前两个数据01...可见至少要是个状态,分别用S1,S2,S3,S4,再加上电路 初始态S0。根据要求可以画出状态图: 序列检测器电路状态机的状态图 观察该图可以看出,当状态机处以S2、S4 的时候,如果输入Sin 1,则电 路会转移到相同的次态S0,如果输入Sin 0,则电路会转移到相同的次态S3, 且两种情况下输出Out都为0。所以,S2、S4为等价状态,可用S2代替S4,于 是得到简化的状态图: 序列检测器电路状态机的化简后状态图 1.3、状态机的主要用途:电路设计、FPGA程序设计、软件设计 (1)电路设计中广泛使用了状态机思想 (2)FPGA程序设计 (3)软件设计 (框架类型的设计,譬如操作系统的GUI系统、消息机制) 1.4、状态机解决了什么问题 传统应用程序的控制流程基本是顺序的:遵循事先设定的逻辑,从头到尾地 执行。很少有事件能改变标准执行流程;而且这些事件主要涉及异常情况,例如 单片机里面的中断。“命令行实用程序”是这种传统应用程序的典型例子。 另一类应用程序由外部发生的事件来驱动——换言之,事件在应用程序之外 生成,无法由应用程序或程序员来控制。具体需要执行的代码取决于接收到的事 件,或者它相对于其他事件的抵达时间。所以,控制流程既不能是顺序的,也不 能是事先设定好的,因为它要依赖于外部事件。事件驱动的GUI应用程序是这种 应用程序的典型例子,它们由命令和选择 (也就是用户造成的事件)来驱动。获 取更多视频资料欢迎加入397164505朱老师技术群。

文档评论(0)

hhuiws1482 + 关注
实名认证
内容提供者

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

版权声明书
用户编号:5024214302000003

1亿VIP精品文档

相关文档