数字逻辑实验——有限状态机应用

本文介绍了如何使用有限状态机思想设计数字电路,通过Logisim平台实现键盘字符识别,进而应用于弹球游戏机中。详细描述了状态机的设计、状态转换表、逻辑表达式以及各个组件如挡板、碰撞检测等。实验结果表明各部分功能正常,达成预期目标。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一 实验目的

  1. 掌握有限状态机的思想
  2. 掌握有限状态机的数字电路实现方法
  3. 利用有限状态机解决实际应用问题

二 实验环境

本实验采用Logisim电路仿真平台。

三 实验记录

  1. 从键盘的输出中检测特定字符串

原理图

  1. 系统的输入变量

输出“J,M,U”和“其他无关变量”,将‘J’编码为01、‘M’编码为10、‘U’编码为11、其它字符编码为00。

共四个变量。

  1. 系统的状态个数

其它字符编码“00”代表状态“S0”, 字符‘J’编码“01”代表状态“S1”,字符‘M’编码“10”代表状态“S2”,字符‘U’编码“11”代表状态“S3”。一共四个状态。

  1. 画出状态图

  1. 画出状态转换表和输出表

  1. 逻辑表达式的推导并实现系统;
  2. 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失败状态机

  1. 应用场景

弹弹球游戏机:玩家通过转动摇杆来控制挡板的移动从而接住并反弹小球,每反弹成功一次计分一次,若玩家未接住将结束游戏并显示“输”。

  1. 状态图

  1. 状态表

(4)布尔表达式

  m=下墙 + m0 !上墙;

  n =左墙 + n0 !右墙;

3、总结

各部分实验正常运行达到预期目标,实验圆满完成!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值