基于51单片机抢答器毕业设计正 - 图文(6)

2019-04-16 17:52

安徽工贸职业技术学院毕业设计(论文)

AJMP INTT0 ORG 000BH AJMP T0INT ORG 001BH AJMP T1INT ORG 0040H

MAIN: MOV R1,#20 MOV R2,#30 mov 38h,#60 MOV TMOD,#11H MOV TH0,#0F0H

MOV TL0,#0FFH MOV TH1,#3CH

MOV TL1,#0B0H SETB EA SETB ET0

SETB ET1 CLR OK CLR RING SETB TR1

SETB TR0 FFF.如果想重新计数,重置TH1/TL1就可以了 查询程序:

START: MOV DATA0,#0FFH MOV R5,#0BH MOV R4,#0BH MOV R3,#0BH

ACALL DISPLAY

JNB P3.3,SELSUB0

19

;初设抢答时间为20s ;初设答题时间为30s ;启用锦囊时间从60s倒计时 ;设置未定时器/模式1 ;越高发声频率越高,越尖 ;50ms为一次溢出中断 ;允许二个中断,T0/T1 ;一开始就运行定时器,以开始显示 ;初始化 ;未开始抢答时候显示FFF

安徽工贸职业技术学院毕业设计(论文)

JNB P3.4,TZ3 ;倒计时调整 JB P3.0,NEXT

ACALL DELAY

JB P3.0,NEXT ;去抖动,如果“开始键”按下就向下执行,否者跳到非法抢答查询

SETB EX0 ;开放INT0

ACALL BARK MOV A,R1

MOV R6,A SETB OK 断是抢答倒计时还是回答倒计时

MOV R3,#0AH AJMP COUNT 答的程序”在COUNT里面

NEXT: JNB P1.0,FALSE1 JNB P1.1,FALSE2 JNB P1.2,FALSE3 JNB P1.3,FALSE4 JNB P1.4,FALSE5 JNB P1.5,FALSE6 JNB P1.6,TZ1 JNB P1.7,TZ2 AJMP START TZ1: AJMP FALSE7 TZ2: AJMP FALSE8 TZ3: AJMP SELSUB1

非法抢答处理程序:

FALSE1: MOV R3,#01H AJMP ERROR

;按键发声

;送R1->R6,因为R1中保存了抢答时间 ;抢答标志位,在使用锦囊时用作判 ;抢答只显示计时,灭号数 ;进入倒计时程序,“查询有效抢20

安徽工贸职业技术学院毕业设计(论文)

FALSE2: MOV R3,#02H AJMP ERROR FALSE3: MOV R3,#03H AJMP ERROR FALSE4: MOV R3,#04H AJMP ERROR FALSE5: MOV R3,#05H AJMP ERROR FALSE6: MOV R3,#06H AJMP ERROR FALSE7: MOV R3,#07H AJMP ERROR FALSE8: MOV R3,#08H AJMP ERROR

SELSUB0(抢答时间R1调整程序):SELSUB0: MOV A,R1 MOV B,#0AH DIV AB MOV R5,A MOV R4,B MOV R3,#0AH

ACALL DISPLAY JNB P3.5,INC0 JNB P3.6,DEC0 JNB P3.1,BACK0 BACKO

AJMP SELSUB0 INC0: MOV A,R1

CJNE A,#63H,ADD0

;先在两个时间LED上显示R1 ;P3.5为+1s键,如按下跳到INCO ;P3.6为-1s键,如按下跳到DECO ;P3.1为确定键,如按下跳到 ;如果不是99,R2加1,如果加到

21

安徽工贸职业技术学院毕业设计(论文)

99,R1就置0,重新加起。

MOV R1,#00H ACALL DELAY1 AJMP SELSUB0 ADD0: INC R1 ACALL DELAY1 AJMP SELSUB0 DEC0: MOV A,R1

JZ SETR1 DEC R1

ACALL DELAY1 AJMP SELSUB0 SETR1: MOV R1,#63H ACALL DELAY1 AJMP SELSUB0 BACK0: AJMP START

SELSUB1(回答时间R2调整程序):SELSUB1: MOV A,R2 MOV B,#0AH DIV AB MOV R5,A MOV R4,B MOV R3,#0AH ACALL DISPLAY JNB P3.5,INC1 JNB P3.6,DEC1 JNB P3.1,BACK1 AJMP SELSUB1 INC1: MOV A,R2

;如果R1为0, R1就置99,22

安徽工贸职业技术学院毕业设计(论文)

CJNE A,#63H,ADD1 MOV R2,#00H ACALL DELAY1 AJMP SELSUB1 ADD1: INC R2

ACALL DELAY1 AJMP SELSUB1 DEC1: MOV A,R2

JZ SETR2 DEC R2 ACALL DELAY1 AJMP SELSUB1 SETR2: MOV R2,#63H ACALL DELAY1 AJMP SELSUB1 BACK1: AJMP START

启用锦囊程序:

REPEAT:MOV A,38h ;使用锦囊时重新计时 MOV R6,A

CLR RING ;当倒计时进入最后5秒的时候,启用锦囊能消除蜂鸣

倒计时程序(抢答倒计时和回答倒计时都跳到改程序):

COUNT: MOV R0,#00H ;重置定时器中断次数 MOV TH1,#3CH

MOV TL1,#0B0H ;重置定时器

RECOUNT:MOV A,R6 ;R6保存了倒计时的时间,之前先将抢答时间或回答时间给R6

MOV B,#0AH

DIV AB ;除十分出个位/十位

23


基于51单片机抢答器毕业设计正 - 图文(6).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:下半年考核汇报材料[1]1

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: