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

📄 hd_support.lis

📁 移动机器人(小车)的物理坐标和逻辑坐标的转换源码
💻 LIS
📖 第 1 页 / 共 3 页
字号:
 023A                   .dbline -1
 023A                   .dbline 248
 023A           ; }
 023A           ; 
 023A           ; /***********************************************************
 023A           ; *   函数说明:  SPI通讯完成中断处理函数                    *
 023A           ; *   输入:      无                                         *
 023A           ; *   输出:      无                                         *
 023A           ; *   调用函数:  INSERT_SPI_STC_ISR_CODE                    *
 023A           ; ***********************************************************/
 023A           ; void SPI_STC_ISR(void)
 023A           ; {
 023A                   .dbline 249
 023A           ;     INSERT_SPI_STC_ISR_CODE
 023A                   .dbline 249
 023A 0EB5              in R16,0x2e
 023C                   .dbline 249
 023C 20900000          lds R2,_g_bIfSendCMD
 0240 2220              tst R2
 0242 71F0              breq L12
 0244           X1:
 0244 20900000          lds R2,_g_bIfStartCMD
 0248 2220              tst R2
 024A 51F0              breq L12
 024C           X2:
 024C                   .dbline 249
 024C                   .dbline 249
 024C 80E0              ldi R24,<_g_chCMDBuffer
 024E 90E0              ldi R25,>_g_chCMDBuffer
 0250 E0910000          lds R30,_g_chDataCounter
 0254 EF5F              subi R30,255    ; addi 1
 0256 FF27              clr R31
 0258 E80F              add R30,R24
 025A F91F              adc R31,R25
 025C 2080              ldd R2,z+0
 025E 2EBC              out 0x2e,R2
 0260                   .dbline 249
 0260           L12:
 0260                   .dbline 249
 0260 80E0              ldi R24,<_g_chDataBuffer
 0262 90E0              ldi R25,>_g_chDataBuffer
 0264 E0910000          lds R30,_g_chDataCounter
 0268 FF27              clr R31
 026A E80F              add R30,R24
 026C F91F              adc R31,R25
 026E 0083              std z+0,R16
 0270                   .dbline 249
 0270 20900000          lds R2,_g_chDataCounter
 0274 2220              tst R2
 0276 41F0              breq L14
 0278           X3:
 0278 822D              mov R24,R2
 027A 8031              cpi R24,16
 027C 28F4              brsh L14
 027E           X4:
 027E                   .dbline 249
 027E                   .dbline 249
 027E 20900000          lds R2,_g_chXOR
 0282 2026              eor R2,R16
 0284 20920000          sts _g_chXOR,R2
 0288                   .dbline 249
 0288           L14:
 0288                   .dbline 249
 0288 80910000          lds R24,_g_chDataCounter
 028C 8F5F              subi R24,255    ; addi 1
 028E 80930000          sts _g_chDataCounter,R24
 0292                   .dbline 249
 0292 8131              cpi R24,17
 0294 79F4              brne L16
 0296           X5:
 0296 80910000          lds R24,_g_bIfSendCMD
 029A 8130              cpi R24,1
 029C 59F4              brne L16
 029E           X6:
 029E 80910000          lds R24,_g_bIfStartCMD
 02A2 8130              cpi R24,1
 02A4 39F4              brne L16
 02A6           X7:
 02A6                   .dbline 249
 02A6                   .dbline 249
 02A6 2224              clr R2
 02A8 20920000          sts _g_bIfSendCMD,R2
 02AC                   .dbline 249
 02AC 20920000          sts _g_bIfStartCMD,R2
 02B0                   .dbline 249
 02B0 20920000          sts _g_bIfSendHead,R2
 02B4                   .dbline 249
 02B4           L16:
 02B4                   .dbline 249
 02B4                   .dbline -2
 02B4           L11:
 02B4                   .dbline 0 ; func end
 02B4 2990              ld R2,y+
 02B6 2FBE              out 0x3f,R2
 02B8 F991              ld R31,y+
 02BA E991              ld R30,y+
 02BC 9991              ld R25,y+
 02BE 8991              ld R24,y+
 02C0 0991              ld R16,y+
 02C2 2990              ld R2,y+
 02C4 1895              reti
 02C6                   .dbsym r chTempData0 16 c
 02C6                   .dbend
 02C6                   .dbfunc s PCINT_INIT _PCINT_INIT fV
                        .even
 02C6           _PCINT_INIT:
 02C6                   .dbline -1
 02C6                   .dbline 259
 02C6           ; }
 02C6           ; 
 02C6           ; /***********************************************************
 02C6           ; *   函数说明:  引脚电平变化中断处理程序                   *
 02C6           ; *   输入:      无                                         *
 02C6           ; *   输出:      无                                         *
 02C6           ; *   调用函数:  无                                         *
 02C6           ; ***********************************************************/
 02C6           ; static void PCINT_INIT(void)
 02C6           ; {
 02C6                   .dbline 260
 02C6           ;     PCICR |= BIT(PCIE0)|BIT(PCIE1);
 02C6 80916800          lds R24,104
 02CA 8360              ori R24,3
 02CC 80936800          sts 104,R24
 02D0                   .dbline 261
 02D0           ;     PCMSK0 = BIT(PCINT2);
 02D0 84E0              ldi R24,4
 02D2 80936B00          sts 107,R24
 02D6                   .dbline 262
 02D6           ;     PCMSK1 = BIT(PCINT8);
 02D6 81E0              ldi R24,1
 02D8 80936C00          sts 108,R24
 02DC                   .dbline -2
 02DC           L18:
 02DC                   .dbline 0 ; func end
 02DC 0895              ret
 02DE                   .dbend
 02DE                   .dbfunc e PCINT0_ISR _PCINT0_ISR fV
                        .even
 02DE           _PCINT0_ISR::
 02DE 0A92              st -y,R0
 02E0 1A92              st -y,R1
 02E2 2A92              st -y,R2
 02E4 3A92              st -y,R3
 02E6 4A92              st -y,R4
 02E8 5A92              st -y,R5
 02EA 8A93              st -y,R24
 02EC EA93              st -y,R30
 02EE FA93              st -y,R31
 02F0 0FB6              in R0,0x3f
 02F2 0A92              st -y,R0
 02F4                   .dbline -1
 02F4                   .dbline 272
 02F4           ; }
 02F4           ; 
 02F4           ; /***********************************************************
 02F4           ; *   函数说明:  引脚电平变化中断处理函数                   *
 02F4           ; *   输入:      无                                         *
 02F4           ; *   输出:      无                                         *
 02F4           ; *   调用函数:  INSERT_PCINT0_ISR_CODE                     *
 02F4           ; ***********************************************************/
 02F4           ; void PCINT0_ISR(void)
 02F4           ; {
 02F4                   .dbline 273
 02F4           ;     INSERT_PCINT0_ISR_CODE
 02F4 7894              sei
 02F6                   .dbline 273
 02F6                   .dbline 273
 02F6 1A9B              sbis 0x3,2
 02F8 3FC0              rjmp L20
 02FA           X8:
 02FA                   .dbline 273
 02FA                   .dbline 273
 02FA 20900000          lds R2,_g_bIfSendCMD
 02FE 2220              tst R2
 0300 31F0              breq L22
 0302           X9:
 0302                   .dbline 273
 0302                   .dbline 273
 0302 20900000          lds R2,_g_chCMDBuffer
 0306 2EBC              out 0x2e,R2
 0308                   .dbline 273
 0308 81E0              ldi R24,1
 030A 80930000          sts _g_bIfSendHead,R24
 030E                   .dbline 273
 030E           L22:
 030E                   .dbline 273
 030E 20900000          lds R2,_g_chXOR
 0312 2220              tst R2
 0314 69F5              brne L24
 0316           X10:
 0316                   .dbline 273
 0316                   .dbline 273
 0316 E0E0              ldi R30,<_g_chDataBuffer+3
 0318 F0E0              ldi R31,>_g_chDataBuffer+3
 031A 2080              ldd R2,z+0
 031C 3180              ldd R3,z+1
 031E 4280              ldd R4,z+2
 0320 5380              ldd R5,z+3
 0322 30920100          sts _g_fAbsoluteX+1,R3
 0326 20920000          sts _g_fAbsoluteX,R2
 032A 50920300          sts _g_fAbsoluteX+2+1,R5
 032E 40920200          sts _g_fAbsoluteX+2,R4
 0332                   .dbline 273
 0332 E0E0              ldi R30,<_g_chDataBuffer+7
 0334 F0E0              ldi R31,>_g_chDataBuffer+7
 0336 2080              ldd R2,z+0
 0338 3180              ldd R3,z+1
 033A 4280              ldd R4,z+2
 033C 5380              ldd R5,z+3
 033E 30920100          sts _g_fAbsoluteY+1,R3
 0342 20920000          sts _g_fAbsoluteY,R2
 0346 50920300          sts _g_fAbsoluteY+2+1,R5
 034A 40920200          sts _g_fAbsoluteY+2,R4
 034E                   .dbline 273
 034E E0E0              ldi R30,<_g_chDataBuffer+11
 0350 F0E0              ldi R31,>_g_chDataBuffer+11
 0352 2080              ldd R2,z+0
 0354 3180              ldd R3,z+1
 0356 4280              ldd R4,z+2
 0358 5380              ldd R5,z+3
 035A 30920100          sts _g_fAbsoluteAngle+1,R3
 035E 20920000          sts _g_fAbsoluteAngle,R2
 0362 50920300          sts _g_fAbsoluteAngle+2+1,R5
 0366 40920200          sts _g_fAbsoluteAngle+2,R4
 036A                   .dbline 273
 036A 81E0              ldi R24,1
 036C 80930800          sts _ProcPCB+6+2,R24
 0370                   .dbline 273
 0370           L24:
 0370                   .dbline 273
 0370 2224              clr R2
 0372 20920000          sts _g_chDataCounter,R2
 0376                   .dbline 273
 0376 0EC0              rjmp L21
 0378           L20:
 0378                   .dbline 273
 0378                   .dbline 273
 0378 2224              clr R2
 037A 20920000          sts _g_chXOR,R2
 037E                   .dbline 273
 037E 20900000          lds R2,_g_bIfSendCMD
 0382 2220              tst R2
 0384 39F0              breq L31
 0386           X11:
 0386 20900000          lds R2,_g_bIfSendHead
 038A 2220              tst R2
 038C 19F0              breq L31
 038E           X12:
 038E                   .dbline 273
 038E                   .dbline 273
 038E 81E0              ldi R24,1
 0390 80930000          sts _g_bIfStartCMD,R24
 0394                   .dbline 273
 0394           L31:
 0394                   .dbline 273
 0394           L21:
 0394                   .dbline 273
 0394                   .dbline -2
 0394           L19:
 0394                   .dbline 0 ; func end
 0394 0990              ld R0,y+
 0396 0FBE              out 0x3f,R0
 0398 F991              ld R31,y+
 039A E991              ld R30,y+
 039C 8991              ld R24,y+
 039E 5990              ld R5,y+
 03A0 4990              ld R4,y+
 03A2 3990              ld R3,y+
 03A4 2990              ld R2,y+
 03A6 1990              ld R1,y+
 03A8 0990              ld R0,y+
 03AA 1895              reti
 03AC                   .dbend
 03AC                   .dbfunc e PCINT1_ISR _PCINT1_ISR fV
                        .even
 03AC           _PCINT1_ISR::
 03AC 1A92              st -y,R1
 03AE 8A93              st -y,R24
 03B0 9A93              st -y,R25
 03B2 1FB6              in R1,0x3f
 03B4 1A92              st -y,R1
 03B6                   .dbline -1
 03B6                   .dbline 283
 03B6           ; }
 03B6           ; 
 03B6           ; /***********************************************************
 03B6           ; *   函数说明:  引脚电平变化中断处理函数                   *
 03B6           ; *   输入:      无                                         *
 03B6           ; *   输出:      无                                         *
 03B6           ; *   调用函数:  INSERT_PCINT1_ISR_CODE                     *
 03B6           ; ***********************************************************/
 03B6           ; void PCINT1_ISR(void)
 03B6           ; {
 03B6                   .dbline 284
 03B6           ;     INSERT_PCINT1_ISR_CODE
 03B6 7894              sei
 03B8                   .dbline 284
 03B8                   .dbline 284
 03B8 86B1              in R24,0x6
 03BA 8170              andi R24,1
 03BC 96B1              in R25,0x6
 03BE 9695              lsr R25
 03C0 9170              andi R25,1
 03C2 9817              cp R25,R24
 03C4 51F4              brne L34
 03C6           X13:
 03C6                   .dbline 284
 03C6                   .dbline 284
 03C6 80910000          lds R24,_g_wCounter
 03CA 90910100          lds R25,_g_wCounter+1
 03CE 0196              adiw R24,1
 03D0 90930100          sts _g_wCounter+1,R25
 03D4 80930000          sts _g_wCounter,R24
 03D8                   .dbline 284
 03D8 09C0              rjmp L35
 03DA           L34:
 03DA                   .dbline 284
 03DA                   .dbline 284
 03DA 80910000          lds R24,_g_wCounter
 03DE 90910100          lds R25,_g_wCounter+1
 03E2 0197              sbiw R24,1
 03E4 90930100          sts _g_wCounter+1,R25
 03E8 80930000          sts _g_wCounter,R24
 03EC                   .dbline 284
 03EC           L35:
 03EC                   .dbline 284
 03EC 80910000          lds R24,_g_wCounter
 03F0 90910100          lds R25,_g_wCounter+1
 03F4 9370              andi R25,3
 03F6 90930100          sts _g_wCounter+1,R25
 03FA 80930000          sts _g_wCounter,R24
 03FE                   .dbline 284
 03FE                   .dbline -2
 03FE           L33:
 03FE                   .dbline 0 ; func end
 03FE 1990              ld R1,y+
 0400 1FBE              out 0x3f,R1
 0402 9991              ld R25,y+
 0404 8991              ld R24,y+
 0406 1990              ld R1,y+
 0408 1895              reti
 040A                   .dbend
 040A           ; }

⌨️ 快捷键说明

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