<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          關(guān) 閉

          新聞中心

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

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

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

            

            ;按鍵功能入口

            FUNCTION:

             A,KBUF1

            CJNEA,#07FH,FUN1;+1

            ;A,STATE

            ;ADDA,#01H

             A,#01H

            MOV STATE,A

            MOV SDATX,A

            SETBSDF

            CPL A

            MOV P0,A

            RET

            FUN1:

            CJNEA,#0F7H,FUN2;+2

            ;MOVA,STATE

            ;ADDA,#02H

            MOV A,#02H

            MOV STATE,A

            MOV SDATX,A

            SETBSDF

            CPL A

            MOV P0,A

            RET

            FUN2:

            CJNEA,#0BFH,FUN3;+4

            ;MOVA,STATE

            ;ADDA,#04H

            MOV A,#03H

            MOV STATE,A

            MOV SDATX,A

            SETBSDF

            CPL A

            MOV P0,A

            RET

            FUN3:

            CJNEA,#0FBH,FUN4;+8

            ;MOVA,STATE

            ;ADDA,#08H

            MOV A,#04H

            MOV STATE,A

            MOV SDATX,A

            SETBSDF

            CPL A

            MOV P0,A

            RET

            FUN4:

            CJNEA,#0DFH,FUN5;+16

            ;MOVA,STATE

            ;ADDA,#10H

            MOV A,#05H

            MOV STATE,A

            MOV SDATX,A

            SETBSDF

            CPL A

            MOV P0,A

            RET

            FUN5:

            CJNEA,#0FDH,FUN6;+32

            MOV A,STATE

            ;ADDA,#20H

            XRL A,#08H

            MOV STATE,A

            MOV SDATX,A

            SETBSDF

            CPL A

            MOV P0,A

            RET

            FUN6:

            CJNEA,#0EFH,FUN7;+64

            MOV A,STATE

            ADD A,#40H

            MOV STATE,A

            MOV SDATX,A

            SETBSDF

            CPL A

            MOV P0,A

            RET

            FUN7:

            CJNEA,#0FEH,FUN8;+128

            MOV A,STATE

            ADD A,#80H

            MOV STATE,A

            MOV SDATX,A

            SETBSDF

            CPL A

            MOV P0,A

            RET

            FUN8:

            RET

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

            KEYREAD:

            CLR P2.7

            SETBP2.6

            MOV A,P2

            ANL A,#0FH

            MOV KBUF0,A

            SETBP2.7

            CLR P2.6

            MOV A,P2

            ANL A,#0FH

            SWAPA

            ORL A,KBUF0

            MOV KBUF0,A

            CJNEA,KBUF1,KEYRD3

            MOV A,KCNT

            CJNEA,#03H,KEYRD1

            RET

            KEYRD1:

            INC A

            INC KCNT

            CJNEA,#03H,KEYRD4

            MOV A,KBUF1

            CJNEA,#0FFH,KEYRD2

            RET

            KEYRD2:

            CALLFUNCTION

            RET

            KEYRD3:

            MOV KBUF1,A

            MOV KCNT,#00H

            KEYRD4:

            RET

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

            INT_X0:

            MOV RSCNT,#00H

            MOV TH0,#00H

            MOV TL0,#00H

            MOV TMOD,#02H ;工作模式為定時方式2

            MOV TCON,#10H ;允許定時器0工作

            MOV IE,#82H ;允許定時器0中斷

            RETI

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

            INT_T0:

            PUSH

            PUSHA

            MOV DPTR,#T0_ENTRY

            MOV A,RSCNT

            INC RSCNT

            RLA

            JMP @A+DPTR

            T0_ENTRY:

            AJMPINT_T0N0;

            AJMPINT_T010;響應(yīng)

            AJMPINT_T0N0

            AJMPINT_T020;標(biāo)志0

            AJMPINT_T0N0

            AJMPINT_T030;標(biāo)志1

            AJMPINT_T0N0

            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

            

            RETI

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

            INT_T010: ;響應(yīng)

            ;CLR

            ;CLRTSIO

            MOV P3,#00H

             A

            POP

            RETI

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

            INT_T020: ;標(biāo)志0

            JBSDF,INT_T021

            CLR RSF ;無數(shù)據(jù)發(fā)送,設(shè)置讀標(biāo)識

            ;SETB

            ;SETB TSIO

            MOV P3,#0FFH

            POP A

            POP PSW

            RETI

            INT_T021:

            SETBRSF ;有數(shù)據(jù)發(fā)送,設(shè)置寫標(biāo)志

            ;CLR

            ;CLRTSIO

            MOV P3,#00H

            POP A

            POP PSW

            RETI

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

            INT_T030: ;標(biāo)志1

            JBRSF,INT_031

            ;CLRCTPIO

            ;CLRTSIO

            MOV P3,#00H

            POP A

            POP PSW

            RETI

            INT_031 :

            ;SETB CTPIO

            ;SETB TSIO

            MOV P3,#0FFH

            POP A

            POP PSW

            RETI

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

            INT_T0W0:

            JNB RSF,T0W01

            JNB SDATX.0,T0W02 ;寫第一位

            T0W01 :

            ;SETB CTPIO

            ;SETB TSIO

            MOV P3,#0FFH

            POP A

            POP PSW

            RETI

            T0W02 :

            ;CLRCTPIO

            ;CLRTSIO

            MOV P3,#00H

            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

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



          評論


          相關(guān)推薦

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

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();