【网学提醒】:本文主要为网上学习者提供基于DSP的乒乓球游戏设计,希望对需要基于DSP的乒乓球游戏设计网友有所帮助,学习一下吧!
资料包括: 论文(15页2919字) 源码 图纸
说明:摘要:两人乒乓球游戏是用9个发光二极管代表乒乓球台,中间的发光二极管兼做球网,以一排发光管交替发光指示乒乓球的行进路径,其行进的速度可由输入的时钟信号clk 控制。甲、乙两人按照乒乓球比赛规则来操作。board 是乒乓板接球控制模块,甲击球时靠近的第一个发光二极管亮,然后发光二极管由甲到乙依次点亮,代表乒乓球的移动。当发光管亮到最后一个的瞬间,若检测到对应的表示球拍的键的信号,立即将“球”反向运行,如果此瞬间没有接到键信号,将给出出错鸣叫,则判乙方失分,甲方的积分牌自动加分。然后重新发球,并将记分显示出来;比赛继续。比赛一直进行到一方的积分牌到达21分,该局结束。乙击球同样如此。在游戏中, cou4 和cou10 分别是失球计数器的高低位计数模块;mway 是乒乓球行进方向控制模块,主要由发球键控制;sound 是失球提示发声模块。
二 任务书
(1)设计一个乒乓游戏机,该机模拟乒乓比赛的基本过程和规则,并能自动记分。
(2)乒乓球的位置和移动方向由灯亮及依次点亮的方向决定。球速可调。
(3)比赛按21分为一局进行,甲乙双方都应设置各自的记分牌,任何一方先记满21分,该方就算胜出。按复位键将记分牌清零后,可开始新的一局比赛。
目录:一 摘要……………………………………………………………………………………… 1
二 任务书 …………………………………………………………………………………….1
三 系统框图与引脚…………………………………………………………………………. 1
四 乒乓球游戏状态转移图…………………………………………………………………. 2
五 乒乓球游戏VHDL设计RTL综合电路结构图………………………………………….. 3
六 源
程序及其仿真波形……………………………………………………………………. 4
(1)乒乓球游戏顶层文件…………………………………………………………………… 5
(2)失球提示发声模块文件………………………………………………………………….6
(3)乒乓球前进方向产生模块文件………………………………………………………….7
(4)四进制计数器用来做失球高位计数文件……………………………………………… 7
(5)十进制计数器用来做失球低位计数文件……………………………………………….8
(6)乒乓拍模块文件………………………………………………………………………….9
(7)乒乓球灯模块文件……………………………………………………………………… 9
(8)总控制模块文件………………………………………………………………………….10
七 总结 ……………………………………………………………………………………… 11
八 参考文献…………………………………………………………………………………….11
参考文献:(1)杭州康芯电子有限公司 SOPC_EDA实验讲义_GW48-PK2 第一章 29-33页。
(2)黄任 VHDL入门解惑 北京航空航天出版社2005 第九章 144-155页。
(3)潘松,黄继业 清华大学出版社SOPC技术实用教程2005。
作者点评:(1)硬件测试
操作步骤:选择实验电路模式3(用琴键方式);clock5接1024Hz,为失球提示提供声响频率;clock1接4Hz,乒乓球行进提供时钟信号;选手甲的模拟球拍是键8,选手乙的模拟球拍是键1,可由一方先发球(按键);双方失球分数分别显示于数码管7/6。
顶层设计的各端口功能:选择实验电路模式3,bain和bbin分别为左右球拍控制信号,可分别由键8和键1控制;clr是清零控制,可由键7控制;clr是乒乓球的行进速度时钟(即发光管的亮灯传递速度),可接clock2,4Hz;souclk是失球提示发声时钟,可接clock5,1024Hz;ballout[7..0]指示球路行进情况,可用8个发光管,即发光管D1~D8担任;countbh[3..0]和countbl[3..0]可接数码管7和6,分别指示右边球手的得分的高位和低位;lamp接数码管7的一个段,指示clock2速度;speaker接蜂鸣器,指示失球提示:
(2)心得体会
本实验让我熟悉了原理图输入设计法的运用,也掌握了底层和顶层文件的建立与运用。实验中需要将设计好的原理图文件包装入库才能被顶层的文件调用,否则在顶层无法调用它;另外波形仿真分为时序仿真和逻辑仿真,时序仿真能得出硬件测试时器件延迟等的仿真结果,而逻辑仿真只能得出纯粹的逻辑关系仿真,但这对于检查电路的逻辑关系比较有帮助,因为有了延时,可能会使时序关系和逻辑关系有所不同;在下载测试时应该用时序编译,否则不能
下载到开发板。实验中需要用例化语句和生成语句来调用底层的文件,用例化语句和生成语句可以使
程序简单易读。