ImageVerifierCode 换一换
格式:DOCX , 页数:21 ,大小:53.10KB ,
资源ID:27387153      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/27387153.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(篮球比赛电子记分牌设计.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

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

1、篮球比赛电子记分牌设计课题名称篮球比赛电子记分牌设计设计内容及要求设计一个篮球比赛记分牌,使用4位数码管显示倒计时的分钟、秒钟值;2位数码管显示A方得分;2位数码管显示B方得分;使用LED灯作为上、下半场的标志;单次加分值包括1分、2分和3分。系统提供50MHZ频率的时钟源。完成该系统的硬件和软件的设计,并制作出实物装置,调试好后并能实际运用(指导教师提供制作所需的器件),最后就课程设计本身提交一篇课程设计说明书。设计工作量1、VHDL语言程序设计;2、波形仿真;3、在实验装置上进行硬件测试,并进行演示;4、提交一份完整的课程设计说明书,包括设计原理、程序设计、程序分析、仿真分析、硬件测试、调

2、试过程,参考文献、设计总结等。进度安排起止日期(或时间量)设计内容(或预期目标)备注第1天课题介绍,答疑,收集材料第2天设计方案论证第3天进一步讨论方案, 对设计方案进行必要的修正,方案确定后开始进行VHDL语言程序设计第4天设计VHDL语言程序第5天在实验装置上进行硬件测试,编写设计说明书编写设计说明书教研室意见年 月 日系(部)主管领导意见年 月 日目 录一、概述 - 5 -1、EDA的介绍 - 5 -2、篮球比赛电子记分牌的介绍 - 5 -二、设计目的 - 6 -三、设计内容及要求 - 6 -四、设计思路 - 6 -五、单元模块设计 - 7 -1、分频模块 - 7 -2、计时模块 - 8

3、 -3、计分模块 - 9 -4、显示模块 - 10 -5、 消抖模块 - 12 -六、仿真结果及分析 - 16 -1、引脚分配图 - 16 -2、设计仿真图 - 17 -3、 硬件测试 - 17 -4、仿真结果分析 - 17 -七、设计总结与心得 - 18 -八、参考文献 - 18 -一、概述1、EDA的介绍EDA是电子设计自动化(Electronic Design Automation)的缩写,在20世纪60年代中期从计算机辅助设计(CAD)、计算机辅助制造(CAM)、计算机辅助测试(CAT)和计算机辅助工程(CAE)的概念发展而来的。EDA技术就是以计算机为工具,设计者在EDA软件平台上,

4、用硬件描述语言VHDL完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。EDA技术的出现,极大地提高了电路设计的效率和可操作性,减轻了设计者的劳动强度。2、篮球比赛电子记分牌的介绍体育比赛计时计分系统是对体育比赛过程中所产生的时间、比分等数据进行快速采集记录,加工处理,传递数据的信息系统。根据不同运动项目的不同比赛规则要求,体育比赛的计时计分系统包括测量类、评分类、命中类、制胜类得分类等多种类型。篮球比赛是根据参赛队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的

5、系统是一个负责篮球比赛的数据采集和分配的专用系统,它负责对比赛结果、成绩信息的采集处理、传输分配。篮球比赛的计时计分系统由计时器、计分器等多种电子设备组成,由于比赛的不可重复性,决定了篮球计时计分系统是一个实时性很强、可靠性要求极高的电子服务系统,所以计时计分设备是篮球比赛中不可缺少的电子设备,计时计分系统设计是否合理,关系到比赛系统运行的稳定和可靠,并直接影响到比赛的顺利进行。同时,根据目前高水平篮球比赛要求,完善的篮球比赛计时计分系统设备应能够与现场成绩处理、现场大屏幕、电视转播车等多种设备相联,以便实现高比赛现场感、表演娱乐观众等功能目标。随着比赛规则的进一步完善,相应的计时计分系统也必

6、须随之改进。二、设计目的(1)熟悉FPGA开发的环境和FPGA的结构,了解FPGA开发的流程,熟悉VHDL语言 设计电路的方法。(2)能更熟练的使用VHDL设计FPGA。(3)提高动手能力与实践能力,将软硬件结合起来。三、设计内容及要求设计一个篮球比赛记分牌,使用4位数码管显示倒计时的分钟、秒钟值;2位数码管显示A方得分;2位数码管显示B方得分;使用LED灯作为上、下半场的标志;单次加分值包括1分、2分和3分。系统提供50MHZ频率的时钟源。完成该系统的硬件和软件的设计,并制作出实物装置,调试好后并能实际运用(指导教师提供制作所需的器件),最后就课程设计本身提交一篇课程设计说明书。四、设计思路

7、此次设计是采用QUARTUS II软件,以VHDL为主要编程语言来设计在篮球比赛时所用到的计时系统,记分系统。篮球比赛计时记分系统程序多而且复杂,所以用图形设计方法来设计。先把每一模块的程序写好,然后生成图形文件,最后新建一个顶层图形文件,把各模块联结起来。包括的模块有分频模块、计时模块、记分模块、脉冲产生模块、滤波模块、选择模块、声光显示模块,显示模块及消抖模块等。设计框图如下:计时模块计分模块. 分频模块消抖模块模式控制模块(脉冲产生、滤波、选择、显示) 五、单元模块设计1、分频模块分频模块功能是将50MHz晶振电路高频率时钟信号变成需要的低频率时钟信号。分频模块代码如下:BEGINPRO

8、CESS(CLK) -1hzVARIABLE NUM:INTEGER RANGE 100000000 DOWNTO 0;BEGIN IF CLKEVENT AND CLK = 1 THEN IF NUM 25000000 THEN NUM := NUM + 1; ELSE NUM := 0; CLK1 = NOT CLK1; END IF; END IF;END PROCESS; PROCESS(CLK) - 100HZVARIABLE NUM:INTEGER RANGE 100000000 DOWNTO 0;BEGIN IF CLKEVENT AND CLK = 1 THEN IF NUM

9、50000 THEN NUM := NUM + 1; ELSE NUM := 0; CLK2 = NOT CLK2; END IF; END IF;END PROCESS;2、计时模块12进制减法计数器这个计数器用来表示每一节比赛的分钟位,它的时钟脉冲应由前一个60进制计数器的CO提供。具备复位功能。可以将12进制改为任意进制的减法计数器。当计数结束后,计数器不再计数。 当CO有效时进行减法计数,当计数器减到0之,SO输出一个高电平。EN等于1时计数器复位,当C05等于1时实现比赛加时操作。60进制减法计数器 这个计数器用来表示每一节比赛的秒钟位。要求在完成12个60进制的计数后,计数器不再计

10、数。具备清零、暂停以及复位的功能。 当CLK有效时进行减法计数,CLR等于1时整个计数器清零,EN等于1时计数器复位,PAUSE等于1时计数器暂停计数,。当计数器减到0之,CO输出一个高电平。计时模块代码如下:PROCESS(CLK1) -SHIJIANBEGIN IF CLK1EVENT AND CLK1 = 1 THEN MIAO2 = MIAO2 - 1; IF MIAO2 = 1111 THEN MIAO2 = 1001; MIAO1 = MIAO1 - 1; IF MIAO1 = 1111 THEN MIAO1 = 1001; FEN2 = FEN2 - 1; IF FEN2 = 1

11、111 THEN FEN2 = 1001; FEN1 = FEN1 - 1; IF FEN1 = 1111 THEN FEN1 COUNT1_1 = COUNT1_1 + 1; -+1FEN IF COUNT1_1 = 1001 THEN COUNT1_2 = COUNT1_2 + 1; COUNT1_1 = COUNT1_1 - 1010; IF COUNT1_2 = 1001 THEN COUNT1_2 COUNT1_1 = COUNT1_1 + 0010; -+2FEN IF COUNT1_1(3) = 1 THEN IF COUNT1_1(0) = 1 OR COUNT1_1(1) =

12、 1 OR COUNT1_1(2) = 1 THEN COUNT1_2 = COUNT1_2 + 1; COUNT1_1 = COUNT1_1 - 1010; IF COUNT1_2 = 1001 THEN COUNT1_2 COUNT1_1 = COUNT1_1 + 0011; - +3FEN IF COUNT1_1(3) = 1 THEN IF COUNT1_1(0) = 1 OR COUNT1_1(1) = 1 OR COUNT1_1(2) = 1 THEN COUNT1_2 = COUNT1_2 + 1; COUNT1_1 = COUNT1_1 - 1010; IF COUNT1_2

13、= 1001 THEN COUNT1_2 NULL; END CASE; END IF;END PROCESS;PROCESS(KOUT1_2,KEY2) BEGIN IF KOUT1_2EVENT AND KOUT1_2 = 1 THEN CASE KEY2 IS WHEN 00 = COUNT2_1 = COUNT2_1 + 1; -+1FEN IF COUNT2_1 = 1001 THEN COUNT2_2 = COUNT2_2 + 1; COUNT2_1 = COUNT2_1 - 1010; IF COUNT2_2 = 1001 THEN COUNT2_2 COUNT2_1 = COU

14、NT2_1 + 0010; -+2FEN IF COUNT2_1(3) = 1 THEN IF COUNT2_1(0) = 1 OR COUNT2_1(1) = 1 OR COUNT2_1(2) = 1 THEN COUNT2_2 = COUNT2_2 + 1; COUNT2_1 = COUNT2_1 - 1010; IF COUNT2_2 = 1001 THEN COUNT2_2 COUNT2_1 = COUNT2_1 + 0011; - +3FEN IF COUNT2_1(3) = 1 THEN IF COUNT2_1(0) = 1 OR COUNT2_1(1) = 1 OR COUNT2

15、_1(2) = 1 THEN COUNT2_2 = COUNT2_2 + 1; COUNT2_1 = COUNT2_1 - 1010; IF COUNT2_2 = 1001 THEN COUNT2_2 NULL; END CASE; END IF;END PROCESS;4、显示模块译码显示模块将上一个模块输出四个一位数译码成相对应的七位数码管段码,完成倒计时的译码和显示。由于试验箱采用动态显示,所以需要将BCD码转换成段码和位码。 D0到D7分别表示8个LED管。显示模块代码如下:BEGIN IF CLK2EVENT AND CLK2 = 1 THEN WEI_SEL WEI = 00000

16、001; DISP WEI = 00000010; DISP WEI = 00000100; DISP WEI = 00001000; DISP WEI = 00010000; DISP WEI = 00100000; DISP WEI = 01000000; DISP WEI = 10000000; DISP NULL; END CASE;END PROCESS; PROCESS(DISP)BEGIN CASE DISP IS WHEN 0000 = LED7S LED7S LED7S LED7S LED7S LED7S LED7S LED7S LED7S LED7S NULL; END C

17、ASE;END PROCESS;5、消抖模块消抖模块的原理就是把一个按键周期内所输入的所有有效信号,包括那些毛刺,处理成一个脉冲输入。能达到这点,就可以实现消抖功能了。这个设计中存在很多的毛刺,会影响设计的效果及结果,所以需要采用几个消抖的模块来使设计更加的准确。其中,该设计中主要是对按键的消抖。消抖模块代码如下:PROCESS(BUTTON1_1,CLK) -BUTTON1_1 XIAO DOUVARIABLE NUM :INTEGER RANGE 0 TO 1000000;VARIABLE NUM2 :INTEGER RANGE 0 TO 1000000;BEGIN IF CLKEVENT

18、 AND CLK = 1 THEN IF BUTTON1_1 = 1 THEN NUM := NUM + 1; ELSE NUM := 0; END IF; IF BUTTON1_1 = 0 THEN NUM2 := NUM2 + 1; ELSE NUM2 := 0; END IF; IF NUM 50000 THEN KOUT1_1 50000 THEN KOUT1_1 50000 THEN KOUT1_2 50000 THEN KOUT1_2 50 THEN KOUT1_3 50 THEN KOUT1_3 50000 THEN KOUT2_1 50000 THEN KOUT2_1 50 THEN KOUT2_2 50 THEN KOUT2_2 50 THEN KOUT2_3

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

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