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

📄 can.lis

📁 LED显示面板
💻 LIS
📖 第 1 页 / 共 5 页
字号:
 0020 20920000          sts _Pass_Flag,R2
 0024                   .dbline 52
 0024           ;       //CANMOBID[2]=(unsigned long)(SELFID<<8)|CANMOBID[2];
 0024           ;       for(i=0;i<6;i++)                          //15个邮箱初始化
 0024 4427              clr R20
 0026 48C0              xjmp L7
 0028           L4:
 0028                   .dbline 53
 0028                   .dbline 54
 0028 84E0              ldi R24,4
 002A 849F              mul R24,R20
 002C F001              movw R30,R0
 002E 80E0              ldi R24,<_CANMOBID
 0030 90E0              ldi R25,>_CANMOBID
 0032 E80F              add R30,R24
 0034 F91F              adc R31,R25
 0036 0081              ldd R16,z+0
 0038 1181              ldd R17,z+1
 003A 2281              ldd R18,z+2
 003C 3381              ldd R19,z+3
 003E 83E0              ldi R24,3
 0040 90E0              ldi R25,0
 0042 8A93              st -y,R24
 0044 0E940000          xcall lsl32
 0048 0883              std y+0,R16
 004A 1983              std y+1,R17
 004C 2A83              std y+2,R18
 004E 3B83              std y+3,R19
 0050                   .dbline 55
 0050 6881              ldd R22,y+0
 0052 7981              ldd R23,y+1
 0054                   .dbline 56
 0054 2880              ldd R2,y+0
 0056 3980              ldd R3,y+1
 0058 4A80              ldd R4,y+2
 005A 5B80              ldd R5,y+3
 005C 5201              movw R10,R4
 005E                   .dbline 57
 005E 84E0              ldi R24,4
 0060 849F              mul R24,R20
 0062 F001              movw R30,R0
 0064 80E0              ldi R24,<_CANIDT+3
 0066 90E0              ldi R25,>_CANIDT+3
 0068 E80F              add R30,R24
 006A F91F              adc R31,R25
 006C 6083              std z+0,R22
 006E                   .dbline 58
 006E 84E0              ldi R24,4
 0070 849F              mul R24,R20
 0072 F001              movw R30,R0
 0074 80E0              ldi R24,<_CANIDT+2
 0076 90E0              ldi R25,>_CANIDT+2
 0078 E80F              add R30,R24
 007A F91F              adc R31,R25
 007C 1B01              movw R2,R22
 007E 232C              mov R2,R3
 0080 3324              clr R3
 0082 2082              std z+0,R2
 0084                   .dbline 59
 0084 84E0              ldi R24,4
 0086 849F              mul R24,R20
 0088 F001              movw R30,R0
 008A 80E0              ldi R24,<_CANIDT+1
 008C 90E0              ldi R25,>_CANIDT+1
 008E E80F              add R30,R24
 0090 F91F              adc R31,R25
 0092 A082              std z+0,R10
 0094                   .dbline 60
 0094 84E0              ldi R24,4
 0096 849F              mul R24,R20
 0098 F001              movw R30,R0
 009A 80E0              ldi R24,<_CANIDT
 009C 90E0              ldi R25,>_CANIDT
 009E E80F              add R30,R24
 00A0 F91F              adc R31,R25
 00A2 1501              movw R2,R10
 00A4 232C              mov R2,R3
 00A6 3324              clr R3
 00A8 2082              std z+0,R2
 00AA                   .dbline 61
 00AA 80910000          lds R24,_Pass_Flag
 00AE 8F5F              subi R24,255    ; addi 1
 00B0 80930000          sts _Pass_Flag,R24
 00B4                   .dbline 62
 00B4 0000              nop
 00B6                   .dbline 63
 00B6           L5:
 00B6                   .dbline 52
 00B6 4395              inc R20
 00B8           L7:
 00B8                   .dbline 52
 00B8 4630              cpi R20,6
 00BA 08F4              brsh X0
 00BC B5CF              xjmp L4
 00BE           X0:
 00BE                   .dbline 64
 00BE           ;       {
 00BE           ;        temp=CANMOBID[i]<<3;                      //ID初始化
 00BE           ;        temp1=(unsigned int)temp;
 00BE           ;        temp2=(unsigned int)(temp/0x00010000);
 00BE           ;        CANIDT[i][3]=(unsigned char)temp1;
 00BE           ;        CANIDT[i][2]=(unsigned char)(temp1>>8);
 00BE           ;        CANIDT[i][1]=(unsigned char)temp2;
 00BE           ;        CANIDT[i][0]=(unsigned char)(temp2>>8); 
 00BE           ;        Pass_Flag = Pass_Flag + 1;
 00BE           ;        NOP();
 00BE           ;       }
 00BE           ;     if(Pass_Flag!=0x06)
 00BE 80910000          lds R24,_Pass_Flag
 00C2 8630              cpi R24,6
 00C4 11F0              breq L11
 00C6                   .dbline 65
 00C6           ;         RESET;
 00C6 0C940000          jmp 0x000
 00CA           L11:
 00CA                   .dbline 66
 00CA           ;        WDR();
 00CA A895              wdr
 00CC                   .dbline 68
 00CC           ;        
 00CC           ;        Pass_Flag = 0x00;
 00CC 2224              clr R2
 00CE 20920000          sts _Pass_Flag,R2
 00D2                   .dbline 69
 00D2           ;       for(i=0;i<6;i++)
 00D2 4427              clr R20
 00D4 48C0              xjmp L16
 00D6           L13:
 00D6                   .dbline 70
 00D6                   .dbline 71
 00D6 84E0              ldi R24,4
 00D8 849F              mul R24,R20
 00DA F001              movw R30,R0
 00DC 80E0              ldi R24,<_CANMOBMD
 00DE 90E0              ldi R25,>_CANMOBMD
 00E0 E80F              add R30,R24
 00E2 F91F              adc R31,R25
 00E4 0081              ldd R16,z+0
 00E6 1181              ldd R17,z+1
 00E8 2281              ldd R18,z+2
 00EA 3381              ldd R19,z+3
 00EC 83E0              ldi R24,3
 00EE 90E0              ldi R25,0
 00F0 8A93              st -y,R24
 00F2 0E940000          xcall lsl32
 00F6 0883              std y+0,R16
 00F8 1983              std y+1,R17
 00FA 2A83              std y+2,R18
 00FC 3B83              std y+3,R19
 00FE                   .dbline 72
 00FE 6881              ldd R22,y+0
 0100 7981              ldd R23,y+1
 0102                   .dbline 73
 0102 2880              ldd R2,y+0
 0104 3980              ldd R3,y+1
 0106 4A80              ldd R4,y+2
 0108 5B80              ldd R5,y+3
 010A 5201              movw R10,R4
 010C                   .dbline 74
 010C 84E0              ldi R24,4
 010E 849F              mul R24,R20
 0110 F001              movw R30,R0
 0112 80E0              ldi R24,<_CANIDM+3
 0114 90E0              ldi R25,>_CANIDM+3
 0116 E80F              add R30,R24
 0118 F91F              adc R31,R25
 011A 6083              std z+0,R22
 011C                   .dbline 75
 011C 84E0              ldi R24,4
 011E 849F              mul R24,R20
 0120 F001              movw R30,R0
 0122 80E0              ldi R24,<_CANIDM+2
 0124 90E0              ldi R25,>_CANIDM+2
 0126 E80F              add R30,R24
 0128 F91F              adc R31,R25
 012A 1B01              movw R2,R22
 012C 232C              mov R2,R3
 012E 3324              clr R3
 0130 2082              std z+0,R2
 0132                   .dbline 76
 0132 84E0              ldi R24,4
 0134 849F              mul R24,R20
 0136 F001              movw R30,R0
 0138 80E0              ldi R24,<_CANIDM+1
 013A 90E0              ldi R25,>_CANIDM+1
 013C E80F              add R30,R24
 013E F91F              adc R31,R25
 0140 A082              std z+0,R10
 0142                   .dbline 77
 0142 84E0              ldi R24,4
 0144 849F              mul R24,R20
 0146 F001              movw R30,R0
 0148 80E0              ldi R24,<_CANIDM
 014A 90E0              ldi R25,>_CANIDM
 014C E80F              add R30,R24
 014E F91F              adc R31,R25
 0150 1501              movw R2,R10
 0152 232C              mov R2,R3
 0154 3324              clr R3
 0156 2082              std z+0,R2
 0158                   .dbline 78
 0158 80910000          lds R24,_Pass_Flag
 015C 8F5F              subi R24,255    ; addi 1
 015E 80930000          sts _Pass_Flag,R24
 0162                   .dbline 79
 0162 0000              nop
 0164                   .dbline 80
 0164           L14:
 0164                   .dbline 69
 0164 4395              inc R20
 0166           L16:
 0166                   .dbline 69
 0166 4630              cpi R20,6
 0168 08F4              brsh X1
 016A B5CF              xjmp L13
 016C           X1:
 016C                   .dbline 81
 016C           ;       {
 016C           ;        temp=CANMOBMD[i]<<3;
 016C           ;        temp1=(unsigned int)temp;               //低16位
 016C           ;        temp2=(unsigned int)(temp/0x00010000);  //高16位
 016C           ;        CANIDM[i][3]=(unsigned char)temp1;
 016C           ;        CANIDM[i][2]=(unsigned char)(temp1>>8);
 016C           ;        CANIDM[i][1]=(unsigned char)temp2;
 016C           ;        CANIDM[i][0]=(unsigned char)(temp2>>8); 
 016C           ;        Pass_Flag = Pass_Flag + 1;
 016C           ;        NOP();
 016C           ;       }
 016C           ;        if(Pass_Flag!=0x06)
 016C 80910000          lds R24,_Pass_Flag
 0170 8630              cpi R24,6
 0172 11F0              breq L20
 0174                   .dbline 82
 0174           ;         RESET;
 0174 0C940000          jmp 0x000
 0178           L20:
 0178                   .dbline 85
 0178           ;     //reset all MObs
 0178           ;       
 0178           ;        Pass_Flag = 0x00;
 0178 2224              clr R2
 017A 20920000          sts _Pass_Flag,R2
 017E                   .dbline 86
 017E           ;     for (i=0; i<15; i++)
 017E 4427              clr R20
 0180 2AC0              xjmp L25
 0182           L22:
 0182                   .dbline 87
 0182           ;     {
 0182                   .dbline 88
 0182           ;         CANPAGE = (i<<4);           //select MOb
 0182 842F              mov R24,R20
 0184 8F70              andi R24,#0x0F
 0186 8295              swap R24
 0188 EDEE              ldi R30,237
 018A F0E0              ldi R31,0
 018C 8083              std z+0,R24
 018E                   .dbline 89
 018E           ;         CANCDMOB = 0;                 //disable MOb
 018E 2224              clr R2
 0190 EFEE              ldi R30,239
 0192 2082              std z+0,R2
 0194                   .dbline 90
 0194           ;         CANSTMOB = 0;               //clear status
 0194 EEEE              ldi R30,238
 0196 2082              std z+0,R2
 0198                   .dbline 91
 0198           ;         CANIDT1 = 0;                  //clear ID
 0198 E3EF              ldi R30,243
 019A 2082              std z+0,R2
 019C                   .dbline 92
 019C           ;         CANIDT2 = 0;
 019C E2EF              ldi R30,242
 019E 2082              std z+0,R2
 01A0                   .dbline 93
 01A0           ;         CANIDT3 = 0;
 01A0 E1EF              ldi R30,241
 01A2 2082              std z+0,R2
 01A4                   .dbline 94
 01A4           ;         CANIDT4 = 0;
 01A4 E0EF              ldi R30,240
 01A6 2082              std z+0,R2
 01A8                   .dbline 95
 01A8           ;         CANIDM1 = 0;                  //clear mask
 01A8 E7EF              ldi R30,247
 01AA 2082              std z+0,R2
 01AC                   .dbline 96
 01AC           ;         CANIDM2 = 0;
 01AC E6EF              ldi R30,246
 01AE 2082              std z+0,R2
 01B0                   .dbline 97
 01B0           ;         CANIDM3 = 0;
 01B0 E5EF              ldi R30,245
 01B2 2082              std z+0,R2
 01B4                   .dbline 98
 01B4           ;         CANIDM4 = 0;
 01B4 E4EF              ldi R30,244
 01B6 2082              std z+0,R2
 01B8                   .dbline 99
 01B8           ;         for (j=0; j<8; j++)
 01B8 6627              clr R22
 01BA 05C0              xjmp L29
 01BC           L26:
 01BC                   .dbline 100
 01BC 2224              clr R2
 01BE EAEF              ldi R30,250
 01C0 F0E0              ldi R31,0
 01C2 2082              std z+0,R2

⌨️ 快捷键说明

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