版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2014年3月7日东北石油大学课程设计任务书 主要内容、基本要求、主要参考资料等设计一个可容纳6组参赛的数字式抢答器,当第一个人按下抢答按钮时,其他组的按钮不起作用。当1、设计一个可容纳6组参赛的数字式抢答器,每组设一个按钮,供抢答使用。2、抢答器具有第一信号鉴别和锁存功能,使除第一抢答者外的按钮不起作用。4、主持人复位后,开始抢答,第一信号鉴别锁存电路得到信号后,有指示灯显示抢答组别,扬声器5、设置一个计分电路,每组开始预置100分,由主持人记分,答对一次加10分,答错一次减10分。完成期限2014.3.7指导教师专业负责人2014年3月3日1抢答能引起参赛者和观众的极大兴趣,并且能在极短的时间内,使人们迅速增加一些科学知识和生活常识。但是,在这类比赛中,对于谁先谁后抢答,在何时抢答,如何计算答题时间等等问题,若是仅凭主持人的主观判断,就很容易出现误判。所以,我们就需要一种具备自动锁存,置位,清零等功能智能抢答器来解决这些问题。系统进入抢答状态,计时模块和计分模块输出初始信号给数码显示模块并显示出初始值。当某参赛组抢先将抢答键按下时,系统将其余五路抢答信号封锁,同时扬声器发出声音提示,组别显示模块送出信号给数码显示模块,从而显示出该抢答成功组台号,并一直保持到下一轮主持人将系统清零为止。主持人对抢答结果进行确认,随后,计时模块送出倒计时计数允许信号,开始回答问题,计时显示器则从初始值开始以计时,在规定的时间内根据答题的正误来确定加分或减分,并通过数码显示模块将成绩显示出来。当主持人给出倒计时停止信号时,扬声器停止鸣叫。若参赛者在规定时间内回答完为题,主持人可给出倒计时计数停止信号,以免扬声器鸣叫。主持人按下复位键,即RST为高电平有效状态,清除前一次的抢答组别,又可开始新的一轮的抢答。此抢答器的设计中采用自顶向下的设计思路,运用VHDL硬件描述语言对各个模块进行层次化、系统化的描述,并且先设计一个顶层文件,再把各个模块译码主电路预制图一抢答器总体框图2根据图一抢答器总体框图,本设计可分为以下几个模块:(1)抢答判别模块:它的功能是鉴别六组中是哪组抢答成功并且把抢答成功的组别信号输出给锁存模块。(2)抢答器计分模块:由主持人控制,针对选手的答题情况,进行加分或减分。(3)数据选择模块:主要实现抢答过程中的数据输入功能。(4)显示报警模块:就是把各个模块的输入的不同信号经过译码成BCD码然后直接在数码管上显示,还可以加上蜂鸣器的声音,更能给观众一个准确、简明的数字。(5)译码模块:主要原理是四位二进制BCD编码转换成七段二进制数字。(6)顶层模块:在这个模块中是对前面模块的综合编写的顶层文件。1、抢答器鉴别模块:在这个模块中主要实现抢答过程中的抢答功能,并能能实现当有一路抢答按键按下时,该路抢答信号将其余过滤抢答封锁的功能。其中有六个抢答信号S1、S2、S3、S4、S5、S6;抢答使能信号EN;抢答状态显示信号STATES;抢答与警报时钟信号CLK2;系统复位信号RST;警报信号TMP。s2.tmp图二抢答器鉴别模块图ENTITYQDJBISPORT(RST,EN,CLK2:INSTDLOGIC;_STATES:BUFFERSTDLOGICVECTOR(3DOWNTO3_IFRST='1'THENG<="000000";TMP<='O';LED<="000000";IFEN='1'OREN='O’THENIF(S5='1')ANDNOT(G(6)='1’ORG(1)='1’ORG(2)='1'0RG(3)='1’ORG(5)<='1';LED(5)<='l';ELSIF(S4='1')ANDNOT(G(6)='1’ORG(1)='1’0R.G(2)='1'0RG(3)='1'G(4)<='1';LED(4)<='l';ELSIF(S3='1')ANDNOT(G(6)='1’ORG(1)='1’OR.G(2)='1’ORG(4)='1'G(3)<='1';LED(3)<='1';ELSIF(S2='1')ANDNOT(G(6)='1’ORG(1)='1³ORG(3)='1’ORG(4)='I'ORG(5)='1')THENG(2)<='1';LED(2)<='1³;ELSIF(S1='1')ANDNOT(G(6)='1'ORG(2)='1'ORG(3)='1'ORG(4)='.1'ORG(5)='1')THENG(1)<='1';LED(1)<='i';ELSIF(S6='1')ANDNOT(G(1)='1’ORG(2)='1'ORG(3)='1’0RG(4)='1'ORG(5)='1³)THENG(6)<='1';LED(6)<='1²;WHEN”000001”=>STATES<="0001";WHEN"000010”=>STATES<="0010";WHEN"000100"=>STATES<="0011";WHEN"001000"=>STATES<="0100";WHEN"010000"=>STATES<="0101";WHEN"100000"=>STATES<="0110";WHENOTHERS=>STATES<="0000";2、抢答器记分模块:在这个模块中主要是给六个抢答信号记分,并给每个抢答信号预置100分,当抢答并答对时加10分,答错减10分,没有获得抢答保持不变。其中有抢答使能信号START;抢答状态显示信号STATES;记分加减信号ADD,SUB;六个信号的得分输出信号AA2,AA1,AA0,BB2,BB1,BBO,CC2,CC1,CCO,DD2,DD1,DDO,EE2,EE1,EE0,FF2,FF1,FF0。计分模块用VHDL语言进行编程的流程图如下:初始值100分。ADD=1参赛者加10分参赛者减10分45LIBRARYIEEE;USEIEEE.STDLOGIC1164.ALL;__USEIEEE.STDLOGICUNSIGNED.ALL;__ENTITYJFQISPORT(START:INSTDLOGIC,ADD,SUB:INSTDLOGIC;_NUM:INSTDLOGICVECTOR(3DOWNTO0);AA2,AA1,AAO,BB2,BB1,BBO:OUTSTDLOGICVECTOR(3DOWNTO0);CC2,CC1,CCO,DD2,DD1,DDO:OUTSTDLOGICVECTOR(3DOWNTO0);EE2,EE1,EE0,FF2,FF1,FFO:OUTSTDLOGICVECTOR(3DOWNTO0));END,ENTITYJFQ;ARCHITECTUREARTOFJFQISBEGINP1:PROCESS(START,ADD,NUM)ISVARIABLEPOINTSA2,POINTSA1:STDLOGICVECTOR(3DOWNTOVARIABLEPOINTSB2,POINTSB1:STDLOGICVECTOR(3DOWNTOVARIABLEPOINTSC2,POINTSC1:STDLOGICVECTOR(3DOWNTOVARIABLEPOINTSD2,POINTSD1:STDLOGICVECTOR(3DOWNTOVARIABLEPOINTSE2,POINTSE1:STDLOGICVECTOR(3DOWNTOVARIABLEPOINTSF2,POINTSF1:STDLOGICVECTOR(3DOWNTOBEGINIF(ADD'EVENTANDADD='1')THENIFSTART='I’THENPOINTSA2:="0001";POINTSA1:="0000";__POINTSB2:="0001";POINTSB1:="0000";__POINTSC2:="0001";POINTSC1:="0000";__POINTSD2:="0001";POINTSD1:="0000";__POINTSE2:="0001";POINTSE1:="0000";__6POINTSF2:="0001";POINTSF1:="0000"ELSIFNUM="0001"THENIFPOINTSA1="1001"THEN_IFPOINTSA2="1001"THENELSEPOINTSA2:=POINTSA2+'l';ENDIF;ELSEPOINTSA1:=POINTSA1+'1';__ENDIFELSIFNUM="0010"THENIFPOINTSB1="1001"THENIFPOINTSB2="1001"THENELSEPOINTSB2:=POINTSB2+'1'__ENDIF;ELSEPOINTSB1:=POINTSB1+'1';__ENDIF,ELSIFNUM="0011"THENIFPOINTSC1="1001"THEN_IFPOINTSC2="1001"THENELSEPOINTSC2:=POINTSC2+'1';__ENDIF,ELSEPOINTSC1:=POINTSC1+'1';ENDIF;ELSIFNUM="0100"THENIFPOINTSD1="1001"THENIFPOINTSD2="1001"THEN_ELSEPOINTSD2:=POINTSD2+'1';__ENDIF,ELSEPOINTSD1:=POINTSD1+*1';__ENDIF;ELSIFNUM="0101"THENIFPOINTSE1="1001"THEN_IFPOINTSE2="1001"THEN_POINTSA1:="0000"POINTSA2:="0000"_POINTSB1:="0000"POINTSB2:="0000"POINTSC1:="0000"POINTSC2:="0000";POINTSD1:="0000";POINTSD2:="0000";POINTSE1:="0000";POINTSE2:="0000";7ELSEPOINTSE2:=POINTSE2+'1';__ELSEPOINTSE1:=POINTSE1+'1'_ELSIFNUM=“0110”THENIFPOINTSF2="1001"THENELSEPOINTSF2:=POINTSF2+'1'__ELSEPOINTSF1:=POINTSF1+'1';__ENDIFP2:PROCESS(START,DEC,NUM)ISPOINTSF1:="0000";POINTSF2:="0000";_VARIABLEPOINTSA2,POINTSA1:STDLOGICVECTOR(3VARIABLEPOINTSB2,POINTSB1:STDLOGICVECTOR(3DOWNTO.0);VARIABLEPOINTSC2,POINTSC1:STDLOGICVECTOR(VARIABLEPOINTSD2,POINTSD1:STDLOGICVECTOR(3VARIABLEPOINTSE2,POINTSE1:STDLOGICVECTOR(3.VARIABLEBEGINPOINTSF2,POINTSF1:STDLOGICVECTOR(3IF(SUB'EVENTANDPOINTSA2:="0001";POINTSA1:="0000";__POINTSB2:="0001";POINTSB1:="0000";__POINTSC2:="0001";POINTSC1:="0000";__POINTSD2;="0001";POINTSD1:="0000";__POINTSE2:="0001";POINTSE1:="0000";__POINTSF2:="0001";POINTSF1:="0000";__ELSIFNUM=“0001”THENIFPOINTSA1="0000"THENPOINTSA1:="1001";__8IFPOINTSA2="0000"THEN_ELSEPOINTSA2:=POINTSA2-'1';__ENDIF;ELSEPOINTSA1:=POINTSA1-'1';__ENDIF;ELSIFNUM=“0010”THENIFPOINTSB1="0000"THEN_IFPOINTSB2="0000"THEN_ELSEPOINTSB2:=POINTSB2-'1';__ENDIF;ELSEPOINTSB1:=POINTSB1-'1';__ELSIFNUM="0011"THENIFPOINTSCl="0000"THENIFPOINTSC2="0000"THENELSEPOINTSC2:=POINTSC2-'1';__ENDIF;ELSEPOINTSC1:=POINTSC1-'1';__ENDIF;ELSIFNUM="0100"THENIFPOINTSD1="0000"THENIFPOINTSD2="0000"THENELSEPOINTSD2:=POINTSD2-'1';_ENDIF,ELSEPOINTSD1:=POINTSD1='1';ENDIF;ELSIFNUM="0101"THENIFPOINTSE1="0000"THENIFPOINTSE2="0000"THENELSEPOINTSE2:=POINTSE2-'1';__ENDIF,ELSEPOINTSE1:=POINTSE1-'1';__POINTSA2:="1001"POINTSB1:="1001";POINTSB2:="1001";POINTSC1:="1001";POINTSC2:="1001";POINTSD1:="1001";POINTSD2:="1001";POINTSE1:="1001";POINTSE2:="1001";IFPOINTSF1="0000"THENPOINTSF1:="1001";IFPOINTSF2="0000"THENPOINTSF2:="1001";_ELSEPOINTSF2:=POINTSF2-'1';__ELSEPOINTSF1:=POINTSF1-'1';__AA2<=POINTSA2;AA1<=POINTSA1;AAO<="0000";__BB2<=POINTSB2;BB1<=POINTSBl;BBO<="0000";__CC2<=POINTSC2;CCl<=POINTSC1;CCO<="0000";__DD2<=POINTSD2;DD1<=POINTSD1;DDO<="0000";__EE2<=POINTSE2;EE1<=POINTSE1;EEO<="0000";__FF2<=POINTSF2;FF1<=POINTSF1;FFO<="0000";__ENDARCHITECTUREART;3、数据选择模块:在这个模块中主要实现抢答过程中的数据输入功能,输入信号A[3..0]、B[3..0]、C[3..0]、D[3..0]、E[3..0]、F[3..0];计数输出信号S;数据输出信号Y;使能端EN;计数脉冲CLK2,实现A、B、C、D、E、F按脉冲轮流选通,在数码管上显示。程序:LIBRARYIEEE,__PORT(A,B,C,D,E,F:INSTDLOGICVECTOR(3,DOWNTO0);CLK2,RST,EN:INSTDLOGIC,S:OUTSTD.LOGICVECTOR(2DOWNTO0);Y:OUTSTDLOGICVECTOR(3DOWNTO0));BEGINPROCESS(CLK2,RST)BEGINIF(RST='1')THENCOUNT<="000";IF(COUNT>="101")THENCOUNT<="000";ELSECOUNT<=COUNT+1;WHEN"000"=>Y<=E;WHEN"010"=>Y<=C;WHEN"011"=>Y<=F;WHEN“100”=>Y<=A;WHEN"101"=>Y<=D;WHENOTHERS=>NULL;4、报警模块:当某组的选手抢答成功之后,为了让主持人第一时间反应到抢答的成功,系统需要设置一个声响报警装置,来提示主持人对其他选手的抢答信号进行屏蔽。该模块在系统中是十分必要的,声音响起,可以节约不少时间,为比赛的顺利进行争取时间。在这个模块中主要实现抢答过程中的报警功能,当主持人按下控制键,有限时间内有人抢答,有效电平输入信号WARN;状态输出信号SOUND;复位端RST。BEGIN5、译码模块:该模块实际上是一个译码器,作用是用来显示组别,时间和成绩,其主要原理是四位二进制BCD编码转换成七段二进制数字,以阿拉伯数字的形式输出在数码管上,使观众能够更直观的看到结果。译码器的译码对照表1如下所示:显示的数字/字母BCD编码七段数码管2.进制0123456789X表1译码器的译码对照表备注:在程序中只考虑0000-1001(即0-9)的情况,将其转化为相应的七段显示器的码子,其他情况不予考虑。__USEIEEE.STDLOGICUNSIGNEDALL__PROCESS(AIN4)ENDCASE,ENDPROCESSENDART;程序LIBRARYIEEEUSEIEEE.STDLOGIC1164.ALL;__USEIEEE.STDLOGICARITH.ALLENTITYQIANGDAQIISM:OUTSTDLOGICVECTOR(1DOWNTO0);A,B,C,D,E,F,G:OUTSTDLOGIC);ENDQIANGDAQI;ARCHITECTUREBHVOFQIANGDAQIISCOMPONENTQDJBISPORT(CLK2,RST:INSTDLOGIC;S0,S1,S2,S3,S4,S5:INSTDLOGIC;_TMP:OUTSTDLOGIC,_STATES:OUTSTDLOGICVECTOR(5DOWNTO0));COMPONENTJSISPORT(CLK,RST,S,STOP:INSTDLOGIC;WARN:OUTSTDLOGIC;_COMPONENTALARMIS_A<=LEDOUT(6);B<=LEDOUT(5);C<=LEDOUT(4);D<=LEDOUT(3);E<=LEDOUT(2)U1:QDJBPORTMAP(CLK2RSTTMPSTATESXSTATESOUTUSJXZPORTMAPCLKCLKRSTRSTSTATESOUTTAOUTYMQPORTMAPAINYOUTDOUTLED2、仿真及仿真结果分析抢答鉴别模块仿真图王日田mMasrerTimeBarEndYalueatNsms0AūA1k.01u生胚8单U.0ps1.311ms2.621msmsns王日田mMasrerTimeBarEndYalueatNsms0AūA1k.01u生胚8单U.0ps1.311ms2.621msmsnsmsms联于15.825Irrsi9.9wmp8ET11m%m225F13mSSm7834n=Tm58T5nsc1l2]它t5里图四抢答鉴别模块仿真图抢答器记分模块仿真图ADD00,U日0CH.CH.CH.1U'ELECC生dd1图五抢答器记分模块仿真图数据选择模块仿真图MtasterTimeBar15.675mFoinler2.88msInterval2.88ms;StarttNane15.675.ns050010001001B.01正 0010001001B.01正 T图六数据选择模块仿真图图七报警模块仿真图译码模块仿真图P811m2.621m32932m35.243ms6.884/msY86.4m0175m5 3P811m2.621m32932m35.243ms6.884/msY86.4m0175m5 3YalusAⅡ4DOUT?BO1A图八译码模块仿真图MeieTingEsnInlenyel37.54End
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 轮胎平衡机市场发展预测和趋势分析
- 2024年废弃物处理与资源回收合同
- 2024年度大豆产业技术创新联盟合同
- 2024年度技术服务补充合同
- 家用清洁剂市场发展现状调查及供需格局分析预测报告
- 空化妆用滴管市场需求与消费特点分析
- 无菌罩布外科用市场发展现状调查及供需格局分析预测报告
- 2024年度体育赛事赞助与广告植入合同
- 贝雷帽市场需求与消费特点分析
- 2024年度保温板质量保证及施工安全合同
- GB/T 1348-2019球墨铸铁件
- GA/T 1030.1-2017机动车驾驶人考场使用验收规范第1部分:驾驶理论考场
- 第1课 实验课的安全
- 《研究生英语精读教程》(第三版·上)课件
- 新航道课件-雅思小作文一
- 2022年ISO9001-2015质量管理体系组织知识清单一览表完整版
- 第3课宋明理学课件
- 慢性阻塞性肺疾病中医肺康复指南公示稿
- 文言文特殊句式整理(完美版)课件
- 第7课认认真真学打字(教案)- 三年级上册信息技术 人教版
- 部编版道德与法治五年级上册【第四单元】全单元课件
评论
0/150
提交评论