- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
北京邮电大学数电实验打地鼠
2015-2016学年第一学期
数字电路实验报告
实验名称: 打地鼠实验
学 院: 信息与通信工程学院
专 业: 电子信息工程
班 级:
班内序号:
学 号:
姓 名:
北京邮电大学
时间:2015年11月8日
一、设计课题的任务要求
1、 设计一个挑战反应速度的“打地鼠”游戏,采用用8×8 双色点阵显示游戏界面,其
中游戏边界采用绿色LED 显示,随机出现的地鼠采用红色LED 显示,游戏有16 个
洞穴,如图1 所示。
2、 游戏洞穴每次随机出现一个地鼠,每个地鼠的最长保持时间为2 秒,2 秒后随机出
现下一个地鼠。以4×4 键盘的按键代表锤子,16 个洞穴与16 个按键一一对应,一
旦锤子在2 秒内击中地鼠,地鼠消失,数码管计分器分数加1 分;若锤子一直没有
击中地鼠,2 秒后该地鼠消失。用两个数码管显示游戏成绩,当游戏成绩达到10 分
时游戏结束,点阵显示字符“V”。
3、 用两个数码管对整个游戏进行倒计时,当游戏时间超过59 秒而成绩未达到10 分时,
游戏失败,点阵显示字符“X”。
按复位键重新开始游戏,并开始倒计时。
二、系统设计
1.设计思路
用8*8双色点阵显示游戏界面,其中游戏边界使用6*6,红色LED灯表示地鼠出现,4*4键盘对应锤子,两个数码管显示游戏倒计时,两个数码管显示分数,当游戏成绩达到十分时游戏结束,点阵显示“V”,当游戏时间超过59秒而成绩未达到10分时,游戏失败,点阵实现“X”。
记分达到十分开始倒计时记分加一地鼠保持2秒锤子打中地鼠出现倒计时结束开始2. 总体框图
记分达到十分
开始倒计时
记分加一
地鼠保持2秒
锤子打中
地鼠出现
倒计时结束
开始
是 是
复位游戏失败游戏成功 否
复位
游戏失败
游戏成功
否
是
分块设计
分数模块地鼠模块到计时模块键盘模块
分数模块
地鼠模块
到计时模块
键盘模块
判断模块分频模块
判断模块
分频模块
控制模块
控制模块
仿真波形及波形分析
因按照原程序仿真时间过长,所以将原程序所有分频统一调小1000倍,从而实现仿真中60ms等于实际过程中60s的效果,并在过程中人为设置按键,复位和暂停观察仿真结果。
3.1 数码管扫描
如图为键盘扫描波形。因为6个数码管的管脚连接在一起,无法使其同时显示不同的数字,所以需要对数码管进行扫描,使不同的数码管在不同的时间亮起,显示不同的数字,并通过人眼的视觉暂留效应实现数字的清晰显示。
3.2 键盘扫描
如图为键盘扫描波形。tempclk3(1000Hz)每发生一次,kbrow的一位变为低电平,其余三位为高电平,表示扫描该行,并记录此时数值。当kbrow的高位到低位依次变为低电平,表示进行了一次完整的扫描。
3.3 点阵扫描
如图为点阵扫描波形。Tempclk4(500Hz)每发生一次,row的一位变为低电平,其余七位为高电平,表示扫描该行,。当row的高位到低位依次变为低电平,表示进行了一次完整的扫描。
3.4 田地边界
如图为田地边界的显示(绿色LED灯)。此处稍作说明的是,此程序中的边界与课题要求中稍有不同,占据点阵正中央的6*6边界,完全对称。
3.5 地鼠出现
如图为地鼠出现模块波形。可以看到,当未按下或正确按下按键时,colr(红色LED灯)波形2s变化一次,即地鼠2s变化出现。当正确按下按键,波形立刻变化,即地鼠立刻变换位置。
3.6 暂停
如图为按下暂停键之后的波形。可以看到,点阵(colg和colr)不再亮起。程序暂停。
3.7 复位
如图为按下复位键之后波形。可以看到,colr的波形按照初始时刻波形重新变化,表示游戏重新开始。
源程序
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
-----------------------------------------------------
entity dadishu is
port(
clk: in std_logic;
rst: in std_logic;
原创力文档


文档评论(0)