關 閉

        新聞中心

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

        基于AT89C51的單線雙機通信協議

        作者: 時間:2008-03-07 來源:網絡 收藏
          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;設置開始位

          AJMPINT_T0N0

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

          AJMPINT_T030;讀響應

          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;寫結束位(寫數據)

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

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

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

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

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

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

           A

          POP

          RETI

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

          INT_T010: ;發送開始位

          ;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: ;讀響應

          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主發從收

          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主收從發

          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



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 红河县| 甘德县| 和林格尔县| 上林县| 阿克陶县| 海兴县| 武邑县| 新昌县| 高要市| 高陵县| 四平市| 彭州市| 孝义市| 昌黎县| 南召县| 固镇县| 永年县| 彰化县| 英吉沙县| 南木林县| 亚东县| 江津市| 雅江县| 远安县| 寿宁县| 吉木萨尔县| 昆明市| 嘉祥县| 图片| 青神县| 龙南县| 龙里县| 开原市| 沙田区| 大兴区| 永吉县| 垦利县| 济宁市| 甘洛县| 花莲市| 玉屏|