關(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;讀標(biāo)志0

          AJMPINT_T0N0

          AJMPINT_T050;讀標(biāo)志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: ;讀標(biāo)志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: ;讀標(biāo)志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)閉
        主站蜘蛛池模板: 高州市| 资溪县| 巴青县| 夏邑县| 陇西县| 乐平市| 卢氏县| 泗水县| 炎陵县| 讷河市| 洮南市| 耿马| 民勤县| 松溪县| 阿城市| 镇康县| 饶平县| 新泰市| 科技| 灵宝市| 中卫市| 赤城县| 万载县| 赫章县| 杭锦旗| 铜山县| 唐河县| 汉源县| 泽库县| 马边| 澜沧| 奎屯市| 沿河| 新龙县| 盐亭县| 滕州市| 六安市| 故城县| 广元市| 枞阳县| 蒙自县|