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

📄 main.lis

📁 前两年在一家模型公司开发的
💻 LIS
📖 第 1 页 / 共 5 页
字号:
 03E2                   .dbline 288
 03E2           ;       e2rom[6] = EEPROM_read(6);
 03E2 06E0              ldi R16,6
 03E4 00D0              rcall _EEPROM_read
 03E6 00931A00          sts _e2rom+6,R16
 03EA                   .dbline 290
 03EA           ;       
 03EA           ;       if(key()>3)     
 03EA B1DF              rcall _key
 03EC 83E0              ldi R24,3
 03EE 8017              cp R24,R16
 03F0 70F4              brsh L82
 03F2                   .dbline 291
 03F2           ;       {
 03F2                   .dbline 292
 03F2           ;               if(e2rom[6]) e2rom[6]=0;
 03F2 20901A00          lds R2,_e2rom+6
 03F6 2220              tst R2
 03F8 21F0              breq L84
 03FA                   .dbline 292
 03FA 2224              clr R2
 03FC 20921A00          sts _e2rom+6,R2
 0400 03C0              rjmp L85
 0402           L84:
 0402                   .dbline 293
 0402           ;               else e2rom[6] =1;
 0402 81E0              ldi R24,1
 0404 80931A00          sts _e2rom+6,R24
 0408           L85:
 0408                   .dbline 294
 0408           ;               Buz();
 0408 D6DF              rcall _Buz
 040A           L89:
 040A                   .dbline 295
 040A           L90:
 040A                   .dbline 295
 040A           ;               while(!(PINB&0x80)); // 等待按键松开
 040A 1F9B              sbis 0x3,7
 040C FECF              rjmp L89
 040E                   .dbline 296
 040E           ;       }
 040E           L82:
 040E                   .dbline 297
 040E           ;       EEPROM_write(6,e2rom[6]);
 040E 20911A00          lds R18,_e2rom+6
 0412 06E0              ldi R16,6
 0414 00D0              rcall _EEPROM_write
 0416                   .dbline -2
 0416           L80:
 0416                   .dbline 0 ; func end
 0416 0895              ret
 0418                   .dbend
 0418                   .dbfunc e Setup _Setup fV
 0418           ;              i -> R20
                        .even
 0418           _Setup::
 0418 00D0              rcall push_gset1
 041A                   .dbline -1
 041A                   .dbline 306
 041A           ; }
 041A           ; 
 041A           ; 
 041A           ; 
 041A           ; /*---------------------------------------------------------------
 041A           ;                       中点设置
 041A           ; ----------------------------------------------------------------*/
 041A           ; void Setup()
 041A           ; {
 041A                   .dbline 310
 041A           ;        uchar i;
 041A           ;        
 041A           ; 
 041A           ;       if(key()>3)             // 设置
 041A 99DF              rcall _key
 041C 83E0              ldi R24,3
 041E 8017              cp R24,R16
 0420 08F0              brlo X4
 0422 DFC0              rjmp L94
 0424           X4:
 0424                   .dbline 311
 0424           ;       {
 0424           L96:
 0424                   .dbline 312
 0424           ; loop: Buz();  
 0424 C8DF              rcall _Buz
 0426                   .dbline 313
 0426           ;               middle = compute();             // 中位设置
 0426 A5DF              rcall _compute
 0428 10930800          sts _middle+1,R17
 042C 00930700          sts _middle,R16
 0430                   .dbline 315
 0430           ;               
 0430           ;               delay(50);
 0430 02E3              ldi R16,50
 0432 10E0              ldi R17,0
 0434 28DE              rcall _delay
 0436 04C0              rjmp L98
 0438           L97:
 0438                   .dbline 317
 0438                   .dbline 318
 0438 45DE              rcall _LED_set
 043A                   .dbline 319
 043A 08E2              ldi R16,40
 043C 10E0              ldi R17,0
 043E 23DE              rcall _delay
 0440                   .dbline 320
 0440           L98:
 0440                   .dbline 316
 0440           ;               while(key()<3)
 0440 86DF              rcall _key
 0442 0330              cpi R16,3
 0444 C8F3              brlo L97
 0446                   .dbline 321
 0446           ;               {
 0446           ;                       LED_set();
 0446           ;                       delay(40);
 0446           ;               }
 0446           ;               Buz();
 0446 B7DF              rcall _Buz
 0448           L100:
 0448                   .dbline 322
 0448           L101:
 0448                   .dbline 322
 0448           ;               while(!(PINB&0x80));
 0448 1F9B              sbis 0x3,7
 044A FECF              rjmp L100
 044C                   .dbline 323
 044C           ;               high = compute();               // 高位设置
 044C 92DF              rcall _compute
 044E 10930A00          sts _high+1,R17
 0452 00930900          sts _high,R16
 0456                   .dbline 325
 0456           ;               
 0456           ;               delay(50);
 0456 02E3              ldi R16,50
 0458 10E0              ldi R17,0
 045A 15DE              rcall _delay
 045C 05C0              rjmp L104
 045E           L103:
 045E                   .dbline 328
 045E                   .dbline 329
 045E 32DE              rcall _LED_set
 0460                   .dbline 330
 0460 31DE              rcall _LED_set
 0462                   .dbline 331
 0462 08E2              ldi R16,40
 0464 10E0              ldi R17,0
 0466 0FDE              rcall _delay
 0468                   .dbline 332
 0468           L104:
 0468                   .dbline 327
 0468           ;               
 0468           ;               while(key()<3)
 0468 72DF              rcall _key
 046A 0330              cpi R16,3
 046C C0F3              brlo L103
 046E                   .dbline 333
 046E           ;               {
 046E           ;                       LED_set();
 046E           ;                       LED_set();
 046E           ;                       delay(40);
 046E           ;               }
 046E           ;               Buz();
 046E A3DF              rcall _Buz
 0470           L106:
 0470                   .dbline 334
 0470           L107:
 0470                   .dbline 334
 0470           ;               while(!(PINB&0x80));
 0470 1F9B              sbis 0x3,7
 0472 FECF              rjmp L106
 0474                   .dbline 335
 0474           ;               low = compute();                // W低位设置
 0474 7EDF              rcall _compute
 0476 10930600          sts _low+1,R17
 047A 00930500          sts _low,R16
 047E                   .dbline 336
 047E           ;               delay(50);
 047E 02E3              ldi R16,50
 0480 10E0              ldi R17,0
 0482 01DE              rcall _delay
 0484                   .dbline 339
 0484           ; 
 0484           ;               // 设置数据正确存盘
 0484           ;               if((low>800&&low<1300)&&(middle>1350&&middle<1650)&&(high>1700&&high<2200))
 0484 80E2              ldi R24,800
 0486 93E0              ldi R25,3
 0488 20900500          lds R2,_low
 048C 30900600          lds R3,_low+1
 0490 8215              cp R24,R2
 0492 9305              cpc R25,R3
 0494 08F0              brlo X5
 0496 9EC0              rjmp L124
 0498           X5:
 0498 C101              movw R24,R2
 049A 8431              cpi R24,20
 049C E5E0              ldi R30,5
 049E 9E07              cpc R25,R30
 04A0 08F0              brlo X6
 04A2 98C0              rjmp L124
 04A4           X6:
 04A4 86E4              ldi R24,1350
 04A6 95E0              ldi R25,5
 04A8 20900700          lds R2,_middle
 04AC 30900800          lds R3,_middle+1
 04B0 8215              cp R24,R2
 04B2 9305              cpc R25,R3
 04B4 08F0              brlo X7
 04B6 8EC0              rjmp L124
 04B8           X7:
 04B8 C101              movw R24,R2
 04BA 8237              cpi R24,114
 04BC E6E0              ldi R30,6
 04BE 9E07              cpc R25,R30
 04C0 08F0              brlo X8
 04C2 88C0              rjmp L124
 04C4           X8:
 04C4 84EA              ldi R24,1700
 04C6 96E0              ldi R25,6
 04C8 20900900          lds R2,_high
 04CC 30900A00          lds R3,_high+1
 04D0 8215              cp R24,R2
 04D2 9305              cpc R25,R3
 04D4 08F0              brlo X9
 04D6 7EC0              rjmp L124
 04D8           X9:
 04D8 C101              movw R24,R2
 04DA 8839              cpi R24,152
 04DC E8E0              ldi R30,8
 04DE 9E07              cpc R25,R30
 04E0 08F0              brlo X10
 04E2 78C0              rjmp L124
 04E4           X10:
 04E4                   .dbline 340
 04E4           ;               {                                                       
 04E4                   .dbline 341
 04E4           ;                       PE1 = ((high-middle)*10)/256+2;
 04E4 20900700          lds R2,_middle
 04E8 30900800          lds R3,_middle+1
 04EC 9C01              movw R18,R24
 04EE 2219              sub R18,R2
 04F0 3309              sbc R19,R3
 04F2 0AE0              ldi R16,10
 04F4 10E0              ldi R17,0
 04F6 00D0              rcall empy16s
 04F8 C801              movw R24,R16
 04FA 892F              mov R24,R25
 04FC 9927              clr R25
 04FE 0296              adiw R24,2
 0500 90931300          sts _PE1+1,R25
 0504 80931200          sts _PE1,R24
 0508                   .dbline 342
 0508           ;                       PE2 = ((middle-low )*10)/256+2;
 0508 20900500          lds R2,_low
 050C 30900600          lds R3,_low+1
 0510 20910700          lds R18,_middle
 0514 30910800          lds R19,_middle+1
 0518 2219              sub R18,R2
 051A 3309              sbc R19,R3
 051C 0AE0              ldi R16,10
 051E 10E0              ldi R17,0
 0520 00D0              rcall empy16s
 0522 C801              movw R24,R16
 0524 892F              mov R24,R25
 0526 9927              clr R25
 0528 0296              adiw R24,2
 052A 90931100          sts _PE2+1,R25
 052E 80931000          sts _PE2,R24
 0532                   .dbline 344
 0532           ;                       
 0532           ;                       e2rom[0] = low/256;
 0532 20900500          lds R2,_low
 0536 30900600          lds R3,_low+1
 053A 232C              mov R2,R3
 053C 3324              clr R3
 053E 20921400          sts _e2rom,R2
 0542                   .dbline 345
 0542           ;                       e2rom[1] = low%256;
 0542 80910500          lds R24,_low
 0546 90910600          lds R25,_low+1
 054A 9070              andi R25,0
 054C 80931500          sts _e2rom+1,R24
 0550                   .dbline 347
 0550           ;               
 0550           ;                       e2rom[2] = high/256;
 0550 20900900          lds R2,_high
 0554 30900A00          lds R3,_high+1
 0558 232C              mov R2,R3
 055A 3324              clr R3
 055C 20921600          sts _e2rom+2,R2
 0560                   .dbline 348
 0560           ;                       e2rom[3] = high%256;
 0560 80910900          lds R24,_high
 0564 90910A00          lds R25,_high+1
 0568 9070              andi R25,0
 056A 80931700          sts _e2rom+3,R24
 056E                   .dbline 350
 056E           ;               
 056E           ;                       e2rom[4] = middle/256;
 056E 20900700          lds R2,_middle
 0572 30900800          lds R3,_middle+1
 0576 232C              mov R2,R3
 0578 3324              clr R3
 057A 20921800          sts _e2rom+4,R2
 057E                   .dbline 351
 057E           ;                       e2rom[5] = middle%256;
 057E 80910700          lds R24,_middle
 0582 90910800          lds R25,_middle+1
 0586 9070              andi R25,0
 0588 80931900          sts _e2rom+5,R24
 058C                   .dbline 353
 058C           ;               
 058C           ;                       Buz();
 058C 14DF              rcall _Buz
 058E                   .dbline 354
 058E           ;                       for(i=0;i<6;i++)        // 写EEPOM
 058E 4427              clr R20
 0590 18C0              rjmp L119
 0592           L116:
 0592                   .dbline 355
 0592           ;                       {
 0592                   .dbline 356
 0592           ;                               EEPROM_write(i,e2rom[i]);
 0592 80E0              ldi R24,<_e2rom
 0594 90E0              ldi R25,>_e2rom
 0596 E42F              mov R30,R20
 0598 FF27              clr R31
 059A E80F              add R30,R24
 059C F91F              adc R31,R25
 059E 2081              ldd R18,z+0
 05A0 042F              mov R16,R20
 05A2 00D0              rcall _EEPROM_write
 05A4                   .dbline 357
 05A4           ;                               delay(5);
 05A4 05E0              ldi R16,5
 05A6 10E0              ldi R17,0
 05A8 6EDD              rcall _delay
 05AA           L120:
 05AA                   .dbline 358
 05AA           L121:
 05AA                   .dbline 358
 05AA E3DE              rcall _compute
 05AC 0634              cpi R16,70
 05AE E5E0              ldi R30,5
 05B0 1E07              cpc R17,R30
 05B2 D8F3              brlo L120
 05B4 DEDE              rcall _compute

⌨️ 快捷键说明

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