1个回答
展开全部
KEY EQU P1.0 ;自己按实际定义
DAT EQU 30H ;自己定义发送的数据
ORG 0000H
SJMP STA
ORG 0023H
LJMP SERINT
ORG 0030H
STA:
MOV SP,#6FH
SETB ES
SETB EA
LOOP:
JB KEY,LOOP
LCALL DELAY
JB KEY,LOOP
MOV SBUF,#DAT
LCALL SEND
SJMP LOOP
DELAY:
MOV R0,#10
D1:
MOV R1,#200
DJNZ R1,$
DJNZ R0,D1
RET
;-----串口中断程序------
SERINT:
JBC RI,R_DAT
JBC TI,SEREND
SJMP SEREND
R_DAT:
MOV A,SBUF
SEREND:
RETI
END
DAT EQU 30H ;自己定义发送的数据
ORG 0000H
SJMP STA
ORG 0023H
LJMP SERINT
ORG 0030H
STA:
MOV SP,#6FH
SETB ES
SETB EA
LOOP:
JB KEY,LOOP
LCALL DELAY
JB KEY,LOOP
MOV SBUF,#DAT
LCALL SEND
SJMP LOOP
DELAY:
MOV R0,#10
D1:
MOV R1,#200
DJNZ R1,$
DJNZ R0,D1
RET
;-----串口中断程序------
SERINT:
JBC RI,R_DAT
JBC TI,SEREND
SJMP SEREND
R_DAT:
MOV A,SBUF
SEREND:
RETI
END
更多追问追答
追问
请用中断。谢谢
追答
现在用的就是中断呀,接受和发送都是中断方式。值得注意的是,发送中断并不是说在中断服务程序里发送,只是发送完成后,TI置位申请中断,而中断服务程序的任务只有一个,TI清零。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询