北邮数电综合实验迷宫.doc.docVIP

  1. 1、本文档共30页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
北邮数电综合实验迷宫.doc

北京邮电大学理学院 2014级数字电路与数字逻辑设计实验报告 简易迷宫游戏 班级:2014214104 学号:2014212788 班内序号:17 姓名:林玉立 2016/6/10 目录 设计课题 2 系统设计 4 设计思路 4 总体框图 4 分块介绍 7 仿真波形 9 源程序 11 功能说明 29 资源利用情况 29 故障及问题分析 30 总结和结论 30 设计课题 简易迷宫设计 设计并实现一个简易迷宫游戏机。 基本要求: 1、用 8×8 点阵进行游戏显示。 2、迷宫游戏如图 1 所示,采用双色点阵显示,其中红色LED 为迷宫墙壁,绿色LED 表示人物。通过BTN0~BTN3 四个按键控制迷宫中的人物进行上下左右移动,使人 物从起始点出发,走到迷宫的出口,游戏结束。 3、普通计时模式:通过按键BTN7 启动游戏,必须在30 秒内找到出口,否则游戏失败, 用两个数码管进行倒计时显示。游戏胜利或者失败均要在8×8 点阵上有相应的画面 出现。 4、迷宫中的人物在行走过程中,如果碰到墙壁,保持原地不动。 提高要求: 1、多种迷宫地图可以选择。 2、在计时的基础上增加计步的功能,每按一次控制按键步数加1,碰壁不计算步数, 计步结果用数码管显示。 3、为游戏增加提示音乐,在不同时间段采用不同频率的信号控制蜂鸣器发声报警。 4、增加其他游戏模式。 5、自拟其它功能。 系统设计 §1.设计思路 程序采用分模块设计的思路,将具体任务分解成为不同的功能模块,利用component编写,再通过主程序通过port map语句调用连接。主程序中包括各个子元件的定义及连接语句,子程序分别为分频器模块、防抖模块、点阵显示模块、迷宫人物坐标控制模块、倒计时控制模块、数码管选择模块和数码管显示模块。 §2.总体框图 顶层框图 对外接口 clk_in start reset round 逻辑划分框图 seg7 cat row red,green sech,secl count out_state clk_out1(点阵扫描) start clk_out3(1Hz) reset k_l,r,u,d clk_out2(控制) clk_out4(200Hz) clk_in (4)ASM图 reset=1 stuck=0 and m_l/r/u/d=1 start=1/reset=1 win=1 reset=1 stuck=0 and m_l/r/u/d=1 stuck=1 stuck=1 or time_up=1 m_l/r/u/d=0 reset=1 time_up=1 stuck=1/ m_l/r/u/d=0 reset=1 (5)控制器逻辑流程图 N Y Y Y N N Y N Y N Y N Y N N N N Y Y §3.分块介绍 分频器 component fenpin --divide the frequency to the wanted port(clk_in:in std_logic; clk_out1:out std_logic; clk_out2:out std_logic; clk_out3:out std_logic; clk_out4:out std_logic); end component; 输入时钟为50MHz,通过分频输出10KHz(用于点阵扫描),10Hz(用于点阵控制),1Hz(用来计数),200Hz(用于防抖设计)。 迷宫控制器 component control --logically control the labyrinthine port(round:in std_logic; clk_1:in std_logic; p_rst:in std_logic; p_start:in std_logic; m_left,m_right,m_up,m_down:in std_logic; out_state:out std_logic; out_y_g:out std_logic_vector(3 downto 0); out_x_g:out std_logic_vector(3 downto 0)); end component; 通过按键输入的高低电平来控制迷宫点

文档评论(0)

wnqwwy20 + 关注
实名认证
文档贡献者

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

版权声明书
用户编号:7014141164000003

1亿VIP精品文档

相关文档