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

📄 jiaozhun.lis

📁 工业开关量检测模块的原代码,带断线检测功能
💻 LIS
📖 第 1 页 / 共 2 页
字号:
 0210 0E940000          xcall _EEPROMread
 0214 202E              mov R2,R16
 0216 3324              clr R3
 0218 4424              clr R4
 021A 5524              clr R5
 021C 288A              std y+16,R2
 021E 398A              std y+17,R3
 0220 4A8A              std y+18,R4
 0222 5B8A              std y+19,R5
 0224                   .dbline 43
 0224           ;  Fu_Data = Fu_Data<<24;
 0224 88E1              ldi R24,24
 0226 90E0              ldi R25,0
 0228 0889              ldd R16,y+16
 022A 1989              ldd R17,y+17
 022C 2A89              ldd R18,y+18
 022E 3B89              ldd R19,y+19
 0230 8A93              st -y,R24
 0232 0E940000          xcall lsl32
 0236 088B              std y+16,R16
 0238 198B              std y+17,R17
 023A 2A8B              std y+18,R18
 023C 3B8B              std y+19,R19
 023E                   .dbline 44
 023E           ;  td = EEPROMread(0x06);
 023E 06E0              ldi R16,6
 0240 10E0              ldi R17,0
 0242 0E940000          xcall _EEPROMread
 0246 202E              mov R2,R16
 0248 3324              clr R3
 024A 4424              clr R4
 024C 5524              clr R5
 024E 2882              std y+0,R2
 0250 3982              std y+1,R3
 0252 4A82              std y+2,R4
 0254 5B82              std y+3,R5
 0256                   .dbline 45
 0256           ;  td = td<<16;
 0256 2880              ldd R2,y+0
 0258 3980              ldd R3,y+1
 025A 4A80              ldd R4,y+2
 025C 5B80              ldd R5,y+3
 025E 2101              movw R4,R2
 0260 2224              clr R2
 0262 3324              clr R3
 0264 2882              std y+0,R2
 0266 3982              std y+1,R3
 0268 4A82              std y+2,R4
 026A 5B82              std y+3,R5
 026C                   .dbline 46
 026C           ;  Fu_Data +=td;
 026C 2880              ldd R2,y+0
 026E 3980              ldd R3,y+1
 0270 4A80              ldd R4,y+2
 0272 5B80              ldd R5,y+3
 0274 6888              ldd R6,y+16
 0276 7988              ldd R7,y+17
 0278 8A88              ldd R8,y+18
 027A 9B88              ldd R9,y+19
 027C 620C              add R6,R2
 027E 731C              adc R7,R3
 0280 841C              adc R8,R4
 0282 951C              adc R9,R5
 0284 688A              std y+16,R6
 0286 798A              std y+17,R7
 0288 8A8A              std y+18,R8
 028A 9B8A              std y+19,R9
 028C                   .dbline 47
 028C           ;  td = EEPROMread(0x07);
 028C 07E0              ldi R16,7
 028E 10E0              ldi R17,0
 0290 0E940000          xcall _EEPROMread
 0294 202E              mov R2,R16
 0296 3324              clr R3
 0298 4424              clr R4
 029A 5524              clr R5
 029C 2882              std y+0,R2
 029E 3982              std y+1,R3
 02A0 4A82              std y+2,R4
 02A2 5B82              std y+3,R5
 02A4                   .dbline 48
 02A4           ;  td = td<<8;
 02A4 88E0              ldi R24,8
 02A6 90E0              ldi R25,0
 02A8 0881              ldd R16,y+0
 02AA 1981              ldd R17,y+1
 02AC 2A81              ldd R18,y+2
 02AE 3B81              ldd R19,y+3
 02B0 8A93              st -y,R24
 02B2 0E940000          xcall lsl32
 02B6 0883              std y+0,R16
 02B8 1983              std y+1,R17
 02BA 2A83              std y+2,R18
 02BC 3B83              std y+3,R19
 02BE                   .dbline 49
 02BE           ;  Fu_Data +=td;
 02BE 2880              ldd R2,y+0
 02C0 3980              ldd R3,y+1
 02C2 4A80              ldd R4,y+2
 02C4 5B80              ldd R5,y+3
 02C6 6888              ldd R6,y+16
 02C8 7988              ldd R7,y+17
 02CA 8A88              ldd R8,y+18
 02CC 9B88              ldd R9,y+19
 02CE 620C              add R6,R2
 02D0 731C              adc R7,R3
 02D2 841C              adc R8,R4
 02D4 951C              adc R9,R5
 02D6 688A              std y+16,R6
 02D8 798A              std y+17,R7
 02DA 8A8A              std y+18,R8
 02DC 9B8A              std y+19,R9
 02DE                   .dbline 50
 02DE           ;  td = EEPROMread(0x08);
 02DE 08E0              ldi R16,8
 02E0 10E0              ldi R17,0
 02E2 0E940000          xcall _EEPROMread
 02E6 202E              mov R2,R16
 02E8 3324              clr R3
 02EA 4424              clr R4
 02EC 5524              clr R5
 02EE 2882              std y+0,R2
 02F0 3982              std y+1,R3
 02F2 4A82              std y+2,R4
 02F4 5B82              std y+3,R5
 02F6                   .dbline 51
 02F6           ;  Fu_Data +=td;
 02F6 2880              ldd R2,y+0
 02F8 3980              ldd R3,y+1
 02FA 4A80              ldd R4,y+2
 02FC 5B80              ldd R5,y+3
 02FE 6888              ldd R6,y+16
 0300 7988              ldd R7,y+17
 0302 8A88              ldd R8,y+18
 0304 9B88              ldd R9,y+19
 0306 620C              add R6,R2
 0308 731C              adc R7,R3
 030A 841C              adc R8,R4
 030C 951C              adc R9,R5
 030E 688A              std y+16,R6
 0310 798A              std y+17,R7
 0312 8A8A              std y+18,R8
 0314 9B8A              std y+19,R9
 0316                   .dbline 52
 0316           ;  Pass_Flag = Pass_Flag<<1;
 0316 20900000          lds R2,_Pass_Flag
 031A 220C              lsl R2
 031C 20920000          sts _Pass_Flag,R2
 0320                   .dbline 53
 0320           ;  F_Ref = Fu_Data/1000.0;
 0320 0889              ldd R16,y+16
 0322 1989              ldd R17,y+17
 0324 2A89              ldd R18,y+18
 0326 3B89              ldd R19,y+19
 0328 0E940000          xcall long2fp
 032C 1801              movw R2,R16
 032E 2901              movw R4,R18
 0330 00E0              ldi R16,<L10
 0332 10E0              ldi R17,>L10
 0334 0E940000          xcall lpm32
 0338 3A93              st -y,R19
 033A 2A93              st -y,R18
 033C 1A93              st -y,R17
 033E 0A93              st -y,R16
 0340 8101              movw R16,R2
 0342 9201              movw R18,R4
 0344 0E940000          xcall fpdiv2
 0348 088F              std y+24,R16
 034A 198F              std y+25,R17
 034C 2A8F              std y+26,R18
 034E 3B8F              std y+27,R19
 0350                   .dbline 54
 0350           ;  F_Data = F_Ref*VR;
 0350 00E0              ldi R16,<L11
 0352 10E0              ldi R17,>L11
 0354 0E940000          xcall lpm32
 0358 CE01              movw R24,R28
 035A 4896              adiw R24,24
 035C 9A93              st -y,R25
 035E 8A93              st -y,R24
 0360 0E940000          xcall fpmule1
 0364 0887              std y+8,R16
 0366 1987              std y+9,R17
 0368 2A87              std y+10,R18
 036A 3B87              std y+11,R19
 036C                   .dbline 55
 036C           ;  F_Data = F_Data/65535.0;
 036C 2884              ldd R2,y+8
 036E 3984              ldd R3,y+9
 0370 4A84              ldd R4,y+10
 0372 5B84              ldd R5,y+11
 0374 00E0              ldi R16,<L12
 0376 10E0              ldi R17,>L12
 0378 0E940000          xcall lpm32
 037C 3A93              st -y,R19
 037E 2A93              st -y,R18
 0380 1A93              st -y,R17
 0382 0A93              st -y,R16
 0384 8101              movw R16,R2
 0386 9201              movw R18,R4
 0388 0E940000          xcall fpdiv2
 038C 0887              std y+8,R16
 038E 1987              std y+9,R17
 0390 2A87              std y+10,R18
 0392 3B87              std y+11,R19
 0394                   .dbline 56
 0394           ;  Pass_Flag = Pass_Flag<<1;
 0394 20900000          lds R2,_Pass_Flag
 0398 220C              lsl R2
 039A 20920000          sts _Pass_Flag,R2
 039E                   .dbline 57
 039E           ;  F_Data = F_Data*1000;
 039E 00E0              ldi R16,<L13
 03A0 10E0              ldi R17,>L13
 03A2 0E940000          xcall lpm32
 03A6 CE01              movw R24,R28
 03A8 0896              adiw R24,8
 03AA 9A93              st -y,R25
 03AC 8A93              st -y,R24
 03AE 0E940000          xcall fpmule1
 03B2 0887              std y+8,R16
 03B4 1987              std y+9,R17
 03B6 2A87              std y+10,R18
 03B8 3B87              std y+11,R19
 03BA                   .dbline 58
 03BA           ;  F_Data = F_Data/Rref;
 03BA 2884              ldd R2,y+8
 03BC 3984              ldd R3,y+9
 03BE 4A84              ldd R4,y+10
 03C0 5B84              ldd R5,y+11
 03C2 00E0              ldi R16,<L14
 03C4 10E0              ldi R17,>L14
 03C6 0E940000          xcall lpm32
 03CA 3A93              st -y,R19
 03CC 2A93              st -y,R18
 03CE 1A93              st -y,R17
 03D0 0A93              st -y,R16
 03D2 8101              movw R16,R2
 03D4 9201              movw R18,R4
 03D6 0E940000          xcall fpdiv2
 03DA 0887              std y+8,R16
 03DC 1987              std y+9,R17
 03DE 2A87              std y+10,R18
 03E0 3B87              std y+11,R19
 03E2                   .dbline 60
 03E2           ;  
 03E2           ;  asm("nop");
 03E2 0000              nop
 03E4                   .dbline 61
 03E4           ;  asm("nop");
 03E4 0000              nop
 03E6                   .dbline 62
 03E6           ;  if(Pass_Flag !=0x04)
 03E6 80910000          lds R24,_Pass_Flag
 03EA 8430              cpi R24,4
 03EC 11F0              breq L17
 03EE                   .dbline 63
 03EE           ;   RESET;
 03EE 0C940000          jmp 0x000
 03F2           L17:
 03F2                   .dbline 65
 03F2 2C80              ldd R2,y+4
 03F4 3D80              ldd R3,y+5
 03F6 4E80              ldd R4,y+6
 03F8 5F80              ldd R5,y+7
 03FA 30920100          sts _x0+1,R3
 03FE 20920000          sts _x0,R2
 0402 50920300          sts _x0+2+1,R5
 0406 40920200          sts _x0+2,R4
 040A                   .dbline 66
 040A 00E0              ldi R16,<L19
 040C 10E0              ldi R17,>L19
 040E 0E940000          xcall lpm32
 0412 1801              movw R2,R16
 0414 2901              movw R4,R18
 0416 0885              ldd R16,y+8
 0418 1985              ldd R17,y+9
 041A 2A85              ldd R18,y+10
 041C 3B85              ldd R19,y+11
 041E CE01              movw R24,R28
 0420 0496              adiw R24,4
 0422 9A93              st -y,R25
 0424 8A93              st -y,R24
 0426 0E940000          xcall fpsub1x
 042A 8101              movw R16,R2
 042C 9201              movw R18,R4
 042E 0E940000          xcall fpdiv2
 0432 10930100          sts _k0+1,R17
 0436 00930000          sts _k0,R16
 043A 30930300          sts _k0+2+1,R19
 043E 20930200          sts _k0+2,R18
 0442                   .dbline 67
 0442 0000              nop
 0444                   .dbline 68
 0444 0000              nop
 0446                   .dbline 69
 0446           L8:
 0446                   .dbline -2
 0446           L7:
 0446 6C96              adiw R28,28
 0448 0E940000          xcall pop_gset3
 044C                   .dbline 0 ; func end
 044C 0895              ret
 044E                   .dbsym l F_Ref 24 D
 044E                   .dbsym l Z_Ref 20 D
 044E                   .dbsym r Jiao_Flag 10 c
 044E                   .dbsym l Fu_Data 16 L
 044E                   .dbsym l Ze_Data 12 L
 044E                   .dbsym l F_Data 8 D
 044E                   .dbsym l Z_Data 4 D
 044E                   .dbsym l td 0 L
 044E                   .dbend
                        .area lit(rom, con, rel)
 0000           L19:
 0000 00008041          .word 0x0,0x4180
 0004           L14:
 0004 00004842          .word 0x0,0x4248
 0008           L13:
 0008 00007A44          .word 0x0,0x447a
 000C           L12:
 000C 00FF7F47          .word 0xff00,0x477f
 0010           L11:
 0010 8FC2953F          .word 0xc28f,0x3f95
 0014           L10:
 0014 00007A44          .word 0x0,0x447a

⌨️ 快捷键说明

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