文件名称:PIC16F87X-CAN
介绍说明--下载内容来自于网络,使用问题请自行百度
;*** *** ***PIC16F87X CAN通信程序****************
list p=16f877 ;定义微控制器为PIC16F877芯片
include "p16f877.inc" ;16F877芯片的寄存器定义
include "MCP2510.inc" ;MACP2510芯片的寄存器定义
;**************寄存器与变量定义*******************
TxBytes equ 0x20 ;SPI发送数据寄存器
TxBase equ 0x2e
TxReg equ 0x2f
RxBytes equ 0x30 ;SPI接收数据寄存器
bSPICnt equ 0x40 ;待接收数据数寄存器
pSPIBuf equ 0x41 ;指向缓冲器的指针寄存器
b2510RegAdr equ 0x42 ;寄存器地址
b2510RegData equ 0x43 ;寄存器数据
b2510RegMask equ 0x44 ;屏蔽位
ValueH equ 0x45
ValueL equ 0x46
bIntSaveSt equ 0x47 ;暂存状态STATUS
bIntSaveFSR equ 0x48 ;暂存FSR
bIntSavePCLATH equ 0x49 ;暂存高位指针
bIntSaveW0 equ 0x7f ;暂存工作寄存器W的值
count equ 0x50 ;计数器
count1 equ 0x51
;************以下是一些需要的宏定义*************
SPI_Read macro Reg ;读取指定的MCP2510寄存器的值,并暂存W
movlw Reg
call Rd2510Reg
endm
-;*************** CAN通信程序****************
list p=16f877 ;定义微控制器为PIC16F877芯片
include "p16f877.inc" ;16F877芯片的寄存器定义
include "MCP2510.inc" ;MACP2510芯片的寄存器定义
;**************寄存器与变量定义*******************
TxBytes equ 0x20 ;SPI发送数据寄存器
TxBase equ 0x2e
TxReg equ 0x2f
RxBytes equ 0x30 ;SPI接收数据寄存器
bSPICnt equ 0x40 ;待接收数据数寄存器
pSPIBuf equ 0x41 ;指向缓冲器的指针寄存器
b2510RegAdr equ 0x42 ;寄存器地址
b2510RegData equ 0x43 ;寄存器数据
b2510RegMask equ 0x44 ;屏蔽位
ValueH equ 0x45
ValueL equ 0x46
bIntSaveSt equ 0x47 ;暂存状态STATUS
bIntSaveFSR equ 0x48 ;暂存FSR
bIntSavePCLATH equ 0x49 ;暂存高位指针
bIntSaveW0 equ 0x7f ;暂存工作寄存器W的值
count equ 0x50 ;计数器
count1 equ 0x51
;************以下是一些需要的宏定义*************
SPI_Read macro Reg ;读取指定的MCP2510寄存器的值,并暂存W
movlw Reg
call Rd2510Reg
endm
list p=16f877 ;定义微控制器为PIC16F877芯片
include "p16f877.inc" ;16F877芯片的寄存器定义
include "MCP2510.inc" ;MACP2510芯片的寄存器定义
;**************寄存器与变量定义*******************
TxBytes equ 0x20 ;SPI发送数据寄存器
TxBase equ 0x2e
TxReg equ 0x2f
RxBytes equ 0x30 ;SPI接收数据寄存器
bSPICnt equ 0x40 ;待接收数据数寄存器
pSPIBuf equ 0x41 ;指向缓冲器的指针寄存器
b2510RegAdr equ 0x42 ;寄存器地址
b2510RegData equ 0x43 ;寄存器数据
b2510RegMask equ 0x44 ;屏蔽位
ValueH equ 0x45
ValueL equ 0x46
bIntSaveSt equ 0x47 ;暂存状态STATUS
bIntSaveFSR equ 0x48 ;暂存FSR
bIntSavePCLATH equ 0x49 ;暂存高位指针
bIntSaveW0 equ 0x7f ;暂存工作寄存器W的值
count equ 0x50 ;计数器
count1 equ 0x51
;************以下是一些需要的宏定义*************
SPI_Read macro Reg ;读取指定的MCP2510寄存器的值,并暂存W
movlw Reg
call Rd2510Reg
endm
-;*************** CAN通信程序****************
list p=16f877 ;定义微控制器为PIC16F877芯片
include "p16f877.inc" ;16F877芯片的寄存器定义
include "MCP2510.inc" ;MACP2510芯片的寄存器定义
;**************寄存器与变量定义*******************
TxBytes equ 0x20 ;SPI发送数据寄存器
TxBase equ 0x2e
TxReg equ 0x2f
RxBytes equ 0x30 ;SPI接收数据寄存器
bSPICnt equ 0x40 ;待接收数据数寄存器
pSPIBuf equ 0x41 ;指向缓冲器的指针寄存器
b2510RegAdr equ 0x42 ;寄存器地址
b2510RegData equ 0x43 ;寄存器数据
b2510RegMask equ 0x44 ;屏蔽位
ValueH equ 0x45
ValueL equ 0x46
bIntSaveSt equ 0x47 ;暂存状态STATUS
bIntSaveFSR equ 0x48 ;暂存FSR
bIntSavePCLATH equ 0x49 ;暂存高位指针
bIntSaveW0 equ 0x7f ;暂存工作寄存器W的值
count equ 0x50 ;计数器
count1 equ 0x51
;************以下是一些需要的宏定义*************
SPI_Read macro Reg ;读取指定的MCP2510寄存器的值,并暂存W
movlw Reg
call Rd2510Reg
endm
相关搜索: can通信
(系统自动生成,下载前可以参看下载内容)
下载文件列表
PIC16F87X在CAN通信中的应用.doc
本网站为编程资源及源代码搜集、介绍的搜索网站,版权归原作者所有! 粤ICP备11031372号
1999-2046 搜珍网 All Rights Reserved.