?? 用軟件模擬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 + -