




已阅读5页,还剩7页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
长 沙 学 院课程设计说明书题目 篮球比赛电子记分牌设计目 录一、课题名称3二、设计内容3三、设计思路31、整体设计思路:32、整体设计流程:3四、设计说明41、设计程序42、引脚分配设置:103、功能描述11五、设计心得12六、参考文献12一、 课题名称篮球比赛电子记分牌设计二、设计内容设计一个篮球比赛记分牌,使用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 baseketball isport(clk:in std_logic;start,addtime,add1_A,add2_A,add3_A,add1_B,add2_B,add3_B:in std_logic;-AB dui jia fen xin hao -比赛开始,A.B队加分信号 stop:in std_logic; -比赛暂停led7s_selout:out std_logic_vector(7 downto 0); -数码管位选 led7s:out std_logic_vector(6 downto 0); -7 段数码显示管led_up:out std_logic; -上半场亮灯显示led_down:out std_logic; -下半场亮灯显示led_h_end:out std_logic; -半场结束延时亮灯输出 led_f_end:out std_logic); -全场结束延时亮灯输出end;architecture one of baseketball isconstant 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; -1HZ1MHZ 信号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; -分借位beginprocess(clk) - 1MHZ 频率beginif clkevent and clk=1 thenif q0_1M=25 thenq0_1M=0;clk0_1M=not clk0_1M;else q0_1M=q0_1M+1;end if;end if;end process;process(clk) - 1HZ 频率beginif clkevent and clk=1 thenif q0_1=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_1event and clk0_1=1 thenif start=1 thenif half_end=0 and full_end=0 thentime_s0=time_s;led_up=1;if time_m0=0 and time_s0=0 thentime_m0=time_m;led_up=0;half_end=1;elsif time_s0=0 thenq_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;if half_end=1 and full_end=0 thentime_s0=time_s;led_down=1;if time_m0=0 and time_s0=0 thentime_m0=time_m;led_down=0;full_end=1;elsif time_s0=0 thenq_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_end=1 then-比赛计时if add_end=0 thentime_s0=time_s;if time_m0=0 and time_s0=0 thentime_m0=time_m;add_end=1;elsif time_s0=0 thenq_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 thenhalf_end=0;full_end=0;add_end=0;end if;end if;end process;process(add1_A,add2_A,add3_A) -A 对加分模块beginif add1_A=1 thencout_A=cout_A+1;end if;if add2_A=1 thencout_A=cout_A+2;end if;if add3_A=1 thencout_A=cout_A+3;end if;if stop=1 thencout_A =0;end if;end process;process(add1_B,add2_B,add3_B) -B对加分模块beginif add1_B=1 thencout_B=cout_B+1;end if;if add2_B=1 thencout_B=cout_B+2;end if;if add3_B=1 thencout_B=cout_B+3;end if;if stop=1 thencout_B =0;end if;end process;process(clk0_1M,q1) beginif clk0_1Mevent and clk0_1M=1 thenif q1=7 thenq1=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_m0 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 led7s_selout=00000001; r led7s_selout=00000010; r led7s_selout=00000100; r led7s_selout=00001000; r led7s_selout=00010000; r led7s_selout=00100000; r led7s_selout=01000000; r led7s_selout=10000000; r null;end case;end process;process(r)begincase r iswhen 0=led7sled7sled7sled7sled7sled7sled7sled7sled7sled7s null;end case;end process;process(clk0_1,half_end,full_end) -上下半场灯亮延时提示beginif clk0_1event and clk0_1=1 thenif half_end=1 thenif q_3=3 thenled_h_end=0;else q_3=q_3+1;led_h_end=1;end if;end if;if full_end=1 thenif q_5=5 thenled_f_end=0;else q_5=q_5+1;led_f_end=1;end if;end if;if stop=1 thenq_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,比赛暂停,恢复以后比赛继续进行。当上半场结束以后,比赛停止,LED灯3灭三秒时间提醒。再次打开拨盘开关1,比赛进行下半场,比赛结束以后,LED灯灭5秒时间提醒。五、设计心得这次EDA课程设计历时两个星期,在整整两个星期的日子里,可以说是苦多于甜,但是可以学的到很多很多的东西,同时不仅可以巩固以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次设计,进一步加深了对EDA的了解,让我对它有了更加浓厚的兴趣。在设计过程中遇上了不少的问题,自己的思路与搭档的有些不同,特别是在对时间模块设计上,我的思路是将四个显示位全部都以单个模块的形式编辑,而搭档的想法是在一个模块中完成,综合比较一下,搭档的设计更加的简洁精要,所以我选择了他的思路。当然在一个模块当中完成对时间的控制并非简单的事情,我们在编程的过程中遇上一些问题,比如说,初始化不正确,倒计时不标准等等,这些困扰了我们很久。当然,在我们不断地分析,讨论
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 期中专题复习-词汇句型训练-2025-2026学年 译林版2024 英语七年级上册 原卷
- 20xx教师节感谢信3篇
- 文化遗产法律政策与文化产业发展研究-洞察及研究
- 【2025年秋七上语文阶段测试】第2单元学业质量评价01(解析版)
- 车驾管窗口业务课件培训
- 基于区块链的分布式能源交易场景下的仪表数据确权机制
- 基于人工智能的刺五加提取物多靶点作用机制预测模型构建
- 城市热岛效应缓解工程中列管散热器的分布式微气候调控效能评估
- 国际安全认证体系下扳手抗冲击测试标准与本土化适配冲突
- 四方结构力学性能优化与用户使用习惯冲突
- 学前教育自然科学课程
- 2024年5月12日河北省省直事业单位招聘(综合类)工作人员《职业能力测验》试题真题试卷答案解析
- 2025年注安道路运输安全实务真题卷(附解析)
- 2025-2030中国建筑工程质量检测设备行业市场发展现状及竞争格局与投资前景研究报告
- 小学英语北京版二年级上册名校期末测试题(一)
- 人教版五年级数学上册教学计划(含进度表)
- 2025年电除尘器试题及答案
- 模具移交协议书范本
- 荨麻疹的护理查房课件
- 【课件】2024新课标Ⅱ卷语法填空说课 课件-2025届高三上学期英语一轮复习专项
- 第二单元第二节元素说课稿-2024-2025学年九年级化学鲁教版上册
评论
0/150
提交评论