




已阅读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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 土建减震隔声板施工方案(3篇)
- 南水北调排水孔施工方案(3篇)
- 甘肃活动策划质量保障方案(3篇)
- 塑料喷泉施工方案(3篇)
- 哈尔滨道法考试题库及答案
- 防疫考试题库及答案大全
- 插花初级考试题库及答案
- 安徽省芜湖市湾沚区2023-2024学年高三下学期高考第一模拟考试(一模)思想政治题库及答案
- 心协面试题目及答案
- 未来网络技术发展系列白皮书(2025) 中国移动云智算新一代网络基础设施白皮书
- JJF(石化)053-2021间隙式湿膜制备器校准规范
- 4.3闭环控制系统的工作过程教学设计-高中通用技术必修《技术与设计2》
- 2023版设备管理体系标准
- 产品设计程序与方法-整理版
- 办公家具供货安装、保障实施及售后服务方案
- 《曼陀罗绘画疗愈-初三减压》PPT
- 企业外包业务安全生产专项检查表(全面)1管理学资料
- 航海英语听力与会话第四版朗读题70篇
- 垃圾中转站设备安全操作规程
- 养老护理员培训投标方案
- XX银行押品权证出入库保管管理办法
评论
0/150
提交评论