1 / 13
文档名称:

基于CAN总线远距离水位监控系统.doc

格式:doc   页数:13页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

基于CAN总线远距离水位监控系统.doc

上传人:1006108867 2016/3/11 文件大小:0 KB

下载得到文件列表

基于CAN总线远距离水位监控系统.doc

文档介绍

文档介绍:.页眉. .页脚. /* 描述: 独立的 CAN 控制器 SJA1000 基本硬件头文件定义 AN 工作方式*/ #include <> #include<> #include<> #include<> #include <.h> #define uchar unsigned char #define uint unsigned int sbit CS7221 = P1^1; // 7221 的片选 sbit DIN7221 = P1^0; // 7221 的数据端 sbit CLK7221 = P1^2; // 7221 的时钟端 sbit wr_0804=P3^7; //0804 读端 sbit rd_0804=P3^6; //0804 写端 sbit intr_0804=P2^2; //0804 中断端 sbit cs_0804=P2^1; //0804 片选端 uchar temp,c[4]; // 温度暂存 uchar DATA_BUF[6]; // 发送数据暂存/************************************************************************ *SJA1000 与微处理器的接口是以外部存储器的方式,所以以下的基址定义,用户* * 应根据自己的实际电路来进行调整* ************************************************************************/ #define SJA_Adr 0xfe00 // 定义 sja1000 的片选基址// 计算 SJA1000 在电路中的实际地址: 基址+ 内部寄存器地址/************************************************************************ * 以下的定义为 SJA1000 的内部寄存器的地址,不可修改* * 各寄存器的具体功能清参阅 sja1000 的数据手册* ************************************************************************/ #define REG_CONTROL SJA_Adr+0x00 // 内部控制寄存器#define MAND SJA_Adr+0x01 // 命令寄存器#define REG_STATUS SJA_Adr+0x02 // 状态寄存器#define REG_INTERRUPT SJA_Adr+0x03 // 中断寄存器#define REG_ACR SJA_Adr+0x04 // 验收代码寄存器#define REG_AMR SJA_Adr+0x05 // 验收屏蔽寄存器#define REG_BTR0 SJA_Adr+0x06 // 总线定时寄存器 0 #define REG_BTR1 SJA_Adr+0x07 // 总线定时寄存器 1 #define REG_OCR SJA_Adr+0x08 // 输出控制寄存器#define REG_TEST SJA_Adr+0x09 // 测试寄存器// 以下为发送缓冲区寄存器定义#define REG_TxBuf1 SJA_Adr+0x0A // 发送缓冲区 1 #define REG_TxBuf2 SJA_Adr+0x0B // 发送缓冲区 2 #define REG_TxBuf3 SJA_Adr+0x0C // 发送缓冲区 3 #define REG_TxBuf4 SJA_Adr+0x0D // 发送缓冲区 4 .页眉. .页脚. #define REG_TxBuf5 SJA_Adr+0x0E // 发送缓冲区 5 #define REG_TxBuf6 SJA_Adr+0x0F // 发送缓冲区 6 #define REG_TxBuf7 SJA_Adr+0x10 // 发送缓冲区 7 #define REG_TxBuf8 SJA_Adr+0x11 // 发送缓冲区 8 #define REG_TxBuf9 SJA_Adr+0x12 // 发送缓冲区 9 #define REG_TxBuf10 SJA_Adr+0x13 // 发送缓冲区 10 // 以下为接收缓冲区寄存器定义#define REG_RxBuf1 SJA_Adr+0x14 // 接收缓冲区 1 #define REG_RxBuf2 SJA_Adr+0x15 // 接收缓冲区 2 #define REG_RxBuf3 SJA_Adr+0x16 // 接收缓冲区 3 #define REG_RxBuf4 SJA_A