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

📄 main.lis

📁 用ICCAVR编辑通过的
💻 LIS
📖 第 1 页 / 共 4 页
字号:
 0138 0083              std z+0,R16
 013A                   .dbline 96
 013A 2AE0              ldi R18,10
 013C 30E0              ldi R19,0
 013E 8A01              movw R16,R20
 0140 00D0              rcall div16u
 0142 A801              movw R20,R16
 0144                   .dbline 97
 0144           L21:
 0144                   .dbline 93
 0144 6F5F              subi R22,255  ; offset = 1
 0146 7F4F              sbci R23,255
 0148           L23:
 0148                   .dbline 93
 0148 6430              cpi R22,4
 014A E0E0              ldi R30,0
 014C 7E07              cpc R23,R30
 014E 68F3              brlo L20
 0150                   .dbline -2
 0150           L15:
 0150 00D0              rcall pop_gset3
 0152                   .dbline 0 ; func end
 0152 0895              ret
 0154                   .dbsym r intV 20 i
 0154                   .dbsym r i 22 i
 0154                   .dbsym r pch 10 pc
 0154                   .dbend
 0154                   .dbfunc e convert_a _convert_a fV
 0154           ;              k -> R10,R11
 0154           ;           temp -> y+4
 0154           ;           intA -> y+0
 0154           ;              n -> R12,R13
 0154           ;              i -> R14,R15
 0154           ;            pch -> y+22
                        .even
 0154           _convert_a::
 0154 1A93              st -y,r17
 0156 0A93              st -y,r16
 0158 00D0              rcall push_gset5
 015A 2C97              sbiw R28,12
 015C                   .dbline -1
 015C                   .dbline 101
 015C           ;       {
 015C           ;               pch[i] = intV % 10;
 015C           ;               intV /= 10;
 015C           ;       }
 015C           ; }
 015C           ; 
 015C           ; void convert_a( unsigned char* pch)
 015C           ; {
 015C                   .dbline 103
 015C           ;       unsigned int i,n,k;
 015C           ;       float temp = 0,intA;
 015C 00E0              ldi R16,<L25
 015E 10E0              ldi R17,>L25
 0160 00D0              rcall lpm32
 0162 FE01              movw R30,R28
 0164 0483              std z+4,R16
 0166 1583              std z+5,R17
 0168 2683              std z+6,R18
 016A 3783              std z+7,R19
 016C                   .dbline 104
 016C           ;       CHECK_EDATA_A();
 016C 65D2              rcall _CHECK_EDATA_A
 016E                   .dbline 105
 016E           ;       if ( MAX_A[0] < 500 )
 016E 80910000          lds R24,_MAX_A
 0172 90910100          lds R25,_MAX_A+1
 0176 843F              cpi R24,244
 0178 E1E0              ldi R30,1
 017A 9E07              cpc R25,R30
 017C 20F4              brsh L26
 017E                   .dbline 106
 017E           ;       {
 017E                   .dbline 107
 017E           ;               k = 10;
 017E 8AE0              ldi R24,10
 0180 90E0              ldi R25,0
 0182 5C01              movw R10,R24
 0184                   .dbline 108
 0184           ;       }
 0184 03C0              rjmp L27
 0186           L26:
 0186                   .dbline 110
 0186           ;       else
 0186           ;       {
 0186                   .dbline 111
 0186           ;               k = 1;
 0186 81E0              ldi R24,1
 0188 90E0              ldi R25,0
 018A 5C01              movw R10,R24
 018C                   .dbline 112
 018C           ;       }
 018C           L27:
 018C                   .dbline 113
 018C           ;       intA = ((float)MAX_A[0] * 2.0 * k * adc_data[1]) / 1024.0;
 018C 00E0              ldi R16,<L29
 018E 10E0              ldi R17,>L29
 0190 00D0              rcall lpm32
 0192 3A93              st -y,R19
 0194 2A93              st -y,R18
 0196 1A93              st -y,R17
 0198 0A93              st -y,R16
 019A 00E0              ldi R16,<L30
 019C 10E0              ldi R17,>L30
 019E 00D0              rcall lpm32
 01A0 3A93              st -y,R19
 01A2 2A93              st -y,R18
 01A4 1A93              st -y,R17
 01A6 0A93              st -y,R16
 01A8 00910000          lds R16,_MAX_A
 01AC 10910100          lds R17,_MAX_A+1
 01B0 1695              lsr R17
 01B2 0795              ror R16
 01B4 00D0              rcall int2fp
 01B6 3A93              st -y,R19
 01B8 2A93              st -y,R18
 01BA 1A93              st -y,R17
 01BC 0A93              st -y,R16
 01BE 00D0              rcall empy32fs
 01C0 00910000          lds R16,_MAX_A
 01C4 10910100          lds R17,_MAX_A+1
 01C8 0170              andi R16,1
 01CA 1070              andi R17,0
 01CC 00D0              rcall int2fp
 01CE 3A93              st -y,R19
 01D0 2A93              st -y,R18
 01D2 1A93              st -y,R17
 01D4 0A93              st -y,R16
 01D6 00D0              rcall add32fs
 01D8 00D0              rcall empy32fs
 01DA 00E0              ldi R16,<L30
 01DC 10E0              ldi R17,>L30
 01DE 00D0              rcall lpm32
 01E0 3A93              st -y,R19
 01E2 2A93              st -y,R18
 01E4 1A93              st -y,R17
 01E6 0A93              st -y,R16
 01E8 8501              movw R16,R10
 01EA 1695              lsr R17
 01EC 0795              ror R16
 01EE 00D0              rcall int2fp
 01F0 3A93              st -y,R19
 01F2 2A93              st -y,R18
 01F4 1A93              st -y,R17
 01F6 0A93              st -y,R16
 01F8 00D0              rcall empy32fs
 01FA 8501              movw R16,R10
 01FC 0170              andi R16,1
 01FE 1070              andi R17,0
 0200 00D0              rcall int2fp
 0202 3A93              st -y,R19
 0204 2A93              st -y,R18
 0206 1A93              st -y,R17
 0208 0A93              st -y,R16
 020A 00D0              rcall add32fs
 020C 00D0              rcall empy32fs
 020E 40900600          lds R4,_adc_data+4+2
 0212 50900700          lds R5,_adc_data+4+2+1
 0216 20900400          lds R2,_adc_data+4
 021A 30900500          lds R3,_adc_data+4+1
 021E 5A92              st -y,R5
 0220 4A92              st -y,R4
 0222 3A92              st -y,R3
 0224 2A92              st -y,R2
 0226 00D0              rcall empy32fs
 0228 00E0              ldi R16,<L17
 022A 10E0              ldi R17,>L17
 022C 00D0              rcall lpm32
 022E 3A93              st -y,R19
 0230 2A93              st -y,R18
 0232 1A93              st -y,R17
 0234 0A93              st -y,R16
 0236 00D0              rcall div32f
 0238 FE01              movw R30,R28
 023A 0083              std z+0,R16
 023C 1183              std z+1,R17
 023E 2283              std z+2,R18
 0240 3383              std z+3,R19
 0242                   .dbline 116
 0242           ;                                                                                                       //计算电流值
 0242           ;                                                                               
 0242           ;       temp = (float)MAX_A[0]* 7.93 * k / 100.0 ;      
 0242 00E0              ldi R16,<L31
 0244 10E0              ldi R17,>L31
 0246 00D0              rcall lpm32
 0248 3A93              st -y,R19
 024A 2A93              st -y,R18
 024C 1A93              st -y,R17
 024E 0A93              st -y,R16
 0250 00E0              ldi R16,<L30
 0252 10E0              ldi R17,>L30
 0254 00D0              rcall lpm32
 0256 3A93              st -y,R19
 0258 2A93              st -y,R18
 025A 1A93              st -y,R17
 025C 0A93              st -y,R16
 025E 00910000          lds R16,_MAX_A
 0262 10910100          lds R17,_MAX_A+1
 0266 1695              lsr R17
 0268 0795              ror R16
 026A 00D0              rcall int2fp
 026C 3A93              st -y,R19
 026E 2A93              st -y,R18
 0270 1A93              st -y,R17
 0272 0A93              st -y,R16
 0274 00D0              rcall empy32fs
 0276 00910000          lds R16,_MAX_A
 027A 10910100          lds R17,_MAX_A+1
 027E 0170              andi R16,1
 0280 1070              andi R17,0
 0282 00D0              rcall int2fp
 0284 3A93              st -y,R19
 0286 2A93              st -y,R18
 0288 1A93              st -y,R17
 028A 0A93              st -y,R16
 028C 00D0              rcall add32fs
 028E 00D0              rcall empy32fs
 0290 00E0              ldi R16,<L30
 0292 10E0              ldi R17,>L30
 0294 00D0              rcall lpm32
 0296 3A93              st -y,R19
 0298 2A93              st -y,R18
 029A 1A93              st -y,R17
 029C 0A93              st -y,R16
 029E 8501              movw R16,R10
 02A0 1695              lsr R17
 02A2 0795              ror R16
 02A4 00D0              rcall int2fp
 02A6 3A93              st -y,R19
 02A8 2A93              st -y,R18
 02AA 1A93              st -y,R17
 02AC 0A93              st -y,R16
 02AE 00D0              rcall empy32fs
 02B0 8501              movw R16,R10
 02B2 0170              andi R16,1
 02B4 1070              andi R17,0
 02B6 00D0              rcall int2fp
 02B8 3A93              st -y,R19
 02BA 2A93              st -y,R18
 02BC 1A93              st -y,R17
 02BE 0A93              st -y,R16
 02C0 00D0              rcall add32fs
 02C2 00D0              rcall empy32fs
 02C4 00E0              ldi R16,<L32
 02C6 10E0              ldi R17,>L32
 02C8 00D0              rcall lpm32
 02CA 3A93              st -y,R19
 02CC 2A93              st -y,R18
 02CE 1A93              st -y,R17
 02D0 0A93              st -y,R16
 02D2 00D0              rcall div32f
 02D4 FE01              movw R30,R28
 02D6 0483              std z+4,R16
 02D8 1583              std z+5,R17
 02DA 2683              std z+6,R18
 02DC 3783              std z+7,R19
 02DE                   .dbline 118
 02DE           ;                                                               
 02DE           ;       if ( intA > temp )
 02DE FE01              movw R30,R28
 02E0 2480              ldd R2,z+4
 02E2 3580              ldd R3,z+5
 02E4 4680              ldd R4,z+6
 02E6 5780              ldd R5,z+7
 02E8 5A92              st -y,R5
 02EA 4A92              st -y,R4
 02EC 3A92              st -y,R3
 02EE 2A92              st -y,R2
 02F0 FE01              movw R30,R28
 02F2            ; stack offset 4
 02F2 2480              ldd R2,z+4
 02F4 3580              ldd R3,z+5
 02F6 4680              ldd R4,z+6
 02F8 5780              ldd R5,z+7
 02FA 5A92              st -y,R5
 02FC 4A92              st -y,R4
 02FE 3A92              st -y,R3
 0300 2A92              st -y,R2
 0302 00D0              rcall cmp32f
 0304 0CF0              brlt X1
 0306 E6C0              rjmp L33
 0308           X1:
 0308                   .dbline 119
 0308           ;       {
 0308                   .dbline 120
 0308           ;               intA -= temp;
 0308 FE01              movw R30,R28
 030A 2080              ldd R2,z+0
 030C 3180              ldd R3,z+1
 030E 4280              ldd R4,z+2
 0310 5380              ldd R5,z+3
 0312 5A92              st -y,R5
 0314 4A92              st -y,R4
 0316 3A92              st -y,R3
 0318 2A92              st -y,R2
 031A FE01              movw R30,R28
 031C            ; stack offset 4
 031C 2084              ldd R2,z+8
 031E 3184              ldd R3,z+9
 0320 4284              ldd R4,z+10
 0322 5384              ldd R5,z+11
 0324 5A92              st -y,R5
 0326 4A92              st -y,R4
 0328 3A92              st -y,R3
 032A 2A92              st -y,R2
 032C 00D0              rcall sub32f
 032E FE01              movw R30,R28
 0330 0083              std z+0,R16
 0332 1183              std z+1,R17
 0334 2283              std z+2,R18
 0336 3383              std z+3,R19
 0338                   .dbline 121
 0338           ;               if( adc_data[1] < 33)
 0338 40900600          lds R4,_adc_data+4+2
 033C 50900700          lds R5,_adc_data+4+2+1
 0340 20900400          lds R2,_adc_data+4
 0344 30900500          lds R3,_adc_data+4+1
 0348 5A92              st -y,R5
 034A 4A92              st -y,R4
 034C 3A92              st -y,R3
 034E 2A92              st -y,R2
 0350 00E0              ldi R16,<L38
 0352 10E0              ldi R17,>L38
 0354 00D0              rcall lpm32
 0356 3A93              st -y,R19
 0358 2A93              st -y,R18
 035A 1A93              st -y,R17
 035C 0A93              st -y,R16
 035E 00D0              rcall cmp32f
 0360 0CF0              brlt X2
 0362 51C0              rjmp L35

⌨️ 快捷键说明

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