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

下载本文档

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

文档简介

1、1 eda技术应用课程设计报告专业:通信工程班级:09311 姓名:李爱军指导教师:杨老师2012 年5 月21 日1 目录eda电子抢答器的设计 . 21、目的与任务 . 22、设计要求 . 23、设计方案 . 24、设计内容及程序 . 14.1 抢答鉴别及锁存模块. 14.2 计分模块 . 34.3 计时模块 . 64.4 译码显示模块. 84.5 分频模块 . 94.6 抢答器的顶层原理图设计. 115、实习总结 . 116、实习心得与体会 . 错误!未定义书签。7、参考文献 . 12eda 电子抢答器的设计1、目的与任务进一步掌握 quartus软件的使用方法;(1) 会使用 vhdl

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

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

4、d_d 表示,四个组抢答时的计时数码显示控制信号若干,抢答成功组别显示的控制信号若干,各组计分动态显示的控制信号若干。整个系统至少有三个主要模块:抢答鉴别模块;抢答计时模块;抢答计分模块,其他功能模块(分频模块,输出显示模块)。1 系统组成框图4、设计内容及程序4.1 抢答鉴别及锁存模块qdjbinststarstabcda1b1c1d1startstates3.0抢答鉴别模块1、抢答鉴别及锁存源程序 library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity qdjb is port(s

5、ta,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 is signal sinor,ringf,tmp,two:std_logic; begin sinor=(a xor b) xor (c xor d); two=a and b; process(a,b,c,d,rst,tmp) begin if

6、 rst=1 then tmp=1; a1=0; b1=0; c1=0; d1=0;start=0;states=0000; elsif tmp=1 then if sta=1 then start=1; if (a=1and b=0and c=0and d=0 ) then a1=1; b1=0; c1=0; d1=0; states=0001; tmp=0; elsif (a=0and b=1and c=0and d=0) then a1=0; b1=1; c1=0; d1=0;states=0010;tmp=0; elsif (a=0and b=0and c=1and d=0) then

7、 a1=0; b1=0; c1=1; d1=0; states=0011; temp=0; elsif (a=0and b=0and c=0and d=1) then a1=0; b1=0; c1=0; d1=1; states=0100;tmp=0; else tmp=1;states=0000; end if ; else start=0; end if; end if; end process; end one; 2、 波形仿真 (timing) 4.2 计分模块在计分器电路的设计中, 按照一般的设计原则, 按一定数进制进行加减即可,但是随着计数数目的增加, 但由于实验板上数码管数目的限

8、制在,每组都猜用十进制数计分,这种电路连线简单方便。clr为复位端,将计分起始分数设为10 分。chos3.0 端功能是锁存已抢答成功的组别序号, 当抢答者回答正确后裁判按下按钮add 后, 将给 chos3.0所存的组别加分,每按一次加10分,如果回答错误则按下acc 给 chos3.0 所存的组别减分,每按一次减10 分。当本轮答题结束后裁判再次按下clr按钮chos3.0 将取消所存的组别序号, 然后进入下一次的抢答。 每组的分数将在对应的数码管上显示。jfinstaccclraddchose3.0aa3.0bb3.0cc3.0dd3.0计分模块1、计分模块源程序library ieee

9、; use ieee.std_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 is begin p1: pro

10、cess(acc,add,chose) 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:=1010; b2:=1010; c2:=1010; d2:=1010; elsif(addevent and add=1)then if chose=0001then i

11、f a2=1001then 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=0011then if c2=1001then c2:=0000; else c2:=c2+1; end if; elsif chose=1000then if d2=1001then d2:=0000; else d2:=d2+1; end if; end if; end if; aa=a2; bb=b2; cc=c2; dd=d2;

12、end process; end architecture art; 2、原理图3、波形仿真 (timing) 4、功能仿真( functional )4.3 计时模块cntinstclkenrstringdata3.0计时模块1. 计时源程序library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity cnt is port(clk,en,rst:in std_logic; ring:out std_logic; data:out std_logic_vector(3 downto 0);

13、 end cnt; architecture bhv of cnt is signal a:std_logic_vector(3 downto 0); begin process(clk) begin if rst=1 then a=1001;ring=0; elsif clkevent and clk=1 then if en=1 then a=1001; a=a-1; if a=0000 then a=0000;ring=1; end if; end if; end if; end process; dataout7out7out7out7out7out7out7out7out7out7o

14、ut7=1111111; end case; end process; end architecture; 4.5 分频模块clk_1sinstclkclk_f p分频模块源程序如下:library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity clk_1s is port(clk:in std_logic;-50m in clk_fp:out std_logic); end clk_1s; architecture bhv of clk_1s is signal cnt:std_logic

15、_vector(27 downto 0); begin process(clk) begin if clkevent and clk=1 then cnt=cnt+1;clk_fp=0; if cnt=x2faf080 then cnt=x0000000; clk_fp=1; else clk_fp=0; end if; end if; end process; end bhv; 2、波形仿真4.6 抢答器的顶层原理图5、硬件测试计时器在按下计时开始按钮后可以从9 秒倒计时并通过译码器实时显示计时结果。如果在 9 秒时间内无人抢答,系统将发出警报,由小灯显示。6、总结通过对 quartus 软

16、件仿真,证明了本产品在实际运用中的正确性,完全可以实现预期任务的要求, 在有一组信号抢答成功后数码管显示相应的组别,在两组或两组以上信号同时抢答时视抢答无效。且计分器在实现计分功能时能够准确记录每组的成绩并将分数通过对应的数码管呈一位数显示。但是该设计仍有需要改进的地方:1. 在抢答鉴别模块中, 只有当主持人按下抢答信号时,各小组才能开始抢答, 并显示组号及对应的小灯。 而当主持人没有按下抢答信号时,各组抢答无效, 因此需要完善。2在计分模块中,只有当每组抢答正确时加一分,而抢答错误时,没进行设计减分功能,这是我们在这次设计中最大的不足,因此需要改进。7、参考文献 沈明山 . eda 技术及可编程器件应用实训. 科学出版社 曾繁泰,陈

温馨提示

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

评论

0/150

提交评论