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

          關(guān) 閉

          新聞中心

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

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

          作者: 時(shí)間:2008-03-07 來(lái)源:網(wǎng)絡(luò) 收藏
          3,#0FFH

             A

            

            RETI

            T0W51 :

            ;CLR

            ;CLRTSIO

             P3,#00H

            T0W52 :

             A

            POP

            RETI

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

            INT_T0R5:

            JBRSF,T0R52

            JNB ,T0R51

            SETBRDATX.5

            POP A

            POP

            RETI

            T0R51 :

            CLR RDATX.5

            T0R52 :

            POP A

            POP PSW

            RETI

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

            INT_T0W6:

            JNB RSF,T0W62

            JNB SDATX.6,T0W61

            ;SETB

            ;SETB TSIO

             P3,#0FFH

            POP A

            POP PSW

            RETI

            T0W61 :

            ;CLRCTPIO

            ;CLRTSIO

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

            T0RE1 :

            POP A

            POP PSW

            RETI

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

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

            JNB RSF,T0WAL1

            ;SETB CTPIO ;終止結(jié)束位(寫數(shù)據(jù))

            ;SETB TSIO

            MOV P3,#0FFH

            POP A

            POP PSW

            RETI

            T0WAL1:

            ;CLRCTPIO ;寫響應(yīng)位(讀數(shù)據(jù))

            ;CLRTSIO

            MOV P3,#00H

            POP A

            POP PSW

            RETI

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

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

            JNB RSF,T0RA2

            JNB CTPIO,T0RA1

            JMP ERROR5

            T0RA1 :

            CLR RSI ;設(shè)置收發(fā)結(jié)束標(biāo)志

            ;CLRSDF ;設(shè)置數(shù)據(jù)已發(fā)送標(biāo)志

            MOV SDATX,STATE

            ;MOVSDATX,#00H

            T0RA2 :

            POP A

            POP PSW

            RETI

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

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

            JNB RSF,T0WAH1

            JMP ERROR6

            T0WAH1:

            ;SETB CTPIO

            ;SETB TSIO

            MOV P3,#0FFH

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

            CLR RSI ;設(shè)置收發(fā)結(jié)束標(biāo)志

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

            MOV STATE,A

            CPL A

            MOV P0,A

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

            POP A

            POP PSW

            RETI

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

            ERROR1:

            CLR RSI

            ;SETB CTPIO

            ;SETB TSIO

            MOV P3,#0FFH

            ;MOVP0,#0FEH

            POP A

            POP PSW

            RETI

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

            ERROR2:

            CLR RSI

            ;SETB CTPIO

            ;SETB TSIO

            MOV P3,#0FFH

            ;MOVP0,#0FCH

            POP A

            POP PSW

            RETI

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

            ERROR3:

            CLR RSI

            ;SETB CTPIO

            ;SETB TSIO

            MOV P3,#0FFH

            ;MOVP0,#0F8H

            POP A

            POP PSW

            RETI

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

            ERROR4:

            CLR RSI

            ;SETB CTPIO

            ;SETB TSIO

            MOV P3,#0FFH

            ;MOVP0,#0F0H

            POP A

            POP PSW

            RETI

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

            ERROR5:

            CLR RSI

            ;SETB CTPIO

            ;SETB TSIO

            MOV P3,#0FFH

            ;MOVP0,#0E0H

            POP A

            POP PSW

            RETI

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

            ERROR6:

            CLR RSI

            ;SETB CTPIO

            ;SETB TSIO

            MOV P3,#0FFH

            ;MOVP0,#0C0H

            POP A

            POP PSW

            RETI

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

            DLY2MS:

            MOV DLYD0,#02H

            DLY2MS1:

            MOV DLYD1,#0FFH

            DLY2MS2:

            DJNZDLYD1,DLY2MS2

            DJNZDLYD0,DLY2MS1

            RET

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

            2.從機(jī)源程序

            ;子機(jī)程序

            KBUF0 EQU 24H ;鍵值臨時(shí)緩沖

            KBUF1 EQU 25H ;鍵值緩沖

            KCNTEQU 26H ;鍵盤重復(fù)計(jì)數(shù)

            DLYD0 EQU 27H ;延遲變量

            DLYD1 EQU 28H ;延遲變量

            DLYD2 EQU 29H ;延遲變量

            

            RDATX EQU 22H

            SDATX EQU 23H

            

            STATE EQU 2AH

            

            RSCNT EQU 29H

            

            CTPIO BIT 0B2H

            TSIOBIT 0B3H

            SDF BIT 00H ;有數(shù)據(jù)發(fā)送標(biāo)志

            RDF BIT 01H ;有接收數(shù)據(jù)標(biāo)志

            RSF BIT 02H ;數(shù)據(jù)收發(fā)選擇位

            

            ORG 00H

            AJMPMAIN

            

            ORG 03H

            AJMPI(yíng)NT_X0

            

            ORG 0BH

            AJMPI(yíng)NT_T0

            

            ORG 100H

            MAIN:

            MOV SP,#50H

            MOV SDATX,#00H

            MOV RDATX,#00H

            MOV KBUF0,#00H

            MOV KBUF1,#00H

            MOV KCNT,#00H

            MOV RSCNT,#00H

            MOV 20H,#00H

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

            MOV P0,#00H

            MOV IE,#81H ;開(kāi)0

            LOOPX:

            CALLKEYREAD ;讀鍵盤

            CALLDLY2MS;延遲2ms

            JMP LOOP



          評(píng)論


          相關(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); })();