📄 fsled.asm
字号:
AJMP LA30
ORG 30H
LA30 : MOV SCON, #80 ;01010000,8位数据
MOV TMOD, #32 ;00100000,定时器1模式2,8位自动重装
MOV TL1, #0F1H
MOV TH1, #0F1H ;波特1200
MOV TCON, #1 ;边缘触发, 外部中断0
MOV IP, #0 ;中断优先0
MOV IE, #1 ;开外部中断0
CLR TI ;清中断
CLR RI ;清中断标志
LA49 : JNB IE0, $ ;等待中断0
CPL P1.2 ;关灯2
MOV R6, #8 ;设八位
MOV R1, #48 ;发送数据首地址 30H
MOV R7, #127 ;延时7F
LA54 : DJNZ R7, $
SETB TR1 ;启动定时器1
NOP
LA59 : MOV A, @R1 ;间接寻址单元进A
MOV SBUF, A ;发送
LA5C : JNB TI, $ ;等发送完 一帧
CLR TI ;清标志
INC R1 ;移到下一单元
DJNZ R6, LA59 ;发完8个数据了吗?
CLR TR1 ;清定时器
MOV IE, #152 ;
MOV R7, #15 ;短延时0FH
LA6B : DJNZ R7, $
CLR IE0 ;清中断
CPL P1.1
SETB P1.2
AJMP LA49 ;返回等待下一帧中断标志
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -