資源簡(jiǎn)介
基于MCP2515的CAN模塊資料,內(nèi)有調(diào)試通過的程序,配上CAN模塊即可通信。
代碼片段和文件信息
//=================================================================================
//串口到can???????4800bps
//
//sbit?SCK=P2^3;
//sbit?SI=P2^2;
//sbit?SO=P2^1;
//sbit?CS=P2^0;
//INT?接P3.3
//
//=================================================================================
#include?“reg51.h“
#include?“2515.h“
#include?“SPI.h“
#include?“Function.h“
#include?“CAN0.h“
void?CAN_Send_anylength(unsigned?char?*CAN_TX_Bufunsigned?char?length1);
unsigned?char?gRXFlag=0sRXFlag=0yRXFlag=0;
unsigned?char?data?Com_RecBuff[8];
unsigned?char?bdata?flag_init;
//*************************
#define?INBUF_LEN?8???//數(shù)據(jù)長(zhǎng)度
unsigned?char?inbuf1[INBUF_LEN];
unsigned?char?checksumcount3=0;
unsigned?char?a[8];
unsigned?char?b[8]={0x010x020x030x040x050x060x070x08};
/************************************************************************
*函數(shù)原型:?void?init_serialcomm(void)????????????*
*參數(shù)說明:?串口初始化????????????????????????????*
*說明:?設(shè)值單片機(jī)的定時(shí)器1的方式選擇波特率?。該子程序只能用于復(fù)位模式
************************************************************************/
void?init_serialcomm(void)
{
??SCON??=?0x50;???????//SCON:?serail?mode?1?8-bit?UART?enable?ucvr?
??TMOD?|=?0x20;???????//TMOD:?timer?1?mode?2?8-bit?reload?
??PCON?|=?0x80;???????//SMOD=1;?
??TH1???=?0xF4;???????//Baud:4800??fosc=11.0592MHz??
??TL1???=?0xF4;???????//
??IE???|=?0x90;???????//Enable?Serial?Interrupt?
??TR1???=?1;??????????//?timer?1?run
}
//定時(shí)器0初始化
void?timer0initial()
{
??TMOD|=0x1;????????//工作方式16位定時(shí)計(jì)數(shù)器
??TH0=0xb8;TL0=0x00;??//50MS定時(shí)初值(T0計(jì)時(shí)用)
??IE|=0x90;???????//Enable?Serial?Interrupt?
??ET0=0;
??TR0=0;
}
//向串口發(fā)送一個(gè)字符
void?send_char_com(unsigned?char?ch)
{
??SBUF=ch;
??while(!TI);
??TI=0;
}
//向串口發(fā)送一個(gè)字符串strlen為該字符串長(zhǎng)度
void?send_string_com(unsigned?char?*strunsigned?int?strlen)
{
??unsigned?int?k=0;
??do
??{
????send_char_com(*(str+k));
????k++;
??}while(k }
//定時(shí)器0中斷不夠8個(gè)就在此發(fā)送
void?time_intt0(void)?interrupt?1?using?2
{
??ET0=0;
??TR0=0;
??TH0=0xb8;
??TL0=0x00;
??sRXFlag=1;
}
//串口接收中斷函數(shù)
void?serial()?interrupt?4?using?1
{
??unsigned?char?ch;
??if(RI)
??{
????RI=0;
????ET0=1;TR0=1;
????ch=SBUF;
????inbuf1[count3]=ch;
????count3=count3+1;
????if(count3==INBUF_LEN)
????{
??????ET0=0;
??????TR0=0;
??????TH0=0xb8;
??????TL0=0x00;??//關(guān)閉定時(shí)中斷,停止定時(shí)中斷
??????sRXFlag=1;
????}
??}
}
/****************************************************
**函數(shù)原型:??void?ex1_int(void)?interrupt?2?//using?1
**功????能:??外部中斷1接收函數(shù)
**入口參數(shù):???無(wú)?
**出口參數(shù):???RevceData[]數(shù)組???
**說????明:???當(dāng)MCP2515收到正確的報(bào)文時(shí)會(huì)產(chǎn)生int1中斷
*****************************************************/
void?ex1_int(void)?interrupt?2?using?1
{
??gRXFlag=1;
}
/****************************************************
**函數(shù)原型:??void?Init_Cpu(void)
**功????能:??單片機(jī)初始化開放外部中斷1
**入口參數(shù):???無(wú)?
**出口參數(shù):????
**說????明:???單片機(jī)初始化開放外部中斷1??
*****************************************************/
void?Init_Cpu(void)
{
??PX1=1;
??EX1=1;
??IT1=0;
??EA=
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????文件??????10905??2012-08-30?21:55??CEPARK+MCP2515+模塊+配套資料\配套代碼\2515.h
?????文件???????5964??2009-06-26?11:38??CEPARK+MCP2515+模塊+配套資料\配套代碼\CAN.h
?????文件???????3158??2012-08-30?23:08??CEPARK+MCP2515+模塊+配套資料\配套代碼\CAN0.h
?????文件????????275??2012-08-30?23:08??CEPARK+MCP2515+模塊+配套資料\配套代碼\Function.h
?????文件???????3606??2012-08-31?11:38??CEPARK+MCP2515+模塊+配套資料\配套代碼\main.c
?????文件???????7066??2012-08-31?11:38??CEPARK+MCP2515+模塊+配套資料\配套代碼\main.LST
?????文件??????35907??2012-08-31?11:38??CEPARK+MCP2515+模塊+配套資料\配套代碼\main.OBJ
?????文件??????33471??2012-08-31?11:38??CEPARK+MCP2515+模塊+配套資料\配套代碼\MSGMCP2515
?????文件???????3092??2012-08-31?11:38??CEPARK+MCP2515+模塊+配套資料\配套代碼\MSGMCP2515.hex
?????文件?????????46??2012-08-31?11:38??CEPARK+MCP2515+模塊+配套資料\配套代碼\MSGMCP2515.lnp
?????文件??????19103??2012-08-31?11:38??CEPARK+MCP2515+模塊+配套資料\配套代碼\MSGMCP2515.M51
?????文件???????1856??2010-06-11?21:46??CEPARK+MCP2515+模塊+配套資料\配套代碼\MSGMCP2515.opt.bak
?????文件????????234??2012-09-27?19:17??CEPARK+MCP2515+模塊+配套資料\配套代碼\MSGMCP2515.plg
?????文件???????2039??2009-06-17?21:49??CEPARK+MCP2515+模塊+配套資料\配套代碼\MSGMCP2515.Uv2.bak
?????文件??????83990??2012-08-31?11:38??CEPARK+MCP2515+模塊+配套資料\配套代碼\MSGMCP2515.uvgui.lian
?????文件??????80683??2012-08-30?23:40??CEPARK+MCP2515+模塊+配套資料\配套代碼\MSGMCP2515.uvgui_lian.bak
?????文件??????47673??2012-09-27?19:17??CEPARK+MCP2515+模塊+配套資料\配套代碼\MSGMCP2515.uvopt
?????文件??????13236??2012-08-31?18:44??CEPARK+MCP2515+模塊+配套資料\配套代碼\MSGMCP2515.uvproj
?????文件???????1860??2010-04-08?12:03??CEPARK+MCP2515+模塊+配套資料\配套代碼\MSGMCP2515_Opt.Bak
?????文件???????2179??2009-06-17?21:43??CEPARK+MCP2515+模塊+配套資料\配套代碼\MSGMCP2515_Uv2.Bak
?????文件??????47677??2012-09-24?18:09??CEPARK+MCP2515+模塊+配套資料\配套代碼\MSGMCP2515_uvopt.bak
?????文件??????13266??2012-08-30?14:37??CEPARK+MCP2515+模塊+配套資料\配套代碼\MSGMCP2515_uvproj.bak
?????文件???????1619??2012-08-30?23:35??CEPARK+MCP2515+模塊+配套資料\配套代碼\SPI.h
?????文件???????5115??2002-04-16?14:32??CEPARK+MCP2515+模塊+配套資料\配套代碼\STARTUP.A51
?????文件??????11666??2012-08-30?13:47??CEPARK+MCP2515+模塊+配套資料\配套代碼\STARTUP.LST
?????文件????????749??2012-08-30?13:47??CEPARK+MCP2515+模塊+配套資料\配套代碼\STARTUP.OBJ
?????文件?????477255??2012-09-27?19:17??CEPARK+MCP2515+模塊+配套資料\用戶手冊(cè)\CEPARK?MCP2515?CAN通信模塊?使用說明.pdf
?????文件????1051136??2006-06-26?14:02??CEPARK+MCP2515+模塊+配套資料\常用工具軟件\UartAssist\UartAssis.exe
?????文件?????216064??2004-02-25?11:15??CEPARK+MCP2515+模塊+配套資料\常用工具軟件\SJA1000波特率計(jì)算\Btr01.exe
?????文件?????216064??2007-11-12?08:35??CEPARK+MCP2515+模塊+配套資料\常用工具軟件\SJA1000波特率計(jì)算\NXP_CAN\Btr01.exe
............此處省略55個(gè)文件信息
評(píng)論
共有 條評(píng)論