關 閉

新聞中心

EEPW首頁 > 安全與國防 > 設計應用 > 基于AT89C51的單線雙機通信協(xié)議

基于AT89C51的單線雙機通信協(xié)議

作者: 時間:2008-03-07 來源:網絡 收藏
===============================

  INT_T0W2:

  JNB RSF,T0W22

  JNB SDATX.2,T0W21

  ;SETB

  ;SETB TSIO

   P3,#0FFH

   A

  

  RETI

  T0W21 :

  CLR

  CLR TSIO

   P3,#00H

  T0W22 :

   A

  POP

  RETI

  ;==============================================================

  INT_T0R2:

  JBRSF,T0R22

  JNB ,T0R21

  SETBRDATX.2

  POP A

  POP

  RETI

  T0R21 :

  CLR RDATX.2

  T0R22 :

  POP A

  POP PSW

  RETI

  ;==============================================================

  INT_T0W3:

  JNB RSF,T0W32

  JNB SDATX.3,T0W31

  ;SETB CTPIO

  ;SETB TSIO

   P3,#0FFH

  POP A

  POP PSW

  RETI

  T0W31 :

  ;CLRCTPIO

  ;CLRTSIO

  MOV P3,#00H

  T0W32 :

  POP A

  POP PSW

  RETI

  ;==============================================================

  INT_T0R3:

  JBRSF,T0R32

  JNB CTPIO,T0R31

  SETBRDATX.3

  POP A

  POP PSW

  RETI

  T0R31 :

  CLR RDATX.3

  T0R32 :

  POP A

  POP PSW

  RETI

  ;==============================================================

  INT_T0W4:

  JNB RSF,T0W42

  JNB SDATX.4,T0W41

  ;SETB CTPIO

  ;SETB TSIO

  MOV P3,#0FFH

  POP A

  POP PSW

  RETI

  T0W41 :

  ;CLRCTPIO

  ;CLRTSIO

  MOV P3,#00H

  T0W42 :

  POP A

  POP PSW

  RETI

  ;==============================================================

  INT_T0R4:

  JBRSF,T0R42

  JNB CTPIO,T0R41

  SETBRDATX.4

  POP A

  POP PSW

  RETI

  T0R41 :

  CLR RDATX.4

  T0R42 :

  POP A

  POP PSW

  RETI

  ;==============================================================

  INT_T0W5:

  JNB RSF,T0W52

  JNB SDATX.5,T0W51

  ;SETB CTPIO

  ;SETB TSIO

  MOV P3,#0FFH

  POP A

  POP PSW

  RETI

  T0W51 :

  ;CLRCTPIO

  ;CLRTSIO

  MOV P3,#00H

  T0W52 :

  POP A

  POP PSW

  RETI

  ;==============================================================

  INT_T0R5:

  JBRSF,T0R52

  JNB CTPIO,T0R51

  SETBRDATX.5

  POP A

  POP PSW

  RETI

  T0R51 :

  CLR RDATX.5

  T0R52 :

  POP A

  POP PSW

  RETI

  ;==============================================================

  INT_T0W6:

  JNB RSF,T0W62

  JNB SDATX.6,T0W61

  ;SETB CTPIO

  ;SETB TSIO

  MOV P3,#0FFH

  POP A

  POP PSW

  RETI

  T0W61 :

  ;CLRCTPIO

  ;CLRTSIO

  MOV P3,#00H

  T0W62 :

  POP A

  POP PSW

  RETI

  ;==============================================================

  INT_T0R6:

  JBRSF,T0R62

  JNB CTPIO,T0R61

  SETBRDATX.6

  POP A

  POP PSW

  RETI

  T0R61 :

  CLR RDATX.6

  T0R62 :

  POP A

  POP PSW

  RETI

  ;==============================================================

  INT_T0W7:

  JNB RSF,T0W72

  JNB SDATX.7,T0W71

  ;SETB CTPIO

  ;SETB TSIO

  MOV P3,#0FFH

  POP A

  POP PSW

  RETI

  T0W71 :

  ;CLRCTPIO

  ;CLRTSIO

  MOV P3,#00H

  T0W72 :

  POP A

  POP PSW

  RETI

  ;==============================================================

  INT_T0R7:

  JBRSF,T0R72

  JNB CTPIO,T0R71

  SETBRDATX.7

  POP A

  POP PSW

  RETI

  T0R71 :

  CLR RDATX.7

  T0R72 :

  POP A

  POP PSW

  RETI

  ;==============================================================

  INT_T0WE: ;寫結束位(寫數據)

  JNB RSF,T0WE1

  ;CLRCTPIO

  ;CLRTSIO

  MOV P3,#00H

  T0WE1 :

  POP A

  POP PSW

  RETI

  ;==============================================================

  INT_T0RE: ;讀結束位(讀數據)

  JBRSF,T0RE1

  JNB CTPIO,T0RE1

  JMP ERROR1

  T0RE1 :

  POP A

  POP PSW

  RETI

  ;==============================================================

  INT_T0WAL:;寫響應位(讀數據)/終止結束位(寫數據)

  JNB RSF,T0WAL1

  ;SETB CTPIO

  ;SETB TSIO

  MOV P3,#0FFH

  POP A

  POP PSW

  RETI

  T0WAL1:

  ;CLRCTPIO

  ;CLRTSIO

  MOV P3,#00H

  POP A

  POP PSW

  RETI

  ;==============================================================

  INT_T0RA: ;讀響應位(寫數據)寫結束

  JNB RSF,T0RA2

  JNB CTPIO,T0RA1

  JMP ERROR2

  T0RA1 :

  CLR SDF

  ;MOVSDATX,#00H

  MOV TCON,#01H ;下降沿中斷

  MOV IE,#81H ;開0

  T0RA2 :

  POP A

  POP PSW

  RETI

  ;==============================================================

  INT_T0WAH:;終止響應位(讀數據)讀結束

  JNB RSF,T0WAH1

  JMP ERROR3

  T0WAH1:

  ;SETB CTPIO

  ;SETB TSIO

  MOV P3,#0FFH

  SETBRDF ;設置有新接收數據標志

  MOV A,RDATX ;處理數據

  MOV STATE,A

  JZT0WAH2

  CPL A

  MOV P0,A

  CLR RDF ;數據已處理,清標志

  MOV TCON,#01H ;下降沿中斷

  MOV IE,#81H ;開0

  POP A

  POP PSW

  RETI

  T0WAH2:

  CLR RDF ;數據無須處理,清標志

  MOV TCON,#01H ;下降沿中斷

  MOV IE,#81H ;開0

  POP A

  POP PSW

  RETI

  ;==============================================================

  ERROR1: ;無結束位

  MOV TCON,#01H ;下降沿中斷

  MOV IE,#81H ;開外部中斷0

  MOV P0,#0FEH

  ;SETB CTPIO

  ;SETB TSIO

  MOV P3,#0FFH

  POP A

  POP PSW

  RETI

  ;==============================================================

  ERROR2: ;無響應位

  MOV TCON,#01H ;下降沿中斷

  MOV IE,#81H ;開外部中斷0

  MOV P0,#0FCH

  ;SETB CTPIO

  ;SETB TSIO

  M



評論


相關推薦

技術專區(qū)

關閉