篮球比赛电子记分牌设计Word格式.docx
《篮球比赛电子记分牌设计Word格式.docx》由会员分享,可在线阅读,更多相关《篮球比赛电子记分牌设计Word格式.docx(9页珍藏版)》请在冰豆网上搜索。
![篮球比赛电子记分牌设计Word格式.docx](https://file1.bdocx.com/fileroot1/2023-1/7/f2c095b2-e308-47be-8d7a-f6cc154e58c2/f2c095b2-e308-47be-8d7a-f6cc154e58c21.gif)
2.260进制减法计数器
这个计数器用来表示每一节比赛的秒钟位。
要求在完成12个60进制的计数后,计数器不再计数。
具备清零、暂停以及复位的功能。
当CLK有效时进行减法计数,CLR等于1时整个计数器清零,EN等于1时计数器复位,PAUSE等于1时计数器暂停计数,。
当计数器减到0之,CO输出一个高电平。
2.399进制可逆计数器
这个计数器用来表示比赛球队分别的得分。
当S出现上升沿时开始记分,CLR等于1时整个计数器清零。
仿真波形如下:
2.61对2数据选择器
由于比赛两方的比分不尽相同,所以用一个数据选择器来正确的给某一方加分。
当按下P4时,给A队加分,A的输出为CO;
当再次按下P4时,给B队加分,B的输出为CO。
程序流程图:
2.7脉冲产生器
由于比赛的得分分别为1分,2分,3分。
所以对应的,当得分为1时,应当产生1个脉冲,当得分为2时,产生2个脉冲,以此类推。
在输入信号CLK存在的情况下,当P1为高电平,则CO产生1个脉冲信号。
P2为高电平,产生2个脉冲信号。
P3为高电平,产生3个脉冲信号。
生成元件图
2.8滤波模块
从脉冲产生器仿真的波形图看出,输出脉冲会有毛刺,所以加一个滤波模块,用以消除毛刺。
如果高电平持续时间大于某一数值,则判定为是一个脉冲,否则判定为毛刺。
LIBRARYIEEE;
USEIEEE.STD_LOGIC_1164.ALL;
USEIEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITYLBIS
PORT(CLK_50MHZ:
INSTD_LOGIC;
OUT2:
OUTSTD_LOGIC;
CO:
INSTD_LOGIC);
END;
ARCHITECTUREONEOFLBIS
SIGNALQQ:
INTEGERRANGE25000000DOWNTO0;
BEGIN
PROCESS(CLK_50MHZ)
BEGIN
IFCLK_50MHZ'
EVENTANDCLK_50MHZ='
1'
THEN
IFCO='
QQ<
=QQ+1;
ELSE
=0;
ENDIF;
ENDIF;
ENDPROCESS;
PROCESS(QQ)
IFQQ>
125500THEN
OUT2<
='
;
ELSE
0'
ENDIF;
2.9声光显示模块
上半场计时中,上半场指示灯亮,时间到,输出3s的声光提示,下半场指示灯亮,时间到,输出5s的声光提示。
2.9.1上下半场指示
2.9.2上半场声光提示
2.9.3下半声声光提示
2.10显示模块
由于试验箱采用动态显示,所以需要将BCD码转换成段码和位码。
D0到D7分别表示8个LED管。
程序可以表示为:
ENTITYDISPIS
PORT(CLK:
m_ge,m_shi,f_ge,f_shi,a_ge,a_shi,b_ge,b_shi:
INSTD_LOGIC_VECTOR(3DOWNTO0);
sel:
OUTSTD_LOGIC_VECTOR(7DOWNTO0);
LED7S:
OUTSTD_LOGIC_VECTOR(6DOWNTO0));
ARCHITECTUREONEOFDISPIS
SIGNALCLK2:
STD_LOGIC;
SIGNALQ:
STD_LOGIC_VECTOR(3DOWNTO0);
signalsel1:
STD_LOGIC_VECTOR(2DOWNTO0);
BEGIN
PROCESS(CLK)--数码管扫描分频
BEGIN
IFCLK'
EVENTANDCLK='
IFQQ<
25000THEN
CLK2<
=NOTCLK2;
PROCESS(CLK2)--扫描数码管选择
IFCLK2'
EVENTANDCLK2='
sel1<
=sel1+1;
PROCESS(sel1)--Q值选择,数码管显示选择
CASEsel1IS
WHEN"
000"
=>
Q<
=m_ge;
sel<
="
00000001"
001"
=m_shi;
sel<
00000010"
010"
=f_ge;
00000100"
011"
=f_shi;
00001000"
100"
=a_ge;
00010000"
101"
=a_shi;
00100000"
110"
=b_ge;
01000000"
111"
=b_shi;
10000000"
WHENOTHERS=>
NULL;
ENDCASE;
PROCESS(Q)--数码管显示
CASEQIS
WHEN"
0000"
LED7S<
1000000"
0001"
1111001"
0010"
0100100"
0011"
0110000"
0100"
0011001"
0101"
0010010"
0110"
0000010"
0111"
1111000"
1000"
0000000"
1001"
0010000"
WHENOTHERS=>
ENDPROCES