资源简介
基于MCP2515的CAN模块资料,内有调试通过的程序,配上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 //数据长度
unsigned char inbuf1[INBUF_LEN];
unsigned char checksumcount3=0;
unsigned char a[8];
unsigned char b[8]={0x010x020x030x040x050x060x070x08};
/************************************************************************
*函数原型: void init_serialcomm(void) *
*参数说明: 串口初始化 *
*说明: 设值单片机的定时器1的方式选择波特率 。该子程序只能用于复位模式
************************************************************************/
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
}
//定时器0初始化
void timer0initial()
{
TMOD|=0x1; //工作方式16位定时计数器
TH0=0xb8;TL0=0x00; //50MS定时初值(T0计时用)
IE|=0x90; //Enable Serial Interrupt
ET0=0;
TR0=0;
}
//向串口发送一个字符
void send_char_com(unsigned char ch)
{
SBUF=ch;
while(!TI);
TI=0;
}
//向串口发送一个字符串strlen为该字符串长度
void send_string_com(unsigned char *strunsigned int strlen)
{
unsigned int k=0;
do
{
send_char_com(*(str+k));
k++;
}while(k }
//定时器0中断不够8个就在此发送
void time_intt0(void) interrupt 1 using 2
{
ET0=0;
TR0=0;
TH0=0xb8;
TL0=0x00;
sRXFlag=1;
}
//串口接收中断函数
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; //关闭定时中断,停止定时中断
sRXFlag=1;
}
}
}
/****************************************************
**函数原型: void ex1_int(void) interrupt 2 //using 1
**功 能: 外部中断1接收函数
**入口参数: 无
**出口参数: RevceData[]数组
**说 明: 当MCP2515收到正确的报文时会产生int1中断
*****************************************************/
void ex1_int(void) interrupt 2 using 1
{
gRXFlag=1;
}
/****************************************************
**函数原型: void Init_Cpu(void)
**功 能: 单片机初始化开放外部中断1
**入口参数: 无
**出口参数:
**说 明: 单片机初始化开放外部中断1
*****************************************************/
void Init_Cpu(void)
{
PX1=1;
EX1=1;
IT1=0;
EA=
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 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+模块+配套资料\用户手册\CEPARK MCP2515 CAN通信模块 使用说明.pdf
文件 1051136 2006-06-26 14:02 CEPARK+MCP2515+模块+配套资料\常用工具软件\UartAssist\UartAssis.exe
文件 216064 2004-02-25 11:15 CEPARK+MCP2515+模块+配套资料\常用工具软件\SJA1000波特率计算\Btr01.exe
文件 216064 2007-11-12 08:35 CEPARK+MCP2515+模块+配套资料\常用工具软件\SJA1000波特率计算\NXP_CAN\Btr01.exe
............此处省略55个文件信息
相关资源
- stm32_CAN测试代码.rar
- Prescan manual
- 很好用的can调试助手,
- PCAN window driver
- canoco4.5破解版
- CAN资料汇总极全
- Nmap Network Scanning pdf 完整版
- 项目驱动 CAN-bus现场总线基础教程
- Digital Image Processing 3th Edition by Gonzal
- 泥人MCP2515 CAN通讯模块资料含51程式
- 汽车电子嵌入式CAN诊断报文,CANlog解
- 31302_ResScan_6.0.1.zip
- ionic QRScanner扫描插件优化版(可扫条
- SCI 论文写作和发表:YOU CAN DO IT第2版
- CANdb++和Cdbstat.dll
- 佳能打印机G3800主板编程器固件
- Prescan学习手册
- 基于STM32F103的CAN总线通信节点设计原
- CapturePerfect v3.0
- CanFestival移植到arm的am3359
- ISO_14299协议.zip
- CANopen EDS 文件阅读/编辑器
- Nmap Network Scanning The Official Nmap Projec
- prescan教程.zip
- photomodeler scanner v6.2.2.596汉化破解原创
- photomodeler scanner64,含破解
- 项目驱动——CAN-bus现场总线基础教程
- Vector CANdb++
- 现场总线CAN原理与应用技术 第2版
- Canon EOS SDK3.6.1 最新版
评论
共有 条评论