91、顺序电路设计实例:从猜谜游戏到交通灯控制器

顺序电路设计实例:从猜谜游戏到交通灯控制器

1. 猜谜游戏状态机

1.1 游戏描述

猜谜游戏状态机是一个具有四个输入(G1 - G4)和四个输出(L1 - L4)的时钟同步状态机。输入连接到按钮,输出连接到靠近相应按钮的灯或 LED,还有一个 ERR 输出连接到红灯。在正常操作中,L1 - L4 输出呈现 1 出 4 的模式,每一个时钟周期,模式旋转一位,时钟频率约为 4Hz。玩家通过按下按钮进行猜测,当按下按钮时,如果按下的是“错误”按钮(即检测到的输入 Gi 与时钟周期前亮起的灯输出编号不同),ERR 输出将被置位。一旦做出猜测,游戏停止,ERR 输出保持相同值,直到 Gi 输入被取消,游戏恢复。

1.2 状态需求

该机器需要六个状态:四个状态对应四个灯亮起,另外两个状态分别对应正确或错误按下按钮后游戏停止的情况。为了提高机器的可测试性和健壮性,增加了一个 RESET 输入,用于将游戏强制到已知的起始状态,并且两个未使用的状态有明确的转换到起始状态的规则。

1.3 ABEL 程序实现

以下是猜谜游戏的 ABEL 程序:

module ggame
Title 'Guessing-Game State Machine'
GGAME device 'P16V8R';
" Inputs and outputs
CLOCK, RESET, G1..G4          pin 1, 2, 3..6;
L1..L4, ERR                   pin 12..15, 19 istype 'com';
Q2..Q
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值