欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    数字抢答器.docx

    • 资源ID:15682555       资源大小:185.53KB        全文页数:15页
    • 资源格式: DOCX        下载积分:5金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要5金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    数字抢答器.docx

    1、数字抢答器数字逻辑系统设计实习报告 题目:数字式竞赛抢答器 学院:电子工程信息技术 班级:B0911 姓名: 学号:38主要内容:设计一个可容纳6组参赛的数字式抢答器,当第一个人按下抢答按钮时,其他组的按钮不起作用。当主持人按下“复位”按钮,所有组的按键才可用。基本要求:1、设计一个可容纳6组参赛的数字式抢答器,每组设一个按钮,供抢答使用。2、抢答器具有第一信号鉴别和锁存功能,使除第一抢答者外的按钮不起作用。3、设置一个主持人“复位”按钮。4、主持人复位后,开始抢答,第一信号鉴别锁存电路得到信号后,有指示灯显示抢答组别,扬声器发出2-3秒的音响。5、设置一个计分电路,每组开始预置100分,由主

    2、持人记分,答对一次加10分,答错一次减10分。一、总体设计思想1.基本原理本设计为六路智能抢答器,所以这种抢答器要求有六路不同组别的抢答输入信号,并能识别最先抢答的信号,直观地通过数显和蜂鸣等方式显示出组别;对回答问题所用的时间进行计时、显示、超时报警、预置答题时间,同时该系统还应有复位、倒计时启动功能。抢答过程:主持人按下系统复位键(RST),系统进入抢答状态,计时模块和计分模块输出初始信号给数码显示模块并显示出初始值。当某参赛组抢先将抢答键按下时,系统将其余三路抢答信号封锁,同时扬声器发出声音提示,组别显示模块送出信号给数码显示模块,从而显示出该抢答成功组台号,并一直保持到下一轮主持人将系

    3、统清零为止。主持人对抢答结果进行确认,随后,计时模块送出倒计时计数允许信号,开始回答问题,计时显示器则从初始值开始以计时,在规定的时间内根据答题的正误来确定加分或减分,并通过数码显示模块将成绩显示出来。计时至0时,停止计时,扬声器发出超时报警信号,以中止未回答完问题。当主持人给出倒计时停止信号时,扬声器停止鸣叫。若参赛者在规定时间内回答完为题,主持人可给出倒计时计数停止信号,以免扬声器鸣叫。主持人按下复位键,即RST为高电平有效状态,清除前一次的抢答组别,又可开始新的一轮的抢答。此抢答器的设计中采用自顶向下的设计思路,运用VHDL硬件描述语言对各个模块进行层次化、系统化的描述,并且先设计一个顶

    4、层文件,再把各个模块连接起来。2.设计框图 主电路二、设计步骤和调试过程总体设计电路1、 模块设计和相应模块程序将该任务分成几个模块进行设计,分别为:抢答器鉴别模块、抢答器记分模块、译码模块、数选模块、报警模块,最后是撰写顶层文件。抢答器鉴别模块:在这个模块中主要实现抢答过程中的抢答功能,并能对超前抢答进行警告,还能记录无论是正常抢答还是超前抢答者的台号,并且能实现当有一路抢答按键按下时,该路抢答信号将其余过滤抢答封锁的功能。其中有六个抢答信号s0、s1、s2、s3、s4、s5;抢答使能信号s;抢答状态显示信号states;抢答与警报时钟信号clk2;系统复位信号rst;警报信号tmp。抢答鉴

    5、别模块图VHDL源程序library 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

    6、);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)

    7、 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(

    8、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

    9、; 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;数据选择模块:在这个模块中主要实现抢答过程中的数据输入功能,输入信号a3.0、b3.0、c3.0;计数输出信号s;数据输出信号y;

    10、计数脉冲clk2,实现a、b、c按脉冲轮流选通,在数码管上显示。数据选择模块VHDL源程序library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;use ieee.std_logic_arith.all;entity sjxz is port (a,b,c: in std_logic_vector(3 downto 0);clk2,rst: in std_logic; s: out std_logic_vector(1 downto 0); y: out std_logic_vector(3 downto

    11、 0) ); end sjxz;architecture body_chooser of sjxz is signal count: std_logic_vector (1 downto 0); begin s=count; process(clk2,rst) begin if(rst=0)then count=10)then count=00; else countyyynull; end case; end PROCESS; end body_chooser报警模块:在这个模块中主要实现抢答过程中的报警功能,当主持人按下控制键,有限时间内有人抢答,有效电平输入信号i;状态输出信号q;计数脉

    12、冲clk2。报警模块图VHDL源程序LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY ALARM ISPORT(CLK,I:IN STD_LOGIC; Q:OUT STD_LOGIC);END ALARM;ARCHITECTURE BEHAVE OF ALARM IS SIGNAL WARN:STD_LOGIC; SIGNAL N:INTEGER RANGE 0 TO 20;BEGIN Q= WARN; PROCESS(CLK) BEGIN IF CLKEVENT AND CLK=1

    13、THEN IF I=0 THEN WARN =0; ELSIF(I=1AND N=19)THEN WARN =NOT WARN; N=N+1; ELSE WARN DOUT7DOUT7DOUT7DOUT7DOUT7DOUT7DOUT7DOUT7DOUT7DOUT7DOUT7=0000000; END CASE; END PROCESS;END ARCHITECTURE ART;译码显示电路图顶层文件:在这个模块中是对前面模块的综合编写的顶层文件。VHDL源程序library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.al

    14、l;use ieee.std_logic_unsigned.all;entity qiangdaqi is port(clk,clk2,s,s0,s1,s2,s3,s4,s5,stop,rst:in std_logic; n,k,q_out:out std_logic; m:out std_logic_vector(1 downto 0); a,b,c,d,e,f,g:out std_logic);end qiangdaqi;architecture bhv of qiangdaqi iscomponent qdjb is port(clk2,rst:in std_logic; s0,s1,s

    15、2,s3,s4,s5:in std_logic; tmp:out std_logic; states:out std_logic_vector(5 downto 0);end component;component js is port(clk,rst,s,stop:in std_logic; warn:out std_logic; ta,tb:buffer std_logic_vector(5 downto 0);end component;component sjxz is port(clk2,rst:in std_logic; s:out std_logic_vector(1 downt

    16、o 0); a,b,c:in std_logic_vector(3 downto 0); y:out std_logic_vector(3 downto 0);end component;component ymq is port(ain4: in std_logic_vector (3 downto 0); dout7: out std_logic_vector (6 downto 0);end component;component alarm is port(clk,i:in std_logic; q:out std_logic);end component;signal states_

    17、out,ta_out,tb_out,y_out:std_logic_vector(3 downto 0);signal ledout:std_logic_vector(6 downto 0);signal w:std_logic;begina=ledout(6);b=ledout(5);c=ledout(4);d=ledout(3);e=ledout(2);f=ledout(1);gk,states=states_out);u2:js port map(clk,rst,s,stop,warn=n,ta=ta_out,tb=tb_out);u3:sjxz port map(clk2=clk2,r

    18、st=rst,s=m,a=states_out,b=ta_out,c=tb_out,y=y_out);u4:ymq port map(ain4=y_out,DOUT7=ledout);u5:alarm port map(clk2,s,q_out);end bhv;2、 仿真及仿真结果分析抢答鉴别模块仿真图数据选择模块仿真图报警模块仿真图译码模块仿真图顶层文件仿真图CLK接高电平,s0,s1,s2,sl3,s4,s5六个选手接低电平,鉴别器的输出接指示灯,译码器的输出接LED数码管,计分器的输出接显示译码器。当主持人按下使能端时,六个选手同时抢答。如图所示,若s0抢答,即为高电平时,s0灯亮,若

    19、回答正确,对其加分,即当时钟出现上升沿时就进行加一或者减一的操作。3、 实验调试结果按下rst键清零,按下s键,观察数码管是否开始倒计时,扬声器是否发出报警声,按下s0,观察数码管是否显示1和抢答的时间,再按s1,s2,s3,s4.s5均不改变显示,按下rst键,观察是否清零,再按s键,不按别的,直到计时时间到,观察是否显示00,扬声器是否发出报警第一个按下键的小组,抢答信号判定电路LOCK通过缓冲输出信号的反馈将本参赛组抢先按下按键的信号锁存,并且以异步清零的方式将其他参赛组的锁存器清零,组别显示、计时和计分会保存到主持人对系统进行清零操作时为止。当INI=1时系统复位,使组别显示信号G=0

    20、000,各组的指示灯信号S0=0,S1=0,S2=0,S3=0,S4=0,S5=0;当INI=0,即低电平有效,使其进入抢答鉴别状态,到CLK的上升沿到来时,以A组抢答成功为例,当输入信号为A=1,B=0,C=0,D=0,输出信号G=1000,A1=1,即为鉴别出A组抢答成功,同时屏蔽其他组的输入信号,以免发生错误。三、结论及心得体会这次EDA课程设计了一个星期,在这期间学到了很多很多的东西,同时不仅可以巩固以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次设计,进一步加深了对EDA的了解,让我对它有了更加浓厚的兴趣。特别是当每一个子模块编写调试成功时,心里特别的开心。但是在

    21、编写顶层文件的程序时,遇到了不少问题,特别是各元件之间的连接,以及信号的定义,总是有错误,在细心的检查下,终于找出了错误和警告,排除困难后,程序编译就通过了,心里终于舒了一口气。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固。总的来说,这次设计的数字抢答器还是比较成功的,在设计中遇到了很多问题,最后在老师的辛勤的指导下,终于游逆而解,有点小小的成就感,终于觉得平时所学的知识有了实用的价值,达到了理论与实际相结合的目的,不仅学到了不少知识,而且锻炼了自己的能力,使自己对以后的路有了更加清楚的认识,同时,对未来有了更多的信心。


    注意事项

    本文(数字抢答器.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开