教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 文库大全 > 幼儿教育 >

数字电路实验-打地鼠游戏设计与实现

来源:网络收集 时间:2026-09-12
导读: 信息与通信工程学院 数字电路实验报告 姓 名: 班 级学 号: 班内序号: 指导教师: 实验日期: 题目:打地鼠游戏的设计与实现 目录 一、设计课题的任务与要求 3 二、系统设计 3 2.1 设计思路 3 2.2 总体框图 3 2.3 分块设计 3 三、仿真波形及波形分析 4 3.1 分频

信息与通信工程学院

数字电路实验报告

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

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

目录

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

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

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

4.1 分频器 7 4.2 随机数产生模块 8 4.3 防抖模块 10 4.4 点阵显示模块 10 4.5 键盘控制模块 12 4.6 计分模块 13 4.7 计时模块 14 4.8 译码器模块 15 五、 功能说明及资源利用情况 16 六、 故障及问题分析 16 七、 总结与结论 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.键盘控制模块:通过对地鼠对应位置的列进行扫描,比较返回的键盘行信号,打到地鼠

即输出得分脉冲信号。 C.进程显示模块:

1.计分模块:通过接收得分脉冲信号,进行计分,每次开始预制值为‘0’。

2.计时模块:使用1Hz的时钟信号进行倒计时,每次减1,开始时预制值为‘60’。

D.辅助模块:

1.分频器模块:将50MHz的信号分频成1Hz用于计时和500Hz用于其他功能。

2.防抖模块:用500Hz的信号进行计数,只有持续6个时钟周期以上的按键信号才会进入

按键控制模块,从而达到防抖的作用。

3.译码器模块:将计分和计时模块传来的信号进行译码,输出到数码管,实现计分和计时

的显示。

三、 仿真波形及波形分析

3.1 分频器模块

clk:50MHz的时钟信号 clk_1Hz:1Hz的时钟信号 clk_500Hz:500Hz的时钟信号 reset:复位信号

波形分析:

为便于仿真,这里clk使用的是周期为1us的信号,clk_500Hz为clk的10分频信号,clk_1Hz为clk_1Hz的6分频信号。实际中的分频器是先将50MHz信号进行100000分频,得到500Hz信号,再对500Hz信号进行500分频得到1Hz信号。

3.2 随机数产生模块

clk:500Hz时钟信号 num:4位二进制随机数 score:得分信号

波形分析:

1.通过12个自制D触发器的连接及其中4位的异或,产生12位的二进制随机数,从中取出4位作为地鼠位置的随机数。

2.通过计500Hz信号1000次,从而控制地鼠持续2秒。

3.只要打中地鼠,即接收到得分的脉冲信号,立即产生新的随机数。

3.3 防抖模块

clk:500Hz时钟信号 keyin:键盘输入信号 keyout:键盘输出信号 reset:复位信号

波形分析:

当输入信号持续时间小于6个时钟周期(即12ms)时,视为抖动不输出。当信号持续时间多于6个时钟周期时,视为正常按键,输出。

3.4 点阵显示模块

图一

图二

图三

clk:500Hz时钟信号 col:点阵的列 failed:失败信号 num:地鼠位置 raw:点阵的行 reset:复位信号 win:胜利信号

波形分析:

1.游戏正常进行时,点阵根据num显示地鼠位置,如图一,num为0001,点阵在第0行,第1列显示地鼠,显示6*6的游戏边界。

2.游戏胜利时,如图二,点阵根据win信号显示绿色‘V’。

3.游戏失败时,如图三,点阵根据failed信号显示红色‘X’。

3.5 键盘控制模块

clk:500Hz时钟信号 col:键盘的列 num:地鼠位置 raw:键盘的行 score:得分信号

波形分析:

为便于仿真,将第3行的按键全部按下。当地鼠位置为12时,地鼠处在第3行和第0行的位置,此时扫描键盘第0列,得到匹配行信号,证明打到地鼠,输出score信号。以此类推,同行的14,13,15也输出score信号。

3.6 计分模块

gewei:计分模块的个位 reset:复位信号 score:得分信号

scoreover:得到10分的信号 shiwei:计分模块的十位

波形分析:

每接收一个得分信号,个位加一分,直到记到10分,进位,十位变1,个位变0,。同时输出scoreover信号,代表计到10分。

3.7 计时模块

clk:1Hz的时钟信号 gewei:计时的个位 reset:复位信号 shiwei:计时的十位

timeover:游戏时间结束信号

波形分析:

复位后,十位的预制值为6,个位的预制值为0,每过一秒个位减一。当个位十位都为0时,输出timeover信号,表示游戏时间结束。

3.8 译码器模块

cat:数码管扫描信号 clk:500Hz …… 此处隐藏:11360字,全部文档内容请下载后查看。喜欢就下载吧 ……

数字电路实验-打地鼠游戏设计与实现.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wenku/1487751.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)