数字式竞赛抢答器说明书
课程设计《数字式智力抢答器》

课程设计《数字式智力抢答器》系统设计要求:设计一个智力抢答器,可以判断第一抢答者,并具备计分功能。
抢答器有4路抢答按钮。
设置抢答器使能信号,当此信号有效时,若参赛者按下抢答开关,则抢答器能判断出第一抢答者并指示该组抢答成功,其他参赛者的抢答开关不起作用。
若提前抢答,则对相应的参赛者发出警报。
系统具有清零功能。
当清零信号有效时,抢答器对前一轮抢答的第一抢答者判断结果进行清零,恢复为初始状态。
数字式智力抢答器还具有计分功能。
如果抢答成功的参赛者满足得分条件,则增加相应分数,答错不扣分。
一、系统方案设计根据系统设计要求,系统主要由三个主要的电路模块组成,分别为第一抢答判断电路、计分电路、显示电路。
其中第一抢答判断电路主要完成最快抢答者的判断功能;计分电路存储每组竞赛者的分数;显示电路显示抢答器的状态和各组的分数。
因此,数字竞赛抢答器的输入信号包括:复位信号CLR、抢答器使能信号EN、四组抢答按钮A/B/C/D、加分信号ADD;输出信号:四组抢答状态的显示LEDx;对应的得分SCOREx;抢答器抢答成功的组别显示、报警信号FALSE。
二、单元电路设计1、第一抢答判断电路第一抢答判断电路模块具有第一抢答信号的鉴别和锁存功能。
(1)当复位CLR信号有效(高电平)时,电路清零。
(2)当使能信号EN为低电平时,如果有人抢答,则提前抢答报警信号FALSE[3..0]的对应位输出高电平,以示警告。
(3)当EN为高电平时,抢答开始。
首先将报警信号FALSE[3..0]清零,然后根据四组竞赛者的抢答情况选择最先抢答的信号,显示抢答状态显示信号LEDA—LEDD。
(即LEDA—LEDD对应输出高电平)。
抢答成功者的组别编号由信号Q[3..0]输出,并锁存抢答器此时的状态,直到CLR信号有效为止。
(4)在每一轮新的抢答之前,都要使用复位信号CLR,清除上一轮抢答留下的痕迹,使电路恢复初始状态。
library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity qd isport(clr,en:in std_logic;A,B,C,D:in std_logic;LEDA,LEDB,LEDC,LEDD:out std_logic;--抢答成功指示灯FALSE:out std_logic_vector(3 downto 0);--提前抢答报警Q: out std_logic_vector(3 downto 0)); --抢答成功组显示End qd;Architecture behave of qd isSignal temp: std_logic_vector(3 downto 0);Signal TAG : std_logic; --设置锁存标志位BeginTemp<=A&B&C&D;PROCESS(clr,EN,A,B,C,D)BEGINIF clr=’1’ then -- 电路清零Q<=”0000”;LEDA<=’0’;LEDB<=’0’;LEDC<=’0’;LEDD<=’0’;FALSE<=”0000”;TMG<=’0’;ELSIF (EN=’0’) THEN -- 提前抢答报警IF A=’1’ THEN --A提前抢答报警FALSE(3)<=’1’;END IF;IF B=’1’ THENFALSE(2)<=’1’;END IF;IF C=’1’ THENFALSE(1)<=’1’;END IF;IF D=’1’ THENFALSE(0)<=’0’;END IF;ELSE –抢答开始FALSE<=”0000”;IF TAG=’0’ THEN -- 尚未有抢答成功者IF TEMP=”1000” THENLEDA<=’1’;LEDB<=”0”;LEDC<=”0”;LEDD<=’0’;Q<=”1000”; --显示A抢答成功TAG<=’1’; --锁存此状态ELSIF TEMP=”0100” THENLEDA<=’0’;LEDB<=”1”;LEDC<=”0”;LEDD<=’0’;Q<=”0100”; --显示B抢答成功TAG<=’1’; --锁存此状态ELSIF TEMP=”0010” THENLEDA<=’0’;LEDB<=”0”;LEDC<=”1”;LEDD<=’0’;Q<=”0010”; --显示A抢答成功TAG<=’1’; --锁存此状态ELSIF TEMP=”0001” THENLEDA<=’0’;LEDB<=”0”;LEDC<=”0”;LEDD<=’1’;Q<=”0001”; --显示A抢答成功TAG<=’1’; --锁存此状态END IF;END IF;END IF;END PROCESS;END behave;2、计分电路计分电路在参赛者抢答成功后,根据比赛情况进行比较分数的调整。
抢答器使用方法

使用方法3.1、连接抢答开关和显示屏根据晚会参加竞赛的组数决定挂接多少个分数显示屏把对应的显示屏放在各参赛组台子上用数据线连接到主机对应的分牌插座上。
再把抢答开关插到各个分数显示屏的抢答开关插座上。
再把主显示屏连到主机后的主显示专用插座上同时插好数字小键盘。
3.2、开机接通220V电源主机显示屏应显示“1 000”。
其中“000”在不停的闪烁显示。
但各分数显示屏全部不显示。
在没有输入基本分前分数牌中有个别数字有点微亮为正常情况。
3.3、基本分设置主显示屏在显示“1 000”时即提示您输入基本分数可利用数字小键盘依次输入百位、十位的初始分数个位默认为0例如输入“100”分然后按ENTER键确认输入。
如输入错误在按ENTER键前可按DEL键可取消重设。
当按“ENTER”键后各组的分数牌立即显示基本分数。
3.4、加分步进值设置主机显示屏显示“2 00”时提示输入加分的步进值在10-50分之间任选个位默认为0按“ENTER”键输入。
3.5、减分步进值设置主机显示屏显示“3 00”时提示输入减分的步进值在0-45之间任选个位为0或5按“ENTER”键输入。
3.6、抢答倒计时时间设置主机显示屏显示“4 000”时提示输入抢答倒计时的时间可以在1-255之间任意设置单位为秒按“ENTER”键确认。
3.7、答题倒计时时间设置主机显示屏显示“5 000”时提示输入答题倒计时的时间可以在1-255之间任意设置单位为秒按“ENTER”键确认。
主显示屏将显示“0 000”四位全部闪烁显示提示进入功能操作等待状态。
3.8、测试各组的抢答按钮在“0 000”闪烁状态下先按第一组的抢答按钮主机显示屏会立即显示“1 ”1在闪烁为该组的分数。
同时第一组的显示屏会闪烁显示。
然后按“ENTER”键返回到“0 000”闪烁状态继续测试2-8组。
3.9、各组的必答题操作主机显示屏显示“0 000”闪烁时根据主持人的指令直接按小键盘上的1-8数字键主机显示屏最左边显示该组的组号后面显示该组当前的分数同时对应的组别显示屏上的分数开始闪烁。
抢答器操作说明书

抢答器操作说明书
一、设置与使用方法
1、回答时间设置:(假设回答问题的时间为15秒)
按一下“回答时间设置”按键,进入回答时间设置界面。
此时的在时间界面上,显
示时间(好像)是23:59,长按回答时间设置按键,时间会快速调整(按一次本按键
时间调整一秒)。
两者结合起来调整时间,直到界面显示变成00:15为止,便完成了
回答时间的设置。
2、抢答时间设置:(假设回答问题的时间为10秒)
其实这个设置的方法也是跟上面那个设置的方法是一样的,只要安装上面的方法做
一次就可以了。
3、当回答时间和抢答时间设置完成后,按复位键回到准备界面。
这个时候可以检查一
下你的设置是否已完成。
方法如下:按复位键回到准备状态,按开始键(此时界面
上显示10的抢答时间在倒数),然后随便按一个号码(如5),界面正常显示应该为
(组别显示5,时间显示在倒数15秒)。
4、当检查完这些设置后,便可开始抢答环节。
每个问题结束后,按复位键。
主持人在
下一个问题读完后,主持人说请抢答(开始按键必须在主持人说请抢答的答字前按
下)后,选手们才能抢答。
在这里强调一个问题,如果主持人在没有说完请抢答和
按下开始按键的时候,有个别组(如5)超前抢答的,界面显示的是(组别显示5,时间显示空白),这样就代表组5违反规定。
二、需要注意问题
1、当回答时间与抢答时间设置好后,主持人要做的是负责复位键(一个问题结束)和
开始键(下一个问题开始)。
2、本机器最好是由主持人自己控制,主要难度是主持人在说请抢答与什么时候按下开
始按键的时间配合,做到公平、公正。
竞赛抢答器课设指导书

竞赛抢答器设计指导书一、设计目的1、熟悉抢答器设计的思想。
2、熟悉触发器、锁存器、优先编码器、译码、显示等常用器件的使用。
3、掌握对简单数字系统进行设计和实验的能力。
二、设计内容1、熟悉抢答器设计的思想。
2、掌握电子电路的设计方法。
3、设计4人抢答逻辑电路。
4、每个参赛者控制一个按钮,用按动按钮发出抢答信号。
5、竞赛主持人另有一个按钮,用于将电路复位。
6、抢答输出方式:①用锁存器、译码器和LED七段数码管实现一位十进制数显示抢答者台号;②或者先按动按钮者所对应的发光二极管点亮,而其它三人再按动按钮对电路不起作用。
7、在完成上述设计内容的基础上,可以自行设计一些附加功能。
三、设计原理1、参考方案一:数字抢答器参考方案如图所示。
它由抢答门及控制电路、锁存器、译码显示等部分组成。
当主持人按下外部开始抢答开关时,门控电路使8-3优先编码器开始工作,等待数据输入,此时先按动序号开关的组号立即被锁存到LED显示器上。
与此同时,门控电路变为输出无效,8-3线优先编码器禁止工作。
2、参考方案二:抢答开始时,由主持人按动清零信号,则触发器输出均为0,所有发光二极管均熄灭。
当主持人宣布开始后,首先作出判断的参赛者立即按下开关,其所对应的发光二极管点亮;同时,给出一个信号锁住其余3个抢答者的电路,不再接受其他信号,直到主持人再次清除信号为止。
四、设计要求1) 搜集有关资料,进行方案设计,画出总体设计框图,说明抢答器由哪些相对独立的功能模块组成,标出各个模块之间互相联系,并以文字对原理作辅助说明。
2) 进行电路参数分析、论证,以及电路可靠性分析。
3) 设计各个功能模块的电路图,加上原理说明。
4)在验证各个功能模块基础上,对整个电路的元器件和布线,进行合理布局,画出总体电路图。
五、设计进度第1-2天:搜集有关资料,进行方案设计,画出总体设计框图。
进行电路参数分析、论证,以及电路可靠性分析。
第3-4天:设计各个功能模块的电路图,加上原理说明。
抢答器说明书(附完整原理图及程序)

作品名称:八路抢答器组员:贾利伟、吴小勇、湛亚熙一、功能说明二、原理图说明1.数码管连接电路/********************************************数码管动态扫描处理程序(所有动态扫描显示共用)************************************************/void shumasm(uchar m,int n){int gewei,shiwei,baiwei;gewei=n%10;shiwei=n/10%10;baiwei=n/100;P0=m;//取显示数据,段码P2=0xef; //取第一位delay(20); //扫描间隙延时,时间太长会闪烁,太短会造成重影P0=LED[baiwei]; P2=0xdf;delay(20);P0=LED[shiwei]; P2=0xbf;delay(20);P0=LED[gewei]; P2=0x7f;delay(20);}2、按键机发光二极管连接图三、程序说明#include<reg52.h> //包含单片机寄存器的头文件#define uchar unsigned char#define uint unsigned intuchar LED[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; //共阳数码管:0-9uchar LED_num[]={0x40,0X79,0X24,0X30,0X19,0X12,0X02,0X78,0X00},num_mark=0;//共阳数码管:选手编号显示:0. 1.-8. ,num_mark用来标记最近一次抢答成功选手编号char num=0;//标记选手编号int score[9]={9,0,0,0,0,0,0,0,0};//score[0]用来寄存抢答时间限制限制标记位qdtime的值int dtime=120,qdtime,second,count;//答题时间标记位dtime、抢答时间限制限制标记位qdtime、抢答\答题倒计时标记位second、以及计数标记位countuchar qdtime_2=3,END_mark=0;//选手相关区sbit LED01=P1^0;sbit LED02=P1^1;sbit LED03=P1^2;sbit LED04=P1^3;sbit LED05=P1^4;sbit LED06=P1^5;sbit LED07=P1^6;sbit LED08=P1^7; //选手抢答“监视灯”sbit K1=P1^0;sbit K2=P1^1;sbit K3=P1^2;sbit K4=P1^3;sbit K5=P1^4;sbit K6=P1^5;sbit K7=P1^6;sbit K8=P1^7; //选手抢答按钮uchar K[]={0,0,0,0,0,0,0,0,0};//选手按钮按下标记位,按下后便标记为1 //主持人相关区sbit REST=P3^2;sbit END=P3^2;sbit B_score=P3^3;//分数调节按钮sbit last=P3^4;sbit next=P3^5;sbit KS1=P3^6;sbit KS2=P3^7;//主持人用功能开关,其中P3^2口两用,sbit ADD10=P2^0;sbit MIN10=P2^1;sbit ADD1=P2^2;sbit MIN1=P2^3;//主持人用功能开关,用于所有加减调节uchar ks1=0,ks2=0;//抢答和答题开关标记位//sbit BeepIO=P3^0;void delaynms(unsigned int j);//j毫秒延时void delay(uint i);//i微妙延时void BEEP();//提示音void BEEP2();//警告音void BEEP3();//void shumasm(uchar m,int n);void main(){ uint j;//用来构成循环TMOD=0x11;//T0设置为16位定时方式TH0=0x3c;TL0=0xb0;//50msIE= 0x82; //允许T0中断TR0=0; //关闭定时开关while(1){ while(1){ LED01=1;LED02=1;LED03=1;LED04=1;LED05=1;LED06=1;LED07=1;LED08=1;//监视灯初始化为灭if(KS1==0) {ks1=1;break;}//开始抢答倒计时if(KS2==0) {ks2=1;break;}//开始答题倒计时if(ADD1==0) {delaynms(20); if(ADD1==0) dtime++;if(dtime>=1000) dtime=0;}//答题时间调整if(MIN1==0) {delaynms(20); if(MIN1==0) dtime--;if(dtime<0) dtime=999;}if(ADD10==0) {delaynms(20); if(ADD10==0) dtime=dtime+10;if(dtime>=1000) dtime=0;}if(MIN10==0) {delaynms(20); if(MIN10==0) dtime=dtime-10;if(dtime<0) dtime=999;}shumasm(LED[qdtime_2],dtime);//数码管动态扫描4位if(B_score==0){ delaynms(20);if(B_score==0)while(1){ if(B_score==0){ delaynms(20);if(B_score==0) break;}//再次按下B_score退出分数调节shumasm(LED_num[num],score[num]); //数码管动态扫描4位,显示选手编号和对应分数if(next==0){ delaynms(20);if(next==0) num++; if(num==9) num=0;}//显示下一位选手编号和对应分数if(last==0){ delaynms(20);if(last==0) num--; if(num<0) num=8;}//显示上一位选手编号和对应分数if(REST==0) {delaynms(20); if(REST==0) score[num]=0; }//将当前选手分数清零if(ADD1==0) {delaynms(20); if(ADD1==0) score[num]++;if(score[num]>=1000) score[num]=0;}//调节数码管上对应选手分数,分数范围0-999if(MIN1==0) {delaynms(20); if(MIN1==0) score[num]--;if(score[num]<0) score[num]=999;}if(ADD10==0) {delaynms(20); if(ADD10==0)score[num]=score[num]+10;if(score[num]>=1000) score[num]=0;}if(MIN10==0) {delaynms(20); if(MIN10==0)score[num]=score[num]-10;if(score[num]<0) score[num]=999;}}}}if(ks1==1) //开始抢答倒计时{ ks1=0;TR0=1;//开始倒计时count=0;//计数标记位归零second=qdtime_2;P2=0xef;//选通最低位K[1]=0;K[2]=0;K[3]=0;K[4]=0;K[5]=0;K[6]=0;K[7]=0;K[8]=0;//选手按钮按下标记位归零while(1){P0=LED[second];if(second==0) {TR0=0;P0=LED[0];break;}if(second<=4) BEEP();//提示抢答快要开始if(K1==0&&K[1]==0) {LED01=0;K[1]=1;}//选手监视,并用红灯标记犯规选手if(K2==0&&K[2]==0) {LED02=0;K[2]=1;}if(K3==0&&K[3]==0) {LED03=0;K[3]=1;}if(K4==0&&K[4]==0) {LED04=0;K[4]=1;}if(K5==0&&K[5]==0) {LED05=0;K[5]=1;}if(K6==0&&K[6]==0) {LED06=0;K[6]=1;}if(K7==0&&K[7]==0) {LED07=0;K[7]=1;}if(K8==0&&K[8]==0) {LED08=0;K[8]=1;}if(END==0) {delaynms(10); if(END==0) { END_mark=1;break;}}//可按结束键随时结束抢答环节}if(END_mark==1) {END_mark=0;continue;}//若结束键按下则结束抢答环节if(K[1]==1&&K[2]==1&&K[3]==1&&K[4]==1&&K[5]==1&&K[6]==1&&K[7]==1&&K[8]==1) //若所有选手均犯规则报警一段时间后自动结束本次抢答{ for(j=0;j<22;j++)BEEP2();continue;}qdtime=score[0];count=0;//计数标记位归零second=qdtime;num_mark=0;while(1){ if(END==0) {delaynms(10); if(END==0) {END_mark=1;break;}}switch((uchar)!(K1||K[1])*1+(uchar)!(K2||K[2])*3+(uchar)!(K3||K[3])*5+(uchar)!(K4||K[4])*10+(uc har)!(K5||K[5])*20+(uchar)!(K6||K[6])*40+(uchar)!(K7||K[7])*80+(uchar)!(K8||K[8])*160){case 1: num_mark=1;break;case 3: num_mark=2;break;case 5: num_mark=3;break;case 10: num_mark=4;break;case 20: num_mark=5;break;case 40: num_mark=6;break;case 80: num_mark=7;break;case 160:num_mark=8;break;}if(num_mark!=0) break;//有人抢答成功则结束抢答if(qdtime!=0)//抢答时间不为999秒时则启动抢答倒计时{ if(second<=6) BEEP();TR0=1;shumasm(LED[num_mark],second);if(second==0) {TR0=0;break;}}}while(1){ if(END_mark==1) {END_mark=0;break;}P2=0xef;P0=LED[num_mark];if(num_mark!=0) BEEP3();//提示抢答成功else BEEP2(); //警告音if(END==0) {delaynms(10); if(END==0) break;}//可按结束键继续下一轮抢答或进入答题}}else if(ks2==1) //开始答题倒计时{ ks2=0;TR0=1;num=num_mark;//将抢答成功选手编号给numcount=0;//计数标记位归零second=dtime;while(1){ shumasm(0xff,second);//即用后三位显示答题倒计时if(second<10) BEEP();//提示答题时间将到if(second==0){ TR0=0;break;}if(END==0) {delaynms(10); if(END==0) {END_mark=1;break;}}//可按结束键随时结束答题}while(1){ shumasm(LED_num[num],score[num]); //数码管动态扫描4位,进入抢答成功选手分数调节if(END==0) {delaynms(10); if(END==0) break;}//可按结束键继续下一轮抢答或进入答题if(ADD1==0) {delaynms(20); if(ADD1==0) score[num]++;if(score[num]>=1000) score[num]=0;}//调节数码管上对应选手分数,分数范围0-999 if(MIN1==0) {delaynms(20); if(MIN1==0) score[num]--;if(score[num]<0) score[num]=999;}if(ADD10==0) {delaynms(20); if(ADD10==0)score[num]=score[num]+10;if(score[num]>=1000) score[num]=0;}if(MIN10==0) {delaynms(20); if(MIN10==0)score[num]=score[num]-10;if(score[num]<0) score[num]=999;}}}}}/******************************************延时函数**********************************************/void delaynms(unsigned int j)//j毫秒延时{ unsigned int i,k;for(k=0;k<j;k++)for(i=0;i<1000;i++) ;}void delay(uint i)//i微妙延时{ while(i--) ;}/****************************************************用来进行答题倒计时和抢答倒计时******************************************************/void Timer0(void) interrupt 1{TH0=0x3c; //重新赋值50msTL0=0xb0;count++;if(count==20){ count=0;second--;}}/************************************************************蜂鸣器发音程序区**************************************************************/void BEEP()//提示音{unsigned int i;for(i=0;i<100;i++)//喇叭发声的时间循环{delay(100); //参数决定发声的频率,估算值BeepIO=!BeepIO;}BeepIO=1; //喇叭停止工作,间歇的时间delay(5000);}void BEEP2()//警告音{ unsigned int i;for(i=0;i<400;i++)//喇叭发声的时间循环{BeepIO=0;delay(40); //参数决定发声的频率,估算值BeepIO=1;delay(30);}delay(12500);//喇叭停止工作,间歇的时间}void BEEP3()//抢答成功提示音{ unsigned int i;for(i=0;i<400;i++)//喇叭发声的时间循环{BeepIO=0;delay(25); //参数决定发声的频率BeepIO=1;delay(25);}delay(20000);//喇叭停止工作,间歇的时间}/********************************************数码管动态扫描处理程序************************************************/ void shumasm(uchar m,int n){int gewei,shiwei,baiwei;gewei=n%10;shiwei=n/10%10;baiwei=n/100;P0=m;//取显示数据,段码P2=0xef; //取第一位delay(20); //扫描间隙延时P0=LED[baiwei]; P2=0xdf;delay(20);P0=LED[shiwei]; P2=0xbf;delay(20);P0=LED[gewei]; P2=0x7f;delay(20);}。
抢答器使用手册

抢答器使用手册抢答器配置清单配置名称数量主机 1 主显示屏 1 计分显示屏 12 显示屏底座 13 数据线 13 抢答盒 13 电源线 1多北方民族大学多功能抢答器使用手册目录一、概述二、适用范围三、设备申请四、操作键说明五、功能及使用方法六.注意事项七、主机面板图手则一、概述为了展现选手风采,体现“公平、公正、公开”的竞技原则,更好的开展大学生知识竞赛比赛,现依据实际情况由校团委向学校有关部门申请购买多功能智能抢答器一台,用以各学院、学生会、学生社团组织开展知识竞赛。
现依据北方民族大学设备(器材)使用管理办法编制此手册用以解决具体操作当中的相关问题。
二、适用范围本设备适用于各学院、学生会、学生社团所开展的知识竞赛的抢答环节及加分环节,同时也可适用于辩论赛的计分环节和其他需要抢答、计分的综合性比赛,最多可同时进行12组选手当场竞赛。
三、设备申请为了加强设备管理,延长设备使用寿命,各学院、学生会、学生社团在申请使用多功能智能抢答器时必须按照申请流程申报请示,具体说明如下:(1)申请人要求:申请人必须具备以下几种情况方可向校团委提出设备使用申请:1.我校校园科技文化艺术节组委会成员2.我校各系辅导员3.我校校级学生主席4.我校团体管理委员会5.其他组织(2)申请流程1.申请人必须在正式比赛前三天向校团委提出设备使用申请,并填写北方民族大学校团委设备发放登记表,注明设备使用时间和归还日期。
申请必须由校团委书记签字同意方可。
2. 若申请人已经取得使用资格,在使用前应认真核实设备配置。
(3)相关责任1.申请人有责任指派专人对设备进行操作和管理。
由于申请人个人疏忽或安排不当造成的设备损坏或遗失由申请人具体负责。
2.申请人有责任维护设备,保障设备的完好运行,由于操作人员的误操作致使设备损坏由申请人负全部责任。
四、操作键说明1.《计时》键在选手开始回答问题时,按下此键开始为选手答题倒计时。
倒计时结束时,机器自动发出“时间到,请停止回答”的语音提示。
数字式竞赛抢答器说明书

《EDA技术》课程设计说明书数字式竞赛抢答器学院:电气与信息工程学院学生姓名:程波指导教师:王晓丽职称/学位硕士专业:电气工程及其自动化班级:电气本1202班学号:1230140210完成时间:2015年6月28日当今的社会竞争日益激烈,选拔人才,评选优胜,知识竞赛之类的活动愈加频繁,那摩就必然离不开抢答器。
抢答器是为智力竞赛参赛者答题时进行抢答而设计的一种优先判决器电路,竞赛者可以分为若干组,抢答时各组对主持人提出的问题要在最短的时间内做出判断,并按下抢答按键回答问题。
当第一个人按下按键后,则在显示器上显示该组的号码,对应的灯亮,同时电路将其他各组按键封锁,使其不起作用。
若抢答时间内无人抢答,则报警灯亮。
回答完问题后,由主持人将所有按键恢复,重新开始下一轮抢答。
此次课程设计的内容是设计一个可容纳四组参赛者同时抢答的数字抢答器。
主要模块有抢答鉴别模块、计时模块、犯规模块、计分模块以及显示模块,这些模块的组合构成了抢答器系统框图。
通过编写相应的VHDL程序实现即功能仿真,顶层文件及整体仿真。
关键词:抢答器;VHDL1 绪论 (1)2 抢答器的设计要求 (2)3 抢答器的功能模块 (3)3.1 抢答器的抢答鉴别模块设计 (3)3.1.1 抢答鉴别的功能 (3)3.1.2 抢答鉴别模块的时序仿真图 (3)3.2 抢答器的计时模块设计 (4)3.2.1 计时模块的功能 (4)3.2.2 计时模块的时序仿真图 (4)3.3 抢答器的计分模块设计 (5)3.3.1 计分模块的功能 (5)3.3.2 计分模块的时序仿真图 (5)3.4 抢答器的译码显示模块设计 (6)3.4.1 译码显示模块的功能 (6)3.4.2 译码显示模块的时序仿真图 (6)3.5 抢答器的犯规模块设计 (7)3.5.1 犯规模块的功能 (7)3.5.2 犯规模块的时序仿真图 (7)4 抢答器的顶层原理图设计 (8)4.1 顶层原理图的源文件 (8)4.2 顶层设计的时序仿真图 (8)结束语 (10)参考文献 (11)致谢 (12)附录 (13)附录A 抢答鉴别模块VHDL源程序 (13)附录B 计时模块VHDL源程序 (15)附录C 计分模块VHDL源程序 (18)附录D 译码显示模块VHDL源程序 (21)附录E 犯规模块VHDL源程序 (22)1 绪论EDA是电子设计自动化(Electronic Design Automation)的缩写,在20世纪90年代初从计算机辅助设计(CAD)、计算机辅助制造(CAM)、计算机辅助测试(CAT)和计算机辅助工程(CAE)的概念发展而来的。
抢答器使用说明

图中1~8号按键选手按键9:复位键10:开始/重答键11:停止/确定键12:抢答时间调节键13 :回答时间调节键14:时间调节、分数调节加一键15:时间调节、分数调节减一键16:分数查看/犯规处理/回答完毕使用说明:1、抢答、答题在E EE状态(初始状态)下,按下键10,则开始进入抢答中,若无人抢答,当计时结束后跳回初始状态。
若有人抢答,则进入回答等待状态,当再次按下键10则开始计时,在计时没结束之前可以按下键10 重新回答。
当计时结束或按下键16表示回答完毕,进入分数修改程序。
按键14/15修改分数后,再按键11返回。
2、查看分数当数码管显示E EE状态时,点击键16会进入分数查看程序,初始时显示选手1的等分情况,每位选手初试分数为10分,当长按下各选手的抢答开关,就会显示对应选手的得分。
开关断开,又会回到初始状态,当按下键11 即可恢复到E EE状态。
3、抢答犯规程序当数码管显示E EE时,若有选手抢答则是违规的,数码将显示抢答位数,点击键16进入分数修改程序,按键14/15实现对分数的加减,修改完毕按键11,确定并退出。
4、抢答时间/回答时间修该按下键12/13进入分数修改程序,按键14/15实现对分数的加减,修改完毕按键11,确定并退出。
5、复位按下键9则复位单片机,清除一切数据。
程序:OK EQU 20H ;抢答开始标志位RING EQU 22H ;响铃标志位ORG 0000HAJMP MAINORG 0003HAJMP QTIM0ORG 000BHAJMP OVERRORG 0013HAJMP ASKTIM0ORG 001BHAJMP OVERTORG 0040HMAIN:MOV R1,#20 ;初设抢答时间为20sMOV R2,#60 ;初设答题时间为60sMOV 50H ,#10MOV 51H ,#10MOV 52H ,#10MOV 53H ,#10MOV 54H ,#10MOV 55H ,#10MOV 56H ,#10MOV 57H ,#10 ;初始化各选说分数为10分MOV TMOD,#11H ;设置定时器/不受外部中断控制/定时/模式1MOV TH0,#0F0HMOV TL0,#0FFH ;越高发声频率越高,越尖MOV TH1,#3CHMOV TL1,#0B0H ;50ms为一次溢出中断SETB EA ;CPU开中断SETB ET0SETB ET1SETB EX0SETB EX1 ;允许四个中断,T0/T1/INT0/INT1CLR OKCLR RINGSETB TR1SETB TR0 ;一开始就运行定时器,以开始显示E EE.如果想重新计数,重置TH1/TL1就可以了;*****查询程序*****START:MOV R5,#0BHMOV R4,#0BHMOV R3,#0BHACALL XIANSHI ;未开始抢答时候显示E EEJNB P3.6,SCOCHJB P3.0,NEX ;如果"开始键"按下就向下执行,否者跳到非法抢答查询ACALL BARK ;按键发声MOV A,R1MOV R6,A ;送R1->R6,因为R1中保存了抢答时间SETB OK ;抢答标志位,用于BACKT只程序中判断是否查询抢答MOV R7,#01H ;读抢答键数据信号标志,这里表示只读一次有用信号MOV R3,#0AH ;抢答只显示计时,灭号数AJMP BACKT ;进入倒计时程序,"查询有效抢答的程序"在BACKT里面NEX:AJMP NEXT;*****分数查询******STAR:ACALL BARKAJMP STARTSCOCH:ACALL BARKAJMP SCOCHA SCOCHA:JNB P3.1,STARJNB P1.0,S1JNB P1.1,S2JNB P1.2,S3JNB P1.3,S4JNB P1.4,S5JNB P1.5,S6JNB P1.6,S7JNB P1.7,S8S1:MOV R3,#01HMOV A,50HAJMP SSS2:MOV R3,#02HMOV A,51HAJMP SSS3:MOV R3,#03HMOV A,52HAJMP SSS4:MOV R3,#04HMOV A,53HAJMP SSS5:MOV R3,#05HMOV A,54HAJMP SSS6:MOV R3,#06HMOV A,55HAJMP SSS7:MOV R3,#07HMOV A,56HAJMP SSS8:MOV R3,#08HMOV A,57HAJMP SSSS: MOV B,#0AHDIV ABMOV R5,AMOV R4,BACALL DELAY1AJMP SCOCHANEXT:MOV A, P1MOV 36H,AJNB P1.0,FALSE1JNB P1.1,FALSE2JNB P1.2,FALSE3JNB P1.3,FALSE4JNB P1.4,FALSE5JNB P1.5,FALSE6JNB P1.6,FALSE7JNB P1.7,FALSE8AJMP START;*****非法抢答处理程序*****FALSE1:MOV R3,#01HAJMP ERRORFALSE2:MOV R3,#02HAJMP ERRORFALSE3:MOV R3,#03HAJMP ERRORFALSE4:MOV R3,#04HAJMP ERRORFALSE5:MOV R3,#05HAJMP ERRORFALSE6:MOV R3,#06HAJMP ERRORFALSE7:MOV R3,#07HAJMP ERRORFALSE8:MOV R3,#08HAJMP ERROR;*****抢答时间R1调整程序*****QTIM0:ACALL BARKQTIME:MOV A,R1MOV B,#0AHDIV ABMOV R5,AMOV R4,BMOV R3,#0AHACALL XIANSHI ;先在两个时间LED上显示R1JNB P3.4,INC0 ;P3.4为+1s键,如按下跳到INCOJNB P3.5,DEC0 ;P3.5为-1s键,如按下跳到DECOJNB P3.1,BACK0 ;P3.1为确定键,如按下跳到BACKOAJMP QTIMEINC0:ACALL BARKMOV A,R1CJNE A,#63H,ADD0 ;如果不是99,R2加1,如果加到99,R1就置0,重新加起。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《EDA技术》课程设计说明书数字式竞赛抢答器学院:电气与信息工程学院学生姓名:程波指导教师:王晓丽职称/学位硕士专业:电气工程及其自动化班级:电气本1202班学号:1230140210完成时间:2015年6月28日当今的社会竞争日益激烈,选拔人才,评选优胜,知识竞赛之类的活动愈加频繁,那摩就必然离不开抢答器。
抢答器是为智力竞赛参赛者答题时进行抢答而设计的一种优先判决器电路,竞赛者可以分为若干组,抢答时各组对主持人提出的问题要在最短的时间内做出判断,并按下抢答按键回答问题。
当第一个人按下按键后,则在显示器上显示该组的号码,对应的灯亮,同时电路将其他各组按键封锁,使其不起作用。
若抢答时间内无人抢答,则报警灯亮。
回答完问题后,由主持人将所有按键恢复,重新开始下一轮抢答。
此次课程设计的内容是设计一个可容纳四组参赛者同时抢答的数字抢答器。
主要模块有抢答鉴别模块、计时模块、犯规模块、计分模块以及显示模块,这些模块的组合构成了抢答器系统框图。
通过编写相应的VHDL程序实现即功能仿真,顶层文件及整体仿真。
关键词:抢答器;VHDL1 绪论 (1)2 抢答器的设计要求 (2)3 抢答器的功能模块 (3)3.1 抢答器的抢答鉴别模块设计 (3)3.1.1 抢答鉴别的功能 (3)3.1.2 抢答鉴别模块的时序仿真图 (3)3.2 抢答器的计时模块设计 (4)3.2.1 计时模块的功能 (4)3.2.2 计时模块的时序仿真图 (4)3.3 抢答器的计分模块设计 (5)3.3.1 计分模块的功能 (5)3.3.2 计分模块的时序仿真图 (5)3.4 抢答器的译码显示模块设计 (6)3.4.1 译码显示模块的功能 (6)3.4.2 译码显示模块的时序仿真图 (6)3.5 抢答器的犯规模块设计 (7)3.5.1 犯规模块的功能 (7)3.5.2 犯规模块的时序仿真图 (7)4 抢答器的顶层原理图设计 (8)4.1 顶层原理图的源文件 (8)4.2 顶层设计的时序仿真图 (8)结束语 (10)参考文献 (11)致谢 (12)附录 (13)附录A 抢答鉴别模块VHDL源程序 (13)附录B 计时模块VHDL源程序 (15)附录C 计分模块VHDL源程序 (18)附录D 译码显示模块VHDL源程序 (21)附录E 犯规模块VHDL源程序 (22)1 绪论EDA是电子设计自动化(Electronic Design Automation)的缩写,在20世纪90年代初从计算机辅助设计(CAD)、计算机辅助制造(CAM)、计算机辅助测试(CAT)和计算机辅助工程(CAE)的概念发展而来的。
EDA技术就是以计算机为工具,设计者在EDA软件平台上,用硬件描述语言VHDL完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。
随着电子技术和计算机技术的飞速发展,电子线路的设计工作也日益显得重要。
经过人工设计、制作实验板、调试再修改的多次循环才定型的传统产品设计方法必然被计算机辅助设计所取代,因为这种费时费力又费资源的设计调试方法既增加了产品开发的成本,又受到实验工作场地及仪器设备的限制。
为了克服上述困难,加拿大Interactive Image Technologies公司推出的基于Windows 95/98/NT操作系统的EDA软件(Electronics Workbench“电子工作台”,EWB)。
他可以将不同类型的电路组合成混合电路进行仿真。
EWB是用在计算机上作为电子线路设计模拟和仿真的新的软件包,是一个具有很高实用价值的计算机辅助设计工具。
目前已在电子工程设计等领域得到了广泛地应用。
与目前流行的电路仿真软件相比较,EWB具有界面直观、操作方便等优点。
他改变了有些电路仿真软件输入电路采用文本方式的不便之处,该软件在创建电路、选用元器件的测试仪器等均可以直接从屏幕图形中选取,而且测试仪器的图形与实物外形基本相似,从而大大提高了电子设计工作的效率。
2 抢答器的设计要求在许多比赛活动中,为了准确、公正、直观地判断出第一抢答者,通常设置一台抢答器,通过数显、灯光及音响等多种手段指示出第一抢答者。
同时,还可以设置计分、犯规及奖惩计录等多种功能。
本设计的具体要求是:设计一个课容纳四组参赛者同时抢答的数字抢答器,可判断第一抢答者并报警指示抢答成功,其他组再抢答均无效。
若提前抢答则对相应的抢答组发出警报。
同时,要求给出系统总体组成框图,设计思路,完成以上模块的VHDL文件并进行仿真验证。
3 抢答器的功能模块3.1 抢答器的抢答鉴别模块设计3.1.1 抢答鉴别模块的功能该模块主要实现抢答过程中的抢答功能,并能对超前抢答进行警告。
同时,抢答鉴别模块还用来准确直观地判断A、B、C、D四组抢答者谁最先按下按钮,并为显示端送出信号,通过译码显示和报警等途径使观众能够清楚地知道是哪一组抢答成功,能记录无论是正常抢答还是超前抢答者的台号,并且能实现当有一路抢答按键按下时,该路的抢答信号会将其余信号封锁。
它是整个系统的核心部分。
同时组别显示端为下一模块输入信号,以便主持人为该组抢答成功者进行加分的操作。
抢答鉴别模块设计图如图1所示,其VHDL源程序见附录A。
图1 抢答鉴别模块设计图3.1.2 抢答鉴别模块的时序仿真图如图2,为抢答鉴别模块的时序仿真图。
抢答时设置时钟信号CLK,在抢答时需要一个允许开始抢答信号,设置为states,该信号输入后,指示灯亮,信号为LED,提示选手开始抢答,为了鉴别抢答者,设置A、B、C、D为了使系统重新进入抢答状态,还需要一个复位信号,设置为CLR。
从仿真图中可以看出,A的速度最快,但明显有一点抢先,紧随其后的是B,C,D,这三人均没有抢先,而且可以看出,抢答开始后,灯LED[0]亮。
图2 抢答鉴别模块的时序仿真图3.2 抢答器的计时模块设计3.2.1 计时模块的功能该模块主要实现抢答过程中的计时功能,在有抢答开始后进行所设时间的倒计时,并且在倒计时后无人抢答显示超时并报警。
设置抢答时钟信号为clk,计时预置控制端ldn,系统复位清零信号为clr,抢答使能信号为en,计时预置数据调整按钮个位为ta,十位为tb。
计时输出信号端qa[3..0]和qb[3..0]。
计时模块设计图如图3所示,其VHDL源程序见附录B。
图3 计时模块设计图3.2.2 计时模块的时序仿真图如图4,为抢答器的计时模块的时序仿真图。
当清零信号clr=1时,模块输出信号qa=0000,qb=0000。
当预置控制信号ldn=1可以通过ta来调整qa,ta 来一次高电平,则qa的数值就加1;用tb来调整qb,通过这两个调整信号可调整参赛者答题所需要的时间。
在clr=0,ldn=0,en=1时,通过时钟信号clk 的上升沿来进行倒计时。
图4 计时模块的时序仿真图3.3 抢答器的计分模块设计3.3.1 计分模块的功能系统的输入信号为:加分按钮端ADD,选择组别号输入端CHOSE[3..0];系统的输出信号为:A组分数输出端A2[3..0]、A1[3..0]、A0[3..0]B组分数输出端B2[3..0]、B1[3..0]、B0[3..0],C组分数输出端C2[3..0]、C1[3..0]、C0[3..0]。
计分模块设计图如图5所示,其VHDL源程序见附录C。
图5 计分模块设计图3.3.2 计分模块的时序仿真图如图6,为抢答器的计分模块的时序仿真图。
计分模块的运行方式是按照十进制进行加法,即当时钟出现上升沿时就进行加一的操作。
计分模块为哪组进行计分取决于鉴别模块的输入信号CHOSE,当CHOSE=0001时表示A组最先抢答,则在此模块中为A组计分;当CHOSE=0010时表示B组最先抢答,则在此模块中为B组计分;当CHOSE=0100时表示C组最先抢答,则在此模块中为C组计分;当CHOSE=1000时表示D组最先抢答,则在此模块中为D组计分。
图6 计分模块的时序仿真图3.4 抢答器的译码显示模块设计3.4.1 译码显示模块的功能该模块实际上是一个译码器,译码器是组合逻辑电路的一个重要的器件,该模块中主要实现抢答过程中将BCD码转化成7段数码管的功能。
in4[3..0]为输入信号,out7[6..0]为输出信号。
译码显示模块设计图如图7所示,其VHDL源程序见附录D。
图7 译码显示模块设计图3.4.2 译码显示模块的时序仿真图如图8,为抢答器的译码显示模块的时序仿真图。
当输入0001,输出0000110,即在共阴极数码管上显示1;即显示A组抢答成功。
当输入0010,输出1011011,即在共阴极数码管上显示2;即显示B组抢答成功。
当输入0011,输出1001111,即在共阴极数码管上显示3;即显示C组抢答成功。
当输入0100,输出1100110,即在共阴极数码管上显示4;即显示D组抢答成功。
图8 译码显示模块的时序仿真图3.5 抢答器的犯规模块设计3.5.1 犯规模块的功能该模块主要实现抢答过程中的报警功能,当主持人按下控制键,在有限的时间内,没有人抢答或是主持人未按下控制按钮就抢答时开始报警,计数开始状态start,计数输入信号a、b、c、d以及状态输出信号y。
犯规模块设计图如图9所示,其VHDL源程序见附录E。
图9 犯规模块设计图3.5.2 犯规模块的时序仿真图如图10,为抢答器的犯规模块的时序仿真图。
如图,当B组有人在未允许抢答之前抢答,其输出报警信号y为高电平。
图10 犯规模块的时序仿真图4 抢答器的顶层原理图设计4.1 顶层原理图的源文件单独模块只有彼此联系起来构成一个完整的系统,才能实现其功能,这个过程有两种实现方法:元件例化和元器件图示连线。
为了能直观的表示各模块之间的连接关系。
我采用元器件图示连线,这种连线方法思路清晰可见,而且用的时候很简单方便,即使出现错误也很好检查。
按照要求,我们可以将整个系统分为五个主要模块:抢答鉴别模块;抢答计时模块;抢答计分模块;译码显示模块和犯规模块。
对于需显示的信息,需要增加或外接译码器,进行显示译码。
考虑到实验开发平台提供的输出显示资源的限制,我们将组别显示和计时显示的译码器内设,而将各组的计分显示的译码器外接。
整个系统的总的顶层设计图如图11所示。
图11 抢答器总的顶层设计图4.2 顶层设计的时序仿真图如图12,为抢答器的顶层设计的时序仿真图。
从仿真图中可以看出,当允许答题后,四组(A、B、C、D)任意一组抢答时,在规定的时间抢答成功,即该组就加分。
图中A组,抢答成功加分一次,LED[0]被点亮,其SCOREA加1。
译码显示模块(YMSC)显示对应组号(0000110),即为1。
B组抢答成功两次,LED[1]被点亮,其SCOREA加2。