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

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于P89C668單片機(jī)的CAN總線接口設(shè)計(jì)

          基于P89C668單片機(jī)的CAN總線接口設(shè)計(jì)

          作者: 時(shí)間:2012-03-14 來(lái)源:網(wǎng)絡(luò) 收藏

          下面是SJA1000 的初始化程序.
          _INI: MOV DPTR, #MOD; 模式寄存器
          MOV A, #01H
          MOVX @DPTR, A
          NOP
          MOVX A, @DPTR
          ANL A, #01H
          JZ _INI; 等待SJA1000 進(jìn)入復(fù)位模式
          MOV DPTR, #BTR0; 定時(shí)0
          MOV A, #BandRate0
          MOV DPTR, #BTR1; 定時(shí)1
          MOV A, # BandRate1
          MOV DPTR, #OCR; 輸出控制寄存器
          MOV A, #1AH
          MOVX @DPTR, A
          MOV DPTR, #CDR; 時(shí)鐘分頻器
          MOV A, #0C0H
          MOV DPTR, #ACR0; 接收代碼寄存器ACR0
          MOV A, #ModuleAddress; 設(shè)置為模塊的地址
          MOVX @DPTR, A
          INC DPTR
          MOV A, #0FFH
          MOV @DPTR, A
          INC DPTR
          MOV A, #0FFH
          MOVX @DPTR, A
          INC DPTR
          MOV A, #0FFH
          MOVX @DPTR, A
          MOV DPTR, #AMF0; 接收掩碼寄存器AMF0
          MOV A, #0FFH; 接收代碼設(shè)置為
          0X0FFFFFFFF
          MOVX @DPTR, A
          INC DPTR
          MOV A, #0FFH
          MOVX @DPTR, A
          INC DPTR
          MOV A, #0FFH
          MOVX @DPTR, A
          INC DPTR
          MOV A, #0FFH
          MOVX @DPTR, A
          MOV DPTR, #IER ; 中斷使能寄存器IER
          MOV A, #09H; 允許接收中斷和數(shù)據(jù)溢出中斷
          MOV DPTR, #CMR; 命令寄存器
          MOV A, #04H; 釋放接收緩沖器
          MOVX @DPTR, A
          LOOP: MOV DPTR, #MOD
          MOV A, #08H; 設(shè)置SJA1000 工作模式為普通模式,單濾波接收
          MOVX @DPTR, A
          MOV DPTR, #MOD
          MOV A, @DPTR
          ANL A, #01H
          JNZ LOOP; 等待復(fù)位標(biāo)識(shí)被清除
          RET

          2.2 發(fā)送程序

          對(duì)SJA1000控制器進(jìn)行初始化建立CAN總線通信后,就可以通過(guò)CAN總線發(fā)送和接收?qǐng)?bào)文.發(fā)送程序負(fù)責(zé)節(jié)點(diǎn)的報(bào)文發(fā)送.發(fā)送報(bào)文時(shí),用戶(hù)只需將需要發(fā)送的數(shù)據(jù)按一定的格式組合成一幀的報(bào)文,并送入SJA1000發(fā)送緩存區(qū)中,然后啟動(dòng)SJA1000發(fā)送即可.發(fā)送程序分發(fā)送數(shù)據(jù)幀和遠(yuǎn)程幀兩種.通過(guò)設(shè)置RTR以決定是發(fā)送數(shù)據(jù)幀還是遠(yuǎn)程幀.



          評(píng)論


          相關(guān)推薦

          技術(shù)專(zhuān)區(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); })();