基于protues仿真设计一款乒乓球游戏机
一、设计题目
设计一款乒乓球游戏机
基本要求:
- 用 8 个发光二极管表示球;用两个按钮分别表示甲乙两个球员的球拍;
- 一方发球后,球以固定速度向另一方运动(发光二极管依次点亮),当球达到最后一个发光二极管时,对方击球(按下按钮)球将向相反方向运动,在其他时候击球视为犯规,给对方加 1 分;都犯规,各自加 1 分;
- 甲、乙各有一数码管计分。
附加功能:
裁判有一个按钮,是系统初始化,每次得分后, 按下一次。
二、设计原理及器件
将乒乓球游戏机电路分成 3 块电路:球台驱动电路、控制电路、计分电路。
- 球台驱动电路主要实现球的左右移动显示功能(利用 74LS194 的双向移位功能)和裁判对系统初始化的功能(利用清零端)。
- 控制电路选用 74LS74,利用其置数端可让输出端置 1 或并行输出来控制 74LS194 的移位控制端 S0S1 让 74LS194 完成左移或右移。
- 计分电路具有两位计分功能(采用两片 74LS160 集成 100 进制计数器),采用 74LS48 和共阴数码管完成分数显示。
电路部分器件及个数
电路部分 | 器件 | 个数 | ||||
---|---|---|---|---|---|---|
球台驱动电路 | 74LS194 | 2 | ||||
计分电路 | 74LS160 | 4 | ||||
74LS48 | 4 | |||||
74LS04 | 2 | |||||
74LS32 | 16 | |||||
74LS08 | 4 | |||||
控制电路 | 74LS74 | 2 | ||||
74LS00 | 2 | |||||
74LS32 | 1 | |||||
74LS08 | 2 |
两个七段共阴数码管,五个开关,若干导线。
原理图设计
三、 设计内容
球台电路
球台电路通过两个4位双向移位寄存器 74LS194 接成一个 8 位的移位寄存器。接法为:将第一片的左移串行输入端 SL 接到第二片的 Q0 端,将第二片的右移串行输入端 SR 接到第一片的 Q3 端,然后将第一片的 D0 端和第二片的 D3 端置 1,将剩余的其他几个输入端置 0。其功能表如下表:
MR | S1 | S0 | 工作状态 |
---|---|---|---|
0 | x | x | 置零 |
1 | 0 | 0 | 保持 |
1 | 0 | 1 | 左移 |
1 | 1 | 0 | 右移 |
1 | 1 | 1 | 并行输入 |
- 当 MR = 0,其他输入端均为任意值,寄存器输出 Q0、Q1、Q2、Q3 均为 0。清除后,置 MR = 1。此功能对应于裁判员对系统进行初始化。
- 当 MR = S1 = S0 = 1 时,输入任意的 4 位二进制数,当下一个上升沿到来时,将 Q0、Q1、Q2、Q3 置成相应的状态。
- 当 MR = 1、S1 = 0、S0 = 1 时,通过时钟脉冲 CP 依次右移。此功能对应于乒乓球右移。
- 当 MR = 1、S1 = 1、S0 = 0 时,通过时钟脉冲 CP 依次左移。此功能对应于乒乓球左移。
驱动控制电路
驱动控制电路由两片 74LS74、两个与门 74LS08、两个与非门 74LS00、一个或门 74LS32 构成,74LS74 为上升沿触发的 D 触发器,功能表如下:
输入 | 输出 | |||
---|---|---|---|---|
S | R | CLK | D | Q(n+1) |
0 | 1 | x | x | 1 |
1 | 1 | ↑ | 1 | 1 |
1 | 1 | ↑ | 0 | 0 |
1 | 1 | ↓ | x | Q(n) |
S 为置 1 端(低电平有效),R 为置 0 端(低电平有效)
- 当 SW2 = 0 时,两片 D 触发器输出端均为 1 即 S1 = S0 = 1,通过接入 74LS194,实现并行输入功能。
- 当 SW2 = 1,SW1 = 1 时,通过各门电路将 1D 置为 0,将两片 74LS74 的 CLK 信号置 1,则 D 触发器输出端 Qn 为 0 即 S1 = 0,S0 = 1。
- 当 SW2 = 1,SW3 = 1 时,通过各门电路将 2D 置为 1,则 D 触发器输出端 Qn 为 1 即 S1 = 1,S0 = 0。
通过此电路来控制球台灯的左右移位即实现乒乓球的运动。
计分电路
计分电路主要由一面举例:两片 74LS160、两片 74LS48、两片共阴数码管、一个 74LS04 非门、74LS08 与门构成。同步十进制计数器 74LS160 的功能表如下:
输入 | 工作模式 | ||||
---|---|---|---|---|---|
MR(非) | LOAD(非) | ENT | ENP | CLK | |
0 | x | x | x | x | 清零 |
1 | 0 | x | x | ↑ | 置数 |
1 | 1 | 1 | 1 | ↑ | 计数 |
1 | 1 | 0 | x | x | 保持 |
1 | 1 | x | 0 | x | 保持 |
74LS160 为同步十进制计数器,两片正好集成 100 进制计数器,连接方法:将第一片的 RCO(进位端) 连接第二片的 ENT 和 ENP,D1 D2 D3 D4 置 0,置数端和清零端置 1,即可构成 100 进制计数器。将 74LS48 和共阴数码管按顺序接入即可。甲乙击中球加分真值表为:
Q1(1) | SW1 | Q3(2) | SW3 | 甲 | 乙 |
---|---|---|---|---|---|
1 | 1 | 0 | 0 | 1 | 0 |
0 | 0 | 1 | 1 | 0 | 1 |
选用 ENP、ENT 作为 74LS160 的计数控制端,当 ENT = ENP = 1 时计数,当 ENT = ENP = 0 时计分电路处于保持状态。
裁判按钮初始化,利用 74LS194 的 MR 低电平清零功能完成初始化。
甲乙未击中球与甲乙击中球同理利用与门和或门的关系,即可完成甲乙未击中球给对方加分的电路,同样选用 ENP、ENT 作为 74LS160 的计数控制端。
总体电路设计图
四、电路操作与结果分析
图中一共有 4 个开关分别为 SW1 甲选手、SW2 游戏开始键、SW3 乙选手、SW4 裁判初始化按钮、SW5 计数清零按钮。
- 开始时 SW4 和 SW5 置1,其余全置 0。
- 先打开 SW2,再打开先出球的一方假设打开 SW1,球开始往右滚,再打开 SW3,等待击球,若击中球则己方加一分,否则甲方加一分。
- 得分后将 SW4 置 0,游戏初始化,需将全部按钮调至 1,重新开始。
该电路达到了题目中的全部要求:
- 8 个发光二极管表示球,以固定速度向另一方运动。
- 当球达到最后一个发光二极管时,对方击球,球将向相反方向运动。
- 在其他时候击球视为犯规,给对方加 1 分。
- 用两个按钮分别表示甲乙两个球员的球拍和甲、乙各有一数码管计分。
- 裁判有一个按钮,是系统初始化。
五、 注意事项与缺陷
注意
- 该电路规矩严明,不像生活中的乒乓球那般自由,所以一定要按照步骤顺序来,错一步就要重来。
- 因为电路存在反馈计数并且是以时钟激励,所以在步骤 2 时打开 SW3 要在一个时钟脉冲以内。
- 同样因为时钟脉冲的关系在击打球时即关闭开关时,要等灯已经亮的时候再关闭开关,才能击打成功。同样未击打中也是同理。
- 在击打球的时候是连按两下,即关闭开关再打开开关,如同打乒乓球时挥出的胳膊和收回的胳膊。
缺陷:
- 题目中并未给出计数清零,电路会一直运转,无法重复使用。我在电路中加了一个计数清零 SW5,配合 SW4,可以重置整个游戏。
- 目前该电路只能一个鼠标控制多个开关,过于繁琐。要是有如题目般的三个人,电路运行的会更好。
六、工程文件
链接:https://pan.baidu.com/s/1wuFq5SZ9GgAsvxGQ97qimw
提取码:cyqy
Multisim参考文章
基于protues仿真设计一款乒乓球游戏机相关推荐
- 基于51单片机PT100热电偶AD转换protues仿真设计
基于51单片机PT100热电偶AD转换protues仿真设计 (源码+仿真) 仿真原版本:proteus 7.8 程序编译器:keil 4/keil 5 编程语言:C语言 设计编号:S0023 这里写 ...
- 基于51单片机手动计步器protues仿真设计
基于51单片机手动计步器protues仿真设计 (源码+仿真) 仿真原版本:proteus 7.8 程序编译器:keil 4/keil 5 编程语言:C语言 设计编号:S0021 目录标题 基于51单 ...
- 51单片机控制步进电机Protues仿真设计
一.概述 1.1步进电机简介 步进电机(Stepper Motor)是一种将电信号转换为机械运动的电动机,是一种专用于精密控制的电机.一般步进电机运行稳定,并且精度较高,因此常用于精密仪器.自动化设备 ...
- 基于51单片机的脉搏测量仪protues仿真设计
目录 一.设计背景 二.实现功能 三.仿真演示 四.源程序 一.设计背景 在中医四诊(望﹑闻﹑问﹑切)中,脉诊占有非常重要的位置.脉诊是我国传统医学中最具特色的一项诊断方法,其历史悠久,内容丰富,是中 ...
- 基于STM32温室大棚监测系统Protues仿真设计温湿度采集光照
仿真演示视频 基于stm32温室大棚控制系统仿真设计温湿度采集光照采集protues设计物联网定制_哔哩哔哩_bilibili 开发软件Keil5+Protues8.9,温湿度传感器DHT11. 部分 ...
- 基于51单片机的电子琴Protues仿真设计
一.设计背景 基于51单片机的电子琴是一款由51单片机控制器.音频模块和硬件阵列组成的数字化乐器.它可以模拟各种乐器的音效,同时也具有许多常规电子琴所没有的高级功能. 首先,这种电子琴是以数字信号处理 ...
- 基于51单片机的两路数字电压表Protues仿真设计
目录 一.设计背景 1.1.数字电压表的发展历程 1.2.课题的意义和目的 二.实现功能 三.仿真演示 四.部分程序展示 一.设计背景 1.1.数字电压表的发展历程 数字电压表简称DVM,它是采用数 ...
- 基于51单片机的智能计算器Protues仿真设计
目录 一.设计背景 二.实现功能 三.硬件设计 3.1 总体硬件设计 3.2 键盘电路的设计 3.3 显示电路的设计 四.仿真演示 五.源程序 一.设计背景 随着社会的发展,科学的进步,人们的生活水 ...
- 简单的红绿灯c语言程序,基于Protues仿真的简单交通信号灯附C语言程序
简单的交通信号灯实现 本文中主要利用89C52单片机实现一个简单的交通信号灯系统,代码编写借助keil软件编写,再结合protues软件进行仿真.基本实现简单的交通信号等功能. 一.代码如下 #inc ...
最新文章
- 个推无法获取个推id_最新个推Android 推送 SDK Maven 集成
- 【C语言应用实例】输出当月日历
- 谁的bug? 正则 拷贝和粘贴 regulator工具
- ios web input 内边阴影
- 【问底】严澜:数据挖掘入门——分词
- adf时间作用域_ADF任务流:页面片段的托管bean作用域
- leetcode 485. 最大连续1的个数
- python 列表副本_列表副本不工作?
- 数据库工作笔记14---win10系统安装sqlserver2005提示服务无法启动
- 学计算机河北科技华北理工,河北117所正规高校都在这儿!别被”野鸡大学“忽悠了!...
- 东大OJ-Prim算法
- 10 月全国程序员工资统计,一半以上的职位 5 个月没招到人!
- MyEclipse中对项目分类管理
- Thrift编译错误解决方法
- 模拟电路——阻容耦合放大电路
- 全国计算机三级过关要求,谈三级pc技术——我的30天过关经验
- 基于区块链的数字版权保护介绍
- 同步机制应遵循的规则
- Java学习教程,Java从入门到精通,全套Java视频教程+笔记+配套工具
- 麒麟信安操作系统:挖掘场景,与云俱进 ——携手openEuler赋能关键行业应用