- 1、本文档共26页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[点阵赛车游戏
点阵赛车游戏实验报告
姓名
班级
学号
一、要求和任务
1.用8×8点阵进行5秒倒计时显示,如下图所示。
当5秒倒计时结束后,点阵显示下图所示的赛道和赛车的初始位置,赛车游戏开始,并开始计时,用两个数码管显示时间。图中的红色表示赛道,黄色表示赛车的初始位置,箭头表示赛车行进的方向。
要求:
用BTN1~BTN3三个按键分别控制赛车的左移、前进、右移,最终使赛车在不碰撞赛道的情况下走完全程(即图2中的绿色位置),游戏结束,点阵显示“V”图案,数码管显示走完全程所耗费的时间。
当游戏时间超过59秒,或者赛车在行进过程中碰撞赛道,游戏失败,点阵显示“X”图案。
通过按键BTN0进行复位,控制点阵返回到初始状态。
提高要求:
有多种游戏赛道可选,5秒倒计时显示后赛道随机出现。
赛车的初始位置随机出现。
在赛车行进过程中,赛道中随机出现障碍物(用8×8点阵中的一个LED表示),通过BTN1~BTN3三个按键的控制躲避障碍物,走完全程。若赛车碰到障碍物和赛道,则游戏失败。
系统设计(包括设计思路、总体框图、分块设计)
总体框图:
仿真波形及波形分析
Button0按下,点阵显示5
1秒后,点阵显示4
2后,点阵显示3
3秒后,显示2
4秒后,显示1
5秒后,数码管显示5 9
两个向左按键,赛车碰壁,显示失败‘x’
又复位之后,又54321减下来
又开始重复。
源程序
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_ARITH.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITY saiche IS
PORT(
CLOCK:IN STD_LOGIC;
button0,button1,button2,button3:IN STD_LOGIC; --四个按键:复位键、右、上、左
ROW:OUT STD_LOGIC_VECTOR(7 DOWNTO 0); --控制车道的横向量
COL_RED:OUT STD_LOGIC_VECTOR(7 DOWNTO 0);--控制车道的红色列向量
COL_GREEN:OUT STD_LOGIC_VECTOR(7 DOWNTO 0);--控制车道的绿色列向量
LIGHT:OUT STD_LOGIC_VECTOR(6 DOWNTO 0); --段选输出
LIGHT_EN:OUT STD_LOGIC_VECTOR(5 DOWNTO 0)--位选输出
);
END saiche;
ARCHITECTURE MLD OF saiche IS
SIGNAL CLK1hz,CLK_5K,CLK_1K,CLK_2K,CLK_100hz,CLK_200hz:STD_LOGIC; --1hz,5khz,1Khz,2Khz,100hz,200hz时钟信号
SIGNAL N:INTEGER RANGE 0 TO 6; --产生随机赛道时的判断数
SIGNAL NUM:INTEGER RANGE 0 TO 20; --0号赛道逐点扫描时点的序列
SIGNAL NUM1:INTEGER RANGE 0 TO 19; --1号赛道逐点扫描时点的序列
SIGNAL NUM2:INTEGER RANGE 0 TO 18; --2号赛道逐点扫描时点的序列
SIGNAL NUM3:INTEGER RANGE 0 TO 22; --3号赛道逐点扫描时点的序列
SIGNAL T_HIGH:INTEGER RANGE 0 TO 5; --倒计时高位
SIGNAL T_LOW:INTEGER RANGE 0 TO 9; --倒计时低位
SIGNAL COUNT200:INTEGER RANGE 0 TO 250000; --各分频用的计数
SIGNAL COUNT2:INTEGER RANGE 0 TO 5
文档评论(0)