数字式竞赛抢答器电系统综合设计报告.docVIP

数字式竞赛抢答器电系统综合设计报告.doc

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数字式竞赛抢答器电系统综合设计报告

电子系统综合设计报告 数字式竞赛抢答器 学 院 电信 专 业 电科 小组成员 指导教师 提交日期 年 月 日 目录 题目设计描述 3 功能介绍 3 设计思路 3 程序代码描述 3 按键消抖模块 3 时钟分频模块 5 按键控制模块 7 抢答信号识别模块 8 倒计时模块 9 计分模块 11 选择显示模块 13 数码管显示模块 14 顶层原理图 16 总结 16 题目设计描述 功能介绍 此设计用于竞赛的四人抢答,有如下的功能: 具有多路抢答功能,台数设计为四; 具有抢答器开始后30秒倒计时,30秒后无人抢答蜂鸣器报警; 能显示各组得分,答对加分,答错扣分; 当系统复位,主持人拨下抢答开始按键,3秒倒计时后抢答开始,某路抢答键按下时,该路信号将其他路信号锁存,同时对应led等变亮,直至此路按键松开。 设计思路 本设计采用分层设计思想,共分成时钟分频模块、按键消抖模块、按键控制、抢答信号识别模块、倒计时模块、计分模块、选择显示模块、数码管显示模块,各个模块之间只存在数据传输,可独立运行,顶层模块采用原理图输入的方式,这样能方便各成员完成各自负责的模块。 时钟分频模块:将系统50Mhz的时钟分频出多种频率的时钟。 抢答信号识别模块:当开始抢答的拨码开关被拨到开始抢答的状态后,倒计时模块首先进行3秒的倒计时,在这短时间内任何按键都没有作用(即在这段时间内抢答信号无效);30秒倒计时开始后抢答信号才有作用,开始正式的抢答。当某路抢答信号被识别后,相应的led等亮起,倒计时暂停,若主持人判断抢答完成,可将拨码开关恢复到初始位置,若判断其他组能继续抢答,则让当前组放开按键,则抢答继续。(注意:抢到回答机会后不能放开按键) 计分模块:分计正分和负分,答对计正分,答错计负分,最高分为9,最低分为0,适用于10分制。当前分数为0,若再扣分,对应的led灯会亮起以作标记;当前分数为9,若再加分,对应led灯会亮起以作标记。 倒计时模块:当抢答开始的拨码开关拨到开始状态后,倒计时模块首先进行3秒的倒计时,然后进行30秒的倒计时,若抢答信号识别模块识别到有成功抢答的信号,则stop信号为高电平,30秒倒计时暂停。若30秒倒计时完成后还没有人抢答,则蜂鸣器报警。 选择显示模块:通过拨码开关控制七段数码管显示各参赛选手的分数或者是倒计时的时间。 按键控制模块:通过拨码开关控制四个按键是用作抢答按键还是分数加减。 程序代码描述 按键消抖模块: LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_ARITH.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY KEY_DELY IS PORT ( KD_MCLK : IN STD_LOGIC; --50K HZ KD_DIN : IN STD_LOGIC; KD_DOUT : OUT STD_LOGIC ); END ENTITY; ARCHITECTURE BEHAVIRAL OF KEY_DELY IS SIGNAL KEY_DCOUNT : INTEGER RANGE 0 TO 50; BEGIN PROCESS (KD_DIN,KD_MCLK) BEGIN IF (KD_DIN = 1)THEN KEY_DCOUNT = 0; ELSIF (KD_MCLKEVENT AND KD_MCLK = 1)THEN IF (KEY_DCOUNT = 50)THEN KEY_DCOUNT = 45; ELSE KEY_DCOUNT = KEY_DCOUNT + 1; END IF; END IF; END PROCESS; PROCESS (KD_MCLK,KEY_DCOUNT) BEGIN IF (KD_MCLKEVENT AND KD_MCLK = 1)THEN IF (KEY_DCOUNT 40)THEN KD_

文档评论(0)

linjuanrong + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档