久久ER99热精品一区二区-久久精品99国产精品日本-久久精品免费一区二区三区-久久综合九色综合欧美狠狠

新聞中心

EEPW首頁 > 嵌入式系統 > 設計應用 > 89C51單片機I/O 口模擬串行通信的實現方法

89C51單片機I/O 口模擬串行通信的實現方法

作者: 時間:2012-11-03 來源:網絡 收藏

程序清單見下,系統要求單片機晶振為6M。程序清單如下:
TXD EQU P1.0
RXD EQU P1.1 ;定義89C51 P1.0 為發送端,P1.1 為接收端
ORG 0000H
AJMP MAIN
ORG 0100H
MAIN: MOV A, #30H
MOV R5,#N
SETB RXD ;P1.0 置高
TX: LCALL INPUT ;調用發送子程序,將寄存器A 中內容發給PC 機

SETB TXD ;P1.1 置高
MOV R0,#40H
RX: LCALL OUTPUT ;調用接收子程序,將接收的N 個數據存放在以40H開始的地址中
MOV @R0,A
INC R0
DJNZ R5, RX ;N 個數據接收結束,則等待,否則轉RX 繼續接收
AJMP $
;**************延時833μs 子程序*****
DEL833: MOV R7 ,#205
MS11: DJNZ R7,MS11
RET
; **********************************
;******** 89C51發送數據給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
本文介紹的用 89C51 單片機I/O 口模擬實現串行通信的方法,已成功地應用在某電壓數據采集系統中,實踐證明能可靠地傳送和接收數據。


上一頁 1 2 下一頁

評論


相關推薦

技術專區

關閉