欢迎来到天天文库
浏览记录
ID:31632437
大小:207.75 KB
页数:23页
时间:2019-01-16
《北京邮电大学数电实验——打地鼠》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、2015-2016学年第一学期数字电路实验报告实验名称:打地鼠实验学院:信息与通信工程学院专业:电子信息工程班级:班内序号:学号:姓名:北京邮电大学时间:2015年11月8日一、设计课题的任务要求1、设计一个挑战反应速度的“打地鼠”游戏,采用用8×8双色点阵显示游戏界面,其中游戏边界采用绿色LED显示,随机出现的地鼠采用红色LED显示,游戏有16个洞穴,如图1所示。2、游戏洞穴每次随机出现一个地鼠,每个地鼠的最长保持时间为2秒,2秒后随机出现下一个地鼠。以4×4键盘的按键代表锤子,16个洞穴与16个按键一一对应,一旦锤子在2秒内击中地鼠,地鼠消
2、失,数码管计分器分数加1分;若锤子一直没有击中地鼠,2秒后该地鼠消失。用两个数码管显示游戏成绩,当游戏成绩达到10分时游戏结束,点阵显示字符“V”。3、用两个数码管对整个游戏进行倒计时,当游戏时间超过59秒而成绩未达到10分时,游戏失败,点阵显示字符“X”。4、按复位键重新开始游戏,并开始倒计时。二、系统设计1.设计思路用8*8双色点阵显示游戏界面,其中游戏边界使用6*6,红色LED灯表示地鼠出现,4*4键盘对应锤子,两个数码管显示游戏倒计时,两个数码管显示分数,当游戏成绩达到十分时游戏结束,点阵显示“V”,当游戏时间超过59秒而成绩未达到10
3、分时,游戏失败,点阵实现“X”。记分达到十分开始倒计时记分加一地鼠保持2秒锤子打中地鼠出现倒计时结束开始2.总体框图是是复位游戏失败游戏成功否否是3.分块设计分数模块地鼠模块到计时模块键盘模块判断模块分频模块控制模块三、仿真波形及波形分析因按照原程序仿真时间过长,所以将原程序所有分频统一调小1000倍,从而实现仿真中60ms等于实际过程中60s的效果,并在过程中人为设置按键,复位和暂停观察仿真结果。3.1数码管扫描如图为键盘扫描波形。因为6个数码管的管脚连接在一起,无法使其同时显示不同的数字,所以需要对数码管进行扫描,使不同的数码管在不同的时间
4、亮起,显示不同的数字,并通过人眼的视觉暂留效应实现数字的清晰显示。3.2键盘扫描如图为键盘扫描波形。tempclk3(1000Hz)每发生一次,kbrow的一位变为低电平,其余三位为高电平,表示扫描该行,并记录此时数值。当kbrow的高位到低位依次变为低电平,表示进行了一次完整的扫描。3.3点阵扫描如图为点阵扫描波形。Tempclk4(500Hz)每发生一次,row的一位变为低电平,其余七位为高电平,表示扫描该行,。当row的高位到低位依次变为低电平,表示进行了一次完整的扫描。3.4田地边界如图为田地边界的显示(绿色LED灯)。此处稍作说明的是
5、,此程序中的边界与课题要求中稍有不同,占据点阵正中央的6*6边界,完全对称。3.5地鼠出现如图为地鼠出现模块波形。可以看到,当未按下或正确按下按键时,colr(红色LED灯)波形2s变化一次,即地鼠2s变化出现。当正确按下按键,波形立刻变化,即地鼠立刻变换位置。3.6暂停如图为按下暂停键之后的波形。可以看到,点阵(colg和colr)不再亮起。程序暂停。3.7复位如图为按下复位键之后波形。可以看到,colr的波形按照初始时刻波形重新变化,表示游戏重新开始。三、源程序libraryieee;useieee.std_logic_1164.all;u
6、seieee.std_logic_unsigned.all;-----------------------------------------------------entitydadishuisport(clk:instd_logic;rst:instd_logic;-------------------------------------------------------------kbrow:instd_logic_vector(3downto0);kbcol:outstd_logic_vector(3downto0);---键盘---
7、------------------------------------------------------row:outstd_logic_vector(7downto0);colg:outstd_logic_vector(7downto0);colr:outstd_logic_vector(7downto0);--------------------------------------------------------shumaguan:outstd_logic_vector(6downto0);catout:outstd_logic_v
8、ector(5downto0);----数码管----------------------------------------------------
此文档下载收益归作者所有