ORG 0000H ;程序执行开始地址
LJMP start ;跳至START执行
ORG 0003H ;外中断0中断入口地址
RETI ;中断返回(不开中断)
ORG 000BH ;定时器T0中断入口地址
RETI ;中断返回(不开中断)
ORG 0013H ;外中断1中断入口地址
RETI ;中断返回(不开中断)
ORG 001BH ;定时器T1中断入口地址
reti ;中断返回(不开中断)
ORG 0023H ;串行口中断入口地址
LJMP ESSTOP
org 0030H
start:
LCALL WEEP
MOV TMOD,#20H
MOV TH1,#0F3H
MOV TL1,#0F3H
MOV PCON,#00H
MOV SCON,#50H
SETB TR1
SETB EA
SETB ES
;SETB ET1
MOV R0,#0030H
MOV R7,#00H
LOP: MOV A,R7
JZ LOP
CALL SENDB
JMP LOP
SENDB:
MOV A,@R0 ;发送一个字节的数据
MOV SBUF,A
JNB TI,$
CLR TI
DEC R7
INC R0
RET
ESSTOP:
PUSH ACC ;中断入口程序
PUSH PSW
CLR ES
JB TI,ENDT
CLR RI
LOOP:
INC R7
MOV A,SBUF
MOV @R0,A
;INC R0
ENDT:
POP PSW
POP ACC
SETB ES
RETI
WEEP:
MOV R4,#0FH ;清除30开始的0F个字节的空间
MOV R0,#30H
CLER:
MOV @R0,#00H
INC R0
DJNZ R4,CLER
RET
END