51单片机编程题单片机P1.0~1.7口接八个发光二极管(爱心图样)试编写流水灯的汇编程序使发光二极管逐个亮

左右3个,上下1个不需要C语言程序,谢谢~~
2025-01-22 14:47:31
推荐回答(2个)
回答1:

;启动入口
ORG 0000H ;复位启动
LJMP START ;
ORG 000BH ;T0中断
LJMP T0INT ;
ORG 0100H ;
LJMP START ;
;
;主控程序
START: MOV SP,#80H ;初始堆栈值
MOV TMOD,#01H ;定时器0工作于方式1,50毫秒@12.000MHz
MOV TH0,#03CH ;定时器0定时时间=50mS
MOV TL0,#0B0H ;设置定时初值
MOV P1,#0FEH ;
MOV YSJS,#4 ;4*50mS=200mS
SETB ET0 ;允许定时器0中断
SETB EA ;开总中断
SETB TR0 ;定时器0启动,开始定时
JMP $ ;死循环等待中断
;
;定时器0中断服务程序
T0INT: PUSH PSW ;保护现场
PUSH ACC ;
;
DJNZ YSJS,QT0 ;
MOV YSJS,#4 ;4*50mS=200mS
MOV A,P1 ;
RL A ;
MOV P1,A ;
;
QT0: MOV TH0,#03CH ;定时器0定时时间=50mS
MOV TL0,#0B0H ;
POP ACC ;恢复现场
POP PSW ;
RETI ;
;
YSJS EQU 30H ;
END ;

回答2:

;P1 输出低电平时,LED 发光

    ORG   0000H
    MOV   A, #127
LP:
    MOV   P1, A
    RR    A

    MOV   R5, #5
    DJNZ  R7, $
    DJNZ  R6, $ - 2
    DJNZ  R5, $ - 4
    JMP   LP

END