二维乒乓球——数字电路与逻辑设计实验报告VHDL.doc

二维乒乓球——数字电路与逻辑设计实验报告VHDL.doc

  1. 1、本文档共32页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
PAGE 1 PAGE 1 . 数字电路与逻辑设计实验 实验报告 姓 名:XXX 班 级:xxxxxxxx 学 号:xxxxxxxx 一、设计课题的任务要求 两人乒乓球游戏机是以8*8点阵作为场地,中间的6*6共36个点作为球台,最外围的一圈点作为球拍移动的轨道,并通过数码管显示双方的局数和比分。双方个通过3个按钮控制球拍的上下移动及发球(场上无球时)。球接触到球拍后会自动改变方向和速度(在一定范围内)。当球在甲方的半场移动出球台范围后,乙方得分,然后重新发球。直到达到规定比分后,比赛结束。 以8*8点阵作为场地,中间的6*6共36个点作为球台,最外围的一圈点作为球拍移动的轨道,通过两个按键控制球拍的移动; 球的移动速度:在x,y方向上均为0.2s/点~0.6s/点(可为0),会在击球时按一定规则自动改变; 通过按钮移动球拍,球拍不能移出自己的半场(8*4); 球出界后,自动判定得分,球从球场中消失,等待下一次发球; 用数码管显示局数和比分,参考正式比赛规则,采用7局4胜制:当一方得分超过11分,并超过对方两分时,本局比赛结束,当一方率先赢得4局时,比赛结束,此时数码管保持最终比分。 按下复位键,比分清零,双方重新开始比赛; 双方按乒乓球比赛规则获得发球权,没有发球权的一方,发球开关无效。 二、系统设计 1、设计思路 用x,y两坐标表示8*8点的每个点。分别用一组信号表示球和两球拍的坐标,以及球的移动速度。以一定周期(0.1s),改变球的坐标,以达到移动球的目的,用一组信号(xm、ym)记录球经过几个周期(0.1s)在想x或y方向上移动一个点,通过改变这两个信号的大小,即可控制球移动的速度和方向。 球拍的移动由按钮控制,鉴于球拍只在最外圈移动,只需要上下两个按钮即可。当球拍在y方向上移动到边缘时,会自动转为在x方向上移动。球拍长度为3个点,只需记录中间点的位置即可。当球与球拍接触时(球的坐标与球拍中心的坐标在x,y两个方向的差均不大于1),根据球与球拍中心的相对位置,改变xm、ym,从而将球击回。 当球位于边缘部分时,自动更新比分,并将球的坐标更改为特殊值(x=0),使球在台面上消失。此时发球按钮生效,按下发球按钮后,会将球的坐标及球速按一定规则重置,球再次开始移动。当比分符合一定规则时,将自动清零,并更新局数,有一方局数为4时,时分频器不再提供时钟信号。所有功能停止,系统保持在最后状态,直到复位。 系统时钟为50MHz,通过两级分频器分别产生1kHz和10Hz的时钟信号供各模块使用。数码管和8*8点钟使用1kHz的时钟信号,以扫描方式输出,其中球拍和球台与球在不同周期交替显示,以简化系统。1kHz的时钟信号同时用于按键防抖动。10Hz时钟信号用于球的坐标更新以及出界、击球等状态的判定。 2、总体框图 3、分块设计图 4、流程图 注:图中梯形表示按键输入 5、状态转移图 三、波形仿真及波形分析 1、分频器 本设计中用到1000Hz和10Hz的时钟信号,采用两级分频器,由50MHz的主时钟信号产生。 分频器1:输入50MHz时钟信号,产生1000Hz时钟信号(占空比为调节,为1/50000) 分频器2:输入1000Hz时钟信号(分频器1产生),产生10Hz时钟信号(占空比为调节,为1/100) 2、球拍移动 本模块集成了按键防抖动功能。 lf为向上移动,ri为向下移动,reset重置;1、2表示两名球员。球拍(racket)的坐标(rx1,ry1为球拍1的横纵坐标,rx2,ry2为球拍2的横纵坐标)表示其位置。球拍在8*8场地的最外圈移动,却不会超出各自半场。Reset键按下时,坐标复位 3、球台显示 根据输入的球坐标(x,y)球拍坐标(racketx,rackety)显示球,球台和球拍。row,colg和colr为控制矩阵显示的输出,输出为扫描方式。 特别要指出的是,所有坐标的有效范围均不超过为1-8(特别的x为0不显示球),而球拍只能在8*8矩阵的最外围显示。波形中超出此范围的赋值不予考虑。 4、数码管输出 数码管采用扫描输出,cat1-6(共阴极)分别对应,球员1的局数(innings1),比分的十位、个位(score11,score10),球员2比分的十位、个位(score21,score20),局数(innings2)。app为数码管输出,cat为共阴极,0电平选通。 5、球移动 由于情况过多,顾不采用枚举法,而通过仿真依次验证其功能。 发球后球在两板的中间点间反弹,速度逐渐上升(范围0-5,到达5后不再上升)racketx、y分别为板的横纵坐标,xmo、ymo为两方向上的移动速度,球的坐标以xmo、ymo为速度,按一定周期改变。 xo、yo为球的横纵坐

文档评论(0)

小教资源库 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档