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

📄 can.lis

📁 工业开关量检测模块的原代码,带断线检测功能
💻 LIS
📖 第 1 页 / 共 5 页
字号:
                        .module can.c
                        .area text(rom, con, rel)
 0000                   .dbfile D:\报警系统设计资料\报警系统软件\测量模块基于CAN的系统网程序\开关量CAN网\can.c
                        .area lit(rom, con, rel)
 0000           _CanBaud::
 0000 0204              .byte 2,4
 0002 13                .byte 19
 0003 0604              .byte 6,4
 0005 13                .byte 19
 0006 0E04              .byte 14,4
 0008 13                .byte 19
 0009 1204              .byte 18,4
 000B 13                .byte 19
 000C 1E04              .byte 30,4
 000E 13                .byte 19
 000F 2604              .byte 38,4
 0011 13                .byte 19
 0012                   .dbsym e CanBaud _CanBaud A[18:6:3]kc
                        .area data(ram, con, rel)
 0000                   .dbfile D:\报警系统设计资料\报警系统软件\测量模块基于CAN的系统网程序\开关量CAN网\can.c
 0000           _CANMOBID::
 0000                   .blkb 4
                        .area idata
 0000 00000010          .word 0,4096
                        .area data(ram, con, rel)
 0004                   .dbfile D:\报警系统设计资料\报警系统软件\测量模块基于CAN的系统网程序\开关量CAN网\can.c
 0004                   .blkb 4
                        .area idata
 0004 00000020          .word 0,8192
                        .area data(ram, con, rel)
 0008                   .dbfile D:\报警系统设计资料\报警系统软件\测量模块基于CAN的系统网程序\开关量CAN网\can.c
 0008                   .blkb 4
                        .area idata
 0008 00000030          .word 0,12288
                        .area data(ram, con, rel)
 000C                   .dbfile D:\报警系统设计资料\报警系统软件\测量模块基于CAN的系统网程序\开关量CAN网\can.c
 000C                   .blkb 4
                        .area idata
 000C 00000040          .word 0,16384
                        .area data(ram, con, rel)
 0010                   .dbfile D:\报警系统设计资料\报警系统软件\测量模块基于CAN的系统网程序\开关量CAN网\can.c
 0010                   .blkb 4
                        .area idata
 0010 00000050          .word 0,20480
                        .area data(ram, con, rel)
 0014                   .dbfile D:\报警系统设计资料\报警系统软件\测量模块基于CAN的系统网程序\开关量CAN网\can.c
 0014                   .blkb 4
                        .area idata
 0014 00000060          .word 0,24576
                        .area data(ram, con, rel)
 0018                   .dbfile D:\报警系统设计资料\报警系统软件\测量模块基于CAN的系统网程序\开关量CAN网\can.c
 0018                   .blkb 4
                        .area idata
 0018 00000001          .word 0,256
                        .area data(ram, con, rel)
 001C                   .dbfile D:\报警系统设计资料\报警系统软件\测量模块基于CAN的系统网程序\开关量CAN网\can.c
 001C                   .blkb 4
                        .area idata
 001C 01000001          .word 1,256
                        .area data(ram, con, rel)
 0020                   .dbfile D:\报警系统设计资料\报警系统软件\测量模块基于CAN的系统网程序\开关量CAN网\can.c
 0020                   .blkb 4
                        .area idata
 0020 00FF0002          .word 65280,512
                        .area data(ram, con, rel)
 0024                   .dbfile D:\报警系统设计资料\报警系统软件\测量模块基于CAN的系统网程序\开关量CAN网\can.c
 0024                   .blkb 4
                        .area idata
 0024 01000012          .word 1,4608
                        .area data(ram, con, rel)
 0028                   .dbfile D:\报警系统设计资料\报警系统软件\测量模块基于CAN的系统网程序\开关量CAN网\can.c
 0028                   .blkb 4
                        .area idata
 0028 02000001          .word 2,256
                        .area data(ram, con, rel)
 002C                   .dbfile D:\报警系统设计资料\报警系统软件\测量模块基于CAN的系统网程序\开关量CAN网\can.c
 002C                   .blkb 4
                        .area idata
 002C 03000001          .word 3,256
                        .area data(ram, con, rel)
 0030                   .dbfile D:\报警系统设计资料\报警系统软件\测量模块基于CAN的系统网程序\开关量CAN网\can.c
 0030                   .blkb 4
                        .area idata
 0030 04000001          .word 4,256
                        .area data(ram, con, rel)
 0034                   .dbfile D:\报警系统设计资料\报警系统软件\测量模块基于CAN的系统网程序\开关量CAN网\can.c
 0034                   .blkb 4
                        .area idata
 0034 05000001          .word 5,256
                        .area data(ram, con, rel)
 0038                   .dbfile D:\报警系统设计资料\报警系统软件\测量模块基于CAN的系统网程序\开关量CAN网\can.c
 0038                   .blkb 4
                        .area idata
 0038 01FF0013          .word 65281,4864
                        .area data(ram, con, rel)
 003C                   .dbfile D:\报警系统设计资料\报警系统软件\测量模块基于CAN的系统网程序\开关量CAN网\can.c
 003C                   .dbsym e CANMOBID _CANMOBID A[60:15]l
 003C           _CANMOBMD::
 003C                   .blkb 4
                        .area idata
 003C FFFF0000          .word 65535,0
                        .area data(ram, con, rel)
 0040                   .dbfile D:\报警系统设计资料\报警系统软件\测量模块基于CAN的系统网程序\开关量CAN网\can.c
 0040                   .blkb 4
                        .area idata
 0040 FFFF0000          .word 65535,0
                        .area data(ram, con, rel)
 0044                   .dbfile D:\报警系统设计资料\报警系统软件\测量模块基于CAN的系统网程序\开关量CAN网\can.c
 0044                   .blkb 4
                        .area idata
 0044 FFFF0000          .word 65535,0
                        .area data(ram, con, rel)
 0048                   .dbfile D:\报警系统设计资料\报警系统软件\测量模块基于CAN的系统网程序\开关量CAN网\can.c
 0048                   .blkb 4
                        .area idata
 0048 FF00FF00          .word 255,255
                        .area data(ram, con, rel)
 004C                   .dbfile D:\报警系统设计资料\报警系统软件\测量模块基于CAN的系统网程序\开关量CAN网\can.c
 004C                   .blkb 4
                        .area idata
 004C FF00FF00          .word 255,255
                        .area data(ram, con, rel)
 0050                   .dbfile D:\报警系统设计资料\报警系统软件\测量模块基于CAN的系统网程序\开关量CAN网\can.c
 0050                   .blkb 4
                        .area idata
 0050 FF00FF00          .word 255,255
                        .area data(ram, con, rel)
 0054                   .dbfile D:\报警系统设计资料\报警系统软件\测量模块基于CAN的系统网程序\开关量CAN网\can.c
 0054                   .blkb 4
                        .area idata
 0054 FFFFFF1F          .word 65535,8191
                        .area data(ram, con, rel)
 0058                   .dbfile D:\报警系统设计资料\报警系统软件\测量模块基于CAN的系统网程序\开关量CAN网\can.c
 0058                   .blkb 4
                        .area idata
 0058 FFFFFF1F          .word 65535,8191
                        .area data(ram, con, rel)
 005C                   .dbfile D:\报警系统设计资料\报警系统软件\测量模块基于CAN的系统网程序\开关量CAN网\can.c
 005C                   .blkb 4
                        .area idata
 005C FFFFFF1F          .word 65535,8191
                        .area data(ram, con, rel)
 0060                   .dbfile D:\报警系统设计资料\报警系统软件\测量模块基于CAN的系统网程序\开关量CAN网\can.c
 0060                   .blkb 4
                        .area idata
 0060 FFFFFF1F          .word 65535,8191
                        .area data(ram, con, rel)
 0064                   .dbfile D:\报警系统设计资料\报警系统软件\测量模块基于CAN的系统网程序\开关量CAN网\can.c
 0064                   .blkb 4
                        .area idata
 0064 FFFFFF1F          .word 65535,8191
                        .area data(ram, con, rel)
 0068                   .dbfile D:\报警系统设计资料\报警系统软件\测量模块基于CAN的系统网程序\开关量CAN网\can.c
 0068                   .blkb 4
                        .area idata
 0068 FFFFFF1F          .word 65535,8191
                        .area data(ram, con, rel)
 006C                   .dbfile D:\报警系统设计资料\报警系统软件\测量模块基于CAN的系统网程序\开关量CAN网\can.c
 006C                   .blkb 4
                        .area idata
 006C FFFFFF1F          .word 65535,8191
                        .area data(ram, con, rel)
 0070                   .dbfile D:\报警系统设计资料\报警系统软件\测量模块基于CAN的系统网程序\开关量CAN网\can.c
 0070                   .blkb 4
                        .area idata
 0070 FFFFFF1F          .word 65535,8191
                        .area data(ram, con, rel)
 0074                   .dbfile D:\报警系统设计资料\报警系统软件\测量模块基于CAN的系统网程序\开关量CAN网\can.c
 0074                   .blkb 4
                        .area idata
 0074 FFFFFF1F          .word 65535,8191
                        .area data(ram, con, rel)
 0078                   .dbfile D:\报警系统设计资料\报警系统软件\测量模块基于CAN的系统网程序\开关量CAN网\can.c
 0078                   .dbsym e CANMOBMD _CANMOBMD A[60:15]l
 0078           _CANIDT::
 0078                   .blkb 1
                        .area idata
 0078 00                .byte 0
                        .area data(ram, con, rel)
 0079                   .dbfile D:\报警系统设计资料\报警系统软件\测量模块基于CAN的系统网程序\开关量CAN网\can.c
 0079                   .blkb 3
                        .area idata
 0079 000000            .byte 0,0,0
                        .area data(ram, con, rel)
 007C                   .dbfile D:\报警系统设计资料\报警系统软件\测量模块基于CAN的系统网程序\开关量CAN网\can.c
 007C                   .blkb 56
                        .area idata
 007C 00000000000000000000      .word 0,0,0,0,0
 0086 00000000000000000000      .word 0,0,0,0,0
 0090 00000000000000000000      .word 0,0,0,0,0
 009A 00000000000000000000      .word 0,0,0,0,0
 00A4 00000000000000000000      .word 0,0,0,0,0
 00AE 000000000000      .byte 0,0,0,0,0,0
                        .area data(ram, con, rel)
 00B4                   .dbfile D:\报警系统设计资料\报警系统软件\测量模块基于CAN的系统网程序\开关量CAN网\can.c
 00B4                   .dbsym e CANIDT _CANIDT A[60:15:4]c
 00B4           _CANIDM::
 00B4                   .blkb 1
                        .area idata
 00B4 00                .byte 0
                        .area data(ram, con, rel)
 00B5                   .dbfile D:\报警系统设计资料\报警系统软件\测量模块基于CAN的系统网程序\开关量CAN网\can.c
 00B5                   .blkb 3
                        .area idata
 00B5 000000            .byte 0,0,0
                        .area data(ram, con, rel)
 00B8                   .dbfile D:\报警系统设计资料\报警系统软件\测量模块基于CAN的系统网程序\开关量CAN网\can.c
 00B8                   .blkb 56
                        .area idata
 00B8 00000000000000000000      .word 0,0,0,0,0
 00C2 00000000000000000000      .word 0,0,0,0,0
 00CC 00000000000000000000      .word 0,0,0,0,0
 00D6 00000000000000000000      .word 0,0,0,0,0
 00E0 00000000000000000000      .word 0,0,0,0,0
 00EA 000000000000      .byte 0,0,0,0,0,0
                        .area data(ram, con, rel)
 00F0                   .dbfile D:\报警系统设计资料\报警系统软件\测量模块基于CAN的系统网程序\开关量CAN网\can.c
 00F0                   .dbsym e CANIDM _CANIDM A[60:15:4]c
                        .area text(rom, con, rel)
 0000                   .dbfile D:\报警系统设计资料\报警系统软件\测量模块基于CAN的系统网程序\开关量CAN网\can.c
 0000                   .dbfunc e can_init _can_init fV
                        .even
 0000           _can_init::
 0000                   .dbline -1
 0000                   .dbline 30
 0000           ; #include "main.h"
 0000           ; 
 0000           ; //#pragma interrupt_handler can_ReceiveData:19
 0000           ; 
 0000           ; /*******************************************************************
 0000           ; CAN initialization:
 0000           ; Mailbox 0: Receive  --> interrupt
 0000           ; Mailbox 1: Transmit --> polling
 0000           ; *******************************************************************/
 0000           ; #define TYP_RESET             5
 0000           ; #define TYP_BAUD              10
 0000           ; 
 0000           ; #define SELFID  2
 0000           ; 
 0000           ; extern unsigned char sysrst,Pass_Flag;
 0000           ; unsigned char canbaud;
 0000           ; extern VCI_CAN_OBJ rece_data[3];
 0000           ; 
 0000           ; const Uchar CanBaud[6][3]={{0x02,0x04,0x13},{0x06,0x04,0x13},{0x0E,0x04,0x13},{0x12,0x04,0x13},{0x1E,0x04,0x13},{0x26,0x04,0x13}};
 0000           ; //波特率数组
 0000           ; 
 0000           ; //15个MOB的ID和MID
 0000           ; unsigned long CANMOBID[15]={0x10000000,0x20000000,0x30000000,0x40000000,0x50000000,0x60000000,0x01000000,0x01000001,0x0200ff00,0x12000001,0x01000002,0x01000003,0x01000004,0x01000005,0x1300ff01};
 0000           ; unsigned long CANMOBMD[15]={0x0000ffff,0x0000ffff,0x0000ffff,0x00ff00ff,0x00ff00ff,0x00ff00ff,0x1fffffff,0x1fffffff,0x1fffffff,0x1fffffff,0x1fffffff,0x1fffffff,0x1fffffff,0x1fffffff,0x1fffffff};
 0000           ; unsigned char CANIDT[15][4]={0};
 0000           ; unsigned char CANIDM[15][4]={0};
 0000           ; Uchar counterTemp,send_count;
 0000           ; 
 0000           ; void can_init (void)                            //CAN初始化函数
 0000           ; {
 0000                   .dbline 31
 0000           ;  canMob_init();
 0000 01D0              xcall _canMob_init
 0002                   .dbline -2
 0002           L1:
 0002                   .dbline 0 ; func end
 0002 0895              ret
 0004                   .dbend
 0004                   .dbfunc e canMob_init _canMob_init fV
 0004           ;          temp2 -> R10,R11
 0004           ;          temp1 -> R22,R23
 0004           ;           temp -> y+0
 0004           ;              j -> R22
 0004           ;              i -> R20
                        .even
 0004           _canMob_init::
 0004 0E940000          xcall push_gset3
 0008 2497              sbiw R28,4
 000A                   .dbline -1
 000A                   .dbline 36
 000A           ; }
 000A           ; 
 000A           ; 
 000A           ; void canMob_init (void)                       //MOB初始化函数
 000A           ; {
 000A                   .dbline 41
 000A           ;     unsigned char i,j;
 000A           ;       unsigned long temp;
 000A           ;       unsigned int temp1,temp2;
 000A           ;       
 000A           ;       CLI();                                    //关中断
 000A F894              cli
 000C                   .dbline 43
 000C           ;       //DDRD=(1<<PD5)|(0<<PD6);   //TXCAN, RXCNA
 000C           ;       DDRD|=0x20;                               //CAN管脚初始化
 000C 559A              sbi 0xa,5
 000E                   .dbline 44
 000E           ;       DDRD&=0xBF;
 000E 8AB1              in R24,0xa
 0010 8F7B              andi R24,191
 0012 8AB9              out 0xa,R24
 0014                   .dbline 45
 0014           ;       CANGCON |= (1<<SWRES);              //reset CAN interface
 0014 8091D800          lds R24,216
 0018 8160              ori R24,1
 001A 8093D800          sts 216,R24
 001E                   .dbline 47
 001E           ;     
 001E           ;       Pass_Flag = 0x00;
 001E 2224              clr R2
 0020 20920000          sts _Pass_Flag,R2
 0024                   .dbline 49
 0024           ;       //CANMOBID[2]=(unsigned long)(SELFID<<8)|CANMOBID[2];
 0024           ;       for(i=0;i<6;i++)                          //15个邮箱初始化
 0024 4427              clr R20
 0026 48C0              xjmp L6
 0028           L3:

⌨️ 快捷键说明

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