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

📄 hd_support.lis

📁 全场地位系统:小车静止或移动过程中码盘进行全场定位,用的是avr单片机
💻 LIS
📖 第 1 页 / 共 3 页
字号:
 02BA 0A93              st -y,R16
 02BC 1A93              st -y,R17
 02BE 2A93              st -y,R18
 02C0 3A93              st -y,R19
 02C2 8A93              st -y,R24
 02C4 9A93              st -y,R25
 02C6 AA93              st -y,R26
 02C8 BA93              st -y,R27
 02CA 0FB6              in R0,0x3f
 02CC 0A92              st -y,R0
 02CE                   .dbline -1
 02CE                   .dbline 199
 02CE           ; }
 02CE           ; 
 02CE           ; /***********************************************************
 02CE           ; *   函数说明:PCINT0中断处理程序                           *
 02CE           ; *   输入:    无                                           *
 02CE           ; *   输出:    无                                           *
 02CE           ; *   调用函数:INSERT_PCINT0_ISR_CODE                       *
 02CE           ; ***********************************************************/
 02CE           ; void PCINT0_ISR(void)
 02CE           ; {
 02CE                   .dbline 200
 02CE           ;     INSERT_PCINT0_ISR_CODE
 02CE 7894              sei
 02D0                   .dbline 200
 02D0                   .dbline 200
 02D0 83B1              in R24,0x3
 02D2 8170              andi R24,1
 02D4 99B1              in R25,0x9
 02D6 9695              lsr R25
 02D8 9695              lsr R25
 02DA 9695              lsr R25
 02DC 9170              andi R25,1
 02DE 9817              cp R25,R24
 02E0 C9F4              brne L14
 02E2           X3:
 02E2                   .dbline 200
 02E2                   .dbline 200
 02E2 81E0              ldi R24,1
 02E4 90E0              ldi R25,0
 02E6 A0E0              ldi R26,0
 02E8 B0E0              ldi R27,0
 02EA 40900200          lds R4,_g_lCounterR+2
 02EE 50900300          lds R5,_g_lCounterR+2+1
 02F2 20900000          lds R2,_g_lCounterR
 02F6 30900100          lds R3,_g_lCounterR+1
 02FA 280E              add R2,R24
 02FC 391E              adc R3,R25
 02FE 4A1E              adc R4,R26
 0300 5B1E              adc R5,R27
 0302 30920100          sts _g_lCounterR+1,R3
 0306 20920000          sts _g_lCounterR,R2
 030A 50920300          sts _g_lCounterR+2+1,R5
 030E 40920200          sts _g_lCounterR+2,R4
 0312                   .dbline 200
 0312 18C0              rjmp L15
 0314           L14:
 0314                   .dbline 200
 0314                   .dbline 200
 0314 81E0              ldi R24,1
 0316 90E0              ldi R25,0
 0318 A0E0              ldi R26,0
 031A B0E0              ldi R27,0
 031C 40900200          lds R4,_g_lCounterR+2
 0320 50900300          lds R5,_g_lCounterR+2+1
 0324 20900000          lds R2,_g_lCounterR
 0328 30900100          lds R3,_g_lCounterR+1
 032C 281A              sub R2,R24
 032E 390A              sbc R3,R25
 0330 4A0A              sbc R4,R26
 0332 5B0A              sbc R5,R27
 0334 30920100          sts _g_lCounterR+1,R3
 0338 20920000          sts _g_lCounterR,R2
 033C 50920300          sts _g_lCounterR+2+1,R5
 0340 40920200          sts _g_lCounterR+2,R4
 0344                   .dbline 200
 0344           L15:
 0344                   .dbline 200
 0344                   .dbline -2
 0344           L13:
 0344                   .dbline 0 ; func end
 0344 0990              ld R0,y+
 0346 0FBE              out 0x3f,R0
 0348 B991              ld R27,y+
 034A A991              ld R26,y+
 034C 9991              ld R25,y+
 034E 8991              ld R24,y+
 0350 3991              ld R19,y+
 0352 2991              ld R18,y+
 0354 1991              ld R17,y+
 0356 0991              ld R16,y+
 0358 5990              ld R5,y+
 035A 4990              ld R4,y+
 035C 3990              ld R3,y+
 035E 2990              ld R2,y+
 0360 1990              ld R1,y+
 0362 0990              ld R0,y+
 0364 1895              reti
 0366                   .dbend
 0366                   .dbfunc s Timer0_INIT _Timer0_INIT fV
                        .even
 0366           _Timer0_INIT:
 0366                   .dbline -1
 0366                   .dbline 210
 0366           ; }
 0366           ; 
 0366           ; /***********************************************************
 0366           ; *   函数声明:定时器0初始化函数                            *
 0366           ; *   输入:    无                                           *
 0366           ; *   输出:    无                                           *
 0366           ; *   调用函数:无                                           *
 0366           ; ***********************************************************/
 0366           ; static void Timer0_INIT(void)
 0366           ; {
 0366                   .dbline 211
 0366           ;     TCCR0B = 0x00; //stop
 0366 2224              clr R2
 0368 25BC              out 0x25,R2
 036A                   .dbline 212
 036A           ;     TCNT0 = 0x06; //set count
 036A 86E0              ldi R24,6
 036C 86BD              out 0x26,R24
 036E                   .dbline 213
 036E           ;     TCCR0A = 0x00; 
 036E 24BC              out 0x24,R2
 0370                   .dbline 214
 0370           ;     TCCR0B = 0x03; //start timer
 0370 83E0              ldi R24,3
 0372 85BD              out 0x25,R24
 0374                   .dbline -2
 0374           L16:
 0374                   .dbline 0 ; func end
 0374 0895              ret
 0376                   .dbend
 0376                   .dbfunc e Timer0_OVF_ISR _Timer0_OVF_ISR fV
                        .even
 0376           _Timer0_OVF_ISR::
 0376 0A92              st -y,R0
 0378 1A92              st -y,R1
 037A 2A92              st -y,R2
 037C 3A92              st -y,R3
 037E 4A92              st -y,R4
 0380 5A92              st -y,R5
 0382 6A92              st -y,R6
 0384 7A92              st -y,R7
 0386 8A92              st -y,R8
 0388 9A92              st -y,R9
 038A 0A93              st -y,R16
 038C 1A93              st -y,R17
 038E 2A93              st -y,R18
 0390 3A93              st -y,R19
 0392 8A93              st -y,R24
 0394 9A93              st -y,R25
 0396 AA93              st -y,R26
 0398 BA93              st -y,R27
 039A EA93              st -y,R30
 039C FA93              st -y,R31
 039E 0FB6              in R0,0x3f
 03A0 0A92              st -y,R0
 03A2                   .dbline -1
 03A2                   .dbline 224
 03A2           ; }
 03A2           ; 
 03A2           ; /***********************************************************
 03A2           ; *   函数声明:定时器0溢出中断处理程序                      *
 03A2           ; *   输入:    无                                           *
 03A2           ; *   输出:    无                                           *
 03A2           ; *   调用函数:INSERT_TIMER0_OVF_ISR_CODE                   *
 03A2           ; ***********************************************************/
 03A2           ; void Timer0_OVF_ISR(void)
 03A2           ; {
 03A2                   .dbline 225
 03A2           ;     TCNT0 = 0x06;
 03A2 86E0              ldi R24,6
 03A4 86BD              out 0x26,R24
 03A6                   .dbline 226
 03A6           ;     INSERT_TIMER0_OVF_ISR_CODE
 03A6 7894              sei
 03A8                   .dbline 226
 03A8 00D0              rcall _Insert_Timer0_OVF_ISR_Code
 03AA                   .dbline -2
 03AA           L17:
 03AA                   .dbline 0 ; func end
 03AA 0990              ld R0,y+
 03AC 0FBE              out 0x3f,R0
 03AE F991              ld R31,y+
 03B0 E991              ld R30,y+
 03B2 B991              ld R27,y+
 03B4 A991              ld R26,y+
 03B6 9991              ld R25,y+
 03B8 8991              ld R24,y+
 03BA 3991              ld R19,y+
 03BC 2991              ld R18,y+
 03BE 1991              ld R17,y+
 03C0 0991              ld R16,y+
 03C2 9990              ld R9,y+
 03C4 8990              ld R8,y+
 03C6 7990              ld R7,y+
 03C8 6990              ld R6,y+
 03CA 5990              ld R5,y+
 03CC 4990              ld R4,y+
 03CE 3990              ld R3,y+
 03D0 2990              ld R2,y+
 03D2 1990              ld R1,y+
 03D4 0990              ld R0,y+
 03D6 1895              reti
 03D8                   .dbend
 03D8                   .dbfunc s SPI_INIT _SPI_INIT fV
                        .even
 03D8           _SPI_INIT:
 03D8                   .dbline -1
 03D8                   .dbline 236
 03D8           ; }
 03D8           ; 
 03D8           ; /***********************************************************
 03D8           ; *   函数说明:SPI初始化函数                                *
 03D8           ; *   输入:    无                                           *
 03D8           ; *   输出:    无                                           *
 03D8           ; *   调用函数:无                                           *
 03D8           ; ***********************************************************/
 03D8           ; static void SPI_INIT(void)
 03D8           ; {
 03D8                   .dbline 237
 03D8           ;     SPCR = 0xFE; //setup SPI
 03D8 8EEF              ldi R24,254
 03DA 8CBD              out 0x2c,R24
 03DC                   .dbline 238
 03DC           ;     SPSR = 0x00; //setup SPI
 03DC 2224              clr R2
 03DE 2DBC              out 0x2d,R2
 03E0                   .dbline -2
 03E0           L18:
 03E0                   .dbline 0 ; func end
 03E0 0895              ret
 03E2                   .dbend
 03E2                   .dbfunc e SPI_STC_ISR _SPI_STC_ISR fV
                        .even
 03E2           _SPI_STC_ISR::
 03E2 2A92              st -y,R2
 03E4 8A93              st -y,R24
 03E6 9A93              st -y,R25
 03E8 EA93              st -y,R30
 03EA FA93              st -y,R31
 03EC 2FB6              in R2,0x3f
 03EE 2A92              st -y,R2
 03F0                   .dbline -1
 03F0                   .dbline 248
 03F0           ; }
 03F0           ; 
 03F0           ; /***********************************************************
 03F0           ; *   函数说明:SPI发送完成中断                              *
 03F0           ; *   输入:    无                                           *
 03F0           ; *   输出:    无                                           *
 03F0           ; *   调用函数:INSERT_SPI_STC_ISR_CODE                      *
 03F0           ; ***********************************************************/
 03F0           ; void SPI_STC_ISR(void)
 03F0           ; {
 03F0                   .dbline 249
 03F0           ;     INSERT_SPI_STC_ISR_CODE
 03F0 7894              sei
 03F2                   .dbline 249
 03F2                   .dbline 249
 03F2 80E0              ldi R24,<_g_chReceiveBuffer
 03F4 90E0              ldi R25,>_g_chReceiveBuffer
 03F6 E0910000          lds R30,_g_chSPICounter
 03FA FF27              clr R31
 03FC E80F              add R30,R24
 03FE F91F              adc R31,R25
 0400 2EB4              in R2,0x2e
 0402 2082              std z+0,R2
 0404                   .dbline 249
 0404 80910000          lds R24,_g_chSPICounter
 0408 8F5F              subi R24,255    ; addi 1
 040A 80930000          sts _g_chSPICounter,R24
 040E                   .dbline 249
 040E 8131              cpi R24,17
 0410 39F4              brne L20
 0412           X4:
 0412                   .dbline 249
 0412                   .dbline 249
 0412 2224              clr R2
 0414 20920000          sts _g_chSPICounter,R2
 0418                   .dbline 249
 0418 85B1              in R24,0x5
 041A 8460              ori R24,4
 041C 85B9              out 0x5,R24
 041E                   .dbline 249
 041E 09C0              rjmp L21
 0420           L20:
 0420                   .dbline 249
 0420                   .dbline 249
 0420 80E0              ldi R24,<_g_chSendBuffer
 0422 90E0              ldi R25,>_g_chSendBuffer
 0424 E0910000          lds R30,_g_chSPICounter
 0428 FF27              clr R31
 042A E80F              add R30,R24
 042C F91F              adc R31,R25
 042E 2080              ldd R2,z+0
 0430 2EBC              out 0x2e,R2
 0432                   .dbline 249
 0432           L21:
 0432                   .dbline 249
 0432                   .dbline -2
 0432           L19:
 0432                   .dbline 0 ; func end
 0432 2990              ld R2,y+
 0434 2FBE              out 0x3f,R2
 0436 F991              ld R31,y+
 0438 E991              ld R30,y+
 043A 9991              ld R25,y+
 043C 8991              ld R24,y+
 043E 2990              ld R2,y+
 0440 1895              reti
 0442                   .dbend
 0442           ; }

⌨️ 快捷键说明

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