毕业论文设计-基于vhdl语言的八路数字抢答器设计_第1页
毕业论文设计-基于vhdl语言的八路数字抢答器设计_第2页
毕业论文设计-基于vhdl语言的八路数字抢答器设计_第3页
毕业论文设计-基于vhdl语言的八路数字抢答器设计_第4页
毕业论文设计-基于vhdl语言的八路数字抢答器设计_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

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

文档简介

题目基于VHDL语言的八路数字抢答器设计摘要抢答器作为一种电子产品,早已广泛应用于各种智力和知识竞赛场合,是竞赛问答中一种常用的必备装置;从原理上讲,它是一种典型的数字电路,其中包括了组合逻辑电路和时序逻辑电路电路结构形式多种多样,可以利用简单的与非门构成,也可以利用触发器构成,也可以利用单片机来完成利用单片机来设计抢答器,使得结果更简单,功能更优越。本设计是基于单片机控制的六路抢答器,利用单片机的定时器/计数器定时和记数的原理,将软、硬件有机地结合起来,使得系统能够正确地进行计时,同时使数码管能够正确地显示时间。用开关做键盘输出,扬声器发生提示。同时系统能够实现在抢答中,只有开始后抢答才有效,如果在开始抢答前抢答为无效;抢答限定时间和回答问题的时间可在199S设定;可以显示是哪位选手有效抢答和无效抢答,正确按键后有音乐提示;抢答时间和回答问题时间倒记时显示,满时后系统计时自动复位及主控强制复位;按键锁定,在有效状态下,按键无效非法。关键词抢答器;EDA;VHDL语言ABSTRACTANSWERDEVICESASANELECTRONICPRODUCTS,HASLONGBEENWIDELYUSEDINAVARIETYOFOCCASIONS,INTELLIGENCEANDKNOWLEDGECOMPETITIONS,QUIZCONTESTSAREESSENTIALINACOMMONLYUSEDDEVICEFROMTHEPRINCIPLE,ITISATYPICALDIGITALCIRCUIT,INCLUDINGACOMBINATIONOFLOGICCIRCUITSANDSEQUENTIALLOGICCIRCUITCIRCUITSTRUCTUREOFAVARIETYOFFORMS,CANMAKEUSEOFSIMPLEANDNONGATESTRUCTURECANALSOBEUSEDTOTRIGGERCOMPOSITION,CANALSOBEUSEDTOCOMPLETESINGLECHIPMICROCOMPUTERANSWERTHEUSEOFSINGLECHIPDESIGN,ANDMAKESTHERESULTSMORESIMPLEFUNCTIONBETTERTHEDESIGNISBASEDONTHESIXWAYSCMANSWER,ANDTHEUSEOFSINGLECHIPTIMER/COUNTERTIMINGANDNUMBEROFTHEPRINCIPLESINMIND,THEHARDWAREANDSOFTWARECOMBINETOMAKETHESYSTEMTIMECORRECTLY,WHILETHEDIGITALCONTROLABLETOCORRECTLYDISPLAYTHETIMESWITCHTHEKEYBOARDTODOWITHOUTPUT,SPEAKERPROMPTEDOCCURREDATTHESAMETIME,THESYSTEMCANBEREALIZEDINTHEANSWER,ONLYAFTERTHEANSWERTOBEVALID,IFATTHEBEGINNINGOFPREANSWERANSWERINVALIDANSWERTOANSWERTHEQUESTIONOFLIMITEDTIMEANDTHETIMECANBESETIN199SCANSHOWWHOSEFFECTIVEANDANSWERANSWERINVALID,THECORRECTBUTTONPROMPTAFTERTHEMUSICANSWERQUESTIONTIMEANDTIME倒记时SHOWFULLTIMEAFTERTHESYSTEMAUTOMATICALLYRESETANDMASTERRESETMANDATORYKEYSLOCKEDINTHEEFFECTIVESTATE,THEKEYISINVALIDILLEGALKEYWORDSANSWERDEVICESEDAVHDLLANGUAGE1、设计原理与技术方法(1)整体简介MAXPLUSII或写成MAXPLUS2,或MP2是ALTERA公司推出的的第三代PLD开发系统ALTERA第四代PLD开发系统被称为QUARTUSII,主要用于设计新器件和大规模CPLD/FPGA使用MAXPLUSII的设计者不需精通器件内部的复杂结构。设计者可以用自己熟悉的设计工具(如原理图输入或硬件描述语言)建立设计,MAXPLUSII把这些设计转自动换成最终所需的格式。其设计速度非常快。对于一般几千门的电路设计,使用MAXPLUSII,从设计输入到器件编程完毕,用户拿到设计好的逻辑电路,大约只需几小时。设计处理一般在数分钟内内完成。特别是在原理图输入等方面,MAXPLUS2被公认为是最易使用,人机界面最友善的PLD开发软件,特别适合初学者使用。使用MAXPLUS2基本上也是有以下几个步骤1设计输入2设计编译3设计仿真4下载抢答器的逻辑结构主要由抢答鉴别LOCK模块、定时模块、译码模块和报警器模块组成。在整个抢答器中最关键的是如何实现抢答封锁,在控制键按下的同时计数器倒计时显示有效剩余时间。除此之外,整个抢答器还需有一个“复位开始”信号,以便抢答器能实现清零和开始。抢答器共有3个输出显示,选手代号、计数器的个位和十位,他们输出全都为BCD码输出,这样便于和显示译码器连接。当主持人按下控制键、选手按下抢答键蜂鸣器短暂响起。整体原理框图如图1所示。图1整体原理框图抢答器同时供8名选手或8个代表队比赛,分别用8个按钮A1A8。设置一个系统清除和抢答控制开关RESET,该开关由主持人控制。抢答器具有锁存与显示功能。即选手按动按钮,锁存相应的编号,扬声器发出声响提示,数码显示选手号码。其他人再按键,系统进行了优先锁存,不再响应,优先抢答选手的编号一直保持到主持人将系统清除为止,下一次抢答开始。扩展功能该电路具有犯规报警功能。当主持人未按下开关开始抢答前,参赛选手若按下开关,则抢答系统发出蜂鸣声报警并显示犯规组别。(二)抢答器工作流程抢答器的基本工作原理在抢答竞赛或呼叫时,有多个信号同时或不同时送入主电路中,抢答器内部的寄存器工作,并识别、记录第一个号码,同时内部的定时器开始工作,记录有关时间并产生超时信号。在整个抢答器工作过程中,显示电路、语音电路等还要根据现场的实际情况向外电路输出相应信号。抢答器的工作流程分为、系统复位、正常流程、犯规流程等几部分,如图2所示。加载程序运行行开始开始数码管显示30开始抢按时间倒计时开始前有选手抢按显示犯规选手号码并伴有语音报警倒计时结束,超时有选手抢按显示FFF显示选手号码,倒计时时间,语音报警,答题,答题时间倒计时正常流程犯规流程若超过答题时间,则数码管示00答题完根据选手表现由主持人加分图2抢答器工作流程(三)抢答器各部分电路1、抢答器鉴别模块在这个模块中主要实现抢答过程中的抢答功能,并且能实现当有一路抢答按键按下时,该路抢答信号将其余个绿抢答封锁的功能。在这个模块输入端有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编号的6个指示灯LED和4线2进制输出端STATES(用于锁存当前的状态),还有一个STOP端用于指示S0,S1,S2,S3,S4,S5按钮状态(控制计时器停止)。生成模块如图3所示。图3LOCK模块图LIBRARYIEEEUSEIEEESTD_LOGIC_1164ALLENTITYLOCKISPORTCLK,CLEARINSTD_LOGICWARNINSTD_LOGICS0,S1,S2,S3,S4,S5INSTD_LOGICSTATESOUTSTD_LOGIC_VECTOR3DOWNTO0STOPOUTSTD_LOGICLEDOUTSTD_LOGIC_VECTOR5DOWNTO0ENDLOCKARCHITECTUREONEOFLOCKISSIGNALGSTD_LOGIC_VECTOR5DOWNTO0BEGINPROCESSCLEAR,CLK,S0,S1,S2,S3,S4,S5BEGINIFCLEAR1THENGSTATESSTATESSTATESSTATESSTATESSTATESSTATESQOUTQOUTQOUTQOUTQOUTQOUTQOUTQOUTQOUTQOUTQOUT“0000000“ENDCASEENDPROCESSENDARCHITECTURETWO3定时模块VHDL程序及模块这个模块的输入端有时钟信号CLK、系统复位信号CLEAR和一个STOP输入信号;输出端有秒时间状态显示信号高位HIGH和低位LOW,无人抢答时计时中止警报信号WARN。这个模块中主要实现抢答过程中的计时功能,在抢答开始后进行N秒的倒计时,并且在N秒倒计时后无人抢答的情况下显示超时并输出信号至WARN报警,或者只要N秒内有人抢答,由抢答鉴别模块输出的STOP信号控制停止计时,并显示优先抢答者的抢答时刻,输出一个信号经WARN传至“抢答鉴别系统”,锁存不再让选手抢答。生成的模块图如图5所示。图5COUNT模块图LIBRARYIEEEUSEIEEESTD_LOGIC_1164ALLUSEIEEESTD_LOGIC_UNSIGNEDALLENTITYCOUNTISPORTCLK,CLEAR,STOPINSTD_LOGICWARNOUTSTD_LOGICHIGH,LOWOUTSTD_LOGIC_VECTOR3DOWNTO0ENDCOUNTARCHITECTURETHREEOFCOUNTISSIGNALHSSTD_LOGIC_VECTOR3DOWNTO0SIGNALLSSTD_LOGIC_VECTOR3DOWNTO0BEGINPROCESSCLKBEGINIFCLEAR1THENHS“1001“LS“1001“WARN0ELSIFCLKEVENTANDCLK1THENLSLS1IFLS“0000“THENLS“1001“HSHS1IFHS“0000“ANDLS“0000“THENWARN1HS“0000“LS“0000“IFSTOP1THENHSHSLSLSWARN1ENDIFENDIFENDIFENDIFHIGHHSLOWLSENDPROCESSENDARCHITECTURETHREE4报警模块VHDL在这个模块中主要实现抢答过程中的报警功能,当主持人按下控制键,有限时间内(N秒内)有人抢答或是倒计时到了之后蜂鸣器开始报警,输出SOUND有效电平为高。生成的模块图如图6所示。图6ALARM模块图LIBRARYIEEEUSEIEEESTD_LOGIC_1164ALLENTITYALARMISPORTCLEAR,WARNINSTD_LOGICSOUNDOUTSTD_LOGICENDARCHITECTUREFOUROFALARMISBEGINPROCESSWARN,CLEARBEGINIFCLEAR1THENSOUND0ELSIFWARN1THENSOUND1ELSESOUND0ENDIFENDPROCESSENDALARM具有犯规设置电路对提前抢答和超时抢答者,则报警并显示组别。生成的模块图如图7所示。图7FOUL模块图LIBRARYIEEEUSEIEEESTD_LOGIC_1164ALLENTITYFOULISPORTCLEARINSTD_LOGICS0,S1,S2,S3,S4,S5INSTD_LOGICLEDEOUTSTD_LOGIC_VECTOR5DOWNTO0WARNSOUTSTD_LOGICENDFOULARCHITECTUREONEOFFOULISBEGINPROCESSCLEAR,S0,S1,S2,S3,S4,S5BEGINIFCLEAR1THENIFS51THENLEDE51WARNS1ELSIFS41THENLEDE41WARNS1ELSIFS31THENLEDE31WARNS1ELSIFS21THENLEDE21WARNS1ELSIFS11THENLEDE11WARNS1ELSIFS01THENLEDE01WARNS1ELSELEDE“000000“WARNS0ENDIFENDIFENDPROCESSENDONE5、显示模块设计由于试验箱的限制,附加了动态显示模块。模块图如图8所示。图8动态显示模块图LIBRARYIEEEUSEIEEESTD_LOGIC_1164ALLENTITYMUX18ISPORTAA0,AA1,AA2INSTD_LOGIC_VECTOR3DOWNTO0BB0,BB1,BB2INSTD_LOGIC_VECTOR3DOWNTO0CC0,CC1,CC2INSTD_LOGIC_VECTOR3DOWNTO0DD0,DD1,DD2INSTD_LOGIC_VECTOR3DOWNTO0EE0,EE1,EE2INSTD_LOGIC_VECTOR3DOWNTO0FF0,FF1,FF2INSTD_LOGIC_VECTOR3DOWNTO0XX0,XX1,XX2INSTD_LOGIC_VECTOR3DOWNTO0CHOICESTD_LOGIC_VECTOR5DOWNTO0G,H,IINSTD_LOGICYYYOUTSTD_LOGIC_VECTOR3DOWNTO0ENDMUX18ARCHITECTURERT1OFMUX18ISSIGNALSELSTD_LOGIC_VECTOR2DOWNTO0BEGINSELIPROCESSSEL,CHOICEBEGINIFCHOICE“000001“THENIFSEL“000“THENYYYAA0ELSIFSEL“001“THENYYYAA1ELSIFSEL“010“THENYYYAA2ENDIFELSIFCHOICE“000010“THENIFSEL“000“THENYYYBB0ELSIFSEL“001“THENYYYBB1ELSIFSEL“010“THENYYYBB2ENDIFELSIFCHOICE“000100“THENIFSEL“000“THENYYYCC0ELSIFSEL“001“THENYYYCC1ELSIFSEL“010“THENYYYCC2ENDIFELSIFCHOICE“001000“THENIFSEL“000“THENYYYDD0ELSIFSEL“001“THENYYYDD1ELSIFSEL“010“THENYYYDD2ENDIFELSIFCHOICE“010000“THENIFSEL“000“THENYYYEE0ELSIFSEL“001“THENYYYEE1ELSIFSEL“010“THENYYYEE2ENDIFELSIFCHOICE“100000“THENIFSEL“000“THENYYYFF0ELSIFSEL“001“THENYYYFF1ELSIFSEL“010“THENYYYFF2ENDIFENDIFIFSEL“011“THENYYYXX0ELSIFSEL“100“THENYYYXX1ELSIFSEL“101“THENYYYXX2ENDIFENDPROCESSENDRT16、计分模块设置一个计分电路,每组开始设置100分,由主持人计分,答对一次加10分,答错一次减10分。模块如图9所示。图9计分模块图LIBRARYIEEEUSEIEEESTD_LOGIC_1164ALLUSEIEEESTD_LOGIC_UNSIGNEDALLENTITYSCOREISPORTCLR,SUB,ADD,CLKINSTD_LOGICCHOOSEINSTD_LOGIC_VECTOR5DOWNTO0AA0,AA1,AA2,BB0,BB1,BB2,CC0,CC1,CC2OUTSTD_LOGIC_VECTOR3DOWNTO0DD0,DD1,DD2,EE0,EE1,EE2,FF0,FF1,FF2OUTSTD_LOGIC_VECTOR3DOWNTO0ENDSCOREARCHITECTURERT1OFSCOREISBEGINPROCESSCHOOSE,CLK,ADD,SUBVARIABLEA1,A2STD_LOGIC_VECTOR3DOWNTO0VARIABLEB1,B2STD_LOGIC_VECTOR3DOWNTO0VARIABLEC1,C2STD_LOGIC_VECTOR3DOWNTO0VARIABLED1,D2STD_LOGIC_VECTOR3DOWNTO0VARIABLEE1,E2STD_LOGIC_VECTOR3DOWNTO0VARIABLEF1,F2STD_LOGIC_VECTOR3DOWNTO0BEGINIFCLR1THENA2“0001“A1“0000“置100B2“0001“B1“0000“C2“0001“C1“0000“D2“0001“D1“0000“E2“0001“E1“0000“F2“0001“F1“0000“ELSIFCLKEVENTANDCLK1THENIFADD1THENIFCHOOSE“000001“THENIFA1“1001“THENA1“0000“IFA2“1001“THENA2“0000“ELSEA2A21ENDIFELSEA1A11ENDIFELSIFCHOOSE“000010“THENIFB1“1001“THENB1“0000“IFB2“1001“THENB2“0000“ELSEB2B21ENDIFELSEB1B11ENDIFELSIFCHOOSE“000100“THENIFC1“1001“THENC1“0000“IFC2“1001“THENC2“0000“ELSEC2C21ENDIFELSEC1C11ENDIFELSIFCHOOSE“001000“THENIFD1“1001“THEND1“0000“IFD2“1001“THEND2“0000“ELSED2D21ENDIFELSED1D11ENDIFELSIFCHOOSE“010000“THENIFE1“1001“THENE1“0000“IFE2“1001“THENE2“0000“ELSEE2E21ENDIFELSEE1E11ENDIFELSIFCHOOSE“100000“THENIFF1“1001“THENF1“0000“IFF2“1001“THENF2“0000“ELSEF2F21ENDIFELSEF1F11ENDIFENDIFELSIFSUB1THENIFCHOOSE“000001“THENIFA1“0000“THENIFA2“0000“THENA1“0000“A2“0000“ELSEA1“1001“A2A21ENDIFELSEA1A11ENDIFELSIFCHOOSE“000010“THENIFB1“0000“THENIFB2“0000“THENB1“0000“B2“0000“ELSEB1“1001“B2B21ENDIFELSEB1B11ENDIFELSIFCHOOSE“000100“THENIFC1“0000“THENIFC2“0000“THENC1“0000“C2“0000“ELSEC1“1001“C2C21ENDIFELSEC1C11ENDIFELSIFCHOOSE“001000“THENIFD1“0000“THENIFD2“0000“THEND1“0000“D2“0000“ELSED1“1001“D2D21ENDIFELSED1D11ENDIFELSIFCHOOSE“010000“

温馨提示

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

评论

0/150

提交评论