资源描述:
《四路竞赛抢答器》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、;抢答开始标志位;响铃标志位;1NTO中断入口淀时器TO的中断入口;定时器T1的中断入口;主程序的入口地址;初始值30s;设置定时器模式1OKEQU20HRINGEQU22HORG0000HAJMPMAINORG0003HAJMPINTOSUBORG000BHAJMPTOINTORG001BHAJMPT1INTORG()1OOHMAIN:MOVR1,#1EHMOVTMOD,#11HMOVTH0,#0F0HMOVTLO,#OFFHMOVTH1,#3CHMOVTL1,#OBOHSETBEASETBETO
2、SETBET1SETBEXOCLROKCLRRING;越高发声频率越高,越尖;50ms为一次溢出中断;EA=1,开放所有中断;ETO=1,允许T0中断;ET1二1,允许T1中断;EXO=1,允许外部中断0;主持人还未按下开始键SETBTRISETBTRO;===查询程序二==START:MOVR5,#0BHMOVR4,#0BHMOVR3,#0BHACALLDISPLAYJBP3.1,STARTACALLDELAYJBP3.LSTARTACALLBAOJING;启动定时器1和0,—开始显示FFF.;未
3、开始抢答时候显示FFF;若开始键未按下,则跳到START继续查询;若按下开始键,则按顺序执行MOVA,R1MOVR6,ASETBOKMOVR7,#01HAJMPCOUNT;提醒抢答开始=====INT0(抢答时间R1调整程序)=====INTOSUB:MOVA,R1MOVB,#0AHDIVABMOVR5,A;商在A里,余数在B里;抢答时间的十位MOVR4,B;抢答时间的个位MOVR3,#0AH;不显示选手号ACALLDISPLAY;调用显示子程序JNBP3.4,1NCO;P3.4=0,则跳到加一程序
4、INCOJNBP3.5,DEC0;P3.5=0,则跳到减一程序DECOJNBP3.LBACKAJMPINTOSUBINCO:MOVA,R1CJNEA,#63H,ADD0;如果不是99,则跳到ADDO,如果是99,则R1为0MOVR1,#00HACALLDELAY1AJMPINTOSUBADDO:INCR1ACALLDELAY1AJMPINTOSUBDECO:MOVA,R1;如果A二0,则跳到SETR1;R1=99JZSETR1DECR1ACALLDELAY1AJMPINTOSUBSETR1:MOVR
5、1,#63HACALLDELAY1AJMPINTOSUBBACK:RETI二===倒计时程序=====COUNT:MOVR3,#0AHMOVR0,#00HMOVTH1,#3CHMOVTL1,#OBOHRECOUNT:MOVA,R6MOVB,#0AHDIVABMOVR5,AMOVR4,B;重置沱时器屮断次数;每次调用定时器时,重置定时器;R6保存了倒计时的时间,之前先将抢答时间给R6;商在A里,余数在B里;取十位;収个位MOVA,ROCJNEA,#14H,NEXT;20个50ms为Is,即若A不等于2
6、0,则跳到NEXTMOVR0,#00H;否则RO清0DECR6;R6减1MOVA,R6JZQUIT;若A=0,则计时完毕NEXT:ACALLDISPLAYJBOK,ACCOUT;若ok=l,则可以抢答AJMPRECOUNTACCOUT:MOVA,36H;36H存的是按键情况JNBACC.0.TRUE1JNBACC.LTRUE2JNBACC.2,TRUE3JNBACC.3,TRUE4AJMPRECOUNTQUIT:CLROKACALLBAOJING;没有选手按卜•键,则继续倒计时;抢答结束AJMPST
7、ART=====正常抢答处理程序二===TRUE1:ACALLBAOJINGMOVR3,#01HACALLDISPLAYCLROKLOOP5:ACALLDISPLAYAJMPLOOP5TRUE2:ACALLBAOJINGMOVR3,#02HACALLDISPLAYCLROKLOOP6:ACALLDISPLAYAJMPLOOP6TRUE3:ACALLBAOJINGMOVR3,#O3HACALLDISPLAYCLROKLOOP7:ACALLDISPLAYAJMPLOOP7TRUE4:ACALLBAOJI
8、NGMOVR3,#04HACALLDISPLAYCLROKLOOP&ACALLDISPLAYAJMPLOOP8;====显示程序=====DISPLAY:MOVDPTR,#DAT1位选码输出,MOVA,R3MOVCA,@A+DPTRMOVP2,#0FEHMOVP0,A;锁了抢答;查表显示程序,利用P0口做段选码口输出/P2低三位做;把选手号送给A;选中p2.0;显示ACALLDELAY2;延迟MOVDPTR,#DAT2MOVA,R5;倒计时数的十位给AMOVCA,@A