VHDL贪吃蛇报告.docVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
VHDL贪吃蛇报告

电子制作 简易贪食蛇游戏机 学院:电气信息工程学院 专业:信息工程 姓名:地力亚尔 学号一 .设计课题的任务要求 用一个 8×8 点阵做为基本显示屏,4 个连续移动的的发光点表示一条蛇,用任意出现的一个亮点表示老鼠,用4 个排成一条线的发光点表示“墙”,用四个按键控制蛇的运动方向,完成贪食蛇游戏,蛇撞“墙”、边或者游戏时间到,则游戏结束。 1. 老鼠出现的地方是随机的,在某个地点出现的时间是蛇走15步的时间,如果15步之内没有被吃掉,它就会在其它地方随机出现; 2. 用数码管显示得分情况和游戏的剩余时间(时间满为0~49共50秒),每吃掉一只老鼠就加一分。 二.系统设计 1 设计思路: 根据8×8点阵共有64个点,设置含有64个状态的状态机。状态的转移方式由当前方向决定,由于设置蛇共有4个点,因而输出为4个状态。通过方向状态机控制“贪食蛇”移动的方向,通过移动状态机实现“贪食蛇”四个点(4个状态)位置的改变。后将此4状态输出到循环显示电路,通过计数器循环显示当前“贪食蛇”所在位置,通过方向控制键的随机性设置随机显示改变老鼠的位置,通过坐标判断来改变蛇的状态和得分。最后利用循环实现并行到串行的装换,后经译码电路输出。 2 总体框图: (1)系统结构图 (2)逻辑流程图 流程图 是 MDS图 (3)功能模块图 3 模块设计 分频模块+RESET鼠位控制模块: 分频器:因为原有低频时钟为1MHZ,故11将时钟周期设为CLK的1024倍能比较好的识别和操作。其中,点阵显示扫描模块和数码管显示模块以CLK为时钟工作,贪食蛇的游戏过程设定是按CLK的1024倍时钟周期来运行。 RESET控制和鼠位:RESET由SW1控制,当RESET置1时,鼠位初始化为最初值,蛇的死亡状态DEATH置为1,由于在不同进程中不能对同一信号赋值因此鼠位置TX、TY和蛇死亡状态DEATH都在该进程中赋值。 两部分if语句:⑴.当总计时时间为满49秒时,蛇重置为活动状态DEATH=‘0’,当总计时时间为0秒时,蛇状态DEATH=‘1’,在总时间计时期间如果蛇撞到墙则蛇状态DEATH=‘1’。 ⑵.当蛇状态DEATH=‘1’,或是鼠15步倒计时时间到, 或是蛇吃到鼠,则鼠的位置根据当前方向键的随机性来重新赋值。 改模块曾经尝试将分频与控制模块分开成两个进程,但是增加了宏单元使用,为了实验的可完成性故将两个模块并为一个进程。 游戏模块: 游戏初始化: 时钟周期为clk的1024倍即TMP(9)。8*8的点阵共64位的状态机,蛇是输出4个状态的状态机。在游戏开始时,蛇、鼠的位置初始化,倒计时时钟、老鼠时钟、得分显示、蛇的初始运动方向向右。 1.鼠: 老鼠15步时钟倒计时。如果鼠被蛇吃掉则计分加1。 2.总倒计时: 一但总时间到或游戏重新开始,倒计时重新赋值。 3.蛇: 根据输入的方向键信号,改变方向控制信号TURN的只,进而改变蛇头坐标。蛇身坐标按照前一位置的坐标依次赋值。在这过程中判断: 当蛇的输入方向与本身运动方向相对时,则蛇不改变运动方向,即蛇本来向上运动,方向向下的操作将不起作用。 当蛇的坐标和运动方向会撞边时,蛇的生存状态改为死,游戏自动重启。 显示模块: 因为所有状态不能同时显示,故循环显示电路分别扫描。CLK时钟下以6为周期循环,根据视觉暂留则可看到较为稳定的画面。 T=0时,扫描老鼠坐标。 T=1时,扫描蛇头坐标和左数第一个数码管为SCORE显示 T=2时,扫描蛇身2坐标 T=3时,扫描蛇身3坐标和左数第三个数码管为总计时高位计时显示 T=4时,扫描蛇身4坐标。 T=5时,扫描墙的坐标和左数第四个数码管为总计时的低位计时显示。 功能说明: 1 游戏重置:拨码开关SW1置‘1’时,游戏重启。蛇位置、老鼠位置初始化,得分显示为0,倒计时显示为40. 2方向控制:btn1、btn2、btn3、 btn4、分别对应控制蛇的左、下、上、右来移动蛇身。 3 当蛇撞墙时,蛇死,游戏重启。 4 当蛇撞边时,蛇死,游戏重启。 5 当蛇吃到老鼠时,计分加1,老鼠改变位置。 6 当蛇在老鼠的时钟内未吃到老鼠时,老鼠改变位置。 7 当蛇在总时间倒计时时钟到时之时,游戏自动重启。 三.仿真波形和波形分析 此图为TMP(1)即2倍CLK分频时钟情况下的波形图。如图中所示,设置游戏玩家一直按向上按键,可观察到波形的行列值的变化。由于程序初始设计时行列和点阵行列不一致。 ○○○○○○○○ ●○○○○○○○ ○○○○○○○○ ●○○○○○○○ ○○○○○●○○ ●○○○○○○○ ○○○●○●○○ ●○○○●○○○ ○○○○○●○○ ○○○○○○○○ ○○○○○●○○ ○○●●●●○

文档评论(0)

yurixiang1314 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档