课程设计论文EDA四路电子抢答器设计报告_第1页
课程设计论文EDA四路电子抢答器设计报告_第2页
课程设计论文EDA四路电子抢答器设计报告_第3页
课程设计论文EDA四路电子抢答器设计报告_第4页
课程设计论文EDA四路电子抢答器设计报告_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、eda电子抢答器的设计学 院 电气信息工程学院班 级 信息081班组 号 第二组 组 员 实习日期 2011年6月29日指导老师 北华大学目录一、设计题目:eda电子抢答器的设计2二、目的与任务2三、设计要求2四、设计方案2五、设计内容及程序3(一)抢答鉴别及锁存模块3(二)计分模块5(三)计时模块6(四)译码显示模块7(五)分频模块8(六)抢答器的顶层原理图设计9六、实习总结10七、实习心得与体会10八、参考文献11一、 设计题目:eda电子抢答器的设计二、目的与任务进一步掌握quartus软件的使用方法;(1) 会使用vhdl语言设计小型数字电路系统;(2) 掌握应用quartus软件设计

2、电路的流程;(3) 掌握电子抢答器的设计方法。三、设计要求(1)设计一个可以容纳四组参赛队进行比赛的电子抢答器。(2)具有第一抢答信号的鉴别和锁存功能。在主持人发出抢答指令后,若有参赛者按抢答器按钮,则该组指示灯亮,显示器显示出抢答者的组别。同时,电路处于自锁存状态,使其他组的抢答器按钮不起作用。(3)具有计时功能。在初始状态时,主持人可以设置答题时间的初始值。在主持人对抢答组别进行确认,并给出倒计时记数开始信号以后,抢答者开始回答问题。此时,显示器从初始值开始倒计时,计到0时停止计数,同时扬声器发出超时警报信号。若参赛者在规定的时间内回答完问题,主持人可以给出计时停止信号,以免扬声器鸣叫。(

3、4)具有计分功能。在初始状态时,主持人可以给每组设置初始分值。每组抢答完毕后,由主持人打分,答对一次加10分,答错一次减1分。(5)具有犯规设置电路。对提前抢答者和超时抢答者,给予鸣喇叭警示,并显示规范组别。四、设计方案系统的输入信号有:各组的抢答按钮a、b、c、d,系统允许抢答信号sta,系统清零信号clr,系统时钟信号clk,计分复位端clr,加分按钮端add,计时使能端en;系统的输出信号有:四个组抢答成功与否的指示灯控制信号输出口可用如led_a、led_b、led_c、led_d表示,四个组抢答时的计时数码显示控制信号若干,抢答成功组别显示的控制信号若干,各组计分动态显示的控制信号若

4、干。整个系统至少有三个主要模块:抢答鉴别模块;抢答计时模块;抢答计分模块,其他功能模块(分频模块,输出显示模块)。抢答鉴别及锁存分频计数计分器数码管显示数码管显示 系统组成框图五、设计内容及程序 (一)抢答鉴别及锁存模块抢答队伍共分为四组a,b,c,d。当主持人按下sta键后,对应的start指示灯亮,四组队伍才可以按抢答键抢答,即抢答信号a,b,c,d输入电路中后,通过判断是哪个信号最先为1得出抢答成功的组别1,2,3或4组,将组别号输出到相应端a1,b1,c1,d1,并将组别序号换算为四位二进制信号输出到states3.0端锁存,等待输出到计分和显示单元。同时ring端在有成功抢答的情况下

5、发出警报。其模块如下: 抢答鉴别模块1抢答鉴别及锁存源程序 library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity qdjb is port(sta,rst:in std_logic; a,b,c,d:in std_logic; a1,b1,c1,d1,start:out std_logic; states:out std_logic_vector(3 downto 0);end qdjb;architecture one of qdjb issignal sinor,ringf,tmp,t

6、wo:std_logic;beginsinor<=(a xor b) xor (c xor d);two<=a and b;process(a,b,c,d,rst,tmp) begin if rst='1' then tmp<='1' a1<='0' b1<='0' c1<='0' d1<='0'start<='0'states<="0000" elsif tmp='1' then if sta

7、='1' then start<='1' if (a='1'and b='0'and c='0'and d='0' ) then a1<='1' b1<='0' c1<='0' d1<='0' states<="0001" tmp<='0' elsif (a='0'and b='1'and c='0'and d=

8、'0') then a1<='0' b1<='1' c1<='0' d1<='0'states<="0010"tmp<='0' elsif (a='0'and b='0'and c='1'and d='0') then a1<='0' b1<='0' c1<='1' d1<='0' states

9、<="0011" tmp<='0' elsif (a='0'and b='0'and c='0'and d='1') then a1<='0' b1<='0' c1<='0' d1<='1' states<="0100"tmp<='0' else tmp<='1'states<="0000" end i

10、f ; else start<='0' end if; end if;end process;end one;2、 波形仿真(二)计分模块在计分器电路的设计中,按照一般的设计原则,按一定数进制进行加减即可,但是随着计数数目的增加,但由于实验板上数码管数目的限制在,每组都猜用十进制数计分,这种电路连线简单方便。clr为复位端,将计分起始分数设为3。chos3.0端功能是锁存已抢答成功的组别序号,当接加分按钮add后,将给chos3.0所存的组别加分。每按一次加1分,每组的分数将在对应的数码管上显示。 计分模块1、计分模块源程序library ieee;use ieee.st

11、d_logic_1164.all;use ieee.std_logic_unsigned.all;entity jf is port(acc,clr: in std_logic; add: in std_logic; chose: in std_logic_vector(3 downto 0); aa,bb: out std_logic_vector(3 downto 0); cc,dd: out std_logic_vector(3 downto 0);end entity jf;architecture art of jf isbegin p1: process(acc,add,chose

12、) is variable a2:std_logic_vector(3 downto 0); variable b2:std_logic_vector(3 downto 0); variable c2:std_logic_vector(3 downto 0); variable d2:std_logic_vector(3 downto 0); begin if(clr='1')then a2:="0011" b2:="0011" c2:="0011" d2:="0011" elsif(add'

13、;event and add='1')then if chose="0001"then if a2="1001"then a2:="0000" else a2:=a2+'1' end if; elsif chose="0010" then if b2="1001" then b2:="0000" else b2:=b2+'1' end if; elsif chose="0011"then if c2=&quo

14、t;1001"then c2:="0000" else c2:=c2+'1' end if; elsif chose="1000"then if d2="1001"then d2:="0000" else d2:=d2+'1' end if; end if; end if; aa<=a2; bb<=b2; cc<=c2; dd<=d2; end process;end architecture art; 2、波形仿真 (三)计时模块本系统中的计时器电

15、路既有计时初始值的预置功能,又有减计数功能,功能比较齐全。其中将初始值设置为9秒,clk为时钟信号,en端为高电平后开始计时,rst为复位端,操作简洁。其模块如下:计时模块计时源程序library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity cnt isport(clk,en,rst:in std_logic; ring:out std_logic; data:out std_logic_vector(3 downto 0);end cnt;architecture bhv of cnt is

16、signal a:std_logic_vector(3 downto 0);beginprocess(clk)begin if rst='1' then a<="1001"ring<='0' elsif clk'event and clk='1' then if en='1' then a<="1001" a<=a-1; if a="0000" then a<="0000"ring<='1'

17、end if; end if; end if;end process; data<=a;end bhv; (四)译码显示模块 本译码器用于将抢答鉴别模块抢答成功的组别和计时器的时间进行显示,in43.0端输入需显示的二进制数组,out76.0端输出显示在数码管,显示显示范围为09。其模块如下: 译码模块源程序如下library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity ym is port(in4: in std_logic_vector(3 downto 0); out7:out st

18、d_logic_vector(6 downto 0);end ym;architecture art of ym is begin process(in4) begin case in4 is when"0000"=>out7<="1000000" when"0001"=>out7<="1111001" when"0010"=>out7<="0100100" when"0011"=>out7<="0

19、110000" when"0100"=>out7<="0011001" when"0101"=>out7<="0010010" when"0110"=>out7<="0000010" when"0111"=>out7<="1111000" when"1000"=>out7<="0000000" when"1001&qu

20、ot;=>out7<="0010000" when others=>out7<="1111111" end case; end process;end architecture; (五)分频模块 该模块主要是将频率为50mhz的时钟信号分频成1hz。其模块如下: 分频模块源程序如下:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity clk_1s isport(clk:in std_logic;-50m in clk_fp:

21、out std_logic);end clk_1s;architecture bhv of clk_1s is signal cnt:std_logic_vector(27 downto 0);beginprocess(clk)begin if clk'event and clk='1' then cnt<=cnt+1;clk_fp<='0' if cnt=x"2faf080" then cnt<=x"0000000" clk_fp<='1' else clk_fp<=

22、'0' end if; end if;end process;end bhv; (六)抢答器的顶层原理图设计顶层原理图的源文件:顶层原理图六、实习总结通过对quartus软件仿真,证明了本产品在实际运用中的正确性,完全可以实现预期任务的要求,在有一组信号抢答成功后数码管显示相应的组别,在两组或两组以上信号同时抢答时视抢答无效。且计分器在实现计分功能时能够准确记录每组的成绩并将分数通过对应的数码管呈一位数显示,计时器在按下计时开始按钮后可以从9秒倒计时并通过译码器实时显示计时结果。如果在9秒时间内无人抢答,系统将发出警报,由小灯显示。但是该设计仍有需要改进的地方:1.在抢答鉴别模

23、块中,只有当主持人按下抢答信号时,各小组才能开始抢答,并显示组号及对应的小灯。而当主持人没有按下抢答信号时,各组抢答无效,因此需要完善。2在计分模块中,只有当每组抢答正确时加一分,而抢答错误时,没进行设计减分功能,这是我们在这次设计中最大的不足,因此需要改进。七、实习心得与体会经过一周的eda实习,我们组的三位成员通过不懈努力,成功地设计出了四路电子抢答器。回首这周的实习,我们经历了酸甜苦辣,因为对eda技术及quartus软件的相关知识知道的不够深入,在设计过程中我们遇到了很多困难,但通过我们从网上,图书馆找一些相关资料及根据自己的能力,我们最终完成了设计任务。是我们在这次实习的过程中都受益匪浅。 我们设计的课题为电子抢答器,当拿到这个题目时,我们感到很欣慰,感觉这个题目很简单。第一天,我们到处查找相关电子抢答器的资料,找了好多, 在第二天,我们通过对这些资料的修改及改进,编译及下载,没想到没能成功, 第三天,通过我们的设计思路,编写、编译及下载还是没能成功,我们组陷入了惊慌的局面,看着本班的同学一个个的都设计完了自己要设计的题目时,我们心慌意乱,感觉我们组将会失败,对自己的题目感觉心烦。当天晚上,我们碰到了一个对语言比较懂得同学,我们讲述了我们组的情况,他给我们分析了一下我们组主要出现的问题,并讲述了如何去设计,这时我有了

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论