资源预览内容
第1页 / 共11页
第2页 / 共11页
第3页 / 共11页
第4页 / 共11页
第5页 / 共11页
第6页 / 共11页
第7页 / 共11页
第8页 / 共11页
第9页 / 共11页
第10页 / 共11页
亲,该文档总共11页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
课程 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.基本原理根据系统设计要求可知,系统的输入信号有:各组的抢答按钮ABCDEF,系统清零信号CLR,系统时钟信号CLK,计分复位端rst,加分按钮ADD,减分按钮ACC,系统的输出信号有:六个组抢答成功与否的指示灯控制信号输出口LEDA、LEDB、LEDC、LEDD、LEDE、LEDF,六个组抢答时的抢答时的计时数码显示控制信号若干,抢答成功组别显示的控制信号若干,各组计分动态显示的控制信号若干。本系统应具有的功能有:第一抢答信号的鉴别和锁存功能;抢答计分功能;各组得分的累加和动态显示功能。根据以上分析,我们可将整个系统分为三个主要模块:抢答鉴别模块QDJB;抢答计分模块JFQ;显示译码模块YMQ。系统的工作原理如下:当主持人按下使能端CLR时,抢答器开始工作,ABCDEF六个抢答者谁先抢答成功则此选手的台号灯(LEDA-LEDF)将点亮,并且主持人前的组别显示数码将显示出抢答成功者的台号,扬声器发出2-3秒的音响。接下来主持人提问若回答正确,主持人按加分按钮ADD,若回答错误,按减分按钮ACC,抢答计分模块JFQ将给对应的组加分或者减分,并将组该的总分显示在对应的选手计分数码管上。完成第一轮抢答后,主持人清零,接着重新开始,步骤如上。2.设计框图抢答启动选手抢答加减分显示:抢答选手号选手得分蜂鸣器二、设计步骤和调试过程1、 总体设计电路2、 模块设计和相应模块程序l 抢答鉴别模块 rst states3.0clk2 tmps0s1s2s3s4s5 qdjblibrary ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity qdjb isport(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 issignal st:std_logic_vector(5 downto 0);beginp1: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 ; if (s1=1 or st(1)=1)and not( st(0)=1 or st(2)=1 or st(3)=1 or st(4)=1 or st(5)=1) then st(1)=1; end if ; if (s2=1 or st(2)=1)and not( st(0)=1 or st(1)=1 or st(3)=1 or st(4)=1 or st(5)=1) then st(2)=1; end if ; if (s3=1 or st(3)=1)and not( st(0)=1 or st(1)=1 or st(2)=1 or st(4)=1 or st(5)=1) then st(3)=1;if (s4=1 or st(4)=1)and not( st(0)=1 or st(1)=1 or st(2)=1 or st(3)=1 or st(5)=1) then st(4)=1; end if ; if (s5=1 or st(5)=1)and not( st(0)=1 or st(1)=1 or st(2)=1 or st(3)=1 or st(5)=1) then st(5)=1; end if ;tmp=s0 or s1 or s2 or s3 or s4 or s5;end if ;end process p1;p2:process(states(0),states(1),states(2),states(3) ,states(4),states(5) begin if (st=0000) then states=0000; elsif (st=0001) then states=0001;elsif (st=0010) then states=0010; elsif (st=0100) then states=0011;elsif (st=0100) then states=0100; elsif (st=0101) then states=0101; elsif (st=1000) then states=0110; end if; end process p2;end one;抢答鉴别模块用来准确直观地判断A、B、C、D、E、F六组抢答者谁最先按下按钮,并为显示端送出信号,通过数显和蜂鸣等途径使观众能够清楚地知道是哪一组抢答成功,是整个系统的核心部分。同时组别显示端为下一模块输入信号,以方便主持人为该组抢答成功者进行加减分的操作。l 计分器模块library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity js isport(clk,rst,s,stop:in std_logic; warn:out std_logic; ta,tb:buffer std_logic_vector(3 downto 0);end js;architecture one of js issignal co:std_logic;beginp1:process(clk,rst,s,stop,ta) begin if rst=0 or stop=1 then ta=0000; elsif clkevent and clk=1 then co=0; if s=1 then if ta=0000 then ta=1001;co=1; else ta=ta-1; end if; end if; end if;end process p1;p2:process(co,rst,s,stop,tb) begin if rst=0 or stop=1 then tb=0010; elsif coevent and co=1 then if s=1 then if tb=0000 then tb=0011; else tbDOUT7DOUT7DOUT7DOUT7DOUT7DOUT7DOUT7DOUT7DOUT7DOUT7DOUT7=0000000; END CASE; END PROCESS;
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号