VHDL课程设计之打地鼠游戏报告-含代码

上传人:woxinch****an2018 文档编号:38632177 上传时间:2018-05-05 格式:DOCX 页数:21 大小:415.42KB
返回 下载 相关 举报
VHDL课程设计之打地鼠游戏报告-含代码_第1页
第1页 / 共21页
VHDL课程设计之打地鼠游戏报告-含代码_第2页
第2页 / 共21页
VHDL课程设计之打地鼠游戏报告-含代码_第3页
第3页 / 共21页
VHDL课程设计之打地鼠游戏报告-含代码_第4页
第4页 / 共21页
VHDL课程设计之打地鼠游戏报告-含代码_第5页
第5页 / 共21页
点击查看更多>>
资源描述

《VHDL课程设计之打地鼠游戏报告-含代码》由会员分享,可在线阅读,更多相关《VHDL课程设计之打地鼠游戏报告-含代码(21页珍藏版)》请在金锄头文库上搜索。

1、1题目:题目:VHDL 课程设计之打地鼠游戏专专 业业 : 信息工程信息工程班班 级级 : 电联电联学生姓名学生姓名 : 提交日期提交日期 :20152015 年年 0303 月月 0505 日日2目录一、设计任务与要求3 二、总体框图3 2.1 总体框图3 2.2 设计思路及各模块功能3 2.2.1 设计思路3 2.2.2 各模块功能3 三、选择器件4 四、模块功能实现74.1 分频器模块74.2 随机数产生模块184.3 随机数产生模块29 4.4 键盘控制模块10 4.5 计分器模块14 4.6 LCD1602 地鼠显示模3块154.7 数码管显示模块17 五、总体设计电路图18 六、游

2、戏说明书18 6.1 前言18 6.2 运行说明18 6.3 评分规则18 七、心得体会19一、 设计任务与要求 设计一个挑战反应速度的“打地鼠”游戏机。要求:地鼠随机出现在任何位置,以按键代表锤子,击中地鼠,一旦击中,数码管计分器分数增加。按复位键重新开始游戏。二、 总体框图 42.1、打地鼠游戏机的总体框图如下图所示: 电路设计总体框图2.2、设计思路及各模块功能: 2.2.1设计思路: 产生伪随机数使地鼠随机出现,外接LCD1602显示地鼠随机出现的位置,以一个特殊字符表示地鼠。游戏者按下按键,与地鼠出现的位置代表的伪随机数进行比较,若一致,计分器进行加分。按下ESC键进行复位,利用50

3、MHz分频作为基本信号源。2.2.2各模块功能介绍: 分频器模块 将50MHz的信号源分别分频为游戏所需频率的时钟信号1Hz。 伪随机数产生模块 产生伪随机数,使得地鼠出现位置随机。计分模块 接收来自键盘控制模块的信号,正确一次加一分。LCD显示模块 在1HZ时钟信号下,根据产生的伪随机数使得2*16的LCD屏上随机出现代表地分频模块随机数发 生模块键盘模块LCD 显示模块计分模块数码管显 示模块5鼠的字符。键盘控制模块 玩家按下地鼠出现的位置可能对应的按键,按键地址与地鼠出现的位置对应的伪随机进行比较,若一致,输出一个为1的correct信号。计分模块 接收来自键盘控制模块的信号,正确一次加

4、一分。数码管显示模块 通过数码管,将计分模块的计分结果显示出来。三、 器件选择 设计开发软件:Quartus2 8.1/9.0主芯片:1. FPGA 芯片: EP2C8Q208C8 EP2C8Q208C8:含 8,256 Les; 165,888 RAM bits; 2 个 PLL; 18 Multipliers; 139 个 I/O 口2.配置芯片: EPCS1 / EPCS4 FPGA 串行配置芯片含 1 M bit Flash / 4 M bit Flash EP2C5Q208C8:配置 EPCS1EP2C8Q208C8:配置 EPCS4 3. FLASH: AM29LV160DB 16

5、M bit(2 M8 Bit/1 M16 Bit)4. SRAM: IS61LV25616 256K16 Bit 5. I2C 存储器电路: 24LC16B 16K bit(8 Blocks2568 Bit)6. SPI 存储器电路: 93LC46B 1K bit(6416 Bit)7.有源晶振: 50 MHz8.电源芯片: LM1117-3.3V、LM1117-1.5V 69.调试接口: AS、JTAG 调试接口10.核心板尺寸: 100mm79mm外接LCD1602显示屏工业字符型液晶,能够同时显示 16x02 即 32 个字符。(16 列 2 行)注:为了表示的方便 ,后文皆以 1 表示

6、高电平,0 表示低电平。1602 液晶也叫 1602 字符型液晶,它是一种专门用来显示字母、数字、符号等的点阵型液晶模块。它由若干个 5X7 或者 5X11 等点阵字符位组成,每个点阵字符位都可以显示一个字符,每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间距和行间距的作用,正因为如此所以它不能很好地显示图形(用自定义 CGRAM,显示效果也不好)。1602LCD 是指显示的内容为 16X2,即可以显示两行,每行 16 个字符液晶模块(显示字符和数字)。市面上字符液晶大多数是基于 HD44780 液晶芯片的,控制原理是完全相同的,因此基于 HD44780 写的控制程序可以很方便地应用于

7、市面上大部分的字符型液晶。2 管脚功能1602 采用标准的 16 脚接口,其中:第 1 脚:GND 为电源地第 2 脚:VCC 接 5V 电源正极7第 3 脚:V0 为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高(对比度过高时会 产生“鬼影”,使用时可以通过一个10K 的电位器调整对比度)。第 4 脚:RS 为寄存器选择,高电平 1 时选择数据寄存器、低电平 0 时选择指令寄存器。第 5 脚:RW 为读写信号线,高电平(1)时进行读操作,以 51 为例的简单原理图低电平(0)时进行写操作。第 6 脚:E(或 EN)端为使能(enable)端,高电平(1)时读取信息,负跳变

8、时执行指令。第 714 脚:D0D7 为 8 位双向数据端。第 1516 脚:空脚或背灯电源。15 脚背光正极,16 脚背光负极。特性3.3V 或 5V 工作电压,对比度可调内含复位电路提供各种控制命令,如:清屏、字符闪烁、光标闪烁、显示移位等多种功能有 80 字节显示数据存储器 DDRAM8内建有 192 个 5X7 点阵的字型的字符发生器 CGROM8 个可由用户自定义的 5X7 的字符发生器 CGRAM特征应用微功耗、体积小、显示内容丰富、超薄轻巧,常用在袖珍式仪表和低功耗应用系统中。操作控制注:关于 E=H 脉冲开始时初始化 E 为 0,然后置 E 为 1。外接PS/2键盘进行控制四、

9、功能模块4.1 分频器模块分频器模块接收晶振提供的50MHz时钟信号,通过计数将其分频为1s的时钟脉冲信号并输出。输出秒脉冲的VHDL程序如下:LIBRARY IEEE; USE IEEE.std_logic_1164.ALL; use ieee.std_logic_unsigned.all;ENTITY divider IS PORT(clk:IN STD_LOGIC;rst_n:IN STD_LOGIC;clk_1HZ:BUFFER STD_LOGIC ); END divider;ARCHITECTURE behav OF divider IS BEGINPROCESS(clk,rst_

10、n)VARIABLE count:INTEGER range 0 TO 50000000;BEGINIF rst_n=0 THENcount:=0;ELSIF clkevent AND clk=1 THEN9IF count=25000000 THENcount:=0;clk_1HZ 0) ;elsif (clk = 1 and clkevent) then ram 0) ;elsif (clk = 1 and clkevent) then ram temp_data(0) temp_data(1) temp_data(2) temp_data(3) temp_data(4) temp_dat

11、a(5) temp_data(6) temp_data(7) null; end case; end if; if (num = x“b“) then num -0 if(ps2_byte_r=x“6b“) then correct-1 if(ps2_byte_r=x“74“) then correct-2 if(ps2_byte_r=x“73“) then correct-3 if(ps2_byte_r=x“74“) then correct-4 if(ps2_byte_r=x“69“) then correct-5 if(ps2_byte_r=x“79“) then correct-6 i

12、f(ps2_byte_r=x“73“) then correct-7 if(ps2_byte_r=x“73“) then correct-8 if(ps2_byte_r=x“79“) then correct-9 if(ps2_byte_r=x“69“) then14correct-10 if(ps2_byte_r=x“74“) then correct-11 if(ps2_byte_r=x“6b“) then correct-12 if(ps2_byte_r=x“72“) then correct-13 if(ps2_byte_r=x“73“) then correct-14 if(ps2_

13、byte_r=x“7a“) then correctnull;end case; resss“1001“) thenseg_data LCD_DataLCD_DataLCD_Datacase numin is when “0000“=LCD_DataLCD_DataLCD_DataLCD_DataLCD_DataLCD_DataLCD_DataLCD_DataLCD_DataLCD_DataLCD_DataLCD_DataLCD_DataLCD_DataLCD_DataLCD_Datanull; end case;when “101“=LCD_Datanull; end case; end i

14、f; end process;process(LCD_Data) begin if (LCD_Data(8 downto 7)=“01“)then judge=LCD_Data; end if; end process; end gongneng;4.7 数码管显示模块Seg.v数码管驱动程序,具体分数显示在计分模块代码中实现。五、总体设计电路图总体电路原理图如下图所示:19实物图:总体图:LCD 显示图:20六 游戏说明书6.1前言: 地鼠欢乐地上窜下跳,在六个洞口不时探出身来,调皮的孩子用小锤左敲右击却仿佛总也打不到,地鼠从不记仇,为你计分,为你加油。打打地鼠,释放压力,呆萌地鼠陪你一起换个心情!6.2 运行说明:通电即可开始游戏,地鼠出现位置成2*3

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 中学教育 > 高中教育

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号