<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 單片機I/O 口模擬串行通信設計

單片機I/O 口模擬串行通信設計

作者: 時(shí)間:2011-08-04 來(lái)源:網(wǎng)絡(luò ) 收藏

3.接口程序設計

  軟件設計中,89C51 的P1.0 和P1.1 口分別的發(fā)送和接收,其接口程序主要由INPUT 發(fā)送子程序和OUTPUT接收子程序組成。通信速率1200 bit /s,幀格式為N.8.1。發(fā)送時(shí),先發(fā)送一個(gè)起始位(低電平),接著(zhù)按低位在先的順序發(fā)送8 位數據,最后發(fā)送停止位。接收時(shí),先判斷P1.1 接收端口是否有起始低電平出現,其中軟件編寫(xiě)要嚴格按照異步通信的時(shí)序進(jìn)行,每bit 位傳送時(shí)間間隔按通信速率1200 bit /s計算為833μs。

  其程序清單見(jiàn)下,系統要求晶振為6M。程序清單如下:

  TXD EQU P1.0

  RXD EQU P1.1 ;定義89C51 P1.0 為發(fā)送端,P1.1 為接收端

  ORG 0000H

  AJMP MAIN

  ORG 0100H

  MAIN: MOV A, #30H

  MOV R5,#N

  SETB RXD ;P1.0 置高

  TX: LCALL INPUT ;調用發(fā)送子程序,將寄存器A 中內容發(fā)給PC 機

 ??;

  SETB TXD ;P1.1 置高

  MOV R0,#40H

  RX: LCALL OUTPUT ;調用接收子程序,將接收的N 個(gè)數據存放在以40H開(kāi)始的地址中

  MOV @R0,A

  INC R0

  DJNZ R5, RX ;N 個(gè)數據接收結束,則等待,否則轉RX 繼續接收

  3

  AJMP $

  ;**************延時(shí)833μs 子程序*****

  DEL833: MOV R7 ,#205

  MS11: DJNZ R7,MS11

  RET

  ; **********************************

  ;******** 89C51發(fā)送數據給PC 機子程序****

  INPUT: CLR C

  MOV TXD,C ;發(fā)送起始位

  LCALL DEL833 ;延時(shí)

  MOV R3,#8

  REP: RRC A

  MOV TXD ,C

  LCALL DEL833

  DJNZ R3,REP ;發(fā)送8 位數據

  SETB C ;發(fā)送停止位

  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 口模擬實(shí)現串行通信的方法,已成功地應用在某電壓數據采集系統中,這樣的進(jìn)步,讓這項技術(shù)有了更加高的期待性,在社會(huì )上也有了很好的反應,這樣就讓這個(gè)研究成果有了很好的作用。


上一頁(yè) 1 2 下一頁(yè)

關(guān)鍵詞: 單片機 IO口 模擬串行通信

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>