• 方案介绍
  • 附件下载
  • 相关推荐
申请入驻 产业图谱

乒乓球游戏控制器VHDL代码

05/15 15:24
857
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

1-23092521335S47.doc

共1个文件

名称:乒乓球游戏控制器VHDL(代码在文末付费下载)

软件:Quartus

语言:VHDL

要求:

综合实验乒乓球游戏设计要求:

两人的乒乓球游戏机是由8个 LED 表示球台,8个 LED 灯的编号为1~8,两名选手分别是 A 和 B ,当 A 选手准备开球时,led1亮,当 A 选手按下击球键, led 灯从1开始往8号以流水灯形式流动表示乒乓球的移动,当灯超过5号灯(包含5号灯) B 选手可以击球,当灯在5号8号之间都表示 B 击球有效,击球后灯返回移动,超过4号灯之后, A 选手可以击球,当灯在4号~1号灯之间表示 A 击球有效。周而复始。

本代码已在实验箱验证:

实验箱2.png

演示视频:

部分代码展示

LIBRARY ieee;
   USE ieee.std_logic_1164.all;
   USE ieee.std_logic_unsigned.all;
--乒乓球游戏
ENTITY pingpang_game IS
   PORT (
      clk          : IN STD_LOGIC;--时钟
      rst_n        : IN STD_LOGIC;--复位
      play_A        : IN STD_LOGIC;--A按键
      play_B        : IN STD_LOGIC;--B按键
      led          : OUT STD_LOGIC_VECTOR(7 DOWNTO 0)--LED
   );
END pingpang_game;
ARCHITECTURE behave OF pingpang_game IS
--分频模块
component div_clk IS
   PORT (
      clk          : IN STD_LOGIC;--时钟
  rst_n        : IN STD_LOGIC;--复位
      clk_1Hz          : OUT STD_LOGIC--1Hz
   );
END component;
--乒乓球游戏
component game IS
   PORT (
      clk          : IN STD_LOGIC;--时钟
      rst_n        : IN STD_LOGIC;--复位
  clk_1Hz      : IN STD_LOGIC;--1Hz时钟
      play_A        : IN STD_LOGIC;--A按键
      play_B        : IN STD_LOGIC;--B按键
      led          : OUT STD_LOGIC_VECTOR(7 DOWNTO 0)--LED
   );
END component;
   SIGNAL clk_1Hz       : STD_LOGIC;
BEGIN
--分频模块
U_div_clk: div_clk
   PORT MAP(
      clk          =>clk,--时钟
  rst_n        =>rst_n,--复位
      clk_1Hz      =>clk_1Hz--1Hz
   );
--乒乓球游戏
U_game: game
   PORT MAP(
      clk          =>clk,--时钟
      rst_n        =>rst_n,--复位
  clk_1Hz      =>clk_1Hz,--1Hz时钟
      play_A        =>play_A,--A按键
      play_B        =>play_B,--B按键
      led          =>led--LED
   );
   
END behave;

设计文档(文档点击可下载):

1. 工程文件

2. 程序文件

3. 程序编译

4. 管脚分配

5. RTL图

状态图

6. 仿真图

整体仿真图

分频模块仿真图

控制模块仿真图

点击链接获取代码文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=177

  • 1-23092521335S47.doc
    下载

相关推荐