数字电路实验-打地鼠游戏设计与实现复习课程 下载本文

信息与通信工程学院

数字电路实验报告

姓 名: 班 级: 学 号: 班内序号: 指导教师: 实验日期:

题目:打地鼠游戏的设计与实现

目录

一、设计课题的任务与要求……………………………………………………… 03 二、系统设计……………………………………………………………………… 3

2.1 设计思路……………………………………………………………… 03 2.2 总体框图……………………………………………………………… 03 2.3 分块设计……………………………………………………………… 03 三、仿真波形及波形分析………………………………………………………… 4

3.1 分频器………………………………………………………………… 04 3.2 随机数产生模块……………………………………………………… 04 3.3 防抖模块……………………………………………………………… 05 3.4 点阵显示模块………………………………………………………… 05 3.5 键盘控制模块………………………………………………………… 06 3.6 计分模块……………………………………………………………… 06 3.7 计时模块……………………………………………………………… 06 3.8 译码器模块…………………………………………………………… 07 四、源程序………………………………………………………………………… 07

4.1 分频器………………………………………………………………… 07 4.2 随机数产生模块……………………………………………………… 08 4.3 防抖模块……………………………………………………………… 10 4.4 点阵显示模块………………………………………………………… 10 4.5 键盘控制模块………………………………………………………… 12 4.6 计分模块……………………………………………………………… 13 4.7 计时模块……………………………………………………………… 14 4.8 译码器模块…………………………………………………………… 15 五、 功能说明及资源利用情况………………………………………………… 016 六、 故障及问题分析…………………………………………………………… 016 七、 总结与结论……………………………………………………………………17

一、 设计任务与要求

1、 设计一个挑战反应速度的“打地鼠”游戏,采用用8×8 双色点阵显示游戏界面,其中游戏边

界采用绿色LED 显示,随机出现的地鼠采用红色LED 显示,游戏有16 个洞穴。

2、 游戏洞穴每次随机出现一个地鼠,每个地鼠的最长保持时间为2 秒,2 秒后随机出现下一个地鼠。以4×4 键盘的按键代表锤子,16 个洞穴与16 个按键一一对应,一旦锤子在2 秒内击中地鼠,地鼠消失,数码管计分器分数加1 分;若锤子一直没有击中地鼠,2 秒后该地鼠消失。用两个数码管显示游戏成绩,当游戏成绩达到10 分时游戏结束,点阵显示字符“V”。

3、 用两个数码管对整个游戏进行倒计时,当游戏时间超过59 秒而成绩未达到10 分时,游戏失败,

点阵显示字符“X”。

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

二、 系统设计

2.1 设计思路

地鼠显示:4*4的红色点阵

边界显示:6*6的绿色点阵

结束画面:绿色的“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的伪随机数,通过计数控制地鼠持续2秒,通过返回的得分信号改变得分后地鼠的位置。 B.游戏核心模块:

1.点阵显示模块:用于显示地鼠和边界,以及结束时胜利或失败的画面。

2.键盘控制模块:通过对地鼠对应位置的列进行扫描,比较返回的键盘行信号,打到地鼠