關(guān) 閉

新聞中心

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

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

作者: 時間:2008-03-07 來源:網(wǎng)絡(luò) 收藏
  KCNT,#00H

  KEYRD5:

  RET

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

  INT_T0:

  PUSH

  PUSHA

  JBRSI,INT_T01

  SETBRSI

   RSCNT,#00H

   A

  

  RETI

  INT_T01 :

   DPTR,#T0_ENTRY

  MOV A,RSCNT

  INC RSCNT

  RLA

  JMP @A+DPTR

  T0_ENTRY:

  AJMPINT_T010;設(shè)置開始位

  AJMPINT_T0N0

  AJMPINT_T020;終止開始位

  AJMPINT_T030;讀響應(yīng)

  AJMPINT_T0N0

  AJMPINT_T040;讀標志0

  AJMPINT_T0N0

  AJMPINT_T050;讀標志1

  AJMPINT_T0W0

  AJMPINT_T0R0

  AJMPINT_T0W1

  AJMPINT_T0R1

  AJMPINT_T0W2

  AJMPINT_T0R2

  AJMPINT_T0W3

  AJMPINT_T0R3

  AJMPINT_T0W4

  AJMPINT_T0R4

  AJMPINT_T0W5

  AJMPINT_T0R5

  AJMPINT_T0W6

  AJMPINT_T0R6

  AJMPINT_T0W7

  AJMPINT_T0R7

  ;AJMP INT_T0W8

  ;AJMP INT_T0R8

  ;AJMP INT_T0W9

  ;AJMP INT_T0R9

  AJMPINT_T0WE;寫結(jié)束位(寫數(shù)據(jù))

  AJMPINT_T0RE;讀結(jié)束位(讀數(shù)據(jù))

  AJMPINT_T0WAL ;寫響應(yīng)位(讀數(shù)據(jù))/終止結(jié)束位(寫數(shù)據(jù))

  AJMPINT_T0RA;讀響應(yīng)位(寫數(shù)據(jù))寫結(jié)束

  AJMPINT_T0WAH ;終止響應(yīng)位(讀數(shù)據(jù))讀結(jié)束

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

  INT_T0N0: ;

   A

  POP

  RETI

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

  INT_T010: ;發(fā)送開始位

  ;CLR

  ;CLRTSIO

  MOV P3,#00H

  POP A

  POP PSW

  RETI

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

  INT_T020: ;終止開始位

  ;SETB

  ;SETB TSIO

  MOV P3,#0FFH

  POP A

  POP PSW

  RETI

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

  INT_T030: ;讀響應(yīng)

  JNB ,INT_T031

  JMP ERROR1

  INT_T031:

  POP A

  POP PSW

  RETI

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

  INT_T040: ;讀標志0

  JBCTPIO,INT_T041

  CLR RSF0;RSF0=0

  POP A

  POP PSW

  RETI

  INT_T041:

  SETBRSF0;RSF0=1

  POP A

  POP PSW

  RETI

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

  INT_T050: ;讀標志1

  JBCTPIO,INT_051

  CLR RSF1;RSF1=0

  JBRSF0,INT_052

  JMP ERROR2;RSF:00錯

  INT_052 :

  SETBRSF ;RSF:10主發(fā)從收

  MOV SDATX,STATE

  POP A

  POP PSW

  RETI

  INT_051 :

  SETBRSF1;RSF1=1

  JNB RSF0,INT_053

  JMP ERROR3;RSF:11錯

  INT_053 :

  CLR RSF ;RSF:01主收從發(fā)

  POP A

  POP PSW

  RETI

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

  INT_T0W0:

  JNB RSF,T0W02

  JNB SDATX.0,T0W01

  ;SETB CTPIO

  ;SETB TSIO

  MOV P3,#0FFH

  POP A

  POP PSW

  RETI

  T0W01 :

  ;CLRCTPIO

  ;CLRTSIO

  MOV P3,#00H

  T0W02 :

  POP A

  POP PSW

  RETI

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

  INT_T0R0:

  JBRSF,T0R02

  JNB CTPIO,T0R01

  SETBRDATX.0

  POP A

  POP PSW

  RETI

  T0R01 :

  CLR RDATX.0

  T0R02 :

  POP A

  POP PSW

  RETI

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

  INT_T0W1:

  JNB RSF,T0W12

  JNB SDATX.1,T0W11

  ;SETB CTPIO

  ;SETB TSIO

  MOV P3,#0FFH

  POP A

  POP PSW

  RETI

  T0W11 :

  ;CLRCTPIO

  ;CLRTSIO

  MOV P3,#00H

  T0W12 :

  POP A

  POP PSW

  RETI

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

  INT_T0R1:

  JBRSF,T0R12

  JNB CTPIO,T0R11

  SETBRDATX.1

  POP A

  POP PSW

  RETI

  T0R11 :

  CLR RDATX.1

  T0R12 :

  POP A

  POP PSW

  RETI

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

  INT_T0W2:

  JNB RSF,T0W22

  JNB SDATX.2,T0W21

  ;SETB CTPIO

  ;SETB TSIO

  MOV P3,#0FFH

  POP A

  POP PSW

  RETI

  T0W21 :

  ;CLRCTPIO

  ;CLRTSIO

  MOV P3,#00H

  T0W22 :

  POP A

  POP PSW

  RETI

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

  INT_T0R2:

  JBRSF,T0R22

  JNB CTPIO,T0R21

  SETBRDATX.2

  POP A

  POP PSW

  RETI

  T0R21 :

  CLR RDATX.2

  T0R22 :

  POP A

  POP PSW

  RETI

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

  INT_T0W3:

  JNB RSF,T0W32

  JNB SDATX.3,T0W31

  ;SETB CTPIO

  ;SETB TSIO

  MOV 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



評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉