📄 nonss - copy.asm
字号:
ORG 0000H
LJMP START
ORG 001BH ;T1的中断入口地址
LJMP DELAY
ORG 0030H
START: MOV A,#00H
MOV B,#0AH ;循环次数
MOV R1,#01H
MOV R2,#01H
MOV R3,#01H
MOV R4,#01H
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,LOOP1 ;中断10次,为0.5s
MOV B,#0AH ;重设B的值
CJNE R1,#00H,S2
CJNE R2,#00H,S3
CJNE R3,#00H,S4
CJNE R4,#00H,S1
s1: RR A ;对灯的操作,右移首位取反
CPL ACC.7
MOV P1,A
MOV R1,#00H
LJMP LOOP
S2: MOV P1,#00H
MOV R2,#00H
SJMP LOOP
S3: MOV P1,#0FFH
MOV R3,#00H
SJMP LOOP
S4: MOV P1,#00H
MOV R4,#00H
SJMP LOOP
LOOP: RETI ;中断返回,到“SJMP $”
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -