燕山大学EDA课程设计乒乓球游戏机.docx
《燕山大学EDA课程设计乒乓球游戏机.docx》由会员分享,可在线阅读,更多相关《燕山大学EDA课程设计乒乓球游戏机.docx(8页珍藏版)》请在冰豆网上搜索。
![燕山大学EDA课程设计乒乓球游戏机.docx](https://file1.bdocx.com/fileroot1/2023-1/6/b1dcc181-d62e-4936-9cac-8c78e0de3538/b1dcc181-d62e-4936-9cac-8c78e0de35381.gif)
燕山大学EDA课程设计乒乓球游戏机
燕山大学
EDA课程设计报告书
题目:
乒乓球游戏机
姓名:
班级:
学号:
成绩:
一、设计题目及要求
1.用8个发光二极管表示球;用两个按钮分别表示甲乙两个球员的球拍;
2.一方发球后,球以固定速度向另一方运动(发光二极管依次点亮),当球达到后一个发光二极管时,对方击球(按下按钮)球将向相反方向运动。
过早或过晚击球视为犯规,系统自动给对手加1分;
3.甲、乙各有两个数码管计分(11分制),每两球换发一次发球方。
4.裁判有一个按钮,系统初始化和每次得分后按下一次,发球方的第一个LED会被点亮。
二、设计过程及内容
1.总体设计
根据题目设计要求,该乒乓球游戏机主要分为六个模块进行设计,其分别为ping-pong模块、control模块、score模块、change模块、clk模块、scan模块。
ping-pong模块实现了乒乓球的运动的功能;control模块实现了乒乓球的往返运动的功能;score模块实现了球员的计分的功能;change模块实现了裁判按下按键后换发球方的功能;clk模块实现了产生有效脉冲和分频的功能;scan模块实现了扫描的功能。
总电路图如下:
总仿真图如下:
2.主要模块设计
(1)pingpong模块
该模块的功能由双向移位寄存器74198和门电路实现。
8个输出端的接LED灯,灯的亮灭代表乒乓球运动的轨迹。
输入端sl为高电平(sr为低电平)和sr为高电平(sl为低电平)表示小球的左移和右移,sr、sl同时为高电平时表示甲(set为低电平)或乙(set为高电平)为发球方。
clk接时钟信号表控制乒乓球移动速度的大小,频率越大移动越快。
该模块的仿真图如下:
(2)control模块
该模块的功能由双D触发器7474和门电路实现。
输入端A、B分别代表甲、乙两位球员,输入端J代表裁判。
当输入端Q0为高电平时代表乒乓球到达甲处,甲按下按键产生一个低电平脉冲,通过clk模块产生高电平脉冲,通过此模块使sr为高电平,sl为低电平,乒乓球向相反方向移动,过早或过晚击球不会通过与门产生高电平,乒乓球不会反向移动。
当裁判按下按钮后,通过clk模块产生高电平脉冲,通过非门使7474处于置数状态,发球方的第一个LED灯点亮。
该模块的仿真图如下:
(3)clk模块
该模块的功能由两片双D触发器7474和两个D触发器以及相应的门电路实现。
当在一局比赛中球员多次按下按键也只有第一个上升沿有效(当对手或裁判按下返回原状态),从而产生脉冲。
该电路也有防抖动功能,避免加分错误。
下面的D触发器将时钟信号二分频,使得乒乓球运动速度适中,上面的D触发器消除毛刺。
该模块的仿真图如下:
(4)change模块
该模块的功能由集成4位二进制加法计数器74161组成。
Set循环输出0011,0低电平代表甲发球,1高电平代表乙发球,实现每两次换一次发球方的功能。
该模块的仿真图如下:
(5)score模块
该模块的功能由两片十进制计数器74160、D触发器和门电路实现。
两片74160分别控制个位和十位的分数,实现十二进制计数(十一分制)的功能。
当球员犯规时(AB和Q的状态在clk的上升沿不同,异或门输出高电平,计数器从而产生进位),自动给对手加1分,计分暂停(由右边的两个D触发器和或非门,反相器实现。
计分之后产生的上升或下降沿使或非门输出低电平,计数器停止工作),当裁判(j)按下之后继续计分,由于裁判按下按钮,AB和Q(发球方)的状态不一样,可能会计分,而左边的D触发器输出低电平,计数器不工作。
所以上面的3个D触发器防止了多次加分的可能性。
该模块的仿真图如下:
(6)scan模块
扫描电路通过74161计数器,输出2~5的数码管的地址循环,并通过4个74151数据选择器进行选择,74151的输入信号是得分模块中的个位十位,并由地址循环确定哪一路输入,输出接7448,经过7448使最后的输出结果在实验箱上的数码管显示,并由地址信号确定哪几个管亮,表示两位球员的比分。
三、设计结论
1.设计过程中出现的问题;
我们在设计control模块是遇到了竞争冒险,我们期望实现的与门封锁效果并不能稳定实现,于是我们外加了一个人为控制的输入端,可以手动控制与门的封锁和解锁。
在试验箱上实际操作时,在按下裁判键之前,先进行与门封锁,然后按下发球键,然后解锁与门。
2.对EDA课程设计感想、意见和建议
过这次课程设计,我们能够掌握EDA的基础知识,进一步加深对EDA的了解,也产生了更加浓厚的兴趣。
动手设计的过程中收获了很多课本中没有的东西。
学习了解了MAX+PULSSⅡ软件。
这次课程设计,从选题到分析题目,通过网络和书籍查找资料。
确定思路,划分模块,设计电路图。
然后分模块进行仿真。
最后将所有模块进行连接,形成总的电路图,检查无误后连接实验箱。
在这个过程中,我们也遇到了许多问题。
例如在clk模块中,如何解决在一局比赛中只选取球员和裁判的有效的脉冲的问题。
还有在score模块中,如何解决计数器重复加分的问题,即一次加分中只加一分就加分停止。
在scan模块中扫描电路的问题。
在change模块中,如何解决裁判按下按键后换发球方的问题等等。
除了在设计电路图方面遇到的问题,最后在实验箱操作时,clk频率的选择出现问题,不断尝试,最终获得适当频率。
从中我们学会了在碰到困难时要学会,耐心,思考,用自己的能力,尽力自己解决问题。
在此衷心感谢各位老师的帮助和悉心教导,使我们学习到了更多的知识,探求到更多解决问题的办法。
同样还感谢一起合作的同伴,正是因为大家的共同努力和坚持不懈的探索精神,才有了我们这次的成果!
此次课程设计让我们认识到高新技术的快速发展和应用,让我们看到了EDA技术功能的强大,也让我们认识到掌握他们的重要性,同时也看到了各自的差距与不足。
只有今后坚持不懈地努力学习,拓宽知识面,才能更好的掌握新技术。
四、组内分工
clk模块、control模块实现。
change模块、scan模块实现。
pingpong模块、score模块实现;总电路图模块汇总;
实验报告撰写。