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

📄 main.lis

📁 本设计以ATMEL公司生产的AT90S8515作为控制核心
💻 LIS
📖 第 1 页 / 共 4 页
字号:
 019C 2F92              push R2
 019E 00D0              rcall _EEPROMread
 01A0 2F90              pop R2
 01A2 4F90              pop R4
 01A4 6F90              pop R6
 01A6 8F90              pop R8
 01A8 802F              mov R24,R16
 01AA 022D              mov R16,R2
 01AC 1127              clr R17
 01AE 00D0              rcall int2fp
 01B0 3A93              st -y,R19
 01B2 2A93              st -y,R18
 01B4 1A93              st -y,R17
 01B6 0A93              st -y,R16
 01B8 00E0              ldi R16,<L20
 01BA 10E0              ldi R17,>L20
 01BC 00D0              rcall lpm32
 01BE 3A93              st -y,R19
 01C0 2A93              st -y,R18
 01C2 1A93              st -y,R17
 01C4 0A93              st -y,R16
 01C6 042D              mov R16,R4
 01C8 1127              clr R17
 01CA 00D0              rcall int2fp
 01CC 3A93              st -y,R19
 01CE 2A93              st -y,R18
 01D0 1A93              st -y,R17
 01D2 0A93              st -y,R16
 01D4 00D0              rcall mpy32fs
 01D6 00D0              rcall add32fs
 01D8 00E0              ldi R16,<L21
 01DA 10E0              ldi R17,>L21
 01DC 00D0              rcall lpm32
 01DE 3A93              st -y,R19
 01E0 2A93              st -y,R18
 01E2 1A93              st -y,R17
 01E4 0A93              st -y,R16
 01E6 062D              mov R16,R6
 01E8 1127              clr R17
 01EA 00D0              rcall int2fp
 01EC 3A93              st -y,R19
 01EE 2A93              st -y,R18
 01F0 1A93              st -y,R17
 01F2 0A93              st -y,R16
 01F4 00D0              rcall mpy32fs
 01F6 00D0              rcall add32fs
 01F8 00E0              ldi R16,<L22
 01FA 10E0              ldi R17,>L22
 01FC 00D0              rcall lpm32
 01FE 3A93              st -y,R19
 0200 2A93              st -y,R18
 0202 1A93              st -y,R17
 0204 0A93              st -y,R16
 0206 082D              mov R16,R8
 0208 1127              clr R17
 020A 00D0              rcall int2fp
 020C 3A93              st -y,R19
 020E 2A93              st -y,R18
 0210 1A93              st -y,R17
 0212 0A93              st -y,R16
 0214 00D0              rcall mpy32fs
 0216 00D0              rcall add32fs
 0218 00E0              ldi R16,<L23
 021A 10E0              ldi R17,>L23
 021C 00D0              rcall lpm32
 021E 3A93              st -y,R19
 0220 2A93              st -y,R18
 0222 1A93              st -y,R17
 0224 0A93              st -y,R16
 0226 082F              mov R16,R24
 0228 1127              clr R17
 022A 00D0              rcall int2fp
 022C 3A93              st -y,R19
 022E 2A93              st -y,R18
 0230 1A93              st -y,R17
 0232 0A93              st -y,R16
 0234 00D0              rcall mpy32fs
 0236 00D0              rcall add32f
 0238 10930200          sts _K1+1,R17
 023C 00930100          sts _K1,R16
 0240 30930400          sts _K1+2+1,R19
 0244 20930300          sts _K1+2,R18
 0248                   .dbline 55
 0248           ;       Time1=EEPROMread(0x05)*1000+EEPROMread(0x06)*100+EEPROMread(0x07)*10+EEPROMread(0x08);
 0248 05E0              ldi R16,5
 024A 10E0              ldi R17,0
 024C 00D0              rcall _EEPROMread
 024E 202E              mov R2,R16
 0250 06E0              ldi R16,6
 0252 10E0              ldi R17,0
 0254 2F92              push R2
 0256 00D0              rcall _EEPROMread
 0258 2F90              pop R2
 025A 402E              mov R4,R16
 025C 07E0              ldi R16,7
 025E 10E0              ldi R17,0
 0260 4F92              push R4
 0262 2F92              push R2
 0264 00D0              rcall _EEPROMread
 0266 2F90              pop R2
 0268 4F90              pop R4
 026A 602E              mov R6,R16
 026C 08E0              ldi R16,8
 026E 10E0              ldi R17,0
 0270 6F92              push R6
 0272 4F92              push R4
 0274 2F92              push R2
 0276 00D0              rcall _EEPROMread
 0278 2F90              pop R2
 027A 4F90              pop R4
 027C 6F90              pop R6
 027E 802E              mov R8,R16
 0280 242D              mov R18,R4
 0282 3327              clr R19
 0284 04E6              ldi R16,100
 0286 10E0              ldi R17,0
 0288 00D0              rcall mpy16s
 028A 402E              mov R4,R16
 028C 512E              mov R5,R17
 028E 222D              mov R18,R2
 0290 3327              clr R19
 0292 08EE              ldi R16,1000
 0294 13E0              ldi R17,3
 0296 00D0              rcall mpy16s
 0298 202E              mov R2,R16
 029A 312E              mov R3,R17
 029C 240C              add R2,R4
 029E 351C              adc R3,R5
 02A0 262D              mov R18,R6
 02A2 3327              clr R19
 02A4 0AE0              ldi R16,10
 02A6 10E0              ldi R17,0
 02A8 00D0              rcall mpy16s
 02AA 200E              add R2,R16
 02AC 311E              adc R3,R17
 02AE 9924              clr R9
 02B0 280C              add R2,R8
 02B2 391C              adc R3,R9
 02B4 30920100          sts _Time1+1,R3
 02B8 20920000          sts _Time1,R2
 02BC                   .dbline 56
 02BC           ;       if(Time1<MIN_T) Time1=MIN_T;
 02BC 822D              mov R24,R2
 02BE 932D              mov R25,R3
 02C0 8233              cpi R24,50
 02C2 E0E0              ldi R30,0
 02C4 9E07              cpc R25,R30
 02C6 30F4              brsh L24
 02C8                   .dbline 56
 02C8 82E3              ldi R24,50
 02CA 90E0              ldi R25,0
 02CC 90930100          sts _Time1+1,R25
 02D0 80930000          sts _Time1,R24
 02D4           L24:
 02D4           L26:
 02D4                   .dbline 58
 02D4           ; mode_again:
 02D4           ;       LCD_clr();
 02D4 00D0              rcall _LCD_clr
 02D6                   .dbline 59
 02D6           ;       LCD_write_string(0,0,"K=     ,T=    ");
 02D6 80E0              ldi R24,<L27
 02D8 90E0              ldi R25,>L27
 02DA 9983              std y+1,R25
 02DC 8883              std y+0,R24
 02DE 2227              clr R18
 02E0 0027              clr R16
 02E2 00D0              rcall _LCD_write_string
 02E4                   .dbline 60
 02E4           ;       LCD_display(2,0,5,changK1());
 02E4 C1DE              rcall _changK1
 02E6 202E              mov R2,R16
 02E8 312E              mov R3,R17
 02EA 4424              clr R4
 02EC 5524              clr R5
 02EE 2A82              std y+2,R2
 02F0 3B82              std y+3,R3
 02F2 4C82              std y+4,R4
 02F4 5D82              std y+5,R5
 02F6 85E0              ldi R24,5
 02F8 8883              std y+0,R24
 02FA 2227              clr R18
 02FC 02E0              ldi R16,2
 02FE 00D0              rcall _LCD_display
 0300                   .dbline 61
 0300           ;       LCD_display(10,0,4,Time1);
 0300 20900000          lds R2,_Time1
 0304 30900100          lds R3,_Time1+1
 0308 4424              clr R4
 030A 5524              clr R5
 030C 2A82              std y+2,R2
 030E 3B82              std y+3,R3
 0310 4C82              std y+4,R4
 0312 5D82              std y+5,R5
 0314 84E0              ldi R24,4
 0316 8883              std y+0,R24
 0318 2227              clr R18
 031A 0AE0              ldi R16,10
 031C 00D0              rcall _LCD_display
 031E                   .dbline 62
 031E           ;       LCD_write_string(0,1,"Fn:Mod C:Def");
 031E 80E0              ldi R24,<L28
 0320 90E0              ldi R25,>L28
 0322 9983              std y+1,R25
 0324 8883              std y+0,R24
 0326 21E0              ldi R18,1
 0328 0027              clr R16
 032A 00D0              rcall _LCD_write_string
 032C 58C2              rjmp L30
 032E           L29:
 032E                   .dbline 64
 032E           ;       while(flag)
 032E           ;       {
 032E                   .dbline 65
 032E           ;           key_temp=keypad();
 032E 00D0              rcall _keypad
 0330 A02E              mov R10,R16
 0332                   .dbline 66
 0332           ;               if(key_temp==KEY_OK)
 0332 0530              cpi R16,5
 0334 B1F4              brne L32
 0336                   .dbline 67
 0336           ;               {
 0336                   .dbline 68
 0336           ;                       Time1=0-Time1;
 0336 20900000          lds R2,_Time1
 033A 30900100          lds R3,_Time1+1
 033E 4424              clr R4
 0340 5524              clr R5
 0342 4218              sub R4,R2
 0344 5308              sbc R5,R3
 0346 50920100          sts _Time1+1,R5
 034A 40920000          sts _Time1,R4
 034E                   .dbline 69
 034E           ;                       TCNT1H=Time1>>8;
 034E 242C              mov R2,R4
 0350 352C              mov R3,R5
 0352 232C              mov R2,R3
 0354 3324              clr R3
 0356 2DBC              out 0x2d,R2
 0358                   .dbline 70
 0358           ;                       TCNT1L=Time1&0xff;
 0358 842D              mov R24,R4
 035A 952D              mov R25,R5
 035C 9070              andi R25,0
 035E 8CBD              out 0x2c,R24
 0360                   .dbline 71
 0360           ;                       break;
 0360 41C2              rjmp L31
 0362           L32:
 0362                   .dbline 73
 0362           ;               }
 0362           ;               if(key_temp==KEY_CU)
 0362 8A2D              mov R24,R10
 0364 8230              cpi R24,2
 0366 29F5              brne L34
 0368                   .dbline 74
 0368           ;               {
 0368                   .dbline 75
 0368           ;                       K1=DEFAULT_K1;
 0368 00E0              ldi R16,<L36
 036A 10E0              ldi R17,>L36
 036C 00D0              rcall lpm32
 036E 10930200          sts _K1+1,R17
 0372 00930100          sts _K1,R16
 0376 30930400          sts _K1+2+1,R19
 037A 20930300          sts _K1+2,R18
 037E                   .dbline 76
 037E           ;                       data_init(changK1());
 037E 74DE              rcall _changK1
 0380 00D0              rcall _data_init
 0382                   .dbline 77
 0382           ;                       SaveToEEPROM(0,5,0);
 0382 2224              clr R2
 0384 3324              clr R3
 0386 3982              std y+1,R3
 0388 2882              std y+0,R2
 038A 25E0              ldi R18,5
 038C 0027              clr R16
 038E 48DE              rcall _SaveToEEPROM
 0390                   .dbline 78
 0390           ;                       Time1=DEFAULT_T;
 0390 84E6              ldi R24,100
 0392 90E0              ldi R25,0
 0394 90930100          sts _Time1+1,R25
 0398 80930000          sts _Time1,R24
 039C                   .dbline 79
 039C           ;                       data_init(Time1);
 039C 082F              mov R16,R24
 039E 192F              mov R17,R25
 03A0 00D0              rcall _data_init
 03A2                   .dbline 80
 03A2           ;                       SaveToEEPROM(1,4,5);
 03A2 85E0              ldi R24,5
 03A4 90E0              ldi R25,0
 03A6 9983              std y+1,R25
 03A8 8883              std y+0,R24
 03AA 24E0              ldi R18,4
 03AC 01E0              ldi R16,1
 03AE 38DE              rcall _SaveToEEPROM
 03B0                   .dbline 81
 03B0           ;                       goto mode_again;
 03B0 91CF              rjmp L26
 03B2           L34:
 03B2                   .dbline 83
 03B2           ;               }
 03B2           ;           if(key_temp==KEY_FN)
 03B2 8A2D              mov R24,R10
 03B4 8130              cpi R24,1
 03B6 09F0              breq X3
 03B8 12C2              rjmp L37
 03BA           X3:
 03BA                   .dbline 84
 03BA           ;               {    
 03BA                   .dbline 85
 03BA           ;               LCD_clr();
 03BA 00D0              rcall _LCD_clr
 03BC                   .dbline 86
 03BC           ;                       LCD_display(0,0,5,changK1());
 03BC 55DE              rcall _changK1
 03BE 202E              mov R2,R16
 03C0 312E              mov R3,R17
 03C2 4424              clr R4
 03C4 5524              clr R5
 03C6 2A82              std y+2,R2
 03C8 3B82              std y+3,R3
 03CA 4C82              std y+4,R4
 03CC 5D82              std y+5,R5
 03CE 85E0              ldi R24,5
 03D0 8883              std y+0,R24
 03D2 2227              clr R18
 03D4 0027              clr R16
 03D6 00D0              rcall _LCD_display
 03D8                   .dbline 87
 03D8           ;                       LCD_write_string(6,0,"-10e4");
 03D8 80E0              ldi R24,<L39
 03DA 90E0              ldi R25,>L39
 03DC 9983              std y+1,R25
 03DE 8883              std y+0,R24
 03E0 2227              clr R18
 03E2 06E0              ldi R16,6
 03E4 00D0              rcall _LCD_write_string
 03E6                   .dbline 88
 03E6           ;                       LCD_write_string(0,1,"^          Set K");
 03E6 80E0              ldi R24,<L40
 03E8 90E0              ldi R25,>L40
 03EA 9983              std y+1,R25
 03EC 8883              std y+0,R24
 03EE 21E0              ldi R18,1
 03F0 0027              clr R16
 03F2 00D0              rcall _LCD_write_string
 03F4                   .dbline 89
 03F4           ;                       j=0;
 03F4 2224              clr R2
 03F6 20920200          sts _j,R2
 03FA                   .dbline 90

⌨️ 快捷键说明

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