📄 用软件模拟89c51的串口源程序.txt
字号:
用软件模拟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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -