班路抢答器方案方案.docx
- 文档编号:2041170
- 上传时间:2022-10-26
- 格式:DOCX
- 页数:25
- 大小:332.94KB
班路抢答器方案方案.docx
《班路抢答器方案方案.docx》由会员分享,可在线阅读,更多相关《班路抢答器方案方案.docx(25页珍藏版)》请在冰豆网上搜索。
班路抢答器方案方案
一、实验目的
1.学习智力竞赛抢答器电路的工作原理。
2.学习综合数字电子电路的设计、实现和调试方法。
二、实验内容和要求
<1)抢答器可容纳四组选手,并为每组选手设置一个按钮供抢答者使用;为主持人设置一个控制按钮,用来控制系统清零<组别显示数码管灭灯)和抢答开始。
<2)电路具有对第一抢答信号的锁存、鉴别和显示等功能。
在主持人将系统复位并发出抢答指令后,蜂鸣器提示抢答开始,计时显示器显示初始时间并开始倒计时,若参赛选手按下抢答按钮,则该组别的信号立即被锁存,并在组别显示器上显示该组别,同时扬声器也给出音响提示,此时,电路具备自锁功能,使其他抢答按钮不起作用。
<3)如果无人抢答,计时器倒计时到零,蜂鸣器有抢答无效提示,主持人可以按复位键,开始新一轮的抢答。
<4)抢答器具有限时抢答的功能,且一次抢答的时间由主持人设定,本抢答时间设定为30秒。
当主持人启动开始键后,要求计时器采用倒计时,同时倒计时到0秒时扬声器会发出声响提示。
<5)参赛选手在设定的时间内抢答,则抢答有效,定时器停止工作,根据抢答结果由数码管显示选手的组别,并一直保持到主持人将系统清零为止。
2.2.2设计方案二
本工程也可以用EDA技术来实现其功能。
在芯片选型方面可以考虑选择CPLD芯片作为微控制器。
EDA自顶向下的设计方法比较先进;实验室有齐全的开发套件;组员们均系统学习过EDA基础课程,都有VHDL编程和实验经验,团队之间交流将会比较方便;芯片容量大,处理速度极快,管脚数目多达84个,IO口数目充足,适合本设计的规模。
缺点在于设备相对昂贵,使用不当容易烧毁微处理器。
三、设计思路
可将整个系统分为三个主要模块:
抢答鉴别模块QDJB;抢答计时模块JSQ;抢答计分模块JFQ。
整个系统的组成框图如图5-5-8所示。
图--1智力竞赛抢答器系统框图
四、电路设计
图--2
1.电路设计指标
.本抢答器最多可提供4名参赛选手使用,编号为1~4号,各队分别用一个按钮 .抢答器具有数据锁存功能,并将锁存数据用发光二极管指示灯显示出来,同时蜂鸣器发出间歇式声响,主持人清零后,声音提示停止。 .抢答先后的分辨率为1ms。 .开关S5作为清零及抢答控制开关<有主持人控制),当开关S5被按下时,抢答电路清零,松开后则允许抢答,输入抢答信号由抢答按钮的S1~S4实现。 .有抢答信号输入时,有数码管显示出相应组别的号码。 此时再按其他任何一个抢答开关均无效,指示灯依旧保持第一个开关按下时所对应的状态不变。 .能完成由主持人控制的30秒倒计时,有抢答信号输入后计时器停止。 .能完成定时器复位,启动,暂停/继续计数。 .能完成对每个选手抢答次数的记录,并可复位。 2.仿真电路组成 <1)四路抢答器原理 见图--3 图--3 该电路由四个D触发器、与非门及脉冲触发电路等组成。 其中S1,S2,S3、S4为抢答人按钮,S5为主持人复位。 74LS175为四D触发器。 无人抢答时,S1~S4均未被按下,1D~4D均为低电平,在555定时器电路产生时钟脉冲作用下,1Q立即变为高电平,对应指示灯X1发光,同时数码管显示为1,将555定时脉冲封锁,此时送给74ls175的CLK端不再有脉冲信号,所以74LS175输出不再变化,其他抢答者再按下按钮也不起作用,从而实现了抢答。 若要清除,则由主持人按S5按钮完成,并为下一次抢答做好准备。 <2)定时器实现 秒脉冲发生器由555定时器和外接元件R1、R2、C构成多谐振荡器。 F=1Hz 定时器电路见图--4 图--4 计数器由两片74LS192同步十进制计数器构成 利用错位输出端BO于下一级DOWN相连 30循环设置为,十位片DCBA=0011个位片DCBA=0000 译码及显示电路有译码驱动器74LS48和7段数码管组成 控制电路 与非门U20A和U21A组成RS触发器,实现计数器复位、计数和保持30 电路如图--5所示 图--5 <3)计数电路 计数器由74LS192构成 置数输入端接地,up端接选手输入信号,当有信号输入是加一,load端接电源和复位开关用于复位,down加开关控制计数器的减法,电路如图--6 图--7 <4)完整电路 见图--8 图--8 VHDL的程序设计 1、抢答鉴别模块VHDL源程序 LIBRARYIEEE。 USEIEEE.STD_LOGIC_1164.ALL。 ENTITYQDJBIS PORT(CLR: INSTD_LOGIC。 A,B,C,D: INSTD_LOGIC。 A1,B1,C1,D1: OUTSTD_LOGIC。 G: OUTSTD_LOGIC_VECTOR(3DOWNTO0>>。 ENDQDJB。 ARCHITECTUREARTOFQDJBIS CONSTANTW1: STD_LOGIC_VECTOR: ="0001"。 CONSTANTW2: STD_LOGIC_VECTOR: ="0010"。 CONSTANTW3: STD_LOGIC_VECTOR: ="0100"。 CONSTANTW4: STD_LOGIC_VECTOR: ="1000"。 BEGIN PROCESS(CLR,A,B,C,D> VARIABLELOCK: STD_LOGIC。 BEGIN IF(CLR='1'>THENG<="0000"。 LOCK: ='1'。 A1<='1'。 B1<='1'。 C1<='1'。 D1<='1'。 ELSIF(LOCK='1'>THEN IF(A='1'ANDB='0'ANDC='0'ANDD='0'>THEN A1<='0'。 B1<='1'。 C1<='1'。 D1<='1'。 G<=W1。 LOCK: ='0'。 ELSIF(A='0'ANDB='1'ANDC='0'ANDD='0'>THEN A1<='1'。 B1<='0'。 C1<='1'。 D1<='1'。 G<=W2。 LOCK: ='0'。 ELSIF(A='0'ANDB='0'ANDC='1'ANDD='0'>THEN A1<='1'。 B1<='1'。 C1<='0'。 D1<='1'。 G<=W3。 LOCK: ='0'。 ELSIF(A='0'ANDB='0'ANDC='0'ANDD='1'>THEN A1<='1'。 B1<='1'。 C1<='1'。 D1<='0'。 G<=W4。 LOCK: ='0'。 ENDIF。 ENDIF。 ENDPROCESS。 ENDART。 2、抢答计时模块VHDL源程序 LIBRARYIEEE。 USEIEEE.STD_LOGIC_1164.ALL。 USEIEEE.STD_LOGIC_UNSIGNED.ALL。 ENTITYJSQIS PORT(CLR,LDN,EN,CLK: INSTD_LOGIC。 TA,TB: INSTD_LOGIC。 FLAG: INSTD_LOGIC。 BELL: OUTSTD_LOGIC。 QA: OUTSTD_LOGIC_VECTOR(3DOWNTO0>。 QB: OUTSTD_LOGIC_VECTOR(3DOWNTO0>>。 ENDJSQ。 ARCHITECTUREARTOFJSQIS SIGNALDA: STD_LOGIC_VECTOR(3DOWNTO0>。 SIGNALDB: STD_LOGIC_VECTOR(3DOWNTO0>。 SIGNALGWYUZHI: STD_LOGIC_VECTOR(3DOWNTO0>。 SIGNALSWYUZHI: STD_LOGIC_VECTOR(3DOWNTO0>。 SIGNALN: INTEGERRANGE0TO10。 BEGIN PROCESS(CLK,LDN,EN,CLR,TA,TB,FLAG> VARIABLETMPA: STD_LOGIC_VECTOR(3DOWNTO0>。 VARIABLETMPB: STD_LOGIC_VECTOR(3DOWNTO0>。 VARIABLESTAY,FINISH: STD_LOGIC。 --倒计时停止标志 BEGIN IFCLR='1'THENTMPA: ="1001"。 TMPB: ="1001"。 SWYUZHI<="0000"。 GWYUZHI<="0000"。 DA<="1001"。 DB<="1001"。 ELSIFCLK'EVENTANDCLK='1'THEN IFLDN='1'THEN IFTA='1'THEN GWYUZHI<=GWYUZHI+"0001"。 BELL<='0'。 IFGWYUZHI="1010"THEN GWYUZHI<="0000"。 ENDIF。 ENDIF。 IFTB='1'THEN SWYUZHI<=SWYUZHI+"0001"。 BELL<='0'。 IFSWYUZHI="1010"THEN SWYUZHI<="0000"。 ENDIF。 ENDIF。 TMPA: =GWYUZHI。 TMPB: =SWYUZHI。 BELL<='0'。 STAY: ='0'。 ELSIFEN='1'ANDSTAY='0'THEN IFFLAG='1'THEN TMPA: ="0000"。 TMPB: ="0000"。 ENDIF。 IFTMPA="0000"THEN TMPA: ="1001"。 IFTMPB="0000"THEN STAY: ='1'。 FINISH: ='1'。 N<=N+1。 IFSWYUZHI="0000"THEN TMPB: ="1001"。 BELL<='1'。 ELSETMPB: =SWYUZHI。 TMPA: =GWYUZHI。 BELL<='1'。 ENDIF。 ELSETMPB: =TMPB-"0001"。 BELL<='0'。 ENDIF。 ELSETMPA: =TMPA-"0001"。 BELL<='0'。 ENDIF。 ELSIFSTAY='1'ANDFINISH='1'THEN N<=N+1。 IFN=4THEN BELL<='0'。 N<=0。 FINISH: ='0'。 ENDIF。 ELSIFEN='0'THEN STAY: ='0'。 ENDIF。 ENDIF。 QA<=TMPA。 QB<=TMPB。 ENDPROCESS。 ENDART。 3、译码器VHDL源程序 LIBRARYIEEE。 USEIEEE.STD_LOGIC_1164.ALL。 USEIEEE.STD_LOGIC_UNSIGNED.ALL。 ENTITYYMQIS PORT(AIN4: INSTD_LOGIC_VECTOR(3DOWNTO0>。 DOUT7: OUTSTD_LOGIC_VECTOR(6DOWNTO0>>。 ENDYMQ。 A
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 抢答 方案
![提示](https://static.bdocx.com/images/bang_tan.gif)