数字模拟乒乓球比赛设计报告

上传人:shaoy****1971 文档编号:108897052 上传时间:2019-10-25 格式:DOC 页数:34 大小:773.50KB
返回 下载 相关 举报
数字模拟乒乓球比赛设计报告_第1页
第1页 / 共34页
数字模拟乒乓球比赛设计报告_第2页
第2页 / 共34页
数字模拟乒乓球比赛设计报告_第3页
第3页 / 共34页
数字模拟乒乓球比赛设计报告_第4页
第4页 / 共34页
数字模拟乒乓球比赛设计报告_第5页
第5页 / 共34页
点击查看更多>>
资源描述

《数字模拟乒乓球比赛设计报告》由会员分享,可在线阅读,更多相关《数字模拟乒乓球比赛设计报告(34页珍藏版)》请在金锄头文库上搜索。

1、摘 要在信息社会高速发展的今天,数字电路芯片已经实现高度集成化,并逐步渗透到医药、计算机等各个领域中,对人类的生活有着深远的影响。本文利用基本芯片和门电路的搭建,以maxplus为平台进行仿真,实现对乒乓球比赛机的模拟。主要解决问题及思路;1模拟乒乓球的轨迹利用双向四位移位寄存器74194来模拟乒乓球的轨迹,当球移动到其中一个寄存器的最后一位时,采用基本门电路启动另外一个寄存器,使其移位。用双方的输入信号表示击球脉冲,每次击球脉冲改变时,说明击球方向改变,则设置相应74194控制字(左移、右移)。2速度的调节速度的调节在整个比赛的开始进行设置,本设计中利用节拍发生器产生四个移位脉冲从而控制移位

2、寄存器的移位。其中速度可以根据使用的需要进行现行调节。在后文中会有详细的说明。3击中的判断使用门电路,判断是否击中(门电路两端同时为1),若击中则继续比赛,若无则进行下一次发球,判断球权,修改计分器并初步置零寄存器4计数器的使用三个模十一计数器,两个用来分别计算甲乙所得的分数,并与译码器和数码显示管相连,来显示双方的分数,另一个用来计算是否二者和已经满十一以进入下一局,其中进位信号连接模三计数器的时钟端,显示再数码显示管上全局的比分。利用模五计数器实现发球权的控制,用二级发光管表示。5关于数字显示将计数器连接8421转化器,将二进制数字转化为8421码,通过译码驱动电路与晶体管相连,将8421

3、码显示在数码晶体管上。关键词 : 双向四位移位寄存器 译码驱动电路 计数器系统 信号发生器 球权判断装置一问题重述与分析1.1 问题的重述乒乓球比赛模拟机的设计:乒乓球比赛模拟机用发光二极管(LED)模拟乒乓球运动轨迹,是由甲乙双方参赛,要求如下:1. 至少用8个LED排成直线,以中点为界,两边各代表参赛双方的位置,其中一个点亮的LED(乒乓球)依次从左到右,或从右到左移动,“球”的移动速度可以调节。2.当球(被点亮的那只LED)移动到某方的最后一位时,参赛者应该果断按下自己的按扭使“球”转向,即表示启动球拍击中,若行动迟缓或超前,表示未击中或违规,则对方得一分。3.设计甲乙双方自动记分电路,

4、用数码管显示得分,每记满11分为一局。4.甲乙双方各设一个发光二极管表示拥有发球权,每得5分自动交换发球权,拥有发球权的一方发球才能有效。5.能显示发球次数。1.2 问题分析本设计采用74194双向四位寄存器来实现对乒乓球轨迹的模拟,其中难点在于如何有效的将发球权和移位方向等诸多因素联系起来,共同控制移位寄存器的移动方向。1首先对与发球轨迹的处理,我们采用74194双向四位寄存器来实现,其中主要应用到左移和右移两个功能,设置两个双向寄存器,分别代表A方和B方,以其中一个寄存器为例,其中四个数据输出端接LED端口,当输出高电平时代表球移动到所在端口,由题意可知,任何时刻都只可能最多有一个输出端为

5、高电平,我们将利用这一点来简化设计,在后面的整体框架的构建中将给出具体说明。同样,根据题意,球只能往一个确定的方向移动,所以任何时刻两个寄存器的移位状态都必须一致,故只需根据脉冲的方向控制Ma和Mb取值,并使甲乙的控制字一致。2发球权的显示:利用模五计数器。3计数器的控制:设置三个模十一计数器,其中两个分别用来记录甲乙的分数,并通过译码驱动电路显示出来,二者之和每满十一(通过另一个计数器记录)则向模三计数器发生进位脉冲,最终通过晶体管显示出来,另设一个两个模三计数器来表示整体的赢的局数的比分。1.3关于整个电路的设计思路和初步说明:经讨论,我们采用两个74194四位双向移位寄存器分别模拟甲乙双

6、方接发球的情况,四个输出端接入LED端口,当某一端为高电平时,说明球已经传入此位置,故应用八个输出端口的输出序列即可模拟球的传动路线,下面我们将以其中一个寄存器为例,说明我们本次设计的整体思路,而具体的线路设计和详细说明我们将在后面的模块说明和调试过程中给出。我们用发球的脉冲电位来表示发球,以甲方为例,甲在击球时,只可能有两种情况,一是之前甲或者乙已经输掉比赛,此时应根据发球权电路的配置来判定发球权之后进行新一轮发球,这里不妨假设甲享有发球权,而另外一种情况是若乙方的球已经传过来,甲需要对此球进行还击,甲扳下开关,在电路中表示为发出高电平信号,在图中表示为x输入。此时我们应判断是否此信号应当使

7、信号节拍发生器开始工作,发生器在之前已设置为四个节拍脉冲,通过或非门连接起来即可产生连续的四个节拍脉冲。当球传到甲寄存器的最左一位时,如果此时甲的击球脉冲和最左一位的输出同时为高电平说明甲已经击中球,球将往回传;如果此时甲拥有发球权重新发球,也说明球将向甲的反方向传送。此时用基本门电路来控制节拍发生器,使其打开,发出四个移位脉冲,此时球开始移动(之前已经设置好控制字,关于控制字的设置和基本的清零过程将在下面具体说明),对于前面的第一种情况,甲获得发球权,此时寄存器的状态应为全零(关于清零情况将在后面给出),利用或非门,第一次传入左移或右移高电平命令,之后因为寄存器中出现1,则传入0(由具体的门

8、电路可见,这里只是思路设计的初步思路说明),当球传到甲寄存器的最后一位时,将根据控制字信号判定左移还是右移,如过是右移,才能进一步启动乙寄存器的节拍发生器产生移位脉冲,这里我们认为还是应用门电路来实现这种判断,具体见电路图。无论球在哪一个寄存器上出现,只要一个寄存器上出现1,则另一个寄存器就处于清零状态,当球传送到另一方时,如果乙成功发回球则基本思路和实现过程同前所述,如果乙没击中球,则在甲计数器上记一分,因为只要有人满十一分即成功进入下一局,这里用模十一计数器来实现,(用脉冲实现),说明甲已经赢得一分,此时应重新开始发球,这里就应用到发球权的判断装置,用模五计数器配合d触发器来实现,用D触发

9、器的q非端连接到D端,即构成翻转装置,本设计中通过译码驱动将8421码转换为七段译码器的输入端进行晶体管的显示,我们用A代表甲B代表乙,因为A对应1010,B对应1011,其中只有最后一个不一样,前三位在驱动译码时将其初始化为101,我们只关心最后一位数码的控制,每局比赛前先置位,模五计数器每计数到五,利用发出的进位脉冲即可使D触发器进行翻转,从而改变最后的数码,A端的发球权有D触发器的q非端来表示,当q非端为1时说明A享有发球权,同理如果q端为高电平,则B享有发球权,注意计数器的进位端一定要接到清零端,进行初始化。而对于第二种情况,乙的球传送过来,甲进行击球,如果甲没有击中球,则在乙的记分器

10、上加一,说明乙已经赢得了一分之后的过程同前所述。如果甲没能击中球,则通过甲的击球脉冲来改变控制字的电平(同样通过D触发器来实现翻转),即移位的方向,通过门电路的构造,控制字的设置:前面已经分析过因为两个寄存器的方向一致,所以将两个控制字的接线连接起来,对于其中一个寄存器控制字的修改,无论甲方还是乙方,只要其中一方发生脉冲,则方向即会通过D触发器翻转使方向变化,这在一个球的传送中是显然的,但是当一方输掉球,而本次发球权仍属输球的一方时,这里需对这种情况再做判断,通过比赛计数器和发球权的共同判断来实现,如果是这种情况,则需改变一次控制字以改变传球方向。二.设计目的1.利用MSI功能模块对乒乓球游戏

11、机进行初步模拟,掌握时序电路的设计方法2.掌握各芯片的逻辑功能及使用方法;3.运用学过的计数器、触发器、译码电路等方面的知识,完成设计、选片、连线、调试、排除故障等一系列工作,实现数字系统的设计和完善,初步了解数字模块的设计过程;4.了解乒乓球比赛机的组成及工作原理,熟悉乒乓球比赛机的设计与制作,利用基本的门电路和MSI功能模块搭建简单的逻辑功能模块; 5.在MAXPLUS2环境下进行仿真,通过仿真实验结果来完成调试过程,完善电路设计中的逻辑缺陷;三.设计要求3.1.设计指标(1)用LED模拟乒乓球运动轨迹,其中移动速度可以调节;(2)按键表示击球,击中得分,否则对方得分;(3)自动记分电路,

12、每记满11分为一局,数码管显示得分;(4)发光二极管表示拥有发球权,每得5分自动交换发球权,拥有发球权才会发球有效;(5)能显示发球次数3.2设计要求 (1)画出电路原理图(或仿真电路图); (2)元器件及参数选择; (3)电路仿真与调试; (4)编写设计报告 写出设计与制作的全过程,附上有关资料。 四、设计原理框图及器件说明设计主体部分:下面给出整个电路的逻辑设计图,下面将分成具体的功能模块进行详细说明,这里说明的重点放在模块的功能设计上,而对于具体实现芯片的功能只给出粗略的描述,具体的各个引脚的功能及连接图示将在附录中具体说明。注:下面给出的是各个部分的截图,对于每一个功能模块我们都将给出

13、详细的说明,同时对于图中的重点位置我们用箭头等说明符号给出注释4.1 利用双向四位移位寄存器实现发球轨迹的模拟模块基本功能是利用双向四位移位寄存器来实现发球轨迹的模拟,这里分别用A和B寄存器来模拟甲乙各自的球运动路线的状态,首先对于控制字应进行初步设置,这里我们采用D触发器进行模拟,将D触发器的q非端与d端相连,即构成了翻转装置,即没来一个击球脉冲,d触发器就翻转一次,对于74194我们只使用其中的左移和右移功能,对应的控制字为01和10(Ma/Mb),故每当来一个击球脉冲时,我们只需改变一个控制字的方向,利用非门就可以实现另一控制字的翻转,同时由于两个寄存器的移动方向应当一致,故将两个寄存器

14、的控制字端相连。一般来说,没来一个击球脉冲,控球方向一定会改变,但是这里要注意一种特殊的情况,当其中一方输掉本球,下一次发球将由发球权决定,此时如果发球权输得的一方,则还需给个脉冲使控球方向恢复到原来的状态。利用非门,改变实现MaMb的同时改变图4.1.1 D触发器实现控制字的改变D触发器实现翻转功能,通过改变控制字改变控球方向 74194芯片的特点是利用左移右移端串行送数,当设置完控制字,利用对时钟端的脉冲控制,每次送出一个数,并移一位,覆盖之前的数据,以甲(A)寄存器为例,在清零的状态下,应当依次送入1000,球即可从最后一位移动,这里是通过使用节拍发生器给出脉冲(下面的模块将详细说明),

15、这里先说明清零的问题,经分析,根据题意,球只可能出现在其中一个寄存器上,即判断球处于哪一方的寄存器上,则另外一方的寄存器一定处于清零状态,我们同样利用刚才的或非门电路进行控制,只要存在一个高电平,输出端即为低电平,直接连接到另外一个寄存器的清零端就可以实现置零功能(74194的清零端是低电平有效),这样即可保证当另一方的球传入本区域中,之前寄存器的输出数据端已处于清零的状态,可以进行移位。 这里用或非门实现本模块的功能,即当线路初始处于清零状态时,或非的结果是高电平,即传送1(表示发球),只要线路中存在高电平,或非的结果就是低电平,故在一个节拍发生器四个脉冲范围内,第一个节拍对应高电平,此后均为低电平,实现了1000的串行输入。或非门实现串行送1000序列到74194移位端口图4.1.2 或非门实现串行移位送数左右移位端,连或非门实现串行送数我们采用节拍发生器1对移位脉冲进行控制,利用下面的框图结构,可以产生可以调节的四个节拍,其中节拍的间隙即代表了速度的大小情况,由于四个节拍是在不同的输出端分别产生的,而我们需要的是连续的四个脉冲对寄存器的时钟信号进行控制,这里我们用或门来把四个节拍脉冲信号联系起来,只要有击球脉冲,就可发出四个连

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 总结/报告

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号