1 / 16
文档名称:

DSP乒乓球游戏设计.doc

格式:doc   大小:517KB   页数:16页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

DSP乒乓球游戏设计.doc

上传人:tmm958758 2019/5/18 文件大小:517 KB

下载得到文件列表

DSP乒乓球游戏设计.doc

文档介绍

文档介绍:电子信息与电气工程系课程设计报告设计题目:DSP乒乓球游戏设计系别:年级专业:学号:学生姓名:指导教师:目录一摘要………………………………………………………………………………………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基于DSP的乒乓球游戏设计一摘要两人乒乓球游戏是用9个发光二极管代表乒乓球台,中间的发光二极管兼做球网,以一排发光管交替发光指示乒乓球的行进路径,其行进的速度可由输入的时钟信号clk控制。甲、乙两人按照乒乓球比赛规则来操作。board是乒乓板接球控制模块,甲击球时靠近的第一个发光二极管亮,然后发光二极管由甲到乙依次点亮,代表乒乓球的移动。当发光管亮到最后一个的瞬间,若检测到对应的表示球拍的键的信号,立即将“球”反向运行,如果此瞬间没有接到键信号,将给出出错鸣叫,则判乙方失分,甲方的积分牌自动加分。然后重新发球,并将记分显示出来;比赛继续。比赛一直进行到一方的积分牌到达21分,该局结束。乙击球同样如此。在游戏中,cou4和cou10分别是失球计数器的高低位计数模块;mway是乒乓球行进方向控制模块,主要由发球键控制;sound是失球提示发声模块。二任务书(1)设计一个乒乓游戏机,该机模拟乒乓比赛的基本过程和规则,并能自动记分。(2)乒乓球的位置和移动方向由灯亮及依次点亮的方向决定。球速可调。(3)比赛按21分为一局进行,甲乙双方都应设置各自的记分牌,任何一方先记满21分,该方就算胜出。按复位键将记分牌清零后,可开始新的一局比赛。三系统框图与引脚输入输出引脚clk乒乓球的行进速度时钟bain左右球拍控制信号bbin右球拍控制信号clr清0控制souclk失球提示发声时钟ballout[7..0]球路行进情况,可用8个发光管担任countbh[3..0]指示左边球手的得分的高位countbl[3..0]指示左边球手的得分的低位countah[3..0]指示右边球手的得分的高位countal[3..0]指示右边球手的得分的低位speaker接蜂鸣器,指示失球提示lamp数码管7的一个段,指示clock2速度四乒乓球游戏状态转移图五乒乓球游戏VHDL设计RTL综合电路结构图(前半部分)(后半部分)六源程序及其仿真波形1乒乓球游戏顶层文件LIBRARYIEEE;;entityTENNISis port(bain,bbin,clr,clk,souclk:instd_logic; ballout:outstd_logic_vector(7downto0); countah,countal,countbh,countbl:outstd_logic_vector(3downto0); lamp,speaker:outstd_logic);end;ponentsound port(clk,sig,en:instd_logic; sout:outstd_logic);ponentballctrl port(clr,bain,bbin,serclka,serclkb,clk:instd_logic; bdout,serve,serclk,ballclr,ballen:outstd_logic);ponentball port(clk,clr,way,en:instd_logic; ballout:outstd_logic_vector(7downto0));ponen