noname1 (2).asm

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

ASM
37
字号

        ORG 0000H
        LJMP START
        ORG 001BH          ;T1的中断入口地址
        LJMP DELAY
        ORG 0030H
START:  MOV A,#00H
        MOV B,#0AH         ;循环次数
        MOV TMOD,#10H      ;定时器1工作于模式1
        MOV TH1,#3CH       ;每次中断50ms
        MOV TL1,#0B0H
        SETB TR1           ;启动定时器1
        SETB ET1           ;允许T1中断
        SETB EA            ;允许CPU中断
        MOV P1,A           ;输出,对灯初始化
        SJMP $             ;等待中断,执行DELAY里的语句
DELAY:  MOV TH1,#3CH       ;重新装入初值  ;中断服务程序
        MOV TL1,#0B0H
        DJNZ B,LOOP        ;中断10次,为0.5s
        MOV B,#0AH         ;重设B的值
        
        JZ ONOFF
        JB F0,ALLOFF
        MOV P1,A
        RR A
        CPL ACC.7
        LJMP LOOP
ONOFF:
        MOV P1,#FFH
        SETB F0
        MOV A,#80H
        LJMP LOOP
ALLOFF: MOV P1,#00H
        CLR F0
        LJMP LOOP
LOOP:   RETI

⌨️ 快捷键说明

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