時(shí)間:2007-08-16 11:25:00來(lái)源:lihan
 
圖1     程序流程圖[/ALIGN]
  5  程序及注釋
  由于文章篇幅的限制,在此僅給出與通信有關(guān)部分的源程序。
  SBR    7 //初始化XTM及XTM定時(shí)器
  XMT   VB99,0 //發(fā)送
  ATCH  0,9 &
  nbsp; //捕捉XTM發(fā)送中斷,并
  //調(diào)用中斷程序0
  MOVB  255,SMB34    //設(shè)置XTM定時(shí)器255MS
  ATCH 1,10    //捕捉XTM定時(shí)器中斷,
  //并調(diào)用中斷1
  RET
  INT   0   //中斷程序0,XMT發(fā)送中斷處理,
  //關(guān)XMT定時(shí)器
  DTCH  10     //退出XMT定時(shí)器
  DTCH   9     //中止XMT事件
  MOVW  3,VW204  //刷新XMT重試次數(shù)
  MOVW  14,VW208 //響應(yīng)信息中接收的字符數(shù)
  MOVW  0,VW215  //清BCC累加器
  MOVD &VB114,VD211 //設(shè)置接收緩沖區(qū)指針
  ATCH  2,8&n 
  bsp;     //捕捉RCV(接收)中斷,并
  //調(diào)用中斷程序2
  ATCH  3,10    //捕捉接收定時(shí)器中斷,并調(diào)
  //用中斷程序3
  RETI 
  INT  1   //定時(shí)器中斷0處理——發(fā)送
  DTCH   9    //停止XMT(發(fā)送) 
  DTCH   10   //退出定時(shí)器
  DECW  VW204   //重試次數(shù)減1,若為0,且
  LD      SM1.0     //SM1.0=1,則
  MOVB  3,VB210
  MOVB  3,QB0    //用QB0指示發(fā)送超時(shí)
  MOVW 3,VW204  //刷新發(fā)送重試計(jì)數(shù)
  S      M0.0,1   //使RUN、RAMP有效
  CRETI //條件返回
  XMT   VB99,0  //重試發(fā)送
  ATCH  0,9    //捕捉XMT中斷,并調(diào)用
  //中斷程序0
  MOVB  255,SMB34  //設(shè)置XMT定時(shí)器為避
  //免55mS
  ATCH   1,10 //捕捉定時(shí)中斷,并調(diào)用
  //中斷程序
  RETI
  INT     2     //接受字符處理
  MOVB  SMB2,AC0   //得到接收字符
  XORW  AC0,VW215 //累積BCC
  MOVB  AC0,*VD211 //把接收到的字符送
  //入緩沖區(qū)
  INCD   VD211 //緩沖區(qū)指針加1
  DECW   VW208     // 有待接收的字符總數(shù)減1
  LDN    SM1.0      //檢驗(yàn)是否結(jié)束
  CRETI
  NOT
  DTCH   10  //退出接收定時(shí)器
  DTCH    8   //關(guān)接收
  AB=    0,VB216   //檢驗(yàn)已算好的BCC是否為0
  NOT
  MOVB  2,VB210  //壞的BCC操作碼
  MOVB  2,QB0    
  JMP    0
  LDB=  VB114,16#02   // STX第一個(gè)字符嗎
  AB=   VB11
  5,16#0C  //長(zhǎng)度=12嗎?
  AB=   VB116,VB102   //將信息發(fā)往同一從
  //設(shè)備嗎?
  MOVB  0,VB210 //操作正確
  MOVB 0,QB0
  JMP   0
  LD     SM0.0
  MOVB  1,VB210      //信息中有不對(duì)的地方
  MOVB  1,QB0
  LBL    0
  MOVW  3,VW206    //刷新接收可重試次數(shù)
  RETI
  INT    3      //定時(shí)器中斷0處理-接收
  DTCH  8      //關(guān)接收中斷
  DTCH  1 
  0    //退出接收定時(shí)器
  DECW VW206     //重試次數(shù)減1,若為0,且
  LD    SM1.0 //SM1.0=1,則
  MOVB 4,VB210
  MOVB  4,QB0     //指示接收超時(shí)
  MOVW  3,VW206  //刷新接收重試次數(shù)
  S M0。0,1   //使RUN/RAMP有效
  CRET
  NOT
  MOVD  &VB114,VD211  //設(shè)置接收緩沖區(qū)指針
  MOVW  0,VW215     //清BCC累加器
  XMT    VB99,0 //重發(fā)送
  ATCH   VB0,9 //捕捉XMT中斷,并
  //調(diào)用中斷程序0
  MOVB  255,SMB34   //設(shè)置XMT定時(shí)器中斷
  ATCH  1,10  //捕捉定時(shí)器中斷,并調(diào)
  //用中斷程序1
  RETI
6  結(jié)束語(yǔ)
    雖然此程序只與一臺(tái)微型主電機(jī)驅(qū)動(dòng)器通信,但可將它擴(kuò)展用于另外的輸入點(diǎn),選擇多站通信線路上的某一臺(tái)微型主電機(jī)驅(qū)動(dòng)器的地址,向它發(fā)送命令。另外,這個(gè)程序的基本通信結(jié)構(gòu)還可用來(lái)發(fā)送別的信息給微型主電機(jī)驅(qū)動(dòng)器,如監(jiān)視電流、轉(zhuǎn)矩等。
標(biāo)簽:
                                
                            
傳動(dòng)網(wǎng)版權(quán)與免責(zé)聲明:凡本網(wǎng)注明[來(lái)源:傳動(dòng)網(wǎng)]的所有文字、圖片、音視和視頻文件,版權(quán)均為傳動(dòng)網(wǎng)(connectcrack.com)獨(dú)家所有。如需轉(zhuǎn)載請(qǐng)與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個(gè)人轉(zhuǎn)載使用時(shí)須注明來(lái)源“傳動(dòng)網(wǎng)”,違反者本網(wǎng)將追究其法律責(zé)任。
本網(wǎng)轉(zhuǎn)載并注明其他來(lái)源的稿件,均來(lái)自互聯(lián)網(wǎng)或業(yè)內(nèi)投稿人士,版權(quán)屬于原版權(quán)人。轉(zhuǎn)載請(qǐng)保留稿件來(lái)源及作者,禁止擅自篡改,違者自負(fù)版權(quán)法律責(zé)任。
產(chǎn)品新聞
更多>耐磨管道機(jī)器人檢測(cè)電纜CCTV,水下管道...
2025-09-23
影視舞臺(tái)燈光低煙無(wú)鹵扁平電纜13*4+2*(2...
2025-09-23
「頻」實(shí)力,新上市——富士電機(jī) FRENIC...
2025-09-08
華為昇騰Atlas800iA2 910B服務(wù)器Deepsee...
2025-09-04
TaiShan(泰山)200 2280系列服務(wù)器 鯤...
2025-09-03
2025-08-06