📄 sp01.asm
字号:
;
;
;
;
;
;
;
;
ORG 0000H
LJMP MAIN
ORG 000BH
LJMP T01 ;定时器0 中断
MAIN:
MOV A,#00H ;寄存器清零
MOV R0,A
MOV R1,A
MOV R2,A
MOV R3,A
MOV R4,A
MOV R5,A
MOV R6,A
MOV R7,A
MOV SP,#78H ;设置堆栈地址
MOV TMOD,#02H ;设置 定时器0 为8位自动重装载计时器
MOV TH0,#00H ;设置T0重装初值
SETB ET0 ;定时器0中断允许
SETB EA ;总中断允许
SETB TR0 ;T0计时代开始
START:
LJMP START
T01: ;255us中断一次
CLR TR0 ;T0计时停止
INC R0 ;中断次数加一
CJNE R0,#0FFH,T01B
MOV R0,#00H ;0.065秒=65毫秒执行一次
SETB P1.4 ;端口置一准备读取
SETB P1.5
MOV C,P1.5 ;
MOV 00H,C
MOV C,P1.4
MOV 01H,C
JNB 00H,T01A9 ;接近开关新状态=1 继
JB 02H,T01A9 ;接近开关原状态=0 继
MOV C,01H
CPL C
MOV P1.2,C ;输出光电头状态
T01A9:
MOV C,00H
MOV 02H,C ;接近开关原状态刷新
T01B:
SETB TR0
RETI
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -