⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 can591_peliconf.asm

📁 P87C591的CAN通讯程序模块
💻 ASM
📖 第 1 页 / 共 2 页
字号:
;;/*
;********************************************************************************************************************
;*描述:    带CAN 控制器的单片机P8XC951基本硬件头文件定义 CAN 工作方式)
;*文件名:   CAN591_PELIConf.asm
;*应用语言: KEIL A51/L51	or	Intel A51/L51
;*版本 :    V1.0
;*广州周立功单片机发展有限公司 保留所有的版权
;********************************************************************************************************************
;;*/

;;;/*$page;*/
;;;/*
;********************************************************************************************************************
;** 关于591PeliCAN模式下一些必须说明的问题:
;**     1、PeliCAN模式下标准帧和扩展帧的应用:
;**     2、双滤波器的应用
;**     3、自我测试功能的应用
;********************************************************************************************************************
;;*/

;;;/*$page;*/

;;;/*
;;********************************************************************************************************************
;;*以下为591的can的特殊功能寄存器,功能及用法请看591的数据手册 
;;********************************************************************************************************************
;;;*/
;;;/*$page;*/
	REG_CANSTA  DATA  	0C0H
	REG_CANADR  DATA  	0C1H
	REG_CANDAT  DATA  	0C2H
	REG_CANCON  DATA  	0C3H
	REG_CANMOD  DATA  	0C4H

;;;/*
;;********************************************************************************************************************
;;*以下为591的can地址下的寄存器,功能及用法请看591的数据手册 
;;********************************************************************************************************************
;;;*/
;;;/*$page;*/

;;;/*
;;********************************************************************************************************************
;;* 模式和控制寄存器的地址和位定义PeliCAN模式
;;********************************************************************************************************************
;;;*/
        REG_CAN_MOD  EQU       00                 		;;;//内部控制寄存器

         RM_RR_Bit   EQU       01H                      ;;//复位模式(请求)位
         LOM_Bit     EQU       02H                      ;;//监听模式位
         STM_Bit     EQU       04H                      ;;//自我测试模式位
         AFM_Bit     EQU       08H                      ;;//验收滤波器模式位
         SM_Bit      EQU       10H                      ;;//睡眠模式位
         RPM_BIT     EQU       20H                      ;;//接收优先级模式
         TM_BIT      EQU       80H                      ;;//测试模式
 
;;/*
;********************************************************************************************************************
;* 命令寄存器的地址和位定义 PeliCAN模式
;********************************************************************************************************************
;;*/
         REG_CAN_CMR EQU       01H                      ;;//命令寄存器

         TR_Bit      EQU       01H                      ;;//发送请求位
         AT_Bit      EQU       02H                      ;;//中止发送位
         RRB_Bit     EQU       04H                      ;;//释放接收缓冲器位
         CDO_Bit     EQU       08H                      ;;//清除数据溢出位
         SRR_Bit     EQU       10H                      ;;//自身接收请求位

;;/*
;********************************************************************************************************************
;* 状态寄存器的地址和位定义 PeliCAN模式
;********************************************************************************************************************
;;*/
         REG_CAN_SR  EQU       02                      ;;//状态寄存器

         RBS_Bit     EQU       01H                      ;;//接收缓冲器状态位
         DOS_Bit     EQU       02H                      ;;//数据溢出状态位
         TBS_Bit     EQU       04H                      ;;//发送缓冲器状态位
         TCS_Bit     EQU       08H                      ;;//发送完成状态位
         RS_Bit      EQU       10H                      ;;//接收状态位
         TS_Bit      EQU       20H                      ;;//发送状态位
         ES_Bit      EQU       40H                      ;;//错误状态位
         BS_Bit      EQU       80H                      ;;//总线状态位

;;/*
;********************************************************************************************************************
;* 中断寄存器的地址和位定义 PeliCAN模式
;********************************************************************************************************************
;;*/
         REG_CAN_IR  EQU       03                      ;;//中断寄存器

         RI_Bit      EQU       01H                      ;;//接收中断位
         TI_Bit      EQU       02H                      ;;//发送中断位
         EI_Bit      EQU       04H                      ;;//错误警告中断位
         DOI_Bit     EQU       08H                      ;;//数据溢出中断位
         WUI_Bit     EQU       10H                      ;;//唤醒中断位
         EPI_Bit     EQU       20H                      ;;//错误消极中断位
         ALI_Bit     EQU       40H                      ;;//仲裁丢失中断位
         BEI_Bit     EQU       80H                      ;;//总线错误中断位

;;/*
;********************************************************************************************************************
;* 中断寄存器的地址和位定义 PeliCAN模式
;********************************************************************************************************************
;;*/
         REG_CAN_IER EQU       04                      ;;//中断使能寄存器

         RIE_Bit     EQU       01H                      ;;//接收中断使能位
         TIE_Bit     EQU       02H                      ;;//发送中断使能位
         EIE_Bit     EQU       04H                      ;;//错误警告中断使能位
         DOIE_Bit    EQU       08H                      ;;//数据溢出中断使能位
         WUIE_Bit    EQU       10H                      ;;//唤醒中断使能位
         EPIE_Bit    EQU       20H                      ;;//错误消极中断使能位
         ALIE_Bit    EQU       40H                      ;;//仲裁丢失中断使能位
         BEIE_Bit    EQU       80H                      ;;//总线错误中断使能位

;;/*
;********************************************************************************************************************
;*  05  中断级寄存器
;********************************************************************************************************************
;;*/
	 REG_CAN_RIL  EQU      05H                      ;;//中断级寄存器
;;/*
;********************************************************************************************************************
;* 总线定时器寄存器的地址和位定义 PeliCAN模式
;********************************************************************************************************************
;;*/
         REG_CAN_BTR0 EQU      06                       ;;//总线定时器0寄存器

         REG_CAN_BTR1 EQU      07H                      ;;//总线定时器1寄存器
         SAM_Bit      EQU      80H                      ;;//采样模式位;0==总线被采样1次;1== 总线被采样3次

;;/*
;********************************************************************************************************************
;* 9  RX接收信息计数寄存器
;********************************************************************************************************************
;;*/
         REG_CAN_RMC  EQU      09H          ;;//RX 信息计数器 寄存器  

;;/*
;********************************************************************************************************************
;* 10  RX接收缓冲区起始地址寄存器
;********************************************************************************************************************
;;*/
         REG_CAN_RBSA EQU      10           ;;//RX 缓冲区起始地址 寄存器

;;/*
;********************************************************************************************************************
;* 其他寄存器的地址定义 PeliCAN模式
;********************************************************************************************************************
;;*/
         REG_CAN_ALC EQU      11            ;;//仲裁丢失捕捉寄存器
         REG_CAN_ECC EQU      12            ;;//错误捕捉寄存器

         REG_CAN_EWLR EQU     13            ;;//错误报警限制寄存器

         REG_CAN_RXERR EQU    14            ;;//RX 错误计数器寄存器

         REG_CAN_TXERR EQU    15            ;;//TX 错误计数器寄存器

;;/*
;********************************************************************************************************************
;* 29  ACF验收滤波器模式选择寄存器
;********************************************************************************************************************
;;*/
        REG_CAN_ACFMOD  EQU   29

        ACF1_1FT        EQU    01        
        ACF1_2FT        EQU    00        
        ACF1_SFF        EQU    00
        ACF1_EFF        EQU    02

        ACF2_1FT        EQU    04        
        ACF2_2FT        EQU    00        
        ACF2_SFF        EQU    00
        ACF2_EFF        EQU    08

        ACF3_1FT        EQU    10H        
        ACF3_2FT        EQU    00H        
        ACF3_SFF        EQU    00H
        ACF3_EFF        EQU    20H

        ACF4_1FT        EQU    40H        
        ACF4_2FT        EQU    00H        
        ACF4_SFF        EQU    00H
        ACF4_EFF        EQU    80H

;;/*
;********************************************************************************************************************
;* 30  ACF验收滤波器使能寄存器
;********************************************************************************************************************
;;*/
         REG_CAN_ACFEN  EQU     30

         DISABLE_ACF    EQU     00       
         ACF1_FT1EN     EQU     01
         ACF1_FT2EN     EQU     02
         ACF2_FT1EN     EQU     04
         ACF2_FT2EN     EQU     08
         ACF3_FT1EN     EQU     10H
         ACF3_FT2EN     EQU     20H
         ACF4_FT1EN     EQU     40H
         ACF4_FT2EN     EQU     80H

;;/*
;********************************************************************************************************************
;* 31  ACF验收滤波器优先级寄存器
;********************************************************************************************************************
;;*/

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -