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

📄 at90can128.lis

📁 不可多得的atmel公司canbus通讯程序(at90can128)
💻 LIS
📖 第 1 页 / 共 3 页
字号:
 008E           ;                       KK1 >>= 1; 
 008E E694              lsr R14
 0090                   .dbline 133
 0090           ;       } 
 0090           L9:
 0090                   .dbline 127
 0090 A394              inc R10
 0092           L11:
 0092                   .dbline 127
 0092 8A2D              mov R24,R10
 0094 8430              cpi R24,4
 0096 B8F3              brlo L8
 0098           X1:
 0098                   .dbline 137
 0098           ; //----------------------------------------------------------------- 
 0098           ; //bit7-->bit0   //bit6-->bit1   //bit5-->bit2   //bit4-->bit3     
 0098           ; //----------------------------------------------------------------- 
 0098           ;       for (i=0;i<4;i++)
 0098 AA24              clr R10
 009A 06C0              xjmp L17
 009C           L14:
 009C                   .dbline 138
 009C           ;       {
 009C                   .dbline 139
 009C           ;                       K_Lo <<= 1;
 009C 440F              lsl R20
 009E                   .dbline 140
 009E           ;                       if (KK2 & 0x10)
 009E C4FE              sbrs R12,4
 00A0 01C0              rjmp L18
 00A2           X2:
 00A2                   .dbline 141
 00A2           ;                               K_Lo |= 0x01;
 00A2 4160              ori R20,1
 00A4           L18:
 00A4                   .dbline 142
 00A4           ;                       KK2 >>= 1; 
 00A4 C694              lsr R12
 00A6                   .dbline 143
 00A6           ;       }
 00A6           L15:
 00A6                   .dbline 137
 00A6 A394              inc R10
 00A8           L17:
 00A8                   .dbline 137
 00A8 8A2D              mov R24,R10
 00AA 8430              cpi R24,4
 00AC B8F3              brlo L14
 00AE           X3:
 00AE                   .dbline 144
 00AE           ;       K = ((K_Hi << 4) | K_Lo);
 00AE 862F              mov R24,R22
 00B0 8F70              andi R24,#0x0F
 00B2 8295              swap R24
 00B4 A82E              mov R10,R24
 00B6 A42A              or R10,R20
 00B8                   .dbline 145
 00B8           ;       return (K);
 00B8 0A2D              mov R16,R10
 00BA                   .dbline -2
 00BA           L7:
 00BA                   .dbline 0 ; func end
 00BA 0C940000          xjmp pop_xgsetF0FC
 00BE                   .dbsym r K 10 c
 00BE                   .dbsym r K_Lo 20 c
 00BE                   .dbsym r K_Hi 22 c
 00BE                   .dbsym r KK2 12 c
 00BE                   .dbsym r KK1 14 c
 00BE                   .dbsym r i 10 c
 00BE                   .dbsym r num 16 c
 00BE                   .dbend
 00BE                   .dbfunc e DISPLAY_LED _DISPLAY_LED fV
                        .even
 00BE           _DISPLAY_LED::
 00BE                   .dbline -1
 00BE                   .dbline 150
 00BE           ; }
 00BE           ;    
 00BE           ; 
 00BE           ; void DISPLAY_LED(void)
 00BE           ; {
 00BE                   .dbline 151
 00BE           ;       if (LED[0])
 00BE 20900200          lds R2,_LED
 00C2 2220              tst R2
 00C4 11F0              breq L21
 00C6           X4:
 00C6                   .dbline 152
 00C6           ;               LED1_ON();
 00C6 4498              cbi 0x8,4
 00C8 01C0              xjmp L22
 00CA           L21:
 00CA                   .dbline 154
 00CA           ;       else
 00CA           ;               LED1_OFF();
 00CA 449A              sbi 0x8,4
 00CC           L22:
 00CC                   .dbline 156
 00CC           ; 
 00CC           ;       if (LED[1])
 00CC 20900300          lds R2,_LED+1
 00D0 2220              tst R2
 00D2 11F0              breq L23
 00D4           X5:
 00D4                   .dbline 157
 00D4           ;               LED2_ON();
 00D4 4398              cbi 0x8,3
 00D6 01C0              xjmp L24
 00D8           L23:
 00D8                   .dbline 159
 00D8           ;       else
 00D8           ;               LED2_OFF();
 00D8 439A              sbi 0x8,3
 00DA           L24:
 00DA                   .dbline 161
 00DA           ; 
 00DA           ;       if (LED[2])
 00DA 20900400          lds R2,_LED+2
 00DE 2220              tst R2
 00E0 11F0              breq L26
 00E2           X6:
 00E2                   .dbline 162
 00E2           ;               LED3_ON();
 00E2 4298              cbi 0x8,2
 00E4 01C0              xjmp L27
 00E6           L26:
 00E6                   .dbline 164
 00E6           ;       else
 00E6           ;               LED3_OFF();
 00E6 429A              sbi 0x8,2
 00E8           L27:
 00E8                   .dbline 166
 00E8           ; 
 00E8           ;       if (LED[3])
 00E8 20900500          lds R2,_LED+3
 00EC 2220              tst R2
 00EE 11F0              breq L29
 00F0           X7:
 00F0                   .dbline 167
 00F0           ;               LED4_ON();
 00F0 4198              cbi 0x8,1
 00F2 01C0              xjmp L30
 00F4           L29:
 00F4                   .dbline 169
 00F4           ;       else
 00F4           ;               LED4_OFF();
 00F4 419A              sbi 0x8,1
 00F6           L30:
 00F6                   .dbline 171
 00F6           ; 
 00F6           ;       if (LED[4])
 00F6 20900600          lds R2,_LED+4
 00FA 2220              tst R2
 00FC 11F0              breq L32
 00FE           X8:
 00FE                   .dbline 172
 00FE           ;               LED5_ON();
 00FE 4098              cbi 0x8,0
 0100 01C0              xjmp L33
 0102           L32:
 0102                   .dbline 174
 0102           ;       else
 0102           ;               LED5_OFF();
 0102 409A              sbi 0x8,0
 0104           L33:
 0104                   .dbline -2
 0104           L20:
 0104                   .dbline 0 ; func end
 0104 0895              ret
 0106                   .dbend
                        .area vector(rom, abs)
                        .org 64
 0040 0C948300          jmp _TIMER0_COMP_ISR
                        .area text(rom, con, rel)
 0106                   .dbfile D:\CANBUS\数据帧\查询\单向通讯\结点1-串口\AT90CAN128.C
 0106                   .dbfunc e TIMER0_COMP_ISR _TIMER0_COMP_ISR fV
                        .even
 0106           _TIMER0_COMP_ISR::
 0106 0A92              st -y,R0
 0108 1A92              st -y,R1
 010A 2A92              st -y,R2
 010C 3A92              st -y,R3
 010E 4A92              st -y,R4
 0110 5A92              st -y,R5
 0112 6A92              st -y,R6
 0114 7A92              st -y,R7
 0116 8A92              st -y,R8
 0118 9A92              st -y,R9
 011A 0A93              st -y,R16
 011C 1A93              st -y,R17
 011E 2A93              st -y,R18
 0120 3A93              st -y,R19
 0122 8A93              st -y,R24
 0124 9A93              st -y,R25
 0126 AA93              st -y,R26
 0128 BA93              st -y,R27
 012A EA93              st -y,R30
 012C FA93              st -y,R31
 012E 0FB6              in R0,0x3f
 0130 0A92              st -y,R0
 0132 4A93              st -y,R20
 0134 5A93              st -y,R21
 0136                   .dbline -1
 0136                   .dbline 180
 0136           ; }
 0136           ; 
 0136           ; 
 0136           ; #pragma interrupt_handler TIMER0_COMP_ISR:iv_TIMER0_COMP
 0136           ; void TIMER0_COMP_ISR(void)
 0136           ; {
 0136                   .dbline 181
 0136           ;       CS++;
 0136 80910000          lds R24,_CS
 013A 8F5F              subi R24,255    ; addi 1
 013C 80930000          sts _CS,R24
 0140                   .dbline 182
 0140           ;       if (CS > 1)
 0140 81E0              ldi R24,1
 0142 20900000          lds R2,_CS
 0146 8215              cp R24,R2
 0148 18F4              brsh L36
 014A           X9:
 014A                   .dbline 183
 014A           ;               CS = 0;
 014A 2224              clr R2
 014C 20920000          sts _CS,R2
 0150           L36:
 0150                   .dbline 184
 0150           ;       switch (CS)
 0150 40910000          lds R20,_CS
 0154 5527              clr R21
 0156 4030              cpi R20,0
 0158 4507              cpc R20,R21
 015A 29F0              breq L41
 015C           X10:
 015C 4130              cpi R20,1
 015E E0E0              ldi R30,0
 0160 5E07              cpc R21,R30
 0162 21F0              breq L42
 0164           X11:
 0164 05C0              xjmp L38
 0166           L41:
 0166                   .dbline 187
 0166           ;       {
 0166           ;               case 0:
 0166           ;                       CS2_OFF();
 0166 469A              sbi 0x8,6
 0168                   .dbline 188
 0168           ;                       CS1_ON();
 0168 4798              cbi 0x8,7
 016A                   .dbline 189
 016A           ;                   break;
 016A 02C0              xjmp L39
 016C           L42:
 016C                   .dbline 191
 016C           ;               case 1:
 016C           ;                       CS1_OFF();
 016C 479A              sbi 0x8,7
 016E                   .dbline 192
 016E           ;                       CS2_ON();
 016E 4698              cbi 0x8,6
 0170                   .dbline 193
 0170           ;                       break;
 0170           L38:
 0170           L39:
 0170                   .dbline 195
 0170           ;       }                  
 0170           ;       PORTA = ~ExChange(DISPLAY_CODE(CS));
 0170 00910000          lds R16,_CS
 0174 0E940000          xcall _DISPLAY_CODE
 0178 7EDF              xcall _ExChange
 017A 202E              mov R2,R16
 017C 2094              com R2
 017E 22B8              out 0x2,R2
 0180                   .dbline -2
 0180           L35:
 0180                   .dbline 0 ; func end
 0180 5991              ld R21,y+
 0182 4991              ld R20,y+
 0184 0990              ld R0,y+
 0186 0FBE              out 0x3f,R0
 0188 F991              ld R31,y+
 018A E991              ld R30,y+
 018C B991              ld R27,y+
 018E A991              ld R26,y+
 0190 9991              ld R25,y+
 0192 8991              ld R24,y+
 0194 3991              ld R19,y+
 0196 2991              ld R18,y+
 0198 1991              ld R17,y+
 019A 0991              ld R16,y+
 019C 9990              ld R9,y+
 019E 8990              ld R8,y+
 01A0 7990              ld R7,y+
 01A2 6990              ld R6,y+
 01A4 5990              ld R5,y+
 01A6 4990              ld R4,y+
 01A8 3990              ld R3,y+
 01AA 2990              ld R2,y+
 01AC 1990              ld R1,y+
 01AE 0990              ld R0,y+
 01B0 1895              reti
 01B2                   .dbend
                        .area vector(rom, abs)
                        .org 36
 0024 0C94D900          jmp _TIMER2_COMP_ISR
                        .area text(rom, con, rel)
 01B2                   .dbfile D:\CANBUS\数据帧\查询\单向通讯\结点1-串口\AT90CAN128.C
 01B2                   .dbfunc e TIMER2_COMP_ISR _TIMER2_COMP_ISR fV
                        .even
 01B2           _TIMER2_COMP_ISR::
 01B2 2A92              st -y,R2
 01B4 8A93              st -y,R24
 01B6 9A93              st -y,R25
 01B8 2FB6              in R2,0x3f
 01BA 2A92              st -y,R2
 01BC                   .dbline -1
 01BC                   .dbline 201
 01BC           ; }
 01BC           ; 
 01BC           ; 
 01BC           ; #pragma interrupt_handler TIMER2_COMP_ISR:iv_TIMER2_COMP
 01BC           ; void TIMER2_COMP_ISR(void)
 01BC           ; {
 01BC                   .dbline 202
 01BC           ;       if (!send_mark)
 01BC 20900700          lds R2,_send_mark
 01C0 2220              tst R2
 01C2 69F4              brne L44
 01C4           X12:
 01C4                   .dbline 203
 01C4           ;       {
 01C4                   .dbline 204
 01C4           ;               send_time++;
 01C4 80910900          lds R24,_send_time
 01C8 8F5F              subi R24,255    ; addi 1
 01CA 80930900          sts _send_time,R24
 01CE                   .dbline 205
 01CE           ;               if (send_time >= 100)
 01CE 8436              cpi R24,100
 01D0 30F0              brlo L46
 01D2           X13:
 01D2                   .dbline 206
 01D2           ;               {
 01D2                   .dbline 207
 01D2           ;                       send_mark = TRUE;
 01D2 81E0              ldi R24,1
 01D4 80930700          sts _send_mark,R24
 01D8                   .dbline 208

⌨️ 快捷键说明

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