關(guān) 閉

        新聞中心

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

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

        作者: 時間:2008-03-07 來源:網(wǎng)絡(luò) 收藏
        ===============================

          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: ;寫結(jié)束位(寫數(shù)據(jù))

          JNB RSF,T0WE1

          ;CLRCTPIO

          ;CLRTSIO

          MOV P3,#00H

          T0WE1 :

          POP A

          POP PSW

          RETI

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

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

          JBRSF,T0RE1

          JNB CTPIO,T0RE1

          JMP ERROR1

          T0RE1 :

          POP A

          POP PSW

          RETI

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

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

          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: ;讀響應(yīng)位(寫數(shù)據(jù))寫結(jié)束

          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:;終止響應(yīng)位(讀數(shù)據(jù))讀結(jié)束

          JNB RSF,T0WAH1

          JMP ERROR3

          T0WAH1:

          ;SETB CTPIO

          ;SETB TSIO

          MOV P3,#0FFH

          SETBRDF ;設(shè)置有新接收數(shù)據(jù)標志

          MOV A,RDATX ;處理數(shù)據(jù)

          MOV STATE,A

          JZT0WAH2

          CPL A

          MOV P0,A

          CLR RDF ;數(shù)據(jù)已處理,清標志

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

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

          POP A

          POP PSW

          RETI

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

          CLR RDF ;數(shù)據(jù)無須處理,清標志

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

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

          POP A

          POP PSW

          RETI

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

          ERROR1: ;無結(jié)束位

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

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

          MOV P0,#0FEH

          ;SETB CTPIO

          ;SETB TSIO

          MOV P3,#0FFH

          POP A

          POP PSW

          RETI

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

          ERROR2: ;無響應(yīng)位

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

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

          MOV P0,#0FCH

          ;SETB CTPIO

          ;SETB TSIO

          M



        評論


        相關(guān)推薦

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

        關(guān)閉
        主站蜘蛛池模板: 安泽县| 澎湖县| 左云县| 额敏县| 卫辉市| 商丘市| 当涂县| 江源县| 磐安县| 南平市| 安庆市| 志丹县| 汨罗市| 唐海县| 镇平县| 彰化市| 闽清县| 旬邑县| 桐乡市| 文山县| 延吉市| 江口县| 苏尼特左旗| 余干县| 双柏县| 高雄市| 庄河市| 大丰市| 安多县| 华池县| 台安县| 枣强县| 绩溪县| 四平市| 鄂托克旗| 临西县| 正安县| 射阳县| 乌什县| 溆浦县| 平乡县|