感谢阅读本文,在接下来很长的一段时间里,我将陆续分享项目实战经验。从电源、单片机、晶体管、驱动电路、显示电路、有线通讯、无线通信、传感器、原理图设计、PCB设计、软件设计、上位机等,给新手综合学习的平台,给老司机交流的平台。所有文章来源于项目实战,属于原创。
阅读说明:
1、Keil4 C51工程网址:
https://yunpan.360.cn/surl_yrivR7JxUxu
2、需要一定的C语言基础,才看得懂此文。
一、有限状态机
有限状态机是一种概念思想,把复杂的控制逻辑分解成有限个稳定状态,组成闭环系统,通过事件触发,让状态机按设定的顺序处理事务。
单片机C语言的状态机编程,是利用条件选择语句(switch – case)切换状态,通过函数内部指令改变状态机状态,让程序按设定的顺序执行。
二、应用说明
1、要想使用状态机进行编程,需要将任务分解成有限个稳定状态。
2、举例说明
上图为按钮按键典型的动作图,可以提取为四个状态,分别为状态1 = 按键谈起状态、状态2 = 按键不稳定状态1、状态3 = 按键按下状态、状态4 = 按键不稳定状态2。
有限状态机实现如下: