基于VHDL语言的八路数字抢答器设计

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

题目:基于VHDL语言的八路数字抢答器设计【作者简介】班级:班号:姓名:学号:摘要抢答器作为一种电子产品,早已广泛应用于各种智力和知识竞赛场合,是竞赛问答中一种常用的必备装置;从原理上讲,它是一种典型的数字电路,其中包括了组合逻辑电路和时序逻辑电路.电路结构形式多种多样,可以利用简单的与非门构成,也可以利用触发器构成,也可以利用单片机来完成.利用单片机来设计抢答器,使得结果更简单,功能更优越。本设计是基于单片机控制的六路抢答器,利用单片机的定时器/计数器定时和记数的原理,将软、硬件有机地结合起来,使得系统能够正确地进行计时,同时使数码管能够正确地显示时间。用开关做键盘输出,扬声器发生提示。同时系统能够实现:在抢答中,只有开始后抢答才有效,如果在开始抢答前抢答为无效;抢答限定时间和回答问题的时间可在1-99s设定;可以显示是哪位选手有效抢答和无效抢答,正确按键后有音乐提示;抢答时间和回答问题时间倒记时显示,满时后系统计时自动复位及主控强制复位;按键锁定,在有效状态下,按键无效非法。关键词抢答器;EDA;VHDL语言AbstractAnswerdevicesasanelectronicproducts,haslongbeenwidelyusedinavarietyofoccasions,intelligenceandknowledgecompetitions,quizcontestsareessentialinacommonlyuseddevice;fromtheprinciple,itisatypicaldigitalcircuit,includingacombinationoflogiccircuitsandsequentiallogiccircuit.Circuitstructureofavarietyofforms,canmakeuseofsimpleandnon-gatestructurecanalsobeusedtotriggercomposition,canalsobeusedtocompletesingle-chipmicrocomputer.Answertheuseofsingle-chipdesign,andmakestheresultsmoresimplefunctionbetter.Thedesignisbasedonthesix-waySCMAnswer,andtheuseofsingle-chiptimer/countertimingandnumberoftheprinciplesinmind,thehardwareandsoftwarecombinetomakethesystemtimecorrectly,whilethedigitalcontrolabletocorrectlydisplaythetime.Switchthekeyboardtodowithoutput,speakerpromptedoccurred.Atthesametime,thesystemcanberealized:IntheAnswer,onlyaftertheAnswertobevalid,ifatthebeginningofpre-AnswerAnswerinvalid;Answertoanswerthequestionoflimitedtimeandthetimecanbesetin1-99s;canshowwho'seffectiveandAnswerAnswerinvalid,thecorrectbuttonpromptafterthemusic;Answerquestiontimeandtime倒记时showfulltimeafterthesystemautomaticallyresetandmasterresetmandatory;keyslockedintheeffectivestate,thekeyisinvalidillegal.石家庄经济学院本科生科技论文2Keywordsanswerdevices;EDA;VHDLlanguage一、设计原理与技术方法:(一)整体简介Max+plusII(或写成Maxplus2,或MP2)是Altera公司推出的的第三代PLD开发系统(Altera第四代PLD开发系统被称为:QuartusII,主要用于设计新器件和大规模CPLD/FPGA).使用MAX+PLUSII的设计者不需精通器件内部的复杂结构。设计者可以用自己熟悉的设计工具(如原理图输入或硬件描述语言)建立设计,MAX+PLUSII把这些设计转自动换成最终所需的格式。其设计速度非常快。对于一般几千门的电路设计,使用MAX+PLUSII,从设计输入到器件编程完毕,用户拿到设计好的逻辑电路,大约只需几小时。设计处理一般在数分钟内内完成。特别是在原理图输入等方面,Maxplus2被公认为是最易使用,人机界面最友善的PLD开发软件,特别适合初学者使用。使用Maxplus2基本上也是有以下几个步骤:1.设计输入2.设计编译3.设计仿真4.下载抢答器的逻辑结构主要由抢答鉴别lock模块、定时模块、译码模块和报警器模块组成。在整个抢答器中最关键的是如何实现抢答封锁,在控制键按下的同时计数器倒计时显示有效剩余时间。除此之外,整个抢答器还需有一个“复位开始”信号,以便抢答器能实现清零和开始。抢答器共有3个输出显示,选手代号、计数器的个位和十位,他们输出全都为BCD码输出,这样便于和显示译码器连接。当主持人按下控制键、选手按下抢答键蜂鸣器短暂响起。整体原理框图如图1所示。图1整体原理框图抢答器同时供8名选手或8个代表队比赛,分别用8个按钮[a1]~[a8]。设置一个系统清除和抢答控制开关Reset,该开关由主持人控制。抢答器具有锁存与显示功能。即选手按动按钮,锁存相应的编号,扬声器发出声响提示,数码显示选手号码。其他人再按键,系统进行了优先锁存,不再响应,优先抢答选手的编号一直保持到主持人将系统清除为止,下一次抢答开始。扩展功能:该电路具有犯规报警功能。当主持人未按下开关开始抢答前,参石家庄经济学院本科生科技论文3赛选手若按下开关,则抢答系统发出蜂鸣声报警并显示犯规组别。(二)抢答器工作流程抢答器的基本工作原理:在抢答竞赛或呼叫时,有多个信号同时或不同时送入主电路中,抢答器内部的寄存器工作,并识别、记录第一个号码,同时内部的定时器开始工作,记录有关时间并产生超时信号。在整个抢答器工作过程中,显示电路、语音电路等还要根据现场的实际情况向外电路输出相应信号。抢答器的工作流程分为、系统复位、正常流程、犯规流程等几部分,如图2所示。图2抢答器工作流程(三)抢答器各部分电路1、抢答器鉴别模块:加载程序运行行开始开始数码管显示30开始抢按时间倒计时开始前有选手抢按显示犯规选手号码并伴有语音报警倒计时结束,超时有选手抢按显示FFF显示选手号码,倒计时时间,语音报警,答题,答题时间倒计时正常流程犯规流程若超过答题时间,则数码管示00答题完根据选手表现由主持人加分石家庄经济学院本科生科技论文4在这个模块中主要实现抢答过程中的抢答功能,并且能实现当有一路抢答按键按下时,该路抢答信号将其余个绿抢答封锁的功能。在这个模块输入端有WARN输入(以时间控制系统的WARN输出信号为信号源)、一个和“时间控制系统”公用的CLEAR端、6人抢答输入信号端S0,S1,S2,S3,S4,S5和有一个时钟信号端CLK,这个时钟信号是个高频信号,用以扫描S0,S1,S2,S3是否有信号输入。输出端有对应于S0,S1,S2,S3,S4,S5编号的6个指示灯LED和4线2进制输出端STATES(用于锁存当前的状态),还有一个STOP端用于指示S0,S1,S2,S3,S4,S5按钮状态(控制计时器停止)。在此模块中高频时钟信号一直作用,此时,若主持人按下CLEAR即为开始抢答信号,所有输出端都自动清零。在有效时间范围(N秒)内只要有人抢答,STOP就有高电平输出至“时间控制系统”的STOP端以控制倒计时的停止,并且对应的LED指示灯点亮,STATES锁存输出到译码显示模块,用以显示优先抢答人的组号,并锁定输入端S以阻止系统响应其他抢答者的信号。当有效时间到了之后还没有人抢答,则记时模块发出报警信号,同时反馈回来给抢答鉴别模块,禁止选手在抢答。2、译码模块:将抢答过程中锁存的BCD码转换成7段码用于LED的显示。3、定时器模块:这个模块的输入端有时钟信号CLK1、系统复位信号CLEAR和一个STOP输入信号;输出端有秒时间状态显示信号高位HIGH和低位LOW,无人抢答时计时中止警报信号WARN。这个模块中主要实现抢答过程中的计时功能,在抢答开始后进行N秒的倒计时,并且在N秒倒计时后无人抢答的情况下显示超时并输出信号至WARN报警,或者只要N秒内有人抢答,由抢答鉴别模块输出的STOP信号控制停止计时,并显示优先抢答者的抢答时刻,输出一个信号经WARN传至“抢答鉴别系统”,锁存不再让选手抢答。4、报警模块:在这个模块中主要实现抢答过程中的报警功能,当主持人按下控制键,有限时间内(N秒内)有人抢答或是倒计时到了之后蜂鸣器开始报警,输出SOUND有效电平为高。若有选手提前抢答或者延后抢答同时报警。5、显示模块:由于试验箱的限制,附加了显示电路的设计。6、计分模块:设置一个计分电路,每组开始设置100分,由主持人计分,答对一次加10分,答错一次减10分。(四)单元电路元件设计1、抢答器鉴别模块VHDL程序及模块:在这个模块中主要实现抢答过程中的抢答功能,并且能实现当有一路抢答按键按下时,该路抢答信号将其余个绿抢答封锁的功能。在这个模块输入端有WARN输入(以时间控制系统的WARN输出信号为信号源)、一个和“时间控制系统”公用的CLEAR端、6人抢答输入信号端S0,S1,S2,S3,S4,S5和有一个时钟信号端CLK,这个时钟信号是个高频信号,用以扫描S0,S1,S2,S3,S4,S5是否有信号输入。输出端有对应于S0,S1,S2,S3,S4,S5编号石家庄经济学院本科生科技论文5的6个指示灯LED和4线2进制输出端STATES(用于锁存当前的状态),还有一个STOP端用于指示S0,S1,S2,S3,S4,S5按钮状态(控制计时器停止)。生成模块如图3所示。图3LOCK模块图LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYLOCKISPORT(CLK,CLEAR:INSTD_LOGIC;WARN:INSTD_LOGIC;S0,S1,S2,S3,S4,S5:INSTD_LOGIC;STATES:OUTSTD_LOGIC_VECTOR(3DOWNTO0);STOP:OUTSTD_LOGIC;LED:OUTSTD_LOGIC_VECTOR(5DOWNTO0));ENDLOCK;ARCHITECTUREONEOFLOCKISSIGNALG:STD_LOGIC_VECTOR(5DOWNTO0);BEGINPROCESS(CLEAR,CLK,S0,S1,S2,S3,S4,S5)BEGINIFCLEAR='1'THENG=000000;LED=000000;STOP='0';ELSIFCLK'EVENTANDCLK='1'THENIFWARN='0'THENIF(S5='1')ANDNOT(G(0)='1'ORG(1)='1'ORG(2)='1'ORG(3)='1'ORG(4)='1')THENG(5)='1';LED(5)='1';ELSIF(S4='1')ANDNOT(G(0)='1'ORG(1)='1'ORG(2)='1'ORG(3)='1'ORG(5)='1')THENG(4)='1';LED(4)='1';ELSIF(S3='1')ANDNOT(G(0)='1'ORG(1)='1'ORG(2)='1'ORG(4)='1'ORG(5)='1')THENG(3)='1';LED(3)='1';ELSIF(S2='1')AN

1 / 13
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功