长 沙 学 院
课程设计说明书
题目篮球比赛电子记分牌设计
目录
一、课题名称 ...................................................................................................................................... 2 二、设计内容 ...................................................................................................................................... 2 三、设计思路 ...................................................................................................................................... 2 1、整体设计思路: ........................................................................................................................ 2 2、整体设计流程: ........................................................................................................................ 2 四、设计说明 ...................................................................................................................................... 2 1、 2、 3、
设计程序 ............................................................................................................................... 3 引脚分配设置: ................................................................................................................... 9 功能描述 ............................................................................................................................. 10
五、设计心得 .................................................................................................................................... 10 六、参考文献 .................................................................................................................................... 11
1
一、 课题名称 二、设计内容
设计一个篮球比赛记分牌,使用4位数码管显示倒计时的分钟、秒钟值;2位数码管显示A方得分;2位数码管显示B方得分;使用LED灯作为上、下半场的标志;单次加分值包括1分、2分和3分;半场时间到输出3秒的声光提示;可进行比赛暂停、比赛加时等操作;终场时间到输出5秒的声光提示。 三、设计思路 1、整体设计思路:
根据设计内容,可将设计将分为五个模块来设计:分频计数模块、时间模块、加分模块、动态扫描显示模块、LED灯模块。 2、整体设计流程:
(1)、分频计数模块:通过分频模块,将试验箱自带的50MHZ的频率分频得到1MZ
以及1HZ的频率
(2)、时间模块:将计时器的分钟、秒钟,通过借位的方式设计成40分钟的倒计时时钟 (3)、加分模块:通过拨盘开关的选择,输入A、B队的比赛得分 (4)、动态扫面显示模块:通过1MHZ的频率,将时间以及
显示在数码管上
(5)、LED灯模块:对上下场的显示,以及比赛结束的灯亮延长显示
四、设计说明
2
篮球比赛电子记分牌设计
A、B队的比赛得分同时扫描
1、 设计程序 libraryieee;
use ieee.std_logic_1164.all; useieee.std_logic_unsigned.all; useieee.std_logic_arith.all; entitybaseketball is end;
architecture one of baseketball is
constant time_m :integer:=9; --时间分位初始化 constant time_s :integer:=59; --时间秒位初始化 signal time_m0:integer range 0 to 9; --分位时间范围 signal time_s0:integer range 0 to 59; --秒位时间范围 signal cout_A,cout_B:integer range 0 to 99;-- 比分计数范围 signal clk0_1,clk0_1M:std_logic; --1HZ\\1MHZ 信号 signal q0_1:integer range 0 to 24999999; --1HZ 分频计数范围 signal q0_1M:integer range 0 to 25; --1MHZ 分频计数范围 signal half_end,full_end,add_end:std_logic;-- 上下半场结束信号 signal r,a,b,c,d,e,f,g,h:integer range 0 to 9;--扫描显示加载信号 signal q1:integer range 0 to 7; --动态扫描显示信号范围 signal q_3:integer range 0 to 3; --s半场比赛结束延时提示 signal q_5:integer range 0 to 5; --全场比赛结束延时提示 signal q_t_m:integer range 0 to 1; --秒借位 signal q_t_s:integer range 0 to 1; --分借位 begin
3
port(clk:instd_logic;
start,addtime,add1_A,add2_A,add3_A,add1_B,add2_B,add3_B:in std_logic;--A\\B dui jia fen stop:instd_logic; --比赛暂停
led7s_selout:out std_logic_vector(7 downto 0); --数码管位选 led7s:out std_logic_vector(6 downto 0); --7 段数码显示管 led_up:outstd_logic; --上半场亮灯显示 led_down:outstd_logic; --下半场亮灯显示 led_h_end:outstd_logic; --半场结束延时亮灯输出 led_f_end:outstd_logic); --全场结束延时亮灯输出
xinhao --比赛开始,A.B队加分信号
process(clk) -- 1MHZ 频率 begin
ifclk'event and clk='1' then if q0_1M=25 then q0_1M<=0;
clk0_1M<=not clk0_1M;
else q0_1M<=q0_1M+1;
end if;
end if; end process; process(clk) -- 1HZ 频率
begin
ifclk'event and clk='1' then if q0_1=24999999 then q0_1<=0;
clk0_1<=not clk0_1;
else
q0_1<=q0_1+1;
end if;
end if;
end process;
process(clk0_1,clk) -- 时间模块 begin
if clk0_1'event and clk0_1='1' then if start='1' then ifhalf_end='0' and full_end='0' then time_s0<=time_s; led_up<='1';
if time_m0=0 and time_s0=0 then time_m0<=time_m; led_up<='0'; half_end<='1'; elsif time_s0=0 then
q_t_m<=1;
4