時(shí)間:2009-01-04 13:34:12來源:zhangting
圖1 82c250與pic18f458接線圖[/align]
3 軟件設(shè)計(jì)
軟件采用mplab ide7.5開發(fā)平臺(tái)及mcc18軟件,為了有利于程序的移植和修改可將程序設(shè)計(jì)成能相對(duì)獨(dú)立的子程序。can總線的各種協(xié)議已經(jīng)被集成在pic18f458的can模塊里面,只要對(duì)相應(yīng)的寄存器進(jìn)行操作就可完成can系統(tǒng)通信。pici8f458的can通信程序主要包括can初始化、接受子程序、發(fā)送子程序等。can初始化主要對(duì)can進(jìn)行配置,設(shè)置發(fā)送郵箱、接收郵箱標(biāo)識(shí)符及初始化數(shù)據(jù),設(shè)置波特率、can工作模式,初始化接受濾波器和接受屏蔽。接受使用中斷方式,發(fā)送采用查詢方式。在can總線上的所有節(jié)點(diǎn)必須有相同的波特率,設(shè)波特率fosc=4mhz,同步時(shí)間段sync_seg=1tq,傳輸時(shí)間段prop_seg=1tq,相位緩沖時(shí)間段1phase_seg1=3tq,相位緩沖時(shí)間段2phase_seg2=3tq,標(biāo)稱位時(shí)間=8tq,位率=0.125mhz。在can總線通訊中,can的初始化非常重要。
3.1 can初始化子程序
void intcan()
?。鹴risb=(trisb|0x08)&0xfb; /* 設(shè)置rb2為輸出,rb3為輸入*/
cancon=0x80; /*請(qǐng)求配置*/
while((canstat&0x80)==0) /*配置方式*/
?。?
??;
?。? /*等待進(jìn)入配置模式*/
brgcon1=0x01; /*設(shè)置波特率*/
brgcon2=0x90;
brgcon3=0x42;
txb0con=0x03; /*設(shè)置優(yōu)先級(jí)*/
txb0sidl=can_biaosf_l&0xe0; /*標(biāo)準(zhǔn)標(biāo)識(shí)符*/
txb0sidh= can_ biaosf _h ;
txb0dlc=0x08; /*數(shù)據(jù)長度1字節(jié)*/
txb0d0=0x00;
txb0d1=0x00;
rxb0sidl= can_ biaosf _l&0xe0;/*標(biāo)準(zhǔn)標(biāo)識(shí)符*/
rxb0sidh= can_ biaosf _h ;
rxb0con=0x20; / *接受有效的標(biāo)準(zhǔn)標(biāo)識(shí)符信息*/
rxb0dlc=0x08; /*數(shù)據(jù)長度1字節(jié)*/
rxb0d0=0x00; /*初始數(shù)據(jù)*/
rxb0d1=0x00;
rxb0d2=0x00;
rxf0sidh=can_ biaosf _h;/*初始化接受濾波器和接受屏蔽*/
rxf0sidl=can_ biaosf _l;
rxm0sidh=0xff;
rxm0sidl=0xe0;
cancon=0x40; /*正常模式*/
while((canstat&0x40)!=0) /*檢測(cè)配置完成*/
?。?
??;
}
pir3=0x00; /*初始化can中斷*/
pie3=0x01;
ipr3=0x01;
}
3.2 接收中斷子程序
void interruphandlerhigh()
?。?
if(pir3bits.rxb0if==1) /*接收can中斷*/
{
can_flag=1; /*置接收中斷標(biāo)志*/
pir3bits.rxb0if=0; /*清接收中斷標(biāo)志*/
rxb0conbits.rxful=0; /*接收*/
?。?
}
3.3 發(fā)送子程序
void fasong()
txb0d0=clz; /*clz為發(fā)送數(shù)值*/
txb0con=txb0con|0x08; /*發(fā)送*/
?。?
寫好這三部分程序,就很容易寫出通訊程序了。
4 結(jié)束語
本項(xiàng)目設(shè)計(jì)可用于各種電氣設(shè)備形成can接口,也可在此基礎(chǔ)上繼續(xù)開發(fā),加入設(shè)備的控制算法,對(duì)設(shè)備進(jìn)行總線化智能化改造。利用pic18f458設(shè)計(jì)的can總線接口進(jìn)行了dkj直行程電動(dòng)執(zhí)行機(jī)構(gòu)的智能化改造,與上位機(jī)實(shí)現(xiàn)了can總線通訊,試驗(yàn)效果理想。標(biāo)簽:
傳動(dòng)網(wǎng)版權(quán)與免責(zé)聲明:凡本網(wǎng)注明[來源:傳動(dòng)網(wǎng)]的所有文字、圖片、音視和視頻文件,版權(quán)均為傳動(dòng)網(wǎng)(surachana.com)獨(dú)家所有。如需轉(zhuǎn)載請(qǐng)與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個(gè)人轉(zhuǎn)載使用時(shí)須注明來源“傳動(dòng)網(wǎng)”,違反者本網(wǎng)將追究其法律責(zé)任。
本網(wǎng)轉(zhuǎn)載并注明其他來源的稿件,均來自互聯(lián)網(wǎng)或業(yè)內(nèi)投稿人士,版權(quán)屬于原版權(quán)人。轉(zhuǎn)載請(qǐng)保留稿件來源及作者,禁止擅自篡改,違者自負(fù)版權(quán)法律責(zé)任。
產(chǎn)品新聞
更多>2025-10-31
勇梅機(jī)械液壓閘門給煤機(jī)的優(yōu)點(diǎn)
2025-10-22
2025-10-17
2025-10-11
「一體機(jī)性價(jià)比王者」NK290M普及型數(shù)控...
2025-10-09
耐磨管道機(jī)器人檢測(cè)電纜CCTV,水下管道...
2025-09-23