北邮数字电路综合实验打地鼠游戏的设计与实现.docxVIP

北邮数字电路综合实验打地鼠游戏的设计与实现.docx

  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文档。上传文档
查看更多
北邮数字电路综合实验打地鼠游戏的设计与实现

数字电路与逻辑设计实验报告打地鼠游戏的设计与实现 学院:信息与通信工程学院班级:2013211117 姓名:李昊然学号:2013210486 序号:02 课题:打地鼠 一.课题的任务要求基本要求:1、 设计一个挑战反应速度的“打地鼠”游戏,采用用8×8 双色点阵显示游戏界面,其中游戏边界采用绿色LED 显示,随机出现的地鼠采用红色LED 显示,游戏有16 个洞穴,如图1 所示。图1 打地鼠游戏示意图2、 游戏洞穴每次随机出现一个地鼠,每个地鼠的最长保持时间为2 秒,2 秒后随机出现下一个地鼠。以4×4 键盘的按键代表锤子,16 个洞穴与16 个按键一一对应,一旦锤子在2 秒内击中地鼠,地鼠消失,数码管计分器分数加1 分;若锤子一直没有击中地鼠,2 秒后该地鼠消失。用两个数码管显示游戏成绩,当游戏成绩达到10 分时游戏结束,点阵显示字符“V”。3、 用两个数码管对整个游戏进行倒计时,当游戏时间超过59 秒而成绩未达到10 分时,游戏失败,点阵显示字符“X”。4、 按复位键重新开始游戏,并开始倒计时。提高要求:1、 增加游戏难关,在边界内每次随机出现两个地鼠,两个地鼠的最长保持时间均为2秒,2 秒后随机出现下两个地鼠,锤子击中一个地鼠加1 分,当游戏成绩达到20 分而且游戏时间未超过59 秒时,游戏结束,显示字符“V”,否则显示字符“X”。2、 自拟其他功能。二.系统设计(一)设计思路程序采用自顶向下设计的思路,先将主程序启动,然后依次进行多级分频,并逐个执行子程序,主程序为点阵中显示边框背景及随机出现地鼠,子程序包括数码管计分和计时部分、时钟部分、键盘部分以及逻辑判断部分等。(二)总体框图开始 生成边框60s是否到时否是生成随机位置地鼠打地鼠是2s内击中地鼠否加1分输积分是否达到10分赢结束(三)分块设计1. 输入部分:外部时钟信号CLK频率为25MHz,为程序提供初始的有效时钟边沿。复位信号输入CLEAR为高电平有效,当CLEAR为1时,数码管、点阵、计数器等都返回到初始状态。键盘输入值由两个四位二进制数分别表示行和列的状态。2. 逻辑判断模块:通过检测键盘返回值是否与点阵上出现地鼠的位置相对应,判断“打”是否有效。通过60s倒计时的计数器是否为0判断游戏是否到时。通过一个模为10的计数器判断得分是否达到游戏要求。3.输出部分:由译码电路,根据SEG_SELECT信号的扫描、对SEG_SHOW赋予不同的值,实现在四个数码管上分别显示两位60s倒计时和两位计分。点阵根据LED_ROW的扫描、和LED_COL_G、LED_COL_R的值显示游戏的边框、地鼠出现的位置以及结束画面,利用人眼的视觉延缓效应,当行扫描时钟信号clk的频率50Hz,可以达到六行点阵同时显示的效果。 4.键盘输入部分:以1k Hz的频率进行列扫描,将键盘检测到的行和列的二进制数KEY_COL和KEY_ROW组合起来,赋值给一个四位二进制数CODE,记录按键的位置,方便与地鼠在点阵上的位置相比较。三.仿真波形及波形分析1.分频由波形可知,对输入时钟信号clk进行了4倍分频2.绿色灯示边框在行数为1和6时,每列都亮,在行数为2、3、4、5时,亮第1和第6列,从而形成一个6*6的边框。3.随机出现地鼠地鼠可能出现在随机的行和列当lose信号为1时,点阵显示×4. 数码管会在第一个到第四个之间来回扫描5.给键盘行值赋予一个随机值,程序进行列扫描,当键盘输入值与点阵值相对应时,积分信号score会+1,由于是随机赋值,所以恰好碰上的概率较小,加分的时间较长四.源程序LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY dds IS PORT( CLK:IN STD_LOGIC; --输入时钟 LED_ROW:OUT STD_LOGIC_VECTOR(7 DOWNTO 0); --点阵行 LED_COL_G:OUT STD_LOGIC_VECTOR(7 DOWNTO 0); --点阵列 绿色 LED_COL_R:OUT STD_LOGIC_VECTOR(7 DOWNTO 0); --点阵列 红色 SEG_SELECT:OUT STD_LOGIC_VECTOR(5 DOWNTO 0);--数码管位置扫描 SEG_SHOW:OUT STD_LOGIC_VECTOR(6 DOWNTO 0); --数码管显示 KEY_COL:OUT STD_LOGIC_VECTOR(3 DOWNTO 0); --键盘列 KEY_ROW:IN STD_LOGIC_VECTOR(3 DOWNTO 0); --键盘行 CLEAR:IN STD_LOGIC; --复位信号 LIGHT:O

文档评论(0)

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

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

1亿VIP精品文档

相关文档