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

📄 hd_support.lis

📁 移动机器人(小车)的物理坐标和逻辑坐标的转换源码
💻 LIS
📖 第 1 页 / 共 3 页
字号:
 0214 4990              ld R4,y+
 0216 3990              ld R3,y+
 0218 2990              ld R2,y+
 021A 1990              ld R1,y+
 021C 0990              ld R0,y+
 021E 1895              reti
 0220                   .dbsym l cTransmitByte 0 c
 0220                   .dbend
 0220                   .dbfunc s SPI_INIT _SPI_INIT fV
                        .even
 0220           _SPI_INIT:
 0220                   .dbline -1
 0220                   .dbline 236
 0220           ; }
 0220           ; 
 0220           ; /***********************************************************
 0220           ; *   函数说明:  SPI初始化函数                              *
 0220           ; *   输入:      无                                         *
 0220           ; *   输出:      无                                         *
 0220           ; *   调用函数:  无                                         *
 0220           ; ***********************************************************/
 0220           ; static void SPI_INIT(void)
 0220           ; {
 0220                   .dbline 237
 0220           ;     SPCR = 0xEE; //setup SPI Slave Model
 0220 8EEE              ldi R24,238
 0222 8CBD              out 0x2c,R24
 0224                   .dbline 238
 0224           ;     SPSR = 0x00; //setup SPI
 0224 2224              clr R2
 0226 2DBC              out 0x2d,R2
 0228                   .dbline -2
 0228           L10:
 0228                   .dbline 0 ; func end
 0228 0895              ret
 022A                   .dbend
 022A                   .dbfunc e SPI_STC_ISR _SPI_STC_ISR fV
 022A           ;    chTempData0 -> R16
                        .even
 022A           _SPI_STC_ISR::
 022A 2A92              st -y,R2
 022C 0A93              st -y,R16
 022E 8A93              st -y,R24
 0230 9A93              st -y,R25
 0232 EA93              st -y,R30
 0234 FA93              st -y,R31
 0236 2FB6              in R2,0x3f
 0238 2A92              st -y,R2
 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 80E0              ldi R24,<_g_chDataBuffer
 023E 90E0              ldi R25,>_g_chDataBuffer
 0240 E0910000          lds R30,_g_chDataCounter
 0244 FF27              clr R31
 0246 E80F              add R30,R24
 0248 F91F              adc R31,R25
 024A 0083              std z+0,R16
 024C                   .dbline 249
 024C 20900000          lds R2,_g_chDataCounter
 0250 2220              tst R2
 0252 41F0              breq L12
 0254           X1:
 0254 822D              mov R24,R2
 0256 8031              cpi R24,16
 0258 28F4              brsh L12
 025A           X2:
 025A                   .dbline 249
 025A                   .dbline 249
 025A 20900000          lds R2,_g_chXOR
 025E 2026              eor R2,R16
 0260 20920000          sts _g_chXOR,R2
 0264                   .dbline 249
 0264           L12:
 0264                   .dbline 249
 0264 80910000          lds R24,_g_chDataCounter
 0268 8F5F              subi R24,255    ; addi 1
 026A 80930000          sts _g_chDataCounter,R24
 026E                   .dbline 249
 026E                   .dbline -2
 026E           L11:
 026E                   .dbline 0 ; func end
 026E 2990              ld R2,y+
 0270 2FBE              out 0x3f,R2
 0272 F991              ld R31,y+
 0274 E991              ld R30,y+
 0276 9991              ld R25,y+
 0278 8991              ld R24,y+
 027A 0991              ld R16,y+
 027C 2990              ld R2,y+
 027E 1895              reti
 0280                   .dbsym r chTempData0 16 c
 0280                   .dbend
 0280                   .dbfunc s PCINT_INIT _PCINT_INIT fV
                        .even
 0280           _PCINT_INIT:
 0280                   .dbline -1
 0280                   .dbline 259
 0280           ; }
 0280           ; 
 0280           ; /***********************************************************
 0280           ; *   函数说明:  引脚电平变化中断处理程序                   *
 0280           ; *   输入:      无                                         *
 0280           ; *   输出:      无                                         *
 0280           ; *   调用函数:  无                                         *
 0280           ; ***********************************************************/
 0280           ; static void PCINT_INIT(void)
 0280           ; {
 0280                   .dbline 260
 0280           ;     PCICR |= BIT(PCIE0)|BIT(PCIE1);
 0280 80916800          lds R24,104
 0284 8360              ori R24,3
 0286 80936800          sts 104,R24
 028A                   .dbline 261
 028A           ;     PCMSK0 = BIT(PCINT2);
 028A 84E0              ldi R24,4
 028C 80936B00          sts 107,R24
 0290                   .dbline 262
 0290           ;     PCMSK1 = BIT(PCINT8);
 0290 81E0              ldi R24,1
 0292 80936C00          sts 108,R24
 0296                   .dbline -2
 0296           L14:
 0296                   .dbline 0 ; func end
 0296 0895              ret
 0298                   .dbend
 0298                   .dbfunc e PCINT0_ISR _PCINT0_ISR fV
                        .even
 0298           _PCINT0_ISR::
 0298 0A92              st -y,R0
 029A 1A92              st -y,R1
 029C 2A92              st -y,R2
 029E 3A92              st -y,R3
 02A0 4A92              st -y,R4
 02A2 5A92              st -y,R5
 02A4 8A93              st -y,R24
 02A6 EA93              st -y,R30
 02A8 FA93              st -y,R31
 02AA 0FB6              in R0,0x3f
 02AC 0A92              st -y,R0
 02AE                   .dbline -1
 02AE                   .dbline 272
 02AE           ; }
 02AE           ; 
 02AE           ; /***********************************************************
 02AE           ; *   函数说明:  引脚电平变化中断处理函数                   *
 02AE           ; *   输入:      无                                         *
 02AE           ; *   输出:      无                                         *
 02AE           ; *   调用函数:  INSERT_PCINT0_ISR_CODE                     *
 02AE           ; ***********************************************************/
 02AE           ; void PCINT0_ISR(void)
 02AE           ; {
 02AE                   .dbline 273
 02AE           ;     INSERT_PCINT0_ISR_CODE
 02AE 7894              sei
 02B0                   .dbline 273
 02B0                   .dbline 273
 02B0 1A9B              sbis 0x3,2
 02B2 35C0              rjmp L16
 02B4           X3:
 02B4                   .dbline 273
 02B4                   .dbline 273
 02B4 20900000          lds R2,_g_chXOR
 02B8 2220              tst R2
 02BA 69F5              brne L18
 02BC           X4:
 02BC                   .dbline 273
 02BC                   .dbline 273
 02BC E0E0              ldi R30,<_g_chDataBuffer+3
 02BE F0E0              ldi R31,>_g_chDataBuffer+3
 02C0 2080              ldd R2,z+0
 02C2 3180              ldd R3,z+1
 02C4 4280              ldd R4,z+2
 02C6 5380              ldd R5,z+3
 02C8 30920100          sts _g_fAbsoluteX+1,R3
 02CC 20920000          sts _g_fAbsoluteX,R2
 02D0 50920300          sts _g_fAbsoluteX+2+1,R5
 02D4 40920200          sts _g_fAbsoluteX+2,R4
 02D8                   .dbline 273
 02D8 E0E0              ldi R30,<_g_chDataBuffer+7
 02DA F0E0              ldi R31,>_g_chDataBuffer+7
 02DC 2080              ldd R2,z+0
 02DE 3180              ldd R3,z+1
 02E0 4280              ldd R4,z+2
 02E2 5380              ldd R5,z+3
 02E4 30920100          sts _g_fAbsoluteY+1,R3
 02E8 20920000          sts _g_fAbsoluteY,R2
 02EC 50920300          sts _g_fAbsoluteY+2+1,R5
 02F0 40920200          sts _g_fAbsoluteY+2,R4
 02F4                   .dbline 273
 02F4 E0E0              ldi R30,<_g_chDataBuffer+11
 02F6 F0E0              ldi R31,>_g_chDataBuffer+11
 02F8 2080              ldd R2,z+0
 02FA 3180              ldd R3,z+1
 02FC 4280              ldd R4,z+2
 02FE 5380              ldd R5,z+3
 0300 30920100          sts _g_fAbsoluteAngle+1,R3
 0304 20920000          sts _g_fAbsoluteAngle,R2
 0308 50920300          sts _g_fAbsoluteAngle+2+1,R5
 030C 40920200          sts _g_fAbsoluteAngle+2,R4
 0310                   .dbline 273
 0310 81E0              ldi R24,1
 0312 80930500          sts _ProcPCB+3+2,R24
 0316                   .dbline 273
 0316           L18:
 0316                   .dbline 273
 0316 2224              clr R2
 0318 20920000          sts _g_chDataCounter,R2
 031C                   .dbline 273
 031C 03C0              rjmp L17
 031E           L16:
 031E                   .dbline 273
 031E                   .dbline 273
 031E 2224              clr R2
 0320 20920000          sts _g_chXOR,R2
 0324                   .dbline 273
 0324           L17:
 0324                   .dbline 273
 0324                   .dbline -2
 0324           L15:
 0324                   .dbline 0 ; func end
 0324 0990              ld R0,y+
 0326 0FBE              out 0x3f,R0
 0328 F991              ld R31,y+
 032A E991              ld R30,y+
 032C 8991              ld R24,y+
 032E 5990              ld R5,y+
 0330 4990              ld R4,y+
 0332 3990              ld R3,y+
 0334 2990              ld R2,y+
 0336 1990              ld R1,y+
 0338 0990              ld R0,y+
 033A 1895              reti
 033C                   .dbend
 033C                   .dbfunc e PCINT1_ISR _PCINT1_ISR fV
                        .even
 033C           _PCINT1_ISR::
 033C 1A92              st -y,R1
 033E 8A93              st -y,R24
 0340 9A93              st -y,R25
 0342 1FB6              in R1,0x3f
 0344 1A92              st -y,R1
 0346                   .dbline -1
 0346                   .dbline 283
 0346           ; }
 0346           ; 
 0346           ; /***********************************************************
 0346           ; *   函数说明:  引脚电平变化中断处理函数                   *
 0346           ; *   输入:      无                                         *
 0346           ; *   输出:      无                                         *
 0346           ; *   调用函数:  INSERT_PCINT1_ISR_CODE                     *
 0346           ; ***********************************************************/
 0346           ; void PCINT1_ISR(void)
 0346           ; {
 0346                   .dbline 284
 0346           ;     INSERT_PCINT1_ISR_CODE
 0346 7894              sei
 0348                   .dbline 284
 0348                   .dbline 284
 0348 86B1              in R24,0x6
 034A 8170              andi R24,1
 034C 96B1              in R25,0x6
 034E 9695              lsr R25
 0350 9170              andi R25,1
 0352 9817              cp R25,R24
 0354 51F4              brne L26
 0356           X5:
 0356                   .dbline 284
 0356                   .dbline 284
 0356 80910000          lds R24,_g_wCounter
 035A 90910100          lds R25,_g_wCounter+1
 035E 0196              adiw R24,1
 0360 90930100          sts _g_wCounter+1,R25
 0364 80930000          sts _g_wCounter,R24
 0368                   .dbline 284
 0368 09C0              rjmp L27
 036A           L26:
 036A                   .dbline 284
 036A                   .dbline 284
 036A 80910000          lds R24,_g_wCounter
 036E 90910100          lds R25,_g_wCounter+1
 0372 0197              sbiw R24,1
 0374 90930100          sts _g_wCounter+1,R25
 0378 80930000          sts _g_wCounter,R24
 037C                   .dbline 284
 037C           L27:
 037C                   .dbline 284
 037C 80910000          lds R24,_g_wCounter
 0380 90910100          lds R25,_g_wCounter+1
 0384 9370              andi R25,3
 0386 90930100          sts _g_wCounter+1,R25
 038A 80930000          sts _g_wCounter,R24
 038E                   .dbline 284
 038E                   .dbline -2
 038E           L25:
 038E                   .dbline 0 ; func end
 038E 1990              ld R1,y+
 0390 1FBE              out 0x3f,R1
 0392 9991              ld R25,y+
 0394 8991              ld R24,y+
 0396 1990              ld R1,y+
 0398 1895              reti
 039A                   .dbend
 039A           ; }

⌨️ 快捷键说明

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