灯.asm

来自「我学单片机89C51时编的大部分程序都在里面」· 汇编 代码 · 共 39 行

ASM
39
字号
        ORG 0000H
        SJMP START
        ORG 001BH
        LJMP DELAY
        ORG 0030H
START:  MOV A,#00H

LOOP:   RR A               ;对灯的操作,右移首位取反
        CPL ACC.7
        MOV P1,A
        ;LCALL DELAY
        JZ ALLON
        LJMP LOOP
ALLON:  MOV A,#0FFH        ;全亮
        MOV P1,A
        ;LCALL DELAY
ALLOFF: MOV A,#00H         ;全灭
        MOV P1,A
       ; LCALL DELAY
        LJMP LOOP
                            ;以下为延时
DELAY:  MOV B,#0AH         ;中断10次,为0.5s
        MOV TMOD,#10H      ;定时器1工作于模式1
        MOV TH1,#3CH       ;每次中断50ms
        MOV TL1,#0B0H
        SETB TR1
        SETB ET1
        SETB EA
        SJMP $
                           ;中断服务程序
SERVE:  MOV TH1,#3CH       ;重新装入初值
        MOV TL1,#0B0H
        DJNZ B,LOOP1        ;
        CLR TR1            ;0.5s定时到,停止T1工作
LOOP1:  RETI               ;中断返回

        SJMP $

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?