ImageVerifierCode 换一换
格式:DOCX , 页数:15 ,大小:259.45KB ,
资源ID:9770597      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/9770597.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(四路抢答器报告最终版.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

四路抢答器报告最终版.docx

1、四路抢答器报告最终版设 计 报 告课程名称 EDA技术实用教程 任课教师 黄慧 设计题目 数字式竞赛抢答器 班 级 12自动化卓越班 姓名学号 李思聪 1205032033 郭一鸣 1205031020 孔德利 1205031026 日 期 2014年11月11日 一、设计目的1、学习使用实验箱中数码管显示、按键控制。2、熟悉抢答器的工作原理。3、了解数字系统设计,调试及故障排除方法。二、设计要求1、四组参赛者进行抢答,当抢答组按下抢答按钮时,抢答器能准确的判断 出抢答者。2、抢答器可以容纳4组参赛者同时抢答,每组设置1个按钮供抢答者使用。设置抢答使能信号,当此信号有效时,若参赛者按下抢答开关

2、,则抢答器能判断出第一抢答者并指示该组抢答成功,其他组参赛者的抢答开关不起作用,若提前抢答则对相应的参赛者发出警报。3、系统具有清零功能。当清零信号有效时,抢答器对前一轮抢答的第一抢答者判断结果进行清零,恢复为初始状态。4、数字式竞赛抢答器电路还具有计分功能。如果抢答成功的参赛者满足得分条件则增加相应的分数,答错不扣分。三、电路的总体方案及工作原理1、总体方案(1)方案一 系统由三个主要模块组成,分别为第一判别电路、计分电路、显示电路。其中第一判断电路主要完成最快抢答者的判断功能;计分电路则存储每组的分数,显示电路则显示抢答者的状态和各组的分数。因此数字竞赛抢答器的输入信号包括复位信号CLR、

3、抢答器使能信号EN、4级参赛者抢答按钮ABCD及加分信号ADD,输出信号包括4组参赛者的状态显示LEDx(x表示参赛者编号)及其对应的得分SCOREx、抢答器抢答成功的组别显示等。(2)方案二 抢答电路选用优先编码器 74LS148 和锁存器 74LS297 来完成。该电路主要完成两个功能:一是分辨出选手按键的先后,并锁存优先抢答者的编号,同时译码显示电路显示编号(显示电路采用七段数字数码显示管);二是禁止其他选手按键,其按键操作无效。定时电路原理及设计:该部分主要由555定时器秒脉冲产生电路、十进制同步加减计数器74LS192减法计数电路、74LS48译码电路和1个7段数码管即相关电路组成。

4、显示电路方案二需要复杂的硬件电路,而方案一硬件简单,程序设计也不复杂易于实现所有功能,所以我们选择方案一。2、抢答器工作流程 如果参赛者在抢答器使能信号EN有效前提下按下抢答按钮,报警信号FALSE3.0的对应位输出高电平,以示警告;当EN信号有效时,抢答器开始工作,将报警信号FALSE清零,A、B、C、D四个抢答者谁先按下抢答按钮,则抢答成功,对应的显示灯LEDx亮起,并通过显示电路模块显示其参赛编号FIRST6.0;抢答成功的选手进入答题阶段,如回答正确,则加分信号ADD有效,计分模块给相应的参赛组加分,每个参赛组得分的个位、十位、百位分别通过SCOREx6.0显示。 如果复位信号CLR有

5、效,使得抢答器在下一轮抢答前,其抢答成功的组别判断恢复为初始状态,以便重新开始新的一轮抢答。复位信号在不改变竞赛者的现有得分。四、单元电路设计1.抢答鉴别单元在抢答鉴别电路设计中,A、B、C、D四组抢答,RST为复位端,将输出信号复位或停止警报声。抢答信号A,B,C,D输入电路中后,通过判断是哪个信号最先为1得出抢答成功的组别1,2,4或8组,将组别号输出到相应端A1,B1,C1,D1,等待输出到计分和显示单元。同时有提前抢答的情况下发出警报警告的功能。2.计分单元图中RST端为复位端,将计分起始分数设为0。CHOS3.0端功能是锁存已抢答成功的组别序号,当接加分按钮ADD后,将给CHOS3.

6、0所存的组别加分。每按一次加1分。 3.计时单元本系统中的计时器电路既有抢答计时功能,又有回答计时功能,功能比较齐全。其中初始值的预置功能是将时间的两位数(单位为秒)分解成两个数分别进行预置,默认时间为20秒倒计时。TA、TB端分别预置两位数值, start端为高电平后开始计时,stop端为高电平后停止计时,CLK接时钟信号,操作简洁。4.显示电路COUTA6.0、 COUTA6.0端输出显示在数码管五、整体电路及仿真波形1.抢答鉴别模块仿真波形图2.计分模块仿真波形图3.计时器仿真波形图4.整体仿真图5.顶层设计总体电路图六、硬件测试及说明 由于是在实验箱上进行设计的,我们省去了焊接电路、连

7、接电路等很多工作,所以我们要做的主要是程序的编写和测试。一开始是调试程序,花了大量的时间去编写并改错,老师要求我们底层用程序设计,顶层用电路图设计,我们就开始封装程序等工作。程序没问题之后就要结合试验箱锁定引脚,由于引脚较多,稍不留神在硬件调试的时候就会出现问题,一开始程序下到试验箱中怎么也没反应,经过程序的修改和引脚的重新设定等工作,终于达到了想要的结果。最后我们想加个蜂鸣器报警,可是蜂鸣器的响声很小,怎么也解决不了,最后通过向老师请教知道原来是我们把蜂鸣器的频率设置大了,频率是越小蜂鸣器声音越大。七、项目总结 通过这次课程设计我们认识到了自己知识掌握的程度,发现基础薄弱,但通过此次课程设计

8、加深了对相关知识的理解,对相关器件的使用有了更深一步的认识。 这次设计的难度比我们平时训练的难度要大,没有完全理解这个程序的结构,在软硬件电路的调试过程中也遇到了很多困难,一开始我们很躁,想很快把实验结果调试出来,最后却一无所获。我认识到当遇到困难时,更需要静下来慢慢去分析,一步一步来做,当我们把每一步都做好了,一切自然是水到渠成的。让我欣慰的是我们组员之间合作分工比较好,锻炼了专业知识的能力,也增进了我们相互之间的感情。八、课程总结本学期对EDA技术实用教程的学习为我的专业知识学习打开了一个全新的窗口微电子技术领域。对EDA技术,我更是有了全新的认识。微电子技术的进步主要表现在大规模集成电路

9、加工技术即半导体工艺技术的发展上,使得表征半导体工艺水平的线宽已经达到了纳米级。所以,集成电路设计正在不断地向超大规模、极低功耗和超高速的方向发展。VHDL在现在的EDA设计中使用最多,也拥有几乎所有主流EDA工具的支持。VHDL作为一个规范语言和建模语言,不仅可以作为系统模拟的建模工具,而且可以作为电路系统的设计工具,可以利用软件工具将VHDL源码自动地转化为文本方式表达的基本逻辑元件连接图,即网表文件。这种方法显然对于电路自动设计是一个极大的推进。它具有很强的电路描述和建模能力,能从多个层次对数字系统进行建模和描述,从而大大简化了硬件设计任务,提高了设计效率和可靠性。EDA技术良好的可移植

10、性与可测试性,将所有设计环节纳入统一的自顶向下的设计方案中。它不但在整个设计流程上充分利用计算机的自动设计能力、在各个设计层次上利用计算机完成不同内容的仿真模拟,而且在系统板设计结束后仍可利用计算机对硬件系统进行完整的测试。书中通过大量的图示对PLD硬件特性与编程技术进行了形象的讲解,不仅融合了之前学习的关于电路设计的知识还将EDA的技术加入其中。对VHDL语言的详尽讲解更是让我深刻理解了VHDL语言的编程原理。由于本门课程是一门硬件学习课程,所以实验必不可少。通过课程最后实验,我体会一些VHDL语言相对于其他编程语言的特点。相对于其它计算机语言的学习,如C或汇编语言,VHDL具有明显的特点。

11、这不仅仅是由于VHDL作为一种硬件描述语言的学习需要了解较多的数字逻辑方面的硬件电路知识,包括目标芯片基本结构方面的知识更重要的是由于VHDL描述的对象始终是客观的电路系统。由于电路系统内部的子系统乃至部分元器件的工作状态和工作方式可以是相互独立、互不相关的,也可以是互为因果的。这表明,在任一时刻,电路系统可以有许多相关和不相关的事件同时并行发生。例如可以在多个独立的模块中同时入行不同方式的数据交换和控制信号传输,这种并行工作方式是任何一种基于CPU的软件程序语言所无法描绘和实现的。传统的软件编程语言只能根据CPU的工作方式,以排队式指令的形式来对特定的事件和信息进行控制或接收。在CPU工作的

12、任一时间段内只能完成一种操作。因此,任何复杂的程序在一个单CPU的计算机中的运行,永远是单向和一维的。因而程序设计者也几乎只需以一维的思维模式就可以编程和工作了。VHDL虽然也含有类似于软件编程语言的顺序描述语句结构,但其工作方式是完全不同的。软件语言的语句是根据CPU的顺序控制信号,按时钟节拍对应的指令周期节拍逐条运行的,每运行一条指令都有确定的执行周期。但VHDL则不同,从表面上观,VHDL的顺序语句与软件语句有相同的行为描述方式,但在标准的仿真执行中有很大的区别。VHDL的语言描述只是综合器赖以构成硬件结构的一种依据,但进程语句结构中的顺序语句的执行方式决非是按时钟节拍运行的。实际情况是

13、其中的每一条语句的执行时间几乎是0(但该语句的运行时间却不一定为0),即1000条顺序语句与10条顺序语句的执行时间是相同的。在此,语句的运行和执行具有不同的概念(在软件语言中,它们的概念是相同),的执行是指启动一条语句,允许它运行一次,而运行就是指该语句完成其设定的功能。 通过EDA的课堂教学与实验,我认识到理论要与实际结合,培养动手动脑能力的重要性,做事情要抱着一丝不苟的态度,这样才能做好事情。同时也入一步了解到EDA的强大之处,硬件电路的优秀的地方,对硬件方面更感兴趣了。这门课程的学习,为我以后的专业知识的学习打下了良好的基础。九、实验参考文献【1】 潘松,黄继业EDA实用教程 高等教育

14、出版社 2002【2】 吕思忠数子电路实验与课程设计哈尔滨工业大学出版社【3】 卢杰,赖毅VHDL与数字电路设计北京科学出版社 2001【4】EDA与VHDL清华大学出版社附录计分器程序LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY JFQ IS PORT(RST: IN STD_LOGIC; ADD: IN STD_LOGIC; CHOS:IN STD_LOGIC_VECTOR(3 DOWNTO 0); FA,FB: OUT STD_LOGIC_VECTOR(3 DOWNTO 0)

15、; FC,FD: OUT STD_LOGIC_VECTOR(3 DOWNTO 0); END ENTITY JFQ; ARCHITECTURE ART OF JFQ IS BEGIN PROCESS(RST,ADD,CHOS) VARIABLE POINTS_A: STD_LOGIC_VECTOR(3 DOWNTO 0); VARIABLE POINTS_B: STD_LOGIC_VECTOR(3 DOWNTO 0); VARIABLE POINTS_C: STD_LOGIC_VECTOR(3 DOWNTO 0); VARIABLE POINTS_D: STD_LOGIC_VECTOR(3 D

16、OWNTO 0); BEGIN IF (ADDEVENT AND ADD=1)THEN IF RST=1 THEN POINTS_A:=0000; POINTS_B:=0000; POINTS_C:=0000; POINTS_D:=0000; ELSIF CHOS=0001 THEN IF POINTS_A=1001 THEN POINTS_A:=0000; ELSE POINTS_A:=POINTS_A+1; END IF; ELSIF CHOS=0010 THEN IF POINTS_B=1001 THEN POINTS_B:=0000; ELSE POINTS_B:=POINTS_B+1

17、; END IF; ELSIF CHOS=0100 THEN IF POINTS_C=1001 THEN POINTS_C:=0000; ELSE POINTS_C:=POINTS_C+1; END IF; ELSIF CHOS=1000 THEN IF POINTS_D=1001 THEN POINTS_D:=0000; ELSE POINTS_D:=POINTS_D+1; END IF; END IF; END IF; FA=POINTS_A; FB=POINTS_B; FC=POINTS_C; FD=POINTS_D; END PROCESS; END ART; 计时器程序library

18、 ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity JSQ is port(clk1,rst,start,stop:in std_logic; ta,tb:buffer std_logic_vector(3 downto 0); end JSQ;architecture one of JSQ issignal co:std_logic;beginp1:process(clk1,rst,start,stop,ta) begin if rst=1 or stop=1 then ta=0000; elsif

19、 clk1event and clk1=1 then co=0; if start=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,start,stop,tb) begin if rst=1 or stop=1 then tb=0010; elsif coevent and co=1 then if start=1 then if tb=0000 then tb=0011; else tb=tb-1; end if; end if

20、; end if;end process p2;end one ;抢答判断程序LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY QDJB IS PORT(CLR: IN STD_LOGIC; A,B,C,D: IN STD_LOGIC; A1,B1,C1,D1: OUT STD_LOGIC; STATES: OUT STD_LOGIC_VECTOR(3 DOWNTO 0); END ENTITY QDJB; ARCHITECTURE ART OF QDJB IS CONSTANT W1:STD_LOGIC_VECTOR:=0001; CONSTAN

21、T W2:STD_LOGIC_VECTOR:=0010; CONSTANT W3:STD_LOGIC_VECTOR:=0100; CONSTANT W4:STD_LOGIC_VECTOR:=1000; BEGIN PROCESS(CLR,A,B,C) BEGIN IF CLR=1THEN STATES =0000; ELSIF(A=1 AND B=0 AND C=0 AND D=0)THEN A1=1;B1=0;C1=0; D1=0;STATES=W1; ELSIF(A=0 AND B=1 AND C=0 AND D=0)THEN A1=0;B1=1;C1=0; D1=0;STATES=W2;

22、 ELSIF(A=0 AND B=0 AND C=1 AND D=0)THEN A1=0;B1=0;C1=1; D1=0;STATES=W3; ELSIF(A=0 AND B=0 AND C=0 AND D=1)THEN A1=0;B1=0;C1=0; D1=1;STATESDOUTA:=0111111; WHEN0001=DOUTA:=0000110; WHEN0010=DOUTA:=1011011; WHEN0011=DOUTA:=1001111; WHEN0100=DOUTA:=1100110; WHEN0101=DOUTA:=1101101; WHEN0110=DOUTA:=1111101; WHEN0111=DOUTA:=0000111; WHEN1000=DOUTA:=1111111; WHEN1001=DOUTA:=1101111; WHEN OTHERS=DOUTA:=0000000; END CASE; COUTA=DOUTA; COUTB=DOUTA; END PROCESS; END ART; (注:可编辑下载,若有不当之处,请指正,谢谢!)

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1