篮球比赛电子记分牌设计.docx

上传人:b****6 文档编号:6520766 上传时间:2023-01-07 格式:DOCX 页数:9 大小:131.97KB
下载 相关 举报
篮球比赛电子记分牌设计.docx_第1页
第1页 / 共9页
篮球比赛电子记分牌设计.docx_第2页
第2页 / 共9页
篮球比赛电子记分牌设计.docx_第3页
第3页 / 共9页
篮球比赛电子记分牌设计.docx_第4页
第4页 / 共9页
篮球比赛电子记分牌设计.docx_第5页
第5页 / 共9页
点击查看更多>>
下载资源
资源描述

篮球比赛电子记分牌设计.docx

《篮球比赛电子记分牌设计.docx》由会员分享,可在线阅读,更多相关《篮球比赛电子记分牌设计.docx(9页珍藏版)》请在冰豆网上搜索。

篮球比赛电子记分牌设计.docx

篮球比赛电子记分牌设计

一设计思路分析

篮球比赛计时记分系统程序多而且复杂,所以用图形设计方法来设计。

先把每一模块的程序写好,然后生成图形文件,最后新建一个顶层图形文件,把各模块联结起来。

包括的模块有分频模块、计时模块、记分模块、脉冲产生模块、滤波模块、选择模块、声光显示模块,显示模块及消抖模块等。

程序总体框图为:

二单元电路设计

2.112进制减法计数器

这个计数器用来表示每一节比赛的分钟位,它的时钟脉冲应由前一个60进制计数器的CO提供。

具备复位功能。

可以将12进制改为任意进制的减法计数器。

当计数结束后,计数器不再计数。

当CO有效时进行减法计数,当计数器减到0之,SO输出一个高电平。

EN等于1时计数器复位,当C05等于1时实现比赛加时操作。

生成元件图:

仿真波形图:

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='1'THEN

QQ<=QQ+1;

ELSE

QQ<=0;

ENDIF;

ENDIF;

ENDPROCESS;

PROCESS(QQ)

BEGIN

IFQQ>125500THEN

OUT2<='1';

ELSE

OUT2<='0';

ENDIF;

ENDPROCESS;

END;

生成元件图:

2.9声光显示模块

上半场计时中,上半场指示灯亮,时间到,输出3s的声光提示,下半场指示灯亮,时间到,输出5s的声光提示。

2.9.1上下半场指示

程序流程图:

生成元件图:

仿真波形图:

2.9.2上半场声光提示

2.9.3下半声声光提示

2.10显示模块

由于试验箱采用动态显示,所以需要将BCD码转换成段码和位码。

D0到D7分别表示8个LED管。

程序可以表示为:

LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;

USEIEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITYDISPIS

PORT(CLK:

INSTD_LOGIC;

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));

END;

ARCHITECTUREONEOFDISPIS

SIGNALQQ:

INTEGERRANGE25000000DOWNTO0;

SIGNALCLK2:

STD_LOGIC;

SIGNALQ:

STD_LOGIC_VECTOR(3DOWNTO0);

signalsel1:

STD_LOGIC_VECTOR(2DOWNTO0);

BEGIN

PROCESS(CLK)--数码管扫描分频

BEGIN

IFCLK'EVENTANDCLK='1'THEN

IFQQ<25000THEN

QQ<=QQ+1;

ELSE

QQ<=0;

CLK2<=NOTCLK2;

ENDIF;

ENDIF;

ENDPROCESS;

PROCESS(CLK2)--扫描数码管选择

BEGIN

IFCLK2'EVENTANDCLK2='1'THEN

sel1<=sel1+1;

ENDIF;

ENDPROCESS;

PROCESS(sel1)--Q值选择,数码管显示选择

BEGIN

CASEsel1IS

WHEN"000"=>Q<=m_ge;sel<="00000001";

WHEN"001"=>Q<=m_shi;sel<="00000010";

WHEN"010"=>Q<=f_ge;sel<="00000100";

WHEN"011"=>Q<=f_shi;sel<="00001000";

WHEN"100"=>Q<=a_ge;sel<="00010000";

WHEN"101"=>Q<=a_shi;sel<="00100000";

WHEN"110"=>Q<=b_ge;sel<="01000000";

WHEN"111"=>Q<=b_shi;sel<="10000000";

WHENOTHERS=>NULL;

ENDCASE;

ENDPROCESS;

PROCESS(Q)--数码管显示

BEGIN

CASEQIS

WHEN"0000"=>LED7S<="1000000";

WHEN"0001"=>LED7S<="1111001";

WHEN"0010"=>LED7S<="0100100";

WHEN"0011"=>LED7S<="0110000";

WHEN"0100"=>LED7S<="0011001";

WHEN"0101"=>LED7S<="0010010";

WHEN"0110"=>LED7S<="0000010";

WHEN"0111"=>LED7S<="1111000";

WHEN"1000"=>LED7S<="0000000";

WHEN"1001"=>LED7S<="0010000";

WHENOTHERS=>NULL;

ENDCASE;

ENDPROCES

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 表格模板 > 合同协议

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1