数字电路实验-打地鼠游戏设计与实现.docx
文本预览下载声明
信息与通信工程学院 数字电路实验报告
题目:打地鼠游戏的设计与实现
姓
班
学
名:
级:
号:
班内序号: 指导教师: 实验日期:
1
目录
1、设计课题的任务与要求……………………………………………………… 03 2、系统设计……………………………………………………………………… 3
2.1 设计思路……………………………………………………………… 0 3
2.2 总体框图……………………………………………………………… 0 3
2.3 分块设计……………………………………………………………… 0 3
3、仿真波形及波形分析………………………………………………………… 4 3.1 分频器………………………………………………………………… 0
4
3.2 随机数产生模块……………………………………………………… 0 4
3.3 防抖模块……………………………………………………………… 0 5
3.4 点阵显示模块………………………………………………………… 0 5
3.5 键盘控制模块………………………………………………………… 0 6
3.6 计分模块……………………………………………………………… 0 6
3.7 计时模块……………………………………………………………… 0 6
3.8 译码器模块…………………………………………………………… 0 7
4、源程序………………………………………………………………………… 07 4.1 分频器………………………………………………………………… 0
7
4.2
随机数产生模块……………………………………………………… 0
8
4.3
防抖模块……………………………………………………………… 1
0
4.4
点阵显示模块………………………………………………………… 1
0
4.5
键盘控制模块………………………………………………………… 1
2
2
4.6 计分模块……………………………………………………………… 1 3
4.7 计时模块……………………………………………………………… 1 4
4.8 译码器模块…………………………………………………………… 1 5
功能说明及资源利用情况………………………………………………… 01 6
故障及问题分析…………………………………………………………… 01 6
总结与结论……………………………………………………………………17
一、 设计任 务与 要求
设计一个挑战反应速度的“打地鼠”游戏,采用用8×8 双色点阵显示游戏界面,其中游戏边 界采用绿色LED 显示,随机出现的地鼠采用红色LED 显示,游戏有16 个洞穴。
游戏洞穴每次随机出现一个地鼠,每个地鼠的最长保持时间为2 秒,2 秒后随机出现下一个 地鼠。以4×4 键盘的按键代表锤子,16 个洞穴与16 个按键一一对应,一旦锤子在2 秒内击中地鼠,地 鼠消失,数码管计分器分数加1 分;若锤子一直没有击中地鼠,2 秒后该地鼠消失。用两个数码管显示游 戏成绩,当游戏成绩达到10 分时游戏结束,点阵显示字符“V”。
用两个数码管对整个游戏进行倒计时,当游戏时间超过59 秒而成绩未达到10 分时,游戏失 败,点阵显示字符“X”。
按复位键重新开始游戏,并开始倒计时。
二、 系统设计
2.1
设计思路
地鼠显示:4*4的红色点阵
边界显示:6*6的绿色点阵
结束画面:绿色的“V”形胜利画面,红色的“X”形失败画面 计时和计分显示:各用2个数码管,共4个数码管
锤子控制:4*4的键盘
开关控制:1个拨码开关
3
用拨码开关开始游戏,6*6绿色点阵常亮,红色点阵亮的位置表示地鼠出现,按下相应的键盘即算 打中,计1分,记到10分游戏结束显示绿色“V”。游戏时间共计60秒,时间为0,分数未到10分, 游戏结束显示红色“X”。用50MHz作为基本信号源,分频得到500Hz和1Hz。
2.2
总体框图
2.3
分块设计
A.游戏准备模块:
1.随机数产生模块:将一个4位的二进制数的第一位与最后一位进行异或运算后,作为随 机数种子,并且每次运算完将前三位与种子进行合并,产生周期为21的伪随机数,通过计数控制 地鼠持续2秒,通过返回的得分信号改变得分后地鼠的位置。
B.游戏核心模块:
点阵显示模块:用于显示地鼠和边界,以及结束时胜利或失败的画面。
键盘控制模块:通过对地鼠对应位置的列进行扫描,比较返回的键盘行信号,打到地鼠 即输出得分脉冲信号。
C.进程显示模块:
计分模块:通过接收得分脉冲信号,进行计分,每次开始预制值为‘0’。
计时模块:使用1Hz的时钟信号进行倒计时,每次减1,开始时预制值为‘60’。
D.辅助模块:
分频器模块:将50MHz的信号分频成1Hz用于计时和500H
显示全部