一 实验目的
- 掌握有限状态机的思想
- 掌握有限状态机的数字电路实现方法
- 利用有限状态机解决实际应用问题
二 实验环境
本实验采用Logisim电路仿真平台。
三 实验记录
- 从键盘的输出中检测特定字符串
原理图
- 系统的输入变量
输出“J,M,U”和“其他无关变量”,将‘J’编码为01、‘M’编码为10、‘U’编码为11、其它字符编码为00。
共四个变量。
- 系统的状态个数
其它字符编码“00”代表状态“S0”, 字符‘J’编码“01”代表状态“S1”,字符‘M’编码“10”代表状态“S2”,字符‘U’编码“11”代表状态“S3”。一共四个状态。
- 画出状态图
- 画出状态转换表和输出表
- 逻辑表达式的推导并实现系统;
- s1_next=s0 tb + s0 ta + s1 ta tb + s1 s0
s0_next=!s1! s0 !ta tb + s1 ta tb
输入JMU
打印出
2、有限状态机方法实现一个应用与附加题
a) 弹球游戏机
原理图如下:
实现过程:
表 1 弹弹球inside
表 2状态机
表 3碰撞分析机
表 4挡板
表 5碰撞分析机(挡板篇)
表 6碰撞/落地检测器
表 7计分器
表 8失败结算器
表 9失败状态机
- 应用场景
弹弹球游戏机:玩家通过转动摇杆来控制挡板的移动从而接住并反弹小球,每反弹成功一次计分一次,若玩家未接住将结束游戏并显示“输”。
- 状态图
- 状态表
(4)布尔表达式
m=下墙 + m0 !上墙;
n =左墙 + n0 !右墙;
3、总结
各部分实验正常运行达到预期目标,实验圆满完成!