MCP2510与pic18F8722间C语言通信
- 格式:doc
- 大小:91.50 KB
- 文档页数:3
利用VB6.0与MCP2510实现 DeviceNet通信协议
朱飞
【期刊名称】《电子产品世界》
【年(卷),期】2003(000)001
【摘要】DeviceNet是应用日益广泛的一种底层设备现场总线技术.本文着重分析DeviceNet中预定义主/从连接组的协议规范,介绍利用VB6.0与MCP2510实现预定义主/从连接组的硬件电路和软件编程方法.
【总页数】3页(P31-33)
【作者】朱飞
【作者单位】福州大学电气工程系
【正文语种】中文
【中图分类】TP393
【相关文献】
1.CAN系统中DeviceNET通信协议的研究与实现 [J], 张宇;涂玲英;曾凡平
2.利用VB6.0与MCP2510实现DeviceNet通信协议 [J], 朱飞
3.利用VB6.0编程实现全站仪三维坐标数据解算 [J], 唐超群
4.利用VB6.0与MCP2510实现 DeviceNet通信协议 [J], 朱飞
5.利用VB
6.0实现组合逻辑电路仿真 [J], 张鼎;王治文;钱昕华;夏夷飞;王添祺
因版权原因,仅展示原文概要,查看原文内容请购买。
用PIC16F876和MCP2510实现CAN总线通信模块的方案于大元;万永波;戴庆瑜
【期刊名称】《电气传动自动化》
【年(卷),期】2002(024)005
【摘要】叙述了应用PIC16F876和MCP2510实现CAN总线数据通信模块,模块内部采用SPI数据传输与PWM输出控制,组成一个演示系统。
给出了系统结构框图与软硬件设计思路,提出了一种具有高可靠性、实时性和灵活性的CAN总线通信网络的实现方法。
【总页数】3页(P43-45)
【作者】于大元;万永波;戴庆瑜
【作者单位】陕西科技大学自动控制工程系,陕西咸阳 712081;陕西科技大学自动控制工程系,陕西咸阳 712081;陕西科技大学自动控制工程系,陕西咸阳712081
【正文语种】中文
【中图分类】TP336
【相关文献】
1.基于MCP2510的CAN总线分析仪的实现 [J], 李玉龙;田野;刘桥
2.基于S3C44B0X和MCP2510的CAN总线接口的实现 [J], 高建华;李红光;陈帅
3.单片机和MCP2510的CAN总线通信模块设计 [J], 杨庆华;张景元
4.基于单片机和MCP2510的CAN总线通信模块的设计 [J], 张景元;杨庆华
5.基于CAN总线的柴油机通信模块设计与实现 [J], 代宏泽
因版权原因,仅展示原文概要,查看原文内容请购买。
以MCP2510爲控制器的CAN总綫使用後心得经过对由MCP2510爲控制器的CAN汇流排的应用,大致得出了以下结论。
一.首先是对晶片的电路接法,MCP2510的4、5、6、10、11可以空置,第3脚(CLK输出脚)可以接到CPU的OSC脚,以取代CPU的震荡体,但最好不用。
如果对实时要求不高的话,第12脚(中断脚)也可以空置。
还有因爲MCP2551性能不好,易损坏。
连到TXCAN、RXCAN的LED和5V间的电阻阻值不宜过小,取5K以上,最好不接。
MCP2551的8脚决定了晶片的工作功耗,接地是高速模式(功耗大),接5V就会进入低功耗模式,和地之间接47K电阻是斜率模式(经常是用这种方式)。
第5脚的功能是输出VDD/2的电压,供别的晶片使用,这里不用接。
最好用PCA82C250/251取代,管脚的接法和用法和MCP2551相容。
二.这部分主要是对SPI和晶片的操作码作一分析。
下面的例子都是以PIC16F877爲平台,用组合语言来编写。
对SPI介面的读写方法如下:初始化SPI:InitSSPBANKSEL SSPSTAT ; SSPSTAT = 0x94 CKE=0 for mode 00 Operationbsf SSPSTAT,6bcf SSPSTAT,7BANKSEL PORT_CS2510 ; The PORT of CS2510 pin's locationbsf CS2510BANKSEL SSPCON ; SSPCON = 0x20movlw b'00100000' ; CKP=0 , Master Mode with Fosc/4 clockmovwf SSPCONreturnSPI介面的读和写。
写:先把数传入W,再调用Write_SPI_Byte。
读:先调用Write_SPI_Byte,读出的资料存放在W。
每次读写时要使CS脚爲0,读写完毕CS置1,下面是副程式:Write_SPI_ByteBANKSEL SSPBUFmovwf SSPBUFBANKSEL SSPSTAT ; Switch to SSPSTAT in order to test the BF FlagWait_BFbtfss SSPSTAT,BFgoto Wait_BFBANKSEL SSPBUF ; Read from SSPBUF will update BF Flag Automately !!movf SSPBUF,Wreturn控制MCP2510晶片方法:先说一下MCP2510晶片的操作,共有6个操作码,重定,位元修改,读数据,写资料,读晶片的各发送器和接收器的状态,请求发送开始。
MCP2510单机控制器在目前市场上是体积最小,最易于使用的CAN控制器。
将MCP2510和高性能的P 单片机结合使用即可支持基于CAN的应用。
它可运用于一些须实时控制的局域网场合,如:1.汽车器控制;2.楼宇防盗监控系统;3.楼宇自动化系统;4. 智能住宅小区;5.安防系统;6.门禁系统等使用独立的CAN控制器潜在的优势,系统开发人员可以从更多种类的单片机中选择最合理、最理想
方案。
MCP2510只要跟MCU和驱动芯片(82C250)就可以构成一个简易局域网的节点。
并完全实现CAN2.
和CAN2.0B:
·每个信息长度为0-8bytes
·有标准帧和扩展帧两种可选择
·可编程(最高速率为1M)/S
·支持远程帧
·两个接收缓冲区
·六个接收过滤器
·两个接收主控过滤器
·三个发送缓冲区
MCP2510的电特性参数:
·工作电压:2.7V-5.5V
·具有低功耗睡眠状态
·工作电流:5mA(待机电流10uA)
·工作温度:I(-40℃- +85℃)、E(-40℃ +125℃)
·具有高速SPI接口(5MHz/4.5v),方便MCU连接
·支持SPI0.0和SPI1.1两种模式
·具有6个中断接口
引脚封装:18P、18SO、20TSSOP
MCP2510的引脚封装图:
MCP2510的内部结构:
MCP2510的一些应用简易图。
基于MCP2510 和51单片机组建的CAN网络及其Keil C
语言详细实现
于亚征;邢文生
【期刊名称】《焦作大学学报》
【年(卷),期】2007(21)2
【摘要】MCP2510是独立CAN控制器, 支持V2.0A/B 技术规范, SPI串行接口实现与单片机的通讯.文章使用MCP2510 和51单片机实现CAN总线网络,主要介绍硬件电路及其收发过程的Keil C语言实现.
【总页数】3页(P59-60,62)
【作者】于亚征;邢文生
【作者单位】河南理工大学,河南,焦作,454000;焦作大学,河南,焦作,454003
【正文语种】中文
【中图分类】TP393.09
【相关文献】
1.基于Proteus和Keil C的MCS-51单片机虚拟实验室的建立 [J], 肖令禄;朱志平
2.用Keil C语言实现精确延时的技术研究 [J], 邓全;李磊;彭凤超
3.MCP2510及ADSP2191在CAN网络中的应用 [J], 陆建军;胡仁杰
4.Keil C下基于AT89C51单片机双极型PWM的软件实现 [J], 曹远洪;谢勇辉;梅刚华
5.一种安全的无线门禁系统及其Keil c语言实现 [J], 邢文生;李希臣
因版权原因,仅展示原文概要,查看原文内容请购买。
PIC18f8772 串口通讯/*******************************************************MCU:PIC18f8772** 功能:串口接收** 说明:轮询方式** 时间:2012-5-28 Lzy*******************************************************/#include/*串口初始化*/voidUartInit(void){RCSTA1bits.SPEN=1;// 串口使能TRISCbits.TRISC7=1;// 异步串行接收数据输入TRISCbits.TRISC6=0;// 异步和同步主模式,TRISC 零(= 0)// TXSTA1:发送状态和控制寄存器TXSTA1bits.SYNC=0;// 异步模式TXSTA1bits.TX9=0;// 选择8 位发送TXSTA1bits.TXEN=1;// 禁止发送TXSTA1bits.BRGH=1;// 高速TXSTA1bits.TXEN=1;// 使能发送// RCSTA1:接收状态和控制寄存器RCSTA1bits.RX9=0;// 选择8 位接收RCSTA1bits.CREN=1;// 使能接收器// BAUDCON1:波特率控制寄存器BAUDCON1bits.BRG16=0;// 8 位波特率发生器SPBRGHx 和SPBRGxSPBRG1=25;TRISF=0;}voidmain(){UartInit(); if(PIR1bits.RC1IF)// 已接收数据{PORTF=RCREG1;// 读取接收到的数据}}/*******************************************************MCU:PIC18f8772** 功能:串口发送** 说明:** 时间:2012-5-28 Lzy*******************************************************/#include/*串口初始化*/voidUartInit(void){RCSTA1bits.SPEN=1;// 串口使能TRISCbits.TRISC7=1;// 异步串行接收数据输入TRISCbits.TRISC6=0;// 异步和同步主模式,TRISC 零(= 0)// TXSTA1:发送状态和控制寄存器TXSTA1bits.SYNC=0;// 异步模式TXSTA1bits.TX9=0;// 选择8 位发送TXSTA1bits.TXEN=1;// 禁止发送TXSTA1bits.BRGH=1;// 高速TXSTA1bits.TXEN=1;// 使能发送// RCSTA1:接收状态和控制寄存器。
MCP2510与pic18F8722间C语言通信
1.要实现的功能:通过CAN总线指令协议,利用MCP2510和
PIC18F8722分别对61*9的开关阵列和127*9的开关阵列进行选通控制。
2.具体要求:
(1)、CAN总线指令协议见附件(1)。
(2)、MCP2510与PIC18F8722的连接见下图(1)。
MCP2510与PIC18F8722的芯片资料分别见附件(2)和附件(3)。
芯片供电3.3V,系统供电5V。
图(1). MCP2510与PIC18F8722的连接
(3)、开关阵列的描述:
开关阵列总共分9层,61*9的每层有61个开关,用六根线控制;127*9的每层有127个开关,用7根线控制。
根据线的状态来选通开关,以61*9的开关阵列为例,第一层的开关由1~6线控制,其中第六线为高位;第二层的开关由7~12线控制,其中第12线为高位……第九层的开关由49~54线控制,其中54为高位。
这54线分别与PIC18F8722的port端口连接,通过CAN总线发送数据数组sw0~sw8进行控制,从而进行开关的选通控制。
开关矩阵J30J74控制线编号与单片机输出口之间对应关系见下表(1)和表(2)。