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

篮球计时器倒计时器DE0-CV开发板篮球比赛定时器VHDL

05/21 09:39
996
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

1-231101144532A2.doc

共1个文件

名称:篮球计时器倒计时器DE0-CV开发板篮球比赛定时器(代码在文末下载)

软件:Quartus II

语言:VHDL

代码功能:

篮球计时器倒计时器要求篮球比赛:

(1)主持人宣布比赛开始前,所有模块就位 。

(2)裁判宣布开始时,比赛正式开始,进入12分钟倒计时,同时进入24秒倒计时抢球,且信号灯显示抢到球的一方。

(3)当球被另方夺取时,重新进入24秒倒计时,信号灯显示抢到球的一方。

(4)当24秒倒计时为0时(犯规时),蜂呜器(信号灯)提示。

(5)当裁判宣布暂停吋,12分钟倒计吋暂停,24秒倒计时复位,进人60秒倒计时。60秒倒计时为0时,暂停结束,蜂鸣器(信号灯)提示,继续12分钟倒计时。

(6)一节比赛结束时,蜂鸣器(信号灯)提示,数码管显示节数。

本代码已在DE0-CV开发板验证,开发板如下,其他开发板可通过修改管脚适配:

DE0_cv.png

演示视频:

FPGA代码Verilog/VHDL代码资源下载:www.hdlcode.com

部分代码展示:

LIBRARY?ieee;
???USE?ieee.std_logic_1164.all;
???USE?ieee.std_logic_unsigned.all;
--控制模块
ENTITY?control?IS
???PORT?(
??????clk????????????:?IN?STD_LOGIC;--时钟
??????reset??????????:?IN?STD_LOGIC;--复位
??????clk_1??????????:?IN?STD_LOGIC;--1hz
??????start_n????????:?IN?STD_LOGIC;--开始
??????stop_n?????????:?IN?STD_LOGIC;--暂停
??????ball_sw1???????:?IN?STD_LOGIC;--抢球1
??????ball_sw2???????:?IN?STD_LOGIC;--抢球2
??????stop_led???????:?OUT?STD_LOGIC;--暂停指示灯
??????over24sec_led??:?OUT?STD_LOGIC;--24s超时指示灯
??????ball_led???????:?OUT?STD_LOGIC_VECTOR(1?DOWNTO?0);--抢球指示灯
??????end_led????????:?OUT?STD_LOGIC;--结束指示灯
??????match??????????:?OUT?STD_LOGIC_VECTOR(3?DOWNTO?0);--比赛节数
??????timedown_o?????:?OUT?STD_LOGIC_VECTOR(7?DOWNTO?0);--倒计时
??????time12_min_o???:?OUT?STD_LOGIC_VECTOR(7?DOWNTO?0);--12分钟分
??????time12_sec_o???:?OUT?STD_LOGIC_VECTOR(7?DOWNTO?0)--12分钟秒
???);
END?control;
ARCHITECTURE?trans?OF?control?IS
???type?state_type?is?(s_idle,s_wait12min,s_stop,s_over24sec,s_end,s_start);
???signal?state?:?state_type;
???SIGNAL?ball_sw1_buf0?:?STD_LOGIC;
???SIGNAL?ball_sw1_buf1?:?STD_LOGIC;
???SIGNAL?ball_sw2_buf0?:?STD_LOGIC;
???SIGNAL?ball_sw2_buf1?:?STD_LOGIC;
???SIGNAL?sw1_r?????????:?STD_LOGIC;
???SIGNAL?sw2_r?????????:?STD_LOGIC;
???SIGNAL?time24????????:?STD_LOGIC_VECTOR(7?DOWNTO?0)?:=?"00000000";
???SIGNAL?time60????????:?STD_LOGIC_VECTOR(7?DOWNTO?0)?:=?"00000000";
???SIGNAL?time12_min????:?STD_LOGIC_VECTOR(7?DOWNTO?0)?:=?"00000000";
???SIGNAL?time12_sec????:?STD_LOGIC_VECTOR(7?DOWNTO?0)?:=?"00000000";
???SIGNAL?match_num?????:?STD_LOGIC_VECTOR(3?DOWNTO?0)?:=?"0000";
???
???
BEGIN
???PROCESS?(clk)
???BEGIN
??????IF?(clk'EVENT?AND?clk?=?'1')?THEN
?????????ball_sw1_buf0?<=?ball_sw1;--抢球1
?????????ball_sw1_buf1?<=?ball_sw1_buf0;
??????END?IF;
???END?PROCESS;
???
???PROCESS?(clk)
???BEGIN
??????IF?(clk'EVENT?AND?clk?=?'1')?THEN
?????????ball_sw2_buf0?<=?ball_sw2;--抢球2
?????????ball_sw2_buf1?<=?ball_sw2_buf0;
??????END?IF;
???END?PROCESS;
???
???sw1_r?<=?NOT(ball_sw1_buf0)?AND?ball_sw1_buf1;--抢球1
???sw2_r?<=?NOT(ball_sw2_buf0)?AND?ball_sw2_buf1;--抢球2
???
???timedown_o?<=?time60?WHEN?(state?=?s_stop)?ELSE--根据状态切换显示60s还是24s倒计时
?????????????????time24;
???time12_min_o?<=?time12_min;--分钟倒计时
???time12_sec_o?<=?time12_sec;--秒钟倒计时
???
???PROCESS?(clk,?reset)
???BEGIN
??????IF?((NOT(reset))?=?'1')?THEN
?????????time60?<=?"00111100";--复位
??????ELSIF?(clk'EVENT?AND?clk?=?'1')?THEN
?????????IF?(state?=?s_wait12min?AND?stop_n?=?'0')?THEN
????????????time60?<=?"00111100";--60s
?????????ELSIF?(state?=?s_stop?AND?clk_1?=?'1')?THEN
????????????time60?<=?time60?-?"00000001";--倒计时
?????????END?IF;
??????END?IF;
???END?PROCESS;
???
???--24秒倒计时
???PROCESS?(clk,?reset)
???BEGIN
??????IF?((NOT(reset))?=?'1')?THEN
?????????time24?<=?"00011000";
??????ELSIF?(clk'EVENT?AND?clk?=?'1')?THEN
?????????IF?(sw1_r?=?'1'?OR?sw2_r?=?'1'?OR?start_n?=?'0')?THEN
????????????time24?<=?"00011000";
?????????ELSIF?(state?=?s_stop)?THEN
????????????time24?<=?"00011000";
?????????ELSIF?(state?=?s_wait12min?AND?clk_1?=?'1')?THEN
????????????time24?<=?time24?-?"00000001";
?????????END?IF;
??????END?IF;
???END?PROCESS;
???
???--12分钟倒计时
???PROCESS?(clk,?reset)
???BEGIN
??????IF?((NOT(reset))?=?'1')?THEN
?????????time12_min?<=?"00000000";
?????????time12_sec?<=?"00000000";
??????ELSIF?(clk'EVENT?AND?clk?=?'1')?THEN
?????????IF?(state?=?s_start)?THEN

设计文档:

1. 工程文件

2. 程序文件

3. 程序编译

4. RTL图

5. 管脚分配

6. 仿真图

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

  • 1-231101144532A2.doc
    下载

相关推荐