SJA1000程序
SJA1000程序
系统can地址为550,用于can系统测试,应用T0定时器每隔1s向can总线发送一组数据:数据长度为8个字节,
首字节为05H,第二个字节为累加变量,每秒钟数值增加1,
*********************************************************************************************************
CONTROLLER_BASE EQU 7E00H ;SJA1000的片选地址
RCV_GOOD BIT 0FH ;成功的接收一帧标志
SEC_FLAG BIT 010H ;一秒到标志
ERR_FLAG BIT 011H ;监测到错误标志
SAVE_INT_INFO DATA 032H ;保存SJA1000中断寄存器的内容
SEND_DATA_BUF1 DATA 040H ;发送缓冲区
SEND_DATA_BUF2 DATA 041H
SEND_DATA_BUF3 DATA 042H
SEND_DATA_BUF4 DATA 043H
SEND_DATA_BUF5 DATA 044H
SEND_DATA_BUF6 DATA 045H
SEND_DATA_BUF7 DATA 046H
SEND_DATA_BUF8 DATA 047H
SEND_DATA_BUF9 DATA 048H
SEND_DATA_BUF10 DATA 049H
RCV_DATA_BUF1 DATA 050H ;接收缓冲区
RCV_DATA_BUF2 DATA 051H
RCV_DATA_BUF3 DATA 052H
RCV_DATA_BUF4 DATA 053H
RCV_DATA_BUF5 DATA 054H
RCV_DATA_BUF6 DATA 055H
RCV_DATA_BUF7 DATA 056H
RCV_DATA_BUF8 DATA 057H
RCV_DATA_BUF9 DATA 058H
RCV_DATA_BUF10 DATA 059H
ERROR_STATUS DATA 07CH ;错误状态表示
TEST_DATA DATA 07FH ;测试发送数据
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;程序开始
ORG 0000H
LJMP MAIN ;运行主程序
ORG 0003H
LJMP BCAN_INT0 ;中断方式访问SJA1000程序
ORG 000BH
LJMP T0_INTERRUPT ;定时器0中断
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
ORG 0100H ;程序开始
MAIN:
MOV R0,#07fH
CLR A
MOV @R0,A
DJNZ R0,$-1
MOV @R0,A
MOV SP,#60H ;设置SP
CLR P2.0 ;SJA1000退出硬件复位模式
LCALL SJA1000_INT0 ;初始化SJA1000
LCALL T0_INIT
CLR P3.4 ;点亮指示灯
SETB PX0
SETB IT0
SETB EX0
SETB ET0
SETB TR0
SETB EA
LOOPER:
JNB RCV_GOOD,LOOPER2 ;sja1000成功接收一帧,通知CPU处理
CLR RCV_GOOD
LCALL RCVDATA_PRG
LOOPER2:
JNB SEC_FLAG,LOOPER3 ;一秒时间到,每秒发送一次
CLR SEC_FLAG
CLR P3.5 ;点亮指示灯
LCALL SENDDATA_PRG
LOOPER3:
JNB ERR_FLAG,LOOPER4 ;错误标志,错误处理
CLR ERR_FLAG
LCALL ERR_PRG
LOOPER4:
AJMP LOOPER
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;初始化SJA1000;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
SJA1000_INT0:
LCALL BCAN_CREATE_COMMUNATION ;调用SJA1000接口测试函数
你可能喜欢
- sja1000
- CAN总线详细教程
- can总线程序
- PCA82C250
- 模块控制器
- 工程电路
- CAN总线设计
- sja10003页
- sja1000 CAN波特率的计算2页
- nxp-sja10001页
- sja1000模拟读写1页
- sja10008页
- ATmega16控制的sja1000 can总线自收发程序16页
- CAN总线详细教程,精心编制,不可错过120页
- CAN总线详细教程_精心编制_不可错过120页
- CAN总线详细教程,精心编制,不可错过51页
- CAN总线详细教程,精心编制,不可错过120页
- CAN总线详细教程_精心编制_不可错过120页
- CAN总线详细教程_精心编制_不可错过120页
- mcp2510的can总线收发器程序6页
- can总线收发程序RECTX.ASM3页
- ATmega16控制的sja1000 can总线自收发程序16页
- can总线程序2页
- can总线程序3页
- can总线发送程序7页
- PCA82C250[1]21页
- PCA82C250(CAN总线收发器)18页
- PCA82C25018页
- PCA82C250周立功8页
- PCA82C25017页
- PCA82C250相关资料3页
- LED点阵模块控制器1页
- LED点阵模块控制器[1]45页
- TMC-424模块控制器使用说明18页
- 西威温度模块控制器7页
- DS1877:SFP光模块控制器1页
- s6b0724_12864液晶模块控制器说明英文版71页
- 电气工程师_电路基础91页
- 电气工程师_电路的分析方法81页
- 20种工程电路7页
- 工程电路分析答案(英文版)15页
- 工程电路分析答案(英文版)34页
- 工程电路分析答案(英文版)19页


