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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 單片機(jī)雙機(jī)并行通信中所遇問題及解決方法

          單片機(jī)雙機(jī)并行通信中所遇問題及解決方法

          作者: 時間:2012-02-02 來源:網(wǎng)絡(luò) 收藏

          4.2 上位機(jī)輸出數(shù)據(jù)

          如圖3所示在輸出數(shù)據(jù)以前,通過對U1 (74173)給U3(D觸發(fā)器)進(jìn)行初始化,即對U3的PRN端輸入一上升沿的脈沖,使U3輸出置1。此時上位機(jī)的SCZB端經(jīng)反相器輸出低電平,U3 的Q端為高電平。此時為發(fā)送數(shù)據(jù)做好準(zhǔn)備。當(dāng)上位機(jī)的SCYX端接收輸入的上升沿脈沖時,U3的Q端為低電平,當(dāng)CPU檢測到Q端為低電平時,就可以發(fā)送數(shù)據(jù)到鎖存器中,緊接著通過上位機(jī)的SCZB端向下位機(jī)SRZB端輸出一個上升沿脈沖。表示已發(fā)送數(shù)據(jù),接著通過對U1給U2進(jìn)行進(jìn)行初始化。完成對一個字節(jié)的輸出,并為輸出下一個字節(jié)做好準(zhǔn)備,上位機(jī)輸出數(shù)據(jù)信號波形圖如圖4所示。

          5 軟件設(shè)計

          5.1 程序流程設(shè)計

          圖6示出輸入數(shù)據(jù)流程圖,圖7示出輸出數(shù)據(jù)流程圖。

          20.jpg
          圖6 輸入數(shù)據(jù)流程

          21.jpg
          圖7 數(shù)據(jù)輸出程序流程圖

          5.2 部分程序清單

          (1) 輸入數(shù)據(jù)程序清單
          ORG 0000H
          JMP START
          ORG 0003H
          JMP RESEVE
          START: MOV TCON,#0 ;設(shè)置中斷INT0
          MOV TMOD,#11H
          CALL SZSRDK ;設(shè)置輸入端口
          MOV IE,#81H
          MOV IP,#1 ;開中斷
          ..
          ..
          ..
          RESEVE: CLR EA ;開中斷
          PUSH PSW
          PUSH DPH
          PUSH DPL
          RESEV1: JB ZDQQ,RESEV1
          ;判ZDQQ是否為低
          MOV DPTR,#ADDR0
          ;為U5(輸入數(shù)據(jù)端口)的地址
          MOVX A, @DPTR
          ..
          ..
          CALL SZSRDK
          POP DPL
          POP DPH
          POP PSW
          SETB EA
          RETI
          SZSRDK: CLRN EQU 2CH.0
          CLR CLRN ;
          MOV DPTR,#ADDR1
          ;為U1的地址
          MOV A,2CH
          MOVX @DPTR,A
          SETB CLRN
          MOV A,2CH
          MOV DPTR,#ADDR1
          MOVX @DPTR,A
          RET
          (2) 輸出數(shù)據(jù)程序清單
          SEND: MOV DPTR,#ADDR3
          MOVX A,@DPTR
          JB ACC.0,SEND
          ;為U3的Q端輸出
          MOV DPTR,#ADDR4
          ;為U4(輸出端口)的地址
          MOVX @DPTR,A
          CALL SZSCDK
          RET
          SZSCDK: PRN EQU 2CH.1
          SETB PRN
          MOV DPTR,#ADDR1
          ;為U1的地址
          MOV A,2CH
          MOVX @DPTR,A
          CLR PRN
          MOV DPTR,#ADDR1
          MOV A,2CH
          MOVX @DPTR,A
          RET

          6 結(jié)束語

          設(shè)計中采用了AT1504AS器件,該器件實現(xiàn)了硬件設(shè)計軟件化,方便了硬件設(shè)計,縮短了設(shè)計周期,降低了設(shè)計成本,應(yīng)用也十分方便,該系統(tǒng)經(jīng)過采取以上措施后,以達(dá)到最初的設(shè)計要求?,F(xiàn)產(chǎn)品已投放市場,市場的反映良好。


          上一頁 1 2 下一頁

          評論


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