数字电路实验-打地鼠游戏设计与实现
信息与通信工程学院
数字电路实验报告
姓 名: 班 级学 号: 班内序号: 指导教师: 实验日期:
题目:打地鼠游戏的设计与实现
目录
一、设计课题的任务与要求 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字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [幼儿教育]【完整版】2019-2025年中国药物发现外
- [幼儿教育]2018-2019年初中信息技术广东初一竞赛
- [幼儿教育]最新外研版(一起)小学英语五年级上册《
- [幼儿教育]农业推广与创新管理专业 -中农大毕业论
- [幼儿教育]2017-2022年中国更年期用药行业市场深
- [幼儿教育]数学1.1.2第1课时棱柱、棱锥和棱台的结
- [幼儿教育]二年级群文阅读课例欣赏
- [幼儿教育]2010-2015年中国保险行业投资分析及深
- [幼儿教育]厄运打不垮的信念第一课时
- [幼儿教育]巧用文本,让表达在言语中绽放论文
- [幼儿教育]中学生百科知识竞赛题及答案
- [幼儿教育]八大菜系英文简介
- [幼儿教育]中国男装牛仔裤市场发展研究及投资前景
- [幼儿教育]远程数字视频监控系统在银行的应用
- [幼儿教育]光纤光缆制造工艺及设备
- [幼儿教育]国家安全法试题及答案
- [幼儿教育]2011高中提前招生及竞赛试题(物理卷1)
- [幼儿教育]宁夏第三产业房地产业、科学研究和技术
- [幼儿教育]中兴通讯 ME3000模块用户硬件设计手册_
- [幼儿教育]紫外线灯管的辐照强度问题
- 苏联东欧剧变的原因和历史教训浅析
- 人工智能导论实验报告(学生)
- 思科ITE章考试原题及答案
- 《学习雷锋好榜样》主题班会教案
- 加油站建设项目安全评价报告
- 剖析社保卡管理系统
- 2017-2018年影视剧新媒体版权运营行业
- 2017-2018学年四川省成都市高一上学期
- 2019最新高中数学 第三章 3.2.1 几类不
- 2011-2015年中国基酸市场调查及行业前
- 人教版新课标选修八Unit 1 课件Warming
- 郭溪燎原小学辅导学生记录表
- 教师资格证统考综合素质写作秘笈
- 国外校园绿色建筑研究方向与建设实践
- 15.1 动物运动的方式 课件(北师大版八
- 民用飞机空调系统
- 长安侠文化传统与唐诗的任侠主题
- 《中国近现代史纲要》名词解释
- 11金本《保险学概论》复习资料
- 民用建筑机电安装工程专业施工图图纸会




