text.asm
来自「C和ASM编写的用定时做的模拟串口程序.」· 汇编 代码 · 共 54 行
ASM
54 行
;20MHZ BAUD:38400
TXD BIT P1.0
RXD BIT P1.1
SEND EQU 50H
REVE EQU 51H
ORG 0000H
AJMP MAIN
ORG 0003H
AJMP ITOP
ORG 0100H
MAIN:SETB EA
SETB EX0
SETB RXD;;P1.0 置高
MOV A,#0E8H
LCALL INPUT;调用发送子程序,将寄存器A 中内容发给PC 机
SETB TXD;;P1.1置高
SJMP $
;******延时833μs 子程序*****
DEL833: MOV R7 ,#125;10u
MS13: DJNZ R7,MS13
RET
;**** 89C5 1发送数据给PC 机子程序****
INPUT: CLR C
MOV TXD,C ;发送起始位
LCALL DEL833; ;延时
MOV R3,#8
REP: RRC A
MOV TXD ,C
LCALL DEL833
DJNZ R3,REP ;发送8 位数据
SETB C ;发送停止位
MOV TXD,C
LCALL DEL833
RET
;******** 从PC 机接收数据子程序********
OUTPUT:JB RXD, $; ;判断是否有起始位出现
LCALL DEL833
MOV R3,#8
OUT: MOV C ,RXD
RRC A
LCALL DEL833
DJNZ R3,OUT; ;接收8 位数据
JNB RXD ,$; ;判断是否有停止位出现
RET
ITOP: LCALL OUTPUT;;调用接收子程序
MOV REVE,A
MOV A,REVE
LCALL INPUT
RETI
END
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?