51单片机8个流水灯,一个按键从左到右,一个按键从右到左,用汇编语言

如题所述

KEYR EQU P1.0//改下端口 忘记 p3口 是低还是高了
KEYL EQU P1.1
LED EQU P0
ORG 0000H
LJMP MAIN
ORG 000BH
LJMP T0ISR
ORG 0030H
MAIN:
    MOV TMOD,#01H
    MOV TH0,#HIGH(65536-50000)
    MOV TL0,#LOW(65536-50000)
    SETB ET0
    SETB EA
    MOV A,#0FEH
    MOV LED,A
    MOV R2,#0
    CLR 00H
LOOP:
    CLR TR0
LOOPL:
    JB KEYL,LOOPR
    SETB TR0
    RL A
    MOV LED,A
    JNB 00H,$
    CLR 00H
    SJMP LOOPL
LOOPR:
    JB KEYR,LOOP
    SETB TR0
    RR A
    MOV LED,A
    JNB 00H,$
    CLR 00H
    SJMP LOOPR
T0ISR:
    CLR TR0
   MOV TH0,#HIGH(65536-50000)
   MOV TL0,#LOW(65536-50000)
    SETB TR0
    INC R2
    CJNE R2,#20,T0E
    MOV R2,#0
    SETB 00H
T0E:
    RETI
    END

追问

灯不亮啊,而且按键一直按才有电平输出,能不能就按一下就可以

温馨提示:答案为网友推荐,仅供参考
第1个回答  2022-04-18

要求这么简单,程序,就不用很长。

如下即可: