北邮数电实验猜拳游戏讲述.docx

  1. 1、本文档共20页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
北邮数电实验猜拳游戏讲述

17班05号侯智超数电实验设计报告 数字电路与逻辑设计实验报告 题目:猜拳游戏的设计与实现 姓名: 学院: 专业: 通信工程 学号: 班内序号: 摘要说明: 本实验在QuartusⅡ软件环境下,利用实验室集成芯片,使用VHDL语言编写程序实现一个猜拳小游戏的功能。整个系统的设计过程中,采用了up _to_ down的设计思想,完成了编码和译码输出到8X8点阵和数码管显示分数的功能,对应共有三个模块。 关键词:编码译码 VHDL 模块 设计课题实验目的及任务要求: 本电路可供甲乙二人进行猜拳游戏。通过不同的按键控制,选择多种出拳方式,显示猜 拳的结果,实现猜拳游戏,防止了作弊的可能。 基本要求: 1、甲乙双方各用 4×4 键盘中的三个按键模拟“石头”、“剪刀”、“布”,一个按键为“确 ??”。4×4 键盘第一行为甲,第二行为乙; 2、裁判用 4×4 键盘第三行的一个按键模拟“开”,一个按键为“准备”,一个按键为“复 位”; 3、裁判宣布“准备”后,甲乙双方分别选择出拳方式并确认; 4、裁判“开”以后,用点阵的左右三列同时显示甲乙双方的猜拳选择(如下图所示), 并用两个数码管显示甲乙的猜拳比分; 甲“布”,乙“剪刀” 甲“剪刀”,乙“石头” 5、猜拳游戏为五局三胜制。若甲乙双方出拳一致,则比分保持不变,双方重新出拳; 6、比赛结束后,用 8×8 点阵显示甲乙获胜方; 7、复位后游戏重新开始。 提高要求: 1、 点阵显示增加游戏开机动画、结束动画; 2、 为游戏增加音效; 3、 在 LCD1602 液晶屏上显示甲乙双方的猜拳比分; 4、 自拟其他功能。 系统设计: (1)设计思路: 根据实验的要求,首先控制器是键盘,构思键盘的控制方式: 1、假设4X4键盘第一个到最后一个按键编号为1-16,本实验用到了1-11,共十一个按键,对这十一个按键进行键值编码: 第一行 1 2 3 4 0001 0101 1001 1101 第二行 5 6 7 8 1000 1001 1010 1011 第三行 9 10 11 1111 0110 1100 123代表甲方出“石头”“剪刀”“布”,4代表“已选好(确认)”; 567代表乙方出“石头”“剪刀”“布”,8代表“已选好(确认)”; 9代表“准备”,10代表“开结果”,11代表“复位” 注:此处复位的是按键的操作,对后面的分数不会有影响。 2、键盘编好了每个键的码,进行按键操作以后,传入点阵模块 点阵是8X8的,列输出用红色,列是共阳极,需要扫描显示,按照给出的图案要求,进行图案的扫描显示,比较简单,之后详见代码。 3、根据赛制,五局三胜,也就是谁先达到三分谁就是赢家,故计分模块只需要分别最大分数技术为3就符合了计分目的,计分独立模块,根据按键模块输出的键值,进行译码,根据“开结果”以后之前的甲乙出拳组合得出不同分数计数,通过数码管的左侧两位显示出来,当一方达到三分后,将甲或者乙的计分3输出,输入到点阵模块,此时显示一方胜利图案。 至此设计思路完整清晰。 (2)系统总体框图: 分块设计程序及仿真分析 按键模块 由于我们的4X4按键模块的端口是:四行的每行四个键分别公用一个行输入,四列的四个键分别公用一个列输出,这就需要我们扫描按键来控制输出。 四位计数对列进行扫描,每次扫描单列时,再对行进行扫描,这样就可以对使用到的所有键分别有各自的输入输出控制。具体实现如下: library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; use ieee.std_logic_arith.all; entity caiquan is port( kb_row_in:in std_logic_vector(3 downto 0); kb_col_out:out std_logic_vector(3 downto 0); showa,showb,showc,showd:out std_logic_vector(3 downto 0); clk:in std_logic ); END caiquan; architecture cai of caiquan is signal counta,countb:std_logic_vector(1 dow

文档评论(0)

jiayou10 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8133070117000003

1亿VIP精品文档

相关文档