没有合适的资源?快使用搜索试试~ 我知道了~
数字电路实验-打地鼠游戏设计与实现.docx
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
5星 · 超过95%的资源 1 下载量 100 浏览量
2022-10-13
10:33:09
上传
评论
收藏 48KB DOCX 举报
温馨提示
试读
14页
数字电路实验-打地鼠游戏设计与实现.docx数字电路实验-打地鼠游戏设计与实现.docx
资源推荐
资源详情
资源评论
信息与通信工程学院
数字电路实验报告
题目:打地鼠游戏的设计与实现
姓
班
学
名:
级:
号:
班内序号:
指导教师:
实验日期:
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 设计思路
2
地鼠显示: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时钟信号
3
剩余13页未读,继续阅读
资源评论
- m0_667146712022-11-25资源很赞,希望多一些这类资源。
春哥111
- 粉丝: 1w+
- 资源: 5万+
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 基于JavaScript讲解的数据结构和算法
- python计算机视觉python-computer-vision.rar
- VB+ACCESS计算机等级考试管理系统(源代码+系统+答辩PPT).zip
- python密码python-ciphers.rar
- 2c60fbb3dt9ad50ed8864298eea1484b.MP4
- 基于yolov8+dlib实现视觉识别的安全驾驶监测系统部署到jetson NX平台源码+模型.zip
- Qt框架+OpenCV+动态爱心+编程教学+520
- 基于opencv+yolov8实现目标追踪及驻留时长统计源码.zip
- 水稻病害基于Yolov8算法优化目标检测识别与AI辅助决策python源码+模型+使用说明.zip
- 海尔618算价表_七海5.20_16.00xlsx(1)(2).xlsx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功