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

📄 ex_support.lis

📁 全场地位系统:小车静止或移动过程中码盘进行全场定位,用的是avr单片机
💻 LIS
📖 第 1 页 / 共 2 页
字号:
 0006 2220              tst R2
 0008 11F0              breq L3
 000A           X0:
 000A                   .dbline 122
 000A           ;     {
 000A                   .dbline 123
 000A           ;         return TRUE;
 000A 01E0              ldi R16,1
 000C 41C0              rjmp L2
 000E           L3:
 000E                   .dbline 126
 000E           ;     }
 000E           ;     //处理数据
 000E           ;     TYPE_CONVERSION(&g_chSendBuffer[3],float) = g_fX;
 000E 40900200          lds R4,_g_fX+2
 0012 50900300          lds R5,_g_fX+2+1
 0016 20900000          lds R2,_g_fX
 001A 30900100          lds R3,_g_fX+1
 001E E0E0              ldi R30,<_g_chSendBuffer+3
 0020 F0E0              ldi R31,>_g_chSendBuffer+3
 0022 2082              std z+0,R2
 0024 3182              std z+1,R3
 0026 4282              std z+2,R4
 0028 5382              std z+3,R5
 002A                   .dbline 127
 002A           ;     TYPE_CONVERSION(&g_chSendBuffer[7],float) = g_fY;
 002A 40900200          lds R4,_g_fY+2
 002E 50900300          lds R5,_g_fY+2+1
 0032 20900000          lds R2,_g_fY
 0036 30900100          lds R3,_g_fY+1
 003A E0E0              ldi R30,<_g_chSendBuffer+7
 003C F0E0              ldi R31,>_g_chSendBuffer+7
 003E 2082              std z+0,R2
 0040 3182              std z+1,R3
 0042 4282              std z+2,R4
 0044 5382              std z+3,R5
 0046                   .dbline 128
 0046           ;     TYPE_CONVERSION(&g_chSendBuffer[11],float) = g_fLastAngle;
 0046 40900200          lds R4,_g_fLastAngle+2
 004A 50900300          lds R5,_g_fLastAngle+2+1
 004E 20900000          lds R2,_g_fLastAngle
 0052 30900100          lds R3,_g_fLastAngle+1
 0056 E0E0              ldi R30,<_g_chSendBuffer+11
 0058 F0E0              ldi R31,>_g_chSendBuffer+11
 005A 2082              std z+0,R2
 005C 3182              std z+1,R3
 005E 4282              std z+2,R4
 0060 5382              std z+3,R5
 0062                   .dbline 130
 0062           ;     
 0062           ;     {
 0062                   .dbline 131
 0062           ;         UINT8 n = 0;
 0062                   .dbline 132
 0062           ;         BYTE chXOR = 0;
 0062 0027              clr R16
 0064                   .dbline 134
 0064           ;         
 0064           ;         for(n = 1;n < 15;n++)
 0064 21E0              ldi R18,1
 0066 09C0              rjmp L11
 0068           L8:
 0068                   .dbline 135
 0068           ;         {
 0068                   .dbline 136
 0068           ;             chXOR ^= g_chSendBuffer[n];
 0068 80E0              ldi R24,<_g_chSendBuffer
 006A 90E0              ldi R25,>_g_chSendBuffer
 006C E22F              mov R30,R18
 006E FF27              clr R31
 0070 E80F              add R30,R24
 0072 F91F              adc R31,R25
 0074 2080              ldd R2,z+0
 0076 0225              eor R16,R2
 0078                   .dbline 137
 0078           ;         }
 0078           L9:
 0078                   .dbline 134
 0078 2395              inc R18
 007A           L11:
 007A                   .dbline 134
 007A 2F30              cpi R18,15
 007C A8F3              brlo L8
 007E           X1:
 007E                   .dbline 139
 007E           ;         
 007E           ;         g_chSendBuffer[15] = chXOR;
 007E 00932300          sts _g_chSendBuffer+15,R16
 0082                   .dbline 140
 0082           ;     }
 0082                   .dbline 143
 0082           ;     
 0082           ;     //开始发送数据
 0082           ;     SPI_SS = LOW;
 0082 85B1              in R24,0x5
 0084 8B7F              andi R24,251
 0086 85B9              out 0x5,R24
 0088                   .dbline 144
 0088           ;     SPDR = g_chSendBuffer[0];
 0088 20901400          lds R2,_g_chSendBuffer
 008C 2EBC              out 0x2e,R2
 008E                   .dbline 146
 008E           ;     
 008E           ;     return FALSE;
 008E 0027              clr R16
 0090                   .dbline -2
 0090           L2:
 0090                   .dbline 0 ; func end
 0090 0895              ret
 0092                   .dbsym r n1 18 c
 0092                   .dbsym r chXOR0 16 c
 0092                   .dbend
 0092                   .dbfunc e Delay_MS _Delay_MS fV
 0092           ;          wTime -> R16,R17
                        .even
 0092           _Delay_MS::
 0092                   .dbline -1
 0092                   .dbline 156
 0092           ; }
 0092           ; 
 0092           ; /***********************************************************
 0092           ; *   函数说明:系统毫秒延时函数                             *
 0092           ; *   输入:    需要延时的时间长度                           *
 0092           ; *   输出:    无                                           *
 0092           ; *   调用函数:无                                           *
 0092           ; ***********************************************************/
 0092           ; void Delay_MS(uint16 wTime)
 0092           ; {
 0092                   .dbline 157
 0092           ;     s_wSystemDelayTimerCounter = wTime;
 0092 10930100          sts _s_wSystemDelayTimerCounter+1,R17
 0096 00930000          sts _s_wSystemDelayTimerCounter,R16
 009A           L14:
 009A                   .dbline 159
 009A           ;     
 009A           ;     while(s_wSystemDelayTimerCounter);
 009A           L15:
 009A                   .dbline 159
 009A 20900000          lds R2,_s_wSystemDelayTimerCounter
 009E 30900100          lds R3,_s_wSystemDelayTimerCounter+1
 00A2 2220              tst R2
 00A4 D1F7              brne L14
 00A6 3320              tst R3
 00A8 C1F7              brne L14
 00AA           X2:
 00AA                   .dbline -2
 00AA           L13:
 00AA                   .dbline 0 ; func end
 00AA 0895              ret
 00AC                   .dbsym r wTime 16 i
 00AC                   .dbend
 00AC                   .dbfunc e Insert_Timer0_OVF_ISR_Code _Insert_Timer0_OVF_ISR_Code fV
 00AC           ;        cflags0 -> R16
                        .even
 00AC           _Insert_Timer0_OVF_ISR_Code::
 00AC                   .dbline -1
 00AC                   .dbline 169
 00AC           ; }
 00AC           ; 
 00AC           ; /***********************************************************
 00AC           ; *   函数说明:定时器0中断处理程序代码插入函数              *
 00AC           ; *   输入:    无                                           *
 00AC           ; *   输出:    无                                           *
 00AC           ; *   调用函数:无                                           *
 00AC           ; ***********************************************************/
 00AC           ; void Insert_Timer0_OVF_ISR_Code(void)
 00AC           ; {
 00AC                   .dbline 170
 00AC           ;     g_wSystemTimer++;
 00AC 80910200          lds R24,_g_wSystemTimer
 00B0 90910300          lds R25,_g_wSystemTimer+1
 00B4 0196              adiw R24,1
 00B6 90930300          sts _g_wSystemTimer+1,R25
 00BA 80930200          sts _g_wSystemTimer,R24
 00BE                   .dbline 172
 00BE           ; 
 00BE           ;     if (s_wSystemDelayTimerCounter)
 00BE 20900000          lds R2,_s_wSystemDelayTimerCounter
 00C2 30900100          lds R3,_s_wSystemDelayTimerCounter+1
 00C6 2220              tst R2
 00C8 11F4              brne X3
 00CA 3320              tst R3
 00CC 31F0              breq L18
 00CE           X3:
 00CE                   .dbline 173
 00CE           ;     {
 00CE                   .dbline 174
 00CE           ;         s_wSystemDelayTimerCounter--;
 00CE C101              movw R24,R2
 00D0 0197              sbiw R24,1
 00D2 90930100          sts _s_wSystemDelayTimerCounter+1,R25
 00D6 80930000          sts _s_wSystemDelayTimerCounter,R24
 00DA                   .dbline 175
 00DA           ;     }
 00DA           L18:
 00DA                   .dbline 177
 00DA           ;     
 00DA           ;     SAFE_CODE_PERFORMANCE
 00DA                   .dbline 177
 00DA 0FB7              in R16,0x3f
 00DC                   .dbline 177
 00DC F894              cli
 00DE                   .dbline 177
 00DE 40900600          lds R4,_g_lCounterL+2
 00E2 50900700          lds R5,_g_lCounterL+2+1
 00E6 20900400          lds R2,_g_lCounterL
 00EA 30900500          lds R3,_g_lCounterL+1
 00EE 30920D00          sts _g_lCounterLImage+1,R3
 00F2 20920C00          sts _g_lCounterLImage,R2
 00F6 50920F00          sts _g_lCounterLImage+2+1,R5
 00FA 40920E00          sts _g_lCounterLImage+2,R4
 00FE                   .dbline 177
 00FE 40900A00          lds R4,_g_lCounterR+2
 0102 50900B00          lds R5,_g_lCounterR+2+1
 0106 20900800          lds R2,_g_lCounterR
 010A 30900900          lds R3,_g_lCounterR+1
 010E 30921100          sts _g_lCounterRImage+1,R3
 0112 20921000          sts _g_lCounterRImage,R2
 0116 50921300          sts _g_lCounterRImage+2+1,R5
 011A 40921200          sts _g_lCounterRImage+2,R4
 011E                   .dbline 177
 011E                   .dbline 177
 011E 0FBF              out 0x3f,R16
 0120                   .dbline 177
 0120                   .dbline 182
 0120           ;     (
 0120           ;         g_lCounterLImage = g_lCounterL;
 0120           ;         g_lCounterRImage = g_lCounterR;
 0120           ;     )
 0120           ;     g_bRunFlagA = TRUE;
 0120 81E0              ldi R24,1
 0122 80930000          sts _g_bRunFlagA,R24
 0126                   .dbline -2
 0126           L17:
 0126                   .dbline 0 ; func end
 0126 0895              ret
 0128                   .dbsym r cflags0 16 c
 0128                   .dbend
 0128           ;     
 0128           ;     #ifdef _DEBUG
 0128           ;     if (!(g_wSystemTimer & (BIT(5) - 1)))
 0128           ;     {
 0128           ;         LCDSP027_refresh_DISP_BUFF();
 0128           ;     }
 0128           ;     #endif
 0128           ; }

⌨️ 快捷键说明

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