标题: 单片机汇编语言抢答器 [打印本页]

作者: xiaojames    时间: 2018-7-11 11:10
标题: 单片机汇编语言抢答器
汇编源代码:
        ORG 0000H
        AJMP START
        ORG 000BH
        AJMP TIME0
        ORG 0040H
START:  MOV SP,#60H
        SETB P3.7
        SETB P3.0

L1:     JB P3.0,$   ;等待主持人按键
        JNB P3.0,$
        MOV P2,#0C0H   ;数码管显示0
;5s初始化
        MOV 30H,#00H  ;软件计数器清00
        MOV TMOD,#01H
        MOV TH0,#3CH
        MOV TL0,#0B0H
        SETB EA
        SETB ET0
        SETB TR0     ;启动5s计时
LOOP:   SJMP LOOP

TIME0:  LCALL S0

        MOV TL0,#0B0H
        MOV TH0,#3CH
        INC 30H
        MOV R1,30H
        CJNE R1,#100,RET0
        DEC SP
        DEC SP
        LJMP L1      
RET0:   RETI

s0:     MOV A,#0FFH
        MOV P1,A
        MOV A,P1    ;将选手按键状态送寄存器A
        XRL A,#0FFH
        JNZ L2
        RET

L2:     JNB P1.0,S1
        JNB P1.1,S2
        JNB P1.2,S3
        JNB P1.3,S4
        JNB P1.4,S5
        JNB P1.5,S6
        JNB P1.6,S7
        JNB P1.7,S8

S1:     MOV P2,#0F9H
        LJMP SS
S2:     MOV P2,#0A4H
        LJMP SS
S3:     MOV P2,#0B0H
        LJMP SS
S4:     MOV P2,#99H
        LJMP SS
S5:     MOV P2,#92H
        LJMP SS
S6:     MOV P2,#82H
        LJMP SS
S7:     MOV P2,#0F8H
        LJMP SS
S8:     MOV P2,#80H
        LJMP SS


;扬声器重复发声
        MOV R3,#0FFH
SS:     CLR P3.7
        LCALL DELAY
        SETB P3.7
        LCALL DELAY
        DJNZ R3,SS
;准备进行下一轮抢答
        JB P3.0,$
        JNB P3.0,$
        MOV P2,#0C0H
        LJMP S0        

;短延时
DELAY:  MOV R1,#249
LOP:    NOP
        NOP
        DJNZ R1,LOP
        RET
        END        






欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1