欢迎来到冰豆网! | 帮助中心 分享价值,成长自我!
冰豆网
全部分类
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • 党团工作>
  • ImageVerifierCode 换一换
    首页 冰豆网 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    数字电路实验打地鼠游戏设计与实现复习课程Word格式文档下载.docx

    • 资源ID:14145460       资源大小:128.23KB        全文页数:23页
    • 资源格式: DOCX        下载积分:12金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要12金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    数字电路实验打地鼠游戏设计与实现复习课程Word格式文档下载.docx

    1、3.4 点阵显示模块 053.5 键盘控制模块 063.6 计分模块 063.7 计时模块 063.8 译码器模块 074、源程序 074.1 分频器 074.2 随机数产生模块 084.3 防抖模块 104.4 点阵显示模块 104.5 键盘控制模块 124.6 计分模块 134.7 计时模块 144.8 译码器模块 15五、 功能说明及资源利用情况 016六、 故障及问题分析 016七、 总结与结论17一、 设计任务与要求1、 设计一个挑战反应速度的“打地鼠”游戏,采用用88 双色点阵显示游戏界面,其中游戏边界采用绿色LED 显示,随机出现的地鼠采用红色LED 显示,游戏有16 个洞穴。

    2、2、 游戏洞穴每次随机出现一个地鼠,每个地鼠的最长保持时间为2 秒,2 秒后随机出现下一个地鼠。以44 键盘的按键代表锤子,16 个洞穴与16 个按键一一对应,一旦锤子在2 秒内击中地鼠,地鼠消失,数码管计分器分数加1 分;若锤子一直没有击中地鼠,2 秒后该地鼠消失。用两个数码管显示游戏成绩,当游戏成绩达到10 分时游戏结束,点阵显示字符“V”。3、 用两个数码管对整个游戏进行倒计时,当游戏时间超过59 秒而成绩未达到10 分时,游戏失败,点阵显示字符“X”。4、 按复位键重新开始游戏,并开始倒计时。二、 系统设计 2.1 设计思路 地鼠显示:4*4的红色点阵边界显示:6*6的绿色点阵结束画面

    3、:绿色的“V”形胜利画面,红色的“X”形失败画面计时和计分显示:各用2个数码管,共4个数码管锤子控制:4*4的键盘开关控制:1个拨码开关用拨码开关开始游戏,6*6绿色点阵常亮,红色点阵亮的位置表示地鼠出现,按下相应的键盘即算 打中,计1分,记到10分游戏结束显示绿色“V”。游戏时间共计60秒,时间为0,分数未到10分, 游戏结束显示红色“X”。用50MHz作为基本信号源,分频得到500Hz和1Hz。 2.2 总体框图 2.3 分块设计A.游戏准备模块:1.随机数产生模块:将一个4位的二进制数的第一位与最后一位进行异或运算后,作为随机数种子,并且每次运算完将前三位与种子进行合并,产生周期为21的

    4、伪随机数,通过计数控制地鼠持续2秒,通过返回的得分信号改变得分后地鼠的位置。B.游戏核心模块:1.点阵显示模块:用于显示地鼠和边界,以及结束时胜利或失败的画面。2.键盘控制模块:通过对地鼠对应位置的列进行扫描,比较返回的键盘行信号,打到地鼠即输出得分脉冲信号。C.进程显示模块:1.计分模块:通过接收得分脉冲信号,进行计分,每次开始预制值为0。2.计时模块:使用1Hz的时钟信号进行倒计时,每次减1,开始时预制值为60。D.辅助模块:1.分频器模块:将50MHz的信号分频成1Hz用于计时和500Hz用于其他功能。2.防抖模块:用500Hz的信号进行计数,只有持续6个时钟周期以上的按键信号才会进入

    5、按键控制模块,从而达到防抖的作用。3.译码器模块:将计分和计时模块传来的信号进行译码,输出到数码管,实现计分和计时 的显示。三、 仿真波形及波形分析3.1 分频器模块clk:50MHz的时钟信号clk_1Hz:1Hz的时钟信号clk_500Hz:500Hz的时钟信号reset:复位信号波形分析:为便于仿真,这里clk使用的是周期为1us的信号,clk_500Hz为clk的10分频信号,clk_1Hz为clk_1Hz的6分频信号。实际中的分频器是先将50MHz信号进行100000分频,得到500Hz信号,再对500Hz信号进行500分频得到1Hz信号。3.2 随机数产生模块500Hz时钟信号nu

    6、m:4位二进制随机数score:得分信号1.通过12个自制D触发器的连接及其中4位的异或,产生12位的二进制随机数,从中取出4位作为地鼠位置的随机数。2.通过计500Hz信号1000次,从而控制地鼠持续2秒。3.只要打中地鼠,即接收到得分的脉冲信号,立即产生新的随机数。3.3 防抖模块keyin:键盘输入信号keyout:键盘输出信号当输入信号持续时间小于6个时钟周期(即12ms)时,视为抖动不输出。当信号持续时间多于6个时钟周期时,视为正常按键,输出。3.4 点阵显示模块图一图二图三col:点阵的列failed:失败信号地鼠位置raw:点阵的行win:胜利信号1.游戏正常进行时,点阵根据nu

    7、m显示地鼠位置,如图一,num为0001,点阵在第0行,第1列显示地鼠,显示6*6的游戏边界。2.游戏胜利时,如图二,点阵根据win信号显示绿色V。3.游戏失败时,如图三,点阵根据failed信号显示红色X。3.5 键盘控制模块键盘的列键盘的行为便于仿真,将第3行的按键全部按下。当地鼠位置为12时,地鼠处在第3行和第0行的位置,此时扫描键盘第0列,得到匹配行信号,证明打到地鼠,输出score信号。以此类推,同行的14,13,15也输出score信号。3.6 计分模块gewei:计分模块的个位scoreover:得到10分的信号shiwei:计分模块的十位每接收一个得分信号,个位加一分,直到记到

    8、10分,进位,十位变1,个位变0,。同时输出scoreover信号,代表计到10分。3.7 计时模块计时的个位计时的十位timeover:游戏时间结束信号复位后,十位的预制值为6,个位的预制值为0,每过一秒个位减一。当个位十位都为0时,输出timeover信号,表示游戏时间结束。3.8 译码器模块cat:数码管扫描信号in_score_0:得分的个位in_score_1:得分的十位in_time_0:in_time_1:output:数码管七段显示信号Cat从111110到110111循环,4个数码管被循环点亮,如图所示,这4个数码管分别对应得分的个位,得分的十位,时间的个位,时间的十位。四、

    9、源程序4.1 分频器模块library ieee;use ieee.std_logic_1164.all;entity fenpinqi is port( clk : in std_logic; -时钟输入 reset : -复位信号 clk_1Hz: out std_logic; -1Hz输出 clk_500Hz: out std_logic -500Hz输出 );end fenpinqi;architecture a of fenpinqi is signal clk_500Hz_tmp : std_logic; signal clk_1Hz_tmp :std_logic; signal

    10、count1 : integer range 0 to 49999; signal count2 : integer range 0 to 249;begin process(clk) begin if reset=0then clk_500Hz_tmp=; count1=0; else if (clkevent AND clk=1) then if count1=49999 then =not clk_500Hz_tmp; else=count1+1; end if; end process; clk_500Hz=clk_500Hz_tmp; -将50M做100000分频得到500Hz process(clk_500Hz_tmp) clk_1Hz_tmp count2 if (clk_500Hz_tmpevent AND clk_500Hz_tmp= if count2=249 then =not clk_1Hz_tmp;=count2+1; clk_1Hz=clk_1Hz_tmp; -将500Hz做500分频得到1Hzend a;4.2 随机数产生模块use ieee.std_logic_arith.all;ENTITY sjss IS PORT(IN STD_LOG


    注意事项

    本文(数字电路实验打地鼠游戏设计与实现复习课程Word格式文档下载.docx)为本站会员主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2022 冰点文档网站版权所有

    经营许可证编号:鄂ICP备2022015515号-1

    收起
    展开