十路抢答器.docx_第1页
十路抢答器.docx_第2页
十路抢答器.docx_第3页
免费预览已结束,剩余12页可下载查看

下载本文档

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

文档简介

数字式十路竞赛抢答器 学院:机电学院 班级:应教121姓名:王钢锋学号:20120325111摘要电子设计自动化(EDA)技术是指以计算机为工作平台,融合了应用电子技术、计算机技术、信息处理及智能化技术的最新成果,进行电子产品的自动设计,就是以计算机为工具,设计者在EDA软件平台上,用硬件描述语言VHDL完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。EDA技术的出现,极大地提高了电路设计的效率和可操作性,减轻了设计者的劳动强度。现在对EDA的概念或范畴用得很宽。包括在机械、电子、通信、航空航天、化工、矿产、生物、医学、军事等各个领域,都有EDA的应用。目前EDA技术已在各大公司、企事业单位和科研教学部门广泛使用。例如在飞机制造过程中,从设计、性能测试及特性分析直到飞行模拟,都可能涉及到EDA技术。EDA在教学、科研、产品设计与制造等各方面都发挥着巨大的作用。在教学方面,几乎所有理工科(特别是电子信息)类的高校都开设了EDA课程。主要是让学生了解EDA的基本概念和基本原理、掌握用VHDL语言编写规范、掌握逻辑综合的理论和算法、使用EDA工具进行电子电路课程的实验验证并从事简单系统的设计,为今后工作打下基础。关键字:EDA、VHDL、十路抢答器目录一概述1二方案设计与论证1三单元电路设计1 3.1抢答鉴别模块的设计23.2组别显示电路设计2 3.3蜂鸣器电路设计2 3.4 电源设计2四程序清单24.1抢答鉴别54.2译码显示3五结语7六 参考文献7一、十路数字式竞赛抢答器概述抢答器控制系统中是工厂、学校和电视台等单位举办各种智力竞赛娱乐活动经常使用的重要基础设备之一,它是为智力竞赛参赛者答题时进行抢答而设计的一种优先判决器电路,竞赛者可以分为若干组,抢答时各组对主持人提出的问题要在最短的时间内做出判断,并按下抢答按键回答问题。当第一个人按下按键后,则在显示器上显示该组的号码,同时电路将其他各组按键封锁,使其不起作用。若抢答时间内无人抢答,警报器发出警报。回答完问题后,由主持人将所有按键恢复,重新开始下一轮抢答。因此要完成抢答器的逻辑功能,该电路至少应包括抢答鉴别模块、显示模块、选择控制和报警器组成。目前设计抢答器的方法很多,但用EDA可以更加快速、灵活地设计出符合要求的抢答器,优于其他设计方法,使设计过程达到高度自动化。文本的十路数字显示抢答器基于以ACEX1 KEP1K30QC208-2作为控制核心设计而成。与传统设计相比,不仅简化了接口和控制,也提高了系统的整体性能和工作可靠性,具有电路简单,成本低廉,操作方便,灵敏可靠等优点。二、方案设计与论证根据实际应用的需要,能准确、公正、直观地判断出第一个抢答者,并能通过抢答器的数码管、蜂鸣器和指示灯等手段指示第一抢答者。设计内容如下:(1)设计制作一个竞赛抢答器,共设10个组别每组控制一个抢答开关。(2)设置主持人控制键,用于控制整个系统清零和抢答有效控制。(3)主持人发出开始命令,10人开始抢答,其中一人先按下抢答键蜂鸣器会发出鸣叫,指示灯亮,数码管显示该人号码,其他人再按键,系统不再响应,直至主持人按键清零,下一次抢答开始。三、单元电路设计 根据抢答器的设计功能要求,设计系统结构框图。该系统硬件电路共分六个组成部分:主持人控制电路、10人(组)抢答电路、数码管和LED灯显示电路、蜂鸣器警示电路、电源电路等。所有电路图和最后生成的PCB电路板都在Altium Designer 8.3环境下开发完成。 3.1抢答鉴别模块的设计 按键电路包括11个(SW0SW9)用于抢答组别信号的输入,另外SW10可用作主持人控制按键,用来复位整个系统。由于一但按钮按下后,只有被按下的输出端保持为高电平,其余都为低电平,因此,以后再按下的按钮均不再起作用,由此作出抢答判决。 主持人控制清除按键,当回答结束时只有第一路处于高电平,并用灯或数码管常亮来显示,提示主持人抢答系统处于等待状态。按下清除键可进行下一轮抢答按钮按下时有效,反之等待。 3.2组别显示电路设计 显示电路利用发光二极管和数码管显示,包括10个发光二极管和一个7段共阴数码管。每个发光二极管串到了芯片输出和三极管8050基极中间,只要十路任意选通一路,该路输出对应的二极管和蜂鸣器即同时相应,发光二极管同时还起到在任意一路选通时,让其他几路的发光二极管反偏,防止拉低发射极电压造成蜂鸣器不会响的情况。数码管的每段LED都接有上拉电阻,增加芯片输出电流驱动数码管。由于是共阴极接法,因此要点亮某一段LED只需要给相应的信号线输出一个高电平信号即可。由于本设计没有小数需要显示,因此数码管的小数点位在编码时并没有让其显示,实际布线时可将小数点的信号线省略。 3.3蜂鸣器电路设计 十个输出通过十只8050三极管驱动十个蜂鸣器,蜂鸣器的控制非常简单,一端接地,一端接8050发射极,只要在8050基极输入一个高电平脉冲信号便可以发出声音,用于警示。 3.4电源设计 整个设计用了一种电源:供电电压选择5VDC。此电源是自己设计并制作,对电源变压器选择,功率选择20W应有足够的电源功率,次级电压绕制10VAC选择全波整流,利用IN4001四只整流二极管,整流后直流电压是14VDC应用LM7805集成稳压电路输出5VDC1A。按照每一路最大电流50mA计算,其中10个抢答回路、10个指示灯回路、10个蜂鸣器驱动电路,1个蜂鸣器回路、1个电源指示回路,一个数码管显示电路。由于十路并不会同时构成回路,所以此电源能保证系统正常工作。四、程序清单如下:4.1抢答鉴别部分:library ieee;use ieee.std_logic_1164.all;-调用的库函数entity shilu is-定义实体名port (clr:in std_logic;-定义系统输入信号 复位(清零)信号端a,b,c,d,e,f,g,h,i,j:in std_logic;-定义十路抢答信号输入端a1,b1,c1,d1,e1,f1,g1,h1,i1,j1:out std_logic;-定义十路抢答信号输出端states:out std_logic_vector(3 downto 0);-定义状态输出端end;architecture one of shilu is constant w0:std_logic_vector:=1010;constant w1:std_logic_vector:=0001;constant w2:std_logic_vector:=0010;constant w3:std_logic_vector:=0011;constant w4:std_logic_vector:=0100;constant w5:std_logic_vector:=0101;constant w6:std_logic_vector:=0110;constant w7:std_logic_vector:=0111;constant w8:std_logic_vector:=1000;constant w9:std_logic_vector:=1001;begin process(clr,a,b,c,d,e,f,g,h,i,j)isbeginif clr=1 then states=0000;elsif(a=1 and b=0 and c=0 and d=0 and e=0 and f=0 and g=0 and h=0 and i=0 and j=0)then a1=1;b1=0;c1=0;d1=0;e1=0;f1=0;g1=0;h1=0;i1=0;j1=0;states=w1;elsif(a=0 and b=1 and c=0 and d=0 and e=0 and f=0 and g=0 and h=0 and i=0 and j=0)then a1=0;b1=1;c1=0;d1=0;e1=0;f1=0;g1=0;h1=0;i1=0;j1=0;states=w2;elsif(a=0 and b=0 and c=1 and d=0 and e=0 and f=0 and g=0 and h=0 and i=0 and j=0)then a1=0;b1=0;c1=1;d1=0;e1=0;f1=0;g1=0;h1=0;i1=0;j1=0;states=w3;elsif(a=0 and b=0 and c=0 and d=1 and e=0 and f=0 and g=0 and h=0 and i=0 and j=0)then a1=0;b1=0;c1=0;d1=1;e1=0;f1=0;g1=0;h1=0;i1=0;j1=0;states=w4;elsif(a=0 and b=0 and c=0 and d=0 and e=1 and f=0 and g=0 and h=0 and i=0 and j=0)then a1=0;b1=0;c1=0;d1=0;e1=1;f1=0;g1=0;h1=0;i1=0;j1=0;states=w5;elsif(a=0 and b=0 and c=0 and d=0 and e=0 and f=1 and g=0 and h=0 and i=0 and j=0)then a1=0;b1=0;c1=0;d1=0;e1=0;f1=1;g1=0;h1=0;i1=0;j1=0;states=w6;elsif(a=0 and b=0 and c=0 and d=0 and e=0 and f=0 and g=1 and h=0 and i=0 and j=0)then a1=0;b1=0;c1=0;d1=0;e1=0;f1=0;g1=1;h1=0;i1=0;j1=0;states=w7;elsif(a=0 and b=0 and c=0 and d=0 and e=0 and f=0 and g=0 and h=1 and i=0 and j=0)then a1=0;b1=0;c1=0;d1=0;e1=0;f1=0;g1=0;h1=1;i1=0;j1=0;states=w8;elsif(a=0 and b=0 and c=0 and d=0 and e=0 and f=0 and g=0 and h=0 and i=1 and j=0)then a1=0;b1=0;c1=0;d1=0;e1=0;f1=0;g1=0;h1=0;i1=1;j1=0;states=w9;elsif(a=0 and b=0 and c=0 and d=0 and e=0 and f=0 and g=0 and h=0 and i=0 and j=1)then a1=0;b1=0;c1=0;d1=0;e1=0;f1=0;g1=0;h1=0;i1=0;j1=1;statesdout7dout7dout7dout7dout7dout7dout7dout7dout7dout7dout7=0000000;end case;end process;end;10个组抢答时的数码管显示控制信号DOUT(0-6)。程序打包后如下:当主持人按下复位按钮CLR时,抢答器开始工作,A、B、C、D、E、F、G、H、I、J10位抢答者谁最先抢答成功则此选手的台灯号将点亮,蜂鸣器提示有抢答者抢答,并且主持人前的组别显示数码管将显示出抢答成功者的台号。接下来主持人提问。完成一轮抢答后,主持人清零复位,接着重新开始下一轮。五、结语 1.经本次作业的全程独立完成,我对VHDL语言有了新的了解、认识和提高,并且具备了一定的VHDL程序的编程能力。2.大量的时间和经历在quartus软件上使得我对此软件的操作熟练程度有了很大的提高。3.只有不断的奋斗学习才能够提高自己的能力,只有实践了才会真正的体会到其中的乐趣,才会真正的掌握其技术。4.经实际应用,我们所设计的十路抢答器,不仅简化了接口和控制,也提高了系统的整体性能和工作可靠性,具有电路简单、成本低廉、操作方便、灵敏可靠等优点。而且在实际生活中具有很强的实用性。可以成为各单位举办各种智力竞赛等娱乐活动时的必备设备。 六、参考文献 1王甲琛.基于VHDL语言的8路抢答器控制系统设计.开发研究与设计技术,2007:13511352. 2黄仁

温馨提示

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

评论

0/150

提交评论