用软件模拟89c51的串口源程序.txt
来自「51常用子程序-4.0M.rar」· 文本 代码 · 共 68 行
TXT
68 行
用软件模拟89C51的串口源程序
一、 软件清单
RXD EQU P3.2;选择INT0脚
TXD EQU P3.3;根据需要任意设置
RXD_Data equ 30h ;接收数据单元
TXD_Data equ 31h ;发送数据单元
T_TimerK equ 48;9600bps的延时时间T
T_TimerK1 equ T_tinerK/2;延时1/2T时间
;*******************
;发送程序
;******************
SendData:
Clr EA
Clr TXD
Call DelayT ;发送启动位
Mov b,#08
Mov a,TXD_Data
SendBit:
Rrc a
Mov TXD,c
Call DelayT
Djnz b,SendBit
Setb TXD
Setb EA
Call DelayT;发送停止位
ret
;*****************************
;接收程序,在INT0中断中完成
;***************************
ReceData:
Push a
Push psw
Push b
Jb RXD ,ReceEnd ;是干扰则返回
Call DelayT1 ;延时1/2的T
Call DelayT ;在中心检测
Mov b,#08
ReceBit:
Mov c,RXD
Rrc A
Call DelayT
Djnz b,ReceBit
Mov RXD_Data,a
ReceEnd:
Pop b
Pop psw
Pop a
Reti
;**************************
;延时子程序
;************************
DelayT1:
Push b
Mov b,#T_TimerK1
Djnz b,$
Pop b
Ret
;*************************
DelayT:
Push b
Mov b,#T_TimerK
Djnz b,$
Pop b
Ret
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?