北京邮电大学数电实验——打地鼠

2018-11-29 16:30

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”。

4、 按复位键重新开始游戏,并开始倒计时。

二、系统设计

1.设计思路

用8*8双色点阵显示游戏界面,其中游戏边界使用6*6,红色LED灯表示地鼠出现,4*4键盘对应锤子,两个数码管显示游戏倒计时,两个数码管显示分数,当游戏成绩达到十分时游戏结束,点阵显示“V”,当游戏时间超过59秒而成绩未达到10分时,游戏失败,点阵实现“X”。 2. 总体框图 开始

开始倒计时 地鼠出现 是 是 倒计时结束 记分加一 锤子打中 否 记分达到十分 地鼠保持2秒 否 是

游戏成功 游戏失败 复位

3. 分块设计

分频模块 判断模块 键盘模块 控制模块 分数模块 到计时模块 地鼠模块 三、仿真波形及波形分析

因按照原程序仿真时间过长,所以将原程序所有分频统一调小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; ------------------------------------------------------------- kbrow: in std_logic_vector(3 downto 0); kbcol:out std_logic_vector(3 downto 0); ---键盘 --------------------------------------------------------- row: out std_logic_vector(7 downto 0); colg: out std_logic_vector(7 downto 0); colr: out std_logic_vector(7 downto 0); -------------------------------------------------------- shumaguan:out std_logic_vector(6 downto 0); catout: out std_logic_vector(5 downto 0) ;----数码管 --------------------------------------------------------------------


北京邮电大学数电实验——打地鼠.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:部编人教版八年级语文上册第三单元测试卷(附答案)

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: