EDA技术课程设计数字式竞赛抢答器.doc

  1. 1、本文档共13页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
EDA技术课程设计数字式竞赛抢答器

课程 EDA技术课程设计 题目 数字式竞赛抢答器 专业 电子信息工程 主要内容、基本要求、主要参考资料等 主要内容: 设计一个可容纳6组参赛的数字式抢答器,当第一个人按下抢答按钮时,其他组的按钮不起作用。当主持人按下“复位”按钮,所有组的按键才可用。 基本要求: 1、设计一个可容纳6组参赛的数字式抢答器,每组设一个按钮,供抢答使用。 2、抢答器具有第一信号鉴别和锁存功能,使除第一抢答者外的按钮不起作用。 3、设置一个主持人“复位”按钮。 4、主持人复位后,开始抢答,第一信号鉴别锁存电路得到信号后,有指示灯显示抢答组别,扬声器发出2-3秒的音响。 5、设置一个计分电路,每组开始预置100分,由主持人记分,答对一次加10分,答错一次减10分。 主要参考资料: [1] 潘松著.EDA技术实用教程(第二版). 北京:科学出版社,2005. [2] 康华光主编.电子技术基础 模拟部分. 北京:高教出版社,2006. [3] 阎石主编.数字电子技术基础. 北京:高教出版社,2003. 完成期限 2011.3.11 指导教师 专业负责人 2011年 3月7日 一、总体设计思想 1.基本原理 本设计为六路智能抢答器,所以这种抢答器要求有六路不同组别的抢答输入信号,并能识别最先抢答的信号,直观地通过数显和蜂鸣等方式显示出组别;对回答问题所用的时间进行计时、显示、超时报警、预置答题时间,同时该系统还应有复位、倒计时启动功能。 抢答过程:主持人按下系统复位键(RST),系统进入抢答状态,计时模块和计分模块输出初始信号给数码显示模块并显示出初始值。当某参赛组抢先将抢答键按下时,系统将其余三路抢答信号封锁,同时扬声器发出声音提示,组别显示模块送出信号给数码显示模块,从而显示出该抢答成功组台号,并一直保持到下一轮主持人将系统清零为止。主持人对抢答结果进行确认,随后,计时模块送出倒计时计数允许信号,开始回答问题,计时显示器则从初始值开始以计时,在规定的时间内根据答题的正误来确定加分或减分,并通过数码显示模块将成绩显示出来。计时至0时,停止计时,扬声器发出超时报警信号,以中止未回答完问题。当主持人给出倒计时停止信号时,扬声器停止鸣叫。若参赛者在规定时间内回答完为题,主持人可给出倒计时计数停止信号,以免扬声器鸣叫。主持人按下复位键,即RST为高电平有效状态,清除前一次的抢答组别,又可开始新的一轮的抢答。 此抢答器的设计中采用自顶向下的设计思路,运用VHDL硬件描述语言对各个模块进行层次化、系统化的描述,并且先设计一个顶层文件,再把各个模块连接起来。 2.设计框图 主电路 二、设计步骤和调试过程 总体设计电路 模块设计和相应模块程序 将该任务分成几个模块进行设计,分别为:抢答器鉴别模块、抢答器记分模块、译码模块、数选模块、报警模块,最后是撰写顶层文件。 抢答器鉴别模块: 在这个模块中主要实现抢答过程中的抢答功能,并能对超前抢答进行警告,还能记录无论是正常抢答还是超前抢答者的台号,并且能实现当有一路抢答按键按下时,该路抢答信号将其余过滤抢答封锁的功能。其中有六个抢答信号s0、s1、s2、s3、s4、s5;抢答使能信号s;抢答状态显示信号states;抢答与警报时钟信号clk2;系统复位信号rst;警报信号tmp。 抢答鉴别模块图 VHDL源程序 library ieee;--抢答鉴别模块 use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity qdjb is port(rst,clk2:in std_logic; s0,s1,s2,s3,s4,s5:in std_logic; states:buffer std_logic_vector(5 downto 0); tmp:out std_logic); end qdjb; architecture one of qdjb is signal st:std_logic_vector(5 downto 0); begin p1:process(s0,rst,s1,s2,s3,s4,s5,clk2) begin if rst=0 then tmp=0;st=0000; elsif clk2event and clk2=1 then if (s0=1 or st(0)=1)and not( st(1)=1 or st(2)=1 or st(3)=1 or st(4)=1 or st(5)=1 ) then st(0)=1; end if ;

文档评论(0)

almm118 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档