📄 灯1.asm
字号:
;主程序控制状态变化,中断服务程序控制延时
ORG 0000H
LJMP START
ORG 001BH ;T1的中断入口地址
LJMP SERVE
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里的语句
SERVE: 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,#01H
LJMP LOOP
ALLOFF: MOV P1,#00H
CLR F0
LJMP LOOP
LOOP: RETI
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -