EDA篮球比赛电子记分牌设计
EDA课程设计篮球球比赛计分器

汇报人:01Biblioteka 020304
05
06
记录比赛得分:记录每支球队的得分和总得分 记录犯规次数:记录每支球队的犯规次数和累计犯规次数 记录比赛时间:记录比赛时间、暂停时间和比赛结束 记录球员信息:记录球员的姓名、号码和位置等信息 统计比赛数据:统计投篮命中率、篮板数、助攻数等数据 提供比赛结果:提供比赛结果和排名等信息
微控制器:选择合适的微控制 器,如Arduino、STM32等
电源:选择合适的电源,如 电池、电源适配器等
连接器:选择合适的连接器, 如USB、串口等
外壳:选择合适的外壳,如 塑料、金属等
程序功能:实现篮球比赛计分、计时、统 计等功能
编程语言:C语言或Python等
程序结构:模块化设计,包括主程序、子 程序、函数等
析
稳定性测试: 确保系统在各 种环境下的稳 定性和可靠性
篮球训练:用于记录训练数 据,帮助球员提高技术水平
篮球比赛:用于记录比赛得 分、犯规次数等数据
篮球俱乐部:用于管理球队 数据,提高球队管理效率
篮球赛事直播:用于实时展示 比赛数据,增加赛事观赏性
目标市场:篮球比赛、体育 赛事、体育爱好者等
数据结构:使用数组、链表、队列等数据 结构进行数据存储和处理
用户界面:设计简洁、易用的用户界面, 方便用户操作
测试与调试:编写测试用例,进行程序测 试和调试,确保程序稳定性和准确性
用户界面:简洁明了,易于操 作
交互方式:触摸屏、按键、语 音等多种方式
反馈机制:实时显示比赛信息, 如比分、犯规次数等
数据结构:采用数组、链表等数据结构 存储比赛数据
篮电子球记分牌单片机课程设计

数码管也叫LED数码管,它是一种专门用来显示数字的器件,led数码管(LED Segment Displays)是由多个发光二极管封装在一路组成“8”字型的,引线已在内部连接完成,只需引出它们的各个笔画,公共电极。led数码管经常使用段数一样为7段有的另加一个小数点,还有一种是类似于3位“+1”型。位数有半位,1,2,3,4,5,6,8,10位等等....,led数码管依照LED的接法不同分为共阴和共阳两类,了解LED的这些特性,对编程是很重要的,因为不同类型的数码管,除它们的硬件电路有不同外,编程方式也是不同的。
单片机课程设计报告册
设计题目:篮球赛电子记分牌
专业:
指导教师:
姓名:
学号:
2021年12月
摘要
随着单片机在各个领域的普遍应用,许多用单片机作操纵的计时记分系统也应运而生,如用单片机操纵LCD液晶显示的计时记分器,用单片机操纵LED七段显示的计时记分器等。篮球赛电子记分牌是依照篮球竞赛特点设计的独立的信息搜集、分派、评判和显示的系统,能实现竞赛分数的实时、准确、快捷处置和呈现。
MOV R2,#00
MOV R1,#00
;************************
;键盘扫描程序
;************************
;====判定甲乙间的转换===
CHENGXU:
JB P1.7,JIAYIDUI
JNB P1.7,$
JIAYIDUI:
JB P3.0,YIDUI
LJMP JIADUI
;**********************
;显示程序
;**********************
;====甲队显示扫描====
EDA篮球比赛电子记分牌设计说明

长沙学院课程设计说明书题目篮球比赛电子记分牌设计一、课题名称 (2)二、............................................. 设计容 2三、设计思路 (2)1、整体设计思路: (2)2、整体设计流程: (2)四、设计说明 (2)1、设计程序 (3)2、引脚分配设置: (9)3、功能描述 (10)五、设计心得 (10)六、参考文献 (11)一、课题名称篮球比赛电子记分牌设计二、设计容设计一个篮球比赛记分牌,使用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的频率,将时间以及A、B队的比赛得分同时扫描显示在数码管上(5)、LED灯模块:对上下场的显示,以及比赛结束的灯亮延长显示四、设计说明led_h_e nd:out std_logic;半场结束延时亮灯输出led_f_e nd:out std_logic);全场结束延时亮灯输出1、设计程序 library ieee; use ieee.std_logic_1164.all;use ieee.std_logic_ un sig ned.all; use ieee.std_logic_arith.all; en tity baseketball is port(clk:in std_logic; dui jia fen xin hao start,addtime,add1_A,add2_A,add3_A,add1_B,add2_B,add3_B: in std 」o gic;--A\B 比赛开始,A.B 队加分信号 stop:i n std_logic; 比赛暂停 led7s_selout:out std_logic_vector(7 dow nto 0);- 数码管位选 led7s:out std_logic_vector(6 dow nto 0); --7 上半场亮灯显示 段数码显示管 led_up:out std_logic;led_dow n:out std_logic;下半场亮灯显示 end; architecture one of baseketball is con sta nt time_m :in teger:=9; 时间分位初始化con sta nt time_s :in teger:=59; 时间秒位初始化 signal time_m0:integer range 0 to 9;- 分位时间围signal time_s0:integer range 0 to 59;-- 秒位时间围 sig nal cout_A,cout_B:i nteger range 0 to 99;-- sig nal clk0_1,clk0_1M:std 」ogic; --1HZ\1MHZ 比分计数围 信号sig nal q0_1:i nteger range 0 to 24999999; --1HZ 分频计数围 sig nal q0_1M:i nteger range 0 to 25; --1MHZ 分频计数围sig nal half_e nd,full_e nd,add_e nd:std_logic;-- 上下半场结束信号 signal r,a,b,c,d,e,f,g,h:integer range 0 to 9;-- 扫描显示加载信号 sig nal q1:i nteger range 0 to 7; 动态扫描显示信号围sig nal q_3:i nteger range 0 to 3; --s 半场比赛结束延时提示 sig nal q_5:i nteger range 0 to 5; 全场比赛结束延时提示 sig nal q_t_m:i nteger range 0 to 1;- 秒借位sig nal q_t_s:i nteger range 0 to 1;- 分借位 begin process(clk) -- 1MHZ 频率beginif clk'eve nt and clk='1' the nif qO_1M=25 thenq0_1M<=0;clk0_1M<=not clk0_1M;else qO_1M<=qO_1M+1;end if;end if;end process;process(clk) -- 1HZ 频率beginif clk'eve nt and clk='1' the nif q0_仁24999999 thenq0_1<=0;clk0_1<=not clk0_1;elseq0_1<=q0_1+1;end if;end if;end process;process(clk0_1,clk)-- 时间模块beginif clk0_1'eve nt and clk0_1='1' the nif start='1' the nif half_e nd='O' and full_e nd='O' thentime_s0<=time_s;led_up<='1';if time_m0=0 and time_s0=0 the ntime_m0<=time_m; led_up<='0';half_e nd<='1';elsif time_s0=0 thenq_t_m<=1; time_mO<=time_mO-q_t_m;elseq_t_s<=1;time_sO<=time_sO-q_t_s;end if;end if;if half_e nd='1' and full_e nd='O' thentime_s0<=time_s;led_dow n<='1';if time_m0=0 and time_s0=0 the ntime_m0<=time_m;led_dow n<='0';full_e nd<='1';elsif time_s0=0 the nq_t_m<=1;time_m0<=time_m0-q_t_m; elseq_t_s<=1; time_s0<=time_s0-q_t_s;end if;end if;end if;if addtime='1' and full_e nd='1' the n--比赛计时if add_e nd='O' the ntime_s0<=time_s;if time_m0=0 and time_s0=0 the ntime_m0<=time_m;add_e nd<='1';elsif time_s0=0 the nq_t_m<=1;time_m0<=time_m0-q_t_m; elseq_t_s<=1; time_s0<=time_s0-q_t_s;end if;end if;end if;if stop='1' the nhalf_e nd<='0';full_e nd<='0';add_e nd<='0:end if;end if;end process;process(add1_A,add2_A,add3_A) --A begin if add1_A='1' the ncout_A<=cout_A+1;end if;if add2_A='1' the ncout_A<=cout_A+2;end if;if add3_A='1' the ncout_A<=cout_A+3;end if;if stop='1' the ncout_A <=0;end if;end process;process(add1_B,add2_B,add3_B) --B begin if add1_B='1' thencout_B<=cout_B+1;end if;if add2_B='1' the ncout_B<=cout_B+2;end if;if add3_B='1' the ncout_B<=cout_B+3;end if;if stop='1' the n对加分模块对加分模块cout_B <=0;end if;end process;process(clkO_1M,q1)beginif clkO_1M'eve nt and clk0_1M='1' the nif q1=7 the nq1<=0;else q1<=q1+1;end if;end if;end process;process(q1,a,b,c,d,e,f,g,h)-- 动态扫描显示模块begina<=time_m0/10;b<=time_mO rem 10;c<=time_s0/10;d<=time_s0 rem 10;e<=cout_A/10;f<=cout_A rem 10;g<=cout_B/10;h<=cout_B rem 10;case q1 iswhen 0 => Ied7s_selout<="00000001"; r<=a;when 1 => Ied7s_selout<="00000010"; r<=b;when 2 => Ied7s_selout<="00000100"; r<=c;when 3 => Ied7s_selout<="00001000"; r<=d;when 4 => Ied7s_selout<="00010000"; r<=e;when 5 => Ied7s_selout<="00100000"; r<=f;when 6 => Ied7s_selout<="01000000"; r<=g;when 7 => Ied7s_selout<="10000000"; r<=h;whe n others => n ull;end case;end process;process(r)begincase r iswhen 0=>led7s<="1000000"; whe n 1=>led7s<="1111001";when 2=>led7s<="0100100";when 3=>led7s<="0110000";when 4=>led7s<="0011001";when 5=>led7s<="0010010";when 6=>led7s<="0000010";when 7=>led7s<="1111000";when 8=>led7s<="0000000";when 9=>led7s<="0010000";when others => n ull;end case;end process;process(clk0_1,half_e nd,full_e nd)-- 上下半场灯亮延时提示beginif clk0_1'eve nt and clk0_1='1' the nif half_e nd='1' thenif q_3=3 thenled_h_e nd<='0';else q_3<=q_3+1;led_h_e nd<='1';end if;end if;if full_e nd='1' the nif q_5=5 the nled_f_e nd<='0';else q_5<=q_5+1;led_f_e nd<='1';end if;end if;if stop='1' the nq_3<=0;q_5<=0;end if;end if;end process;en d;2、引脚分配设置:3加载程序至试验箱,打开拨盘开关1比赛开始,LED灯1灭,进行上半场比赛,8个数码显示管依次显示09590000,比赛时间一共10分钟,前四位为时间显示每一秒减计数一次;第五位和第六位为A对比赛分值,当拨动拨盘开关3、4、5时,数码管相应显示加1分、2分、3分;第七位和第八位为B对比赛分值,当拨动拨盘开关6、7、8时,数码管相应显示加1分、2分、3分;打开把盘开关2,比赛暂停,恢复以后比赛继续进行。
课程设计--篮球比赛计分牌设计

电子技术课程设计题目:篮球比赛计分牌设计专业:电气工程及其自动化班级:姓名:`````学号:23指导老师:小组成员:成绩:篮球比赛数字计分牌的设计摘要随着科技的发展和人们生活水平的逐渐提高,各种有利于生活的电子产品开始逐步进入人们的生活。
数字记分牌的出现则代替了记分员人工翻动记分牌累计积分的繁琐劳动,使各种比赛进入了更智能、更高效、更精准的人机互动时代,在各种比赛中具有重要意义。
本文介绍了基于数字电路的篮球数字计分牌的设计,在硬件方面使用三片四位二进制加法器 74LS161分别组成 1,2,3 进制计数器,用三个开关分别进行 1分,2 分,3 分的计数,然后把数值通过逻辑电路输入到十进制加/减计数器74LS192进行总分的累加。
使用两个七段LED管进行显示十位,个位, LED采用的七段数码显示,用74LS48芯片进行驱动。
软件方面使用Multisim对可逆计数器进行仿真,整个系统能够对篮球比赛过程中比赛分数进行计数累加,实现对整个比赛的计分。
关键字:数字记分器;LED 数码管;计数器;仿真目录一、设计项目与目的二、设计方案及原理 (2)三、单元电路得设计 (10)1 二进制加法计数器74LS161 (10)2 十进制可逆计数器74LS192 (11)3 七段数码显示管 (11)4 七段显示译码器74LS48 (11)四、电路元件清单 (12)五、电路设置及仿真1 电路设置 (11)2 电路仿真 (11)六、总结及心得一、设计任务与目的设计一个篮球比赛数字计分器,掌握数字计分器的工作原理和设计方法。
要求:(1)分别记录两队得分情况;(2)进球得分加2分,罚球进球得分加1分;(3)纠正错判得分减2分或1分;(4)分别用三个数码管显示器记录两队的得分情况。
设计目的:(1)熟悉中规模集成可逆计数器,译码器和显示器的功能;(2)培养创造性地运用所学知识进行数字系统设计的能力和兴趣;(3)了解数字系统的实验及调试方法,以及一般故障的排除方法。
篮球赛记分牌设计

篮球赛记分牌设计前言篮球是一项充满乐趣的运动,打篮球不仅可以强身健体,而且能增进队友之间的相互信任。
现在篮球普及率已经很高,打篮球不仅仅是专业运动员的运动,也是普通老百姓的活动,不管你是走在学校里,还是公园里,或者是小区里,都能看到篮球场,都能看到打篮球的人,篮球已成为我们大部分人生活里不可缺少的一部分,每天都能听到有人在谈论篮球,说说自己喜欢的NBA巨星……因为喜欢篮球,所以打篮球,时不时会来场激烈的比赛,但是传统的记分方式如粉笔或记计分人员手动翻动记分牌给我们带来诸多不便。
随着社会的发展、科学技术的进步以及人们生活水平的不断提高,各种电子产品开始进入人们的生活,使人们的生活更加便利。
篮球赛记分牌设计的实现使得我们轻轻松松几个按钮开关就能记下分数,让我们感受到科技给我们带来的巨变。
篮球比赛的胜负是由两支队伍在规定时间里得分多少来决定。
由于比赛的不可重复性和绝对的公平性,决定了篮球赛记分牌系统是一个实用性很强、可靠性要求极高的以计算机技术为核心的电子服务系统。
这种设备是篮球比赛中不可或缺的一种电子设备,篮球赛记分牌系统设计是否合理,关系到整个篮球比赛系统运行的稳定和可靠,并直接影响到整个篮球比赛的顺利进行。
篮球赛记分牌系统是篮球比赛的重要工程项目,是关系到比赛成败的关键工程,这种记分牌还可以运用到其他体育竞赛,如足球、羽毛球。
1 系统总体设计方案随着单片机[1]广泛应用于各领域,许多用单片机作控制的球赛记时记分系统也随之产生,例如用单片机控制LCD液晶显示器记时记分器和用单片机控制LED七段显示器计时计分器等。
本设计根据所学的C语言基础知识和一些编程思想,对所需要的一些硬件在市场上进行了调查比较,选择了比较简单,容易实现的51单片机,结合运用C语言思想进行方案设计,使用keil uVision软件编写程序。
51单片机内部的定时器/计数器进行中断可以结合软件延时实现计时。
采用的硬件核心是89C51芯片,其内部采用Flash ROM,具有4KB ROM存储空间,能与3V的超低压工作,电路设计中由于不具备ISP在线编程技术,可以运用STC-ISP烧入程序。
EDA篮球比赛计分器课程设计

一、任务及要求:设计一个用于赛场的篮球计时计分器,其完成的功能如下所示:1、能记录整个赛程的比赛时间,并能修改比赛时间。
2、能随时刷新甲、乙两队在整个过程中的比分。
3、中场交换比赛场地时,能交换甲、乙两队比分的位置。
4、比赛结束时,能发出报警声。
二、硬件设计2.1 AT89C52简介单片机是在一块芯片中集成了CPU、RAM、ROM、定时/计数器和多功能I/O 口等计算机所需要的基本部件的大规模集成电路。
其以体积小、功能全、性价比高等诸多优点而独具特色,在工业控制、尖端武器、通信设备、家用电器等嵌入式应用领域中独占鳌头。
如果说C语言程序设计课程设计软件设计的基础课,那么单片机以其系统硬件构架完整、价格低廉、学生能动手等特点,成为工科学生硬件设计基础课。
2.2 数码管显示原理数码管实际上是由7个发光管组成8字形构成的,加上小数点就是8个。
我们分别把他命名为A,B,C,D,E,F,G,H。
图2.2 数码管内部结构图假设我们要显示一个数字2, 那么 A、B、G、E、D这5个段的发光管亮就可以了,C、F、H不亮,同时由于接法为共阴接法,那么为高电平是亮,低电平是灭。
从高往低排列, P1.7-P1.0写成二进制为01011011,把他转化为16进制则为5BH。
我们可以根据硬件的接线把数码管显示数字编制成一个表格,见下表,以后直接调用就行了。
数码管的接口有静态接口和动态接口两种。
静态接口为固定显示方式,无闪烁,其电路可采用一个并行口接一个数码管,数码管的公共端按共阴接GND ,本次课程设计由于所需数码管不多,故可用些种方法接线。
这种接法占用接口多,仅能接少量数码管。
动态接口采用各数码管循环轮流显示的方法,当循环显示的频率较高时,利用人眼的暂留特性,看不出闪烁显示现象,这种显示需要一个接口完成字形码的输出,另一接口完成各数码管的轮流点亮。
多位一体的数码管原理和单个的差不多。
表2.1 共阴极数码管显示显示P1.7小数点P1.6 G P1.5小FP1.4 EP1.3 DP1.2 CP1.1 BP1.0 AHE 代码0 0 0 1 1 1 1 1 1 3FH 1 0 0 0 0 0 1 1 0 06H 2 0 1 0 1 1 0 1 1 5BH 3 0 1 0 0 1 1 1 1 4FH 4 0 1 1 0 0 1 1 0 66H 5 0 1 1 0 1 1 0 1 6DH 6 0 1 1 1 1 1 0 1 7DH 7 0 0 0 0 0 1 1 1 07H 8 0 1 1 1 1 1 1 1 7FH 91111116FH2.3 总体方案:基于单片机系统的篮球赛计时计分器的系统构成图如下图所示:图2.3 系统结构图本系统采用单片机AT89C51作为本设计的核心元件。
篮球记分牌(数电课程设计)(DOC)

数字逻辑电路课程设计报告院(部):信息工程学院专业:通信工程班级:通信二班*名:***学号:***********成绩:指导老师:***开课时间:2016-2017 学年 2 学期课程设计任务书一、设计题目篮球记分牌二、主要内容1、分析设计题目的具体要求2、完成课题所要求的各个子功能的实现3、用multisim软件完成题目的整体设计三、要求完成的主要功能1、自选器件,要求甲乙双方各显示为三位数(可显示至百位)2、分别用三个按钮,给记分牌加减1、2、3分。
3、用一个开关实现加减控制4、每次篮球比赛计分后用一个开关给系统清零,使系统复位,准备下一次比赛实验。
四、进度安排第一天:介绍所用仿真软件;布置任务,明确课程设计的完整功能和要求。
第二天:消化课题,掌握设计要求,明确设计系统的全部功能,图书馆查阅资料。
第三天:确定总体设计方案,画出系统的原理框图。
第四天:绘制单元电路并对单元电路进行仿真。
第五天:分析电路,对原设计电路不断修改,获得最佳设计方案。
第六天:完成整体设计并仿真验证。
第七天:对课程设计进行现场运行检查并提问,给出实践操作成绩。
第八天:完成实践报告的撰写五、成绩评定课程设计成绩按优、良、中、及格、不及格评定,最终考核成绩由四部分组成:1、理论设计方案,演示所设计成果,总成绩20%;2、设计报告,占总成绩30%;3、回答教师所提出的问题,占总成绩30%;4、考勤情况,占总成绩20%;无故旷课一次,平时成绩减半;无故旷课两次平时成绩为0分,无故旷课三次总成绩为0分。
迟到20分钟按旷课处理。
篮球记分牌的设计专业班级:通信二班:学生姓名:陈俊达摘要:篮球比赛是根据参赛队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统。
篮球比赛的计时计分系统由计时器、计分器等多种电子设备组成,同时,根据目前高水平篮球比赛要求,完善的篮球比赛计时计分系统设备应能够与现场成绩处理、现场大屏幕、电视转播车等多种设备相连,以便实现高比赛现场感、表演娱乐观众等功能目标。
篮球比赛电子记分牌

绩
成绩:
指导教师签字:
年
月
日
辽
宁
工业
大 学 课 程 设 计 说 明 书(论 文)
目
录
第
1章
篮球比
赛电子记分
牌
1
1.1篮球比赛电子记分牌的应用意
义
1
1.2篮球比赛电子记分牌设计的要求及技术指
标1
1.3设计方案论
证
1
1.4总体设计方案框图及分
析
2第2章 篮球比赛电子记分牌各单元电路设
计2
,夕卜,还有两个控制输入端、。如表所示,它们的状态组合可以完成4种输入
端ADSS10
控制功能,其中左移和右移两项是指串行输入,数据是分别从左移输入端D和
右移输入SL端D送入寄存器的。R为异步清零输入端。其第一行表示寄存器的异 步清零;第二行表SRD
示当R,1,CP=1(或0)时,寄存器处于原来状态;第三行表示为并行输入同步 预置数;D
编码器选择了74147其功能表如图所示。
S1 S2 S3 S4 S5 S6 S7 S8 S9 A B C D1 1 1 1 1 1 1 1 1 1 1 1 1X X X X
X X X X0 0 1 1 0X X X X X X X0 1 1 1 1 0X X X X X X0 1 1 0 0 0 1X
课程设计
篮球比赛电子记分牌(论文)
题目
设计参数:
1、有得1分、2分和3分的情况,还有减分的情况,电路要具有加分、 减
分及显示的功能。
2、有倒计时时钟显示,在“暂停时间到”和“比赛时间到”时,发出声光提 示。
3、有比赛规则规定的其他计时、记分要求。
设计要求:课1 .分析设计要求,明确性能指标。必须仔细分析课题要求、性 能、指标及应用程
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
长沙学院课程设计说明书题目篮球比赛电子记分牌设计目录一、课题名称ﻩ错误!未定义书签。
二、设计内容ﻩ错误!未定义书签。
三、设计思路ﻩ错误!未定义书签。
1、整体设计思路: ............................................................................................ 错误!未定义书签。
2、整体设计流程:ﻩ错误!未定义书签。
四、设计说明 (2)1、设计程序ﻩ32、ﻩ引脚分配设置: ....................................................................................... 错误!未定义书签。
3、ﻩ功能描述 ................................................................................................... 错误!未定义书签。
五、设计心得....................................................................................................... 错误!未定义书签。
六、参考文献ﻩ错误!未定义书签。
一、课题名称篮球比赛电子记分牌设计二、设计内容设计一个篮球比赛记分牌,使用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的频率,将时间以及ﻩA、B队的比赛得分同时扫描显示在数码管上(5)、LED灯模块:对上下场的显示,以及比赛结束的灯亮延长显示四、设计说明1、设计程序library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;use ieee.std_logic_arith.all;entity baseketballisport(clk:instd_logic;ﻩstart,addtime,add1_A,add2_A,add3_A,add1_B,add2_B,add3_B:in std_logi c;--A\B duijiafen xinhao--比赛开始,A.B队加分信号ﻩstop:in std_logic; --比赛暂停ﻩﻩled7s_selout:outstd_logic_vector(7downto0); --数码管位选ﻩled7s:out std_logic_vector(6 downto0); --7 段数码显示管ﻩled_up:out std_logic; --上半场亮灯显示ﻩled_down:outstd_logic; --下半场亮灯显示ﻩled_h_end:outstd_logic; --半场结束延时亮灯输出ﻩled_f_end:outstd_logic); --全场结束延时亮灯输出end;architecture oneofbaseketball isconstant time_m:integer:=9; --时间分位初始化constanttime_s :integer:=59; --时间秒位初始化signal time_m0:integer range0 to9; --分位时间范围signaltime_s0:integer range 0to 59;--秒位时间范围signal cout_A,cout_B:integer range0to 99;-- 比分计数范围signal clk0_1,clk0_1M:std_logic; --1HZ\1MHZ 信号signal q0_1:integer range0 to24999999; --1HZ 分频计数范围signal q0_1M:integer range0 to25; --1MHZ分频计数范围signalhalf_end,full_end,add_end:std_logic;-- 上下半场结束信号signal r,a,b,c,d,e,f,g,h:integer range0 to 9;--扫描显示加载信号signal q1:integerrange0 to7;--动态扫描显示信号范围signal q_3:integer range0 to3;--s半场比赛结束延时提示signal q_5:integer range 0to 5; --全场比赛结束延时提示signalq_t_m:integerrange 0to 1; --秒借位signal q_t_s:integer range 0 to 1;--分借位beginprocess(clk) --1MHZ频率beginﻩﻩif clk'eventandclk='1'thenﻩifq0_1M=25 thenﻩﻩﻩq0_1M<=0;ﻩclk0_1M<=notclk0_1M;ﻩelse q0_1M<=q0_1M+1;ﻩendif;ﻩendif;ﻩend process;process(clk) -- 1HZ 频率beginﻩifclk'event and clk='1' thenﻩif q0_1=24999999thenﻩq0_1<=0;ﻩﻩclk0_1<=notclk0_1;ﻩelseﻩﻩq0_1<=q0_1+1;end if;ﻩend if;end process;process(clk0_1,clk) --时间模块beginif clk0_1'event andclk0_1='1'thenifstart='1' thenﻩif half_end='0' and full_end='0'thentime_s0<=time_s;led_up<='1';ﻩif time_m0=0and time_s0=0then ﻩﻩtime_m0<=time_m;ﻩﻩled_up<='0';ﻩﻩﻩﻩhalf_end<='1';elsif time_s0=0 thenﻩﻩﻩq_t_m<=1;ﻩﻩﻩtime_m0<=time_m0-q_t_m;ﻩelseﻩﻩﻩﻩq_t_s<=1;ﻩﻩﻩﻩtime_s0<=time_s0-q_t_s;ﻩﻩend if;ﻩend if;ﻩif half_end='1' and full_end='0'thenﻩﻩtime_s0<=time_s;ﻩled_down<='1';if time_m0=0 andtime_s0=0 thenﻩtime_m0<=time_m;ﻩﻩled_down<='0';ﻩfull_end<='1';ﻩﻩelsif time_s0=0 thenﻩﻩﻩq_t_m<=1;ﻩﻩﻩtime_m0<=time_m0-q_t_m;ﻩelseﻩﻩﻩq_t_s<=1;ﻩﻩtime_s0<=time_s0-q_t_s;ﻩﻩend if;ﻩend if;ﻩﻩend if;if addtime='1' andfull_end='1' then --比赛计时ﻩﻩifadd_end='0'thentime_s0<=time_s;ﻩif time_m0=0and time_s0=0 thenﻩﻩﻩtime_m0<=time_m;add_end<='1';ﻩﻩelsif time_s0=0 thenﻩq_t_m<=1;ﻩﻩtime_m0<=time_m0-q_t_m;ﻩﻩﻩelseﻩﻩﻩq_t_s<=1;ﻩﻩﻩtime_s0<=time_s0-q_t_s;ﻩend if;endif;ﻩif stop='1' thenﻩhalf_end<='0';ﻩfull_end<='0';add_end<='0';ﻩendif;end if;endprocess;process(add1_A,add2_A,add3_A) --A 对加分模块beginif add1_A='1'thenﻩcout_A<=cout_A+1;ﻩendif;ifadd2_A='1' thenﻩﻩcout_A<=cout_A+2;ﻩend if;if add3_A='1'thenﻩcout_A<=cout_A+3;ﻩﻩend if;ﻩifstop='1' thencout_A <=0;end if;endprocess;process(add1_B,add2_B,add3_B)--B对加分模块beginif add1_B='1'thenﻩcout_B<=cout_B+1;ﻩend if;ifadd2_B='1'thenﻩcout_B<=cout_B+2;ﻩendif;ﻩif add3_B='1' thenﻩﻩcout_B<=cout_B+3;ﻩend if;ﻩif stop='1'thenﻩcout_B <=0;ﻩend if;end process;process(clk0_1M,q1)ﻩbeginﻩif clk0_1M'eventand clk0_1M='1'thenﻩif q1=7 thenﻩﻩq1<=0;ﻩelseq1<=q1+1;ﻩendif;endif;endprocess;process(q1,a,b,c,d,e,f,g,h) --动态扫描显示模块ﻩbegina<=time_m0/10;b<=time_m0rem10;ﻩc<=time_s0/10;ﻩﻩd<=time_s0 rem 10;ﻩﻩe<=cout_A/10;f<=cout_A rem10;ﻩg<=cout_B/10;ﻩh<=cout_B rem 10;ﻩcase q1iswhen 0 => led7s_selout<="00000001";r<=a;when 1=> led7s_selout<="00000010";r<=b;ﻩwhen2=> led7s_selout<="00000100";r<=c;ﻩﻩwhen 3 => led7s_selout<="00001000";r<=d;ﻩwhen 4 =>led7s_selout<="00010000";r<=e;ﻩﻩwhen5 => led7s_selout<="00100000"; r<=f;ﻩﻩwhen6=> led7s_selout<="01000000";r<=g;ﻩﻩwhen7 => led7s_selout<="10000000"; r<=h;ﻩwhenothers=> null;ﻩend case;end process;ﻩprocess(r)ﻩbeginﻩﻩcaser isﻩﻩwhen 0=>led7s<="1000000";ﻩﻩwhen 1=>led7s<="1111001";ﻩwhen2=>led7s<="0100100";ﻩﻩwhen 3=>led7s<="0110000";ﻩﻩwhen 4=>led7s<="0011001";ﻩwhen5=>led7s<="0010010";ﻩﻩﻩwhen6=>led7s<="0000010";ﻩﻩwhen7=>led7s<="1111000";ﻩﻩwhen8=>led7s<="0000000";ﻩﻩwhen 9=>led7s<="0010000";ﻩﻩﻩﻩwhen others=> null;ﻩﻩend case;end process;process(clk0_1,half_end,full_end) --上下半场灯亮延时提示beginif clk0_1'event and clk0_1='1'thenif half_end='1'thenifq_3=3thenﻩled_h_end<='0';ﻩelse q_3<=q_3+1;ﻩﻩled_h_end<='1';end if;endif;ﻩif full_end='1' thenﻩif q_5=5thenﻩﻩﻩled_f_end<='0';ﻩﻩelse q_5<=q_5+1;led_f_end<='1';ﻩend if;endif;ﻩif stop='1' thenﻩq_3<=0;ﻩﻩq_5<=0;end if;end if;end process; end;2、引脚分配设置:3、功能描述加载程序至试验箱,打开拨盘开关1,比赛开始,LED灯1灭,进行上半场比赛,8个数码显示管依次显示09590000,比赛时间一共10分钟,前四位为时间显示每一秒减计数一次;第五位和第六位为A对比赛分值,当拨动拨盘开关3、4、5时,数码管相应显示加1分、2分、3分;第七位和第八位为B对比赛分值,当拨动拨盘开关6、7、8时,数码管相应显示加1分、2分、3分;打开把盘开关2,比赛暂停,恢复以后比赛继续进行。