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

📄 main.lis

📁 433M收发,内有PCB(用99打开),源程序ICC打开,用了IC发送和三极管两种,接收用RX3310
💻 LIS
📖 第 1 页 / 共 5 页
字号:
 0500                   .dbline 312
 0500           ;    if(e==1)            //闪烁数据减一
 0500 0130              cpi R16,1
 0502 09F0              breq X3
 0504 96C0              rjmp L108
 0506           X3:
 0506                   .dbline 313
 0506           ;         {     
 0506                   .dbline 314
 0506           ;           sec=30;
 0506 8EE1              ldi R24,30
 0508 80930400          sts _sec,R24
 050C                   .dbline 315
 050C           ;           if(D1FC!=0)
 050C 20901D00          lds R2,_D1FC
 0510 2220              tst R2
 0512 F9F0              breq L110
 0514                   .dbline 316
 0514           ;                  {
 0514                   .dbline 317
 0514           ;                  if(d!=0) d--;         //转成BCD到显示
 0514 6623              tst R22
 0516 09F0              breq L112
 0518                   .dbline 317
 0518 6A95              dec R22
 051A           L112:
 051A                   .dbline 318
 051A           ;                  dipdata[1]=diptable[(d/10)];
 051A 2AE0              ldi R18,10
 051C 30E0              ldi R19,0
 051E 062F              mov R16,R22
 0520 1127              clr R17
 0522 00D0              rcall div16s
 0524 F801              movw R30,R16
 0526 80E0              ldi R24,<_diptable
 0528 90E0              ldi R25,>_diptable
 052A E80F              add R30,R24
 052C F91F              adc R31,R25
 052E E491              lpm R30,Z
 0530 E0930C00          sts _dipdata+1,R30
 0534                   .dbline 319
 0534           ;                  dipdata[2]=diptable[d%10];
 0534 2AE0              ldi R18,10
 0536 30E0              ldi R19,0
 0538 062F              mov R16,R22
 053A 1127              clr R17
 053C 00D0              rcall mod16s
 053E F801              movw R30,R16
 0540 80E0              ldi R24,<_diptable
 0542 90E0              ldi R25,>_diptable
 0544 E80F              add R30,R24
 0546 F91F              adc R31,R25
 0548 E491              lpm R30,Z
 054A E0930D00          sts _dipdata+2,R30
 054E                   .dbline 320
 054E           ;                  lookup_led(d);
 054E 062F              mov R16,R22
 0550 38DE              rcall _lookup_led
 0552                   .dbline 321
 0552           ;                  }
 0552           L110:
 0552                   .dbline 322
 0552           ;               if((D3FC!=0)&&(D4FC==0))
 0552 20901B00          lds R2,_D3FC
 0556 2220              tst R2
 0558 E9F0              breq L116
 055A 20901A00          lds R2,_D4FC
 055E 2220              tst R2
 0560 C9F4              brne L116
 0562                   .dbline 323
 0562           ;                  {
 0562                   .dbline 324
 0562           ;                  if(d3!=0) d3--;       
 0562 20901700          lds R2,_d3
 0566 2220              tst R2
 0568 21F0              breq L118
 056A                   .dbline 324
 056A 822D              mov R24,R2
 056C 8150              subi R24,1
 056E 80931700          sts _d3,R24
 0572           L118:
 0572                   .dbline 325
 0572           ;                  dipdata[3]=diptable[d3];
 0572 80E0              ldi R24,<_diptable
 0574 90E0              ldi R25,>_diptable
 0576 E0911700          lds R30,_d3
 057A FF27              clr R31
 057C E80F              add R30,R24
 057E F91F              adc R31,R25
 0580 E491              lpm R30,Z
 0582 E0930E00          sts _dipdata+3,R30
 0586                   .dbline 326
 0586           ;                  EEPROM_write((d*4)+2,d3); 
 0586 20911700          lds R18,_d3
 058A 84E0              ldi R24,4
 058C 869F              mul R24,R22
 058E 002D              mov R16,R0
 0590 0E5F              subi R16,254    ; addi 2
 0592 00D0              rcall _EEPROM_write
 0594                   .dbline 327
 0594           ;                  }
 0594           L116:
 0594                   .dbline 328
 0594           ;               if((D4FC!=0)&&(D5FC==0))
 0594 20901A00          lds R2,_D4FC
 0598 2220              tst R2
 059A 21F1              breq L121
 059C 20901900          lds R2,_D5FC
 05A0 2220              tst R2
 05A2 01F5              brne L121
 05A4                   .dbline 329
 05A4           ;                  {
 05A4                   .dbline 330
 05A4           ;                  if(d4!=0) d4--;
 05A4 20901600          lds R2,_d4
 05A8 2220              tst R2
 05AA 21F0              breq L123
 05AC                   .dbline 330
 05AC 822D              mov R24,R2
 05AE 8150              subi R24,1
 05B0 80931600          sts _d4,R24
 05B4           L123:
 05B4                   .dbline 331
 05B4           ;                  dipdata[4]=diptable[d4];
 05B4 80E0              ldi R24,<_diptable
 05B6 90E0              ldi R25,>_diptable
 05B8 E0911600          lds R30,_d4
 05BC FF27              clr R31
 05BE E80F              add R30,R24
 05C0 F91F              adc R31,R25
 05C2 E491              lpm R30,Z
 05C4 E0930F00          sts _dipdata+4,R30
 05C8                   .dbline 332
 05C8           ;                  j=((d4<<4)+d5);
 05C8 20901500          lds R2,_d5
 05CC 40911600          lds R20,_d4
 05D0 4F70              andi R20,#0x0F
 05D2 4295              swap R20
 05D4 420D              add R20,R2
 05D6                   .dbline 333
 05D6           ;                  EEPROM_write((d*4)+3,d4); 
 05D6 20911600          lds R18,_d4
 05DA 84E0              ldi R24,4
 05DC 869F              mul R24,R22
 05DE 002D              mov R16,R0
 05E0 0D5F              subi R16,253    ; addi 3
 05E2 00D0              rcall _EEPROM_write
 05E4                   .dbline 334
 05E4           ;                  }
 05E4           L121:
 05E4                   .dbline 335
 05E4           ;               if((D5FC!=0)&&(D4FC==0))
 05E4 20901900          lds R2,_D5FC
 05E8 2220              tst R2
 05EA 19F1              breq L126
 05EC 20901A00          lds R2,_D4FC
 05F0 2220              tst R2
 05F2 F9F4              brne L126
 05F4                   .dbline 336
 05F4           ;                  {
 05F4                   .dbline 337
 05F4           ;                  if(d5!=0) d5--;
 05F4 20901500          lds R2,_d5
 05F8 2220              tst R2
 05FA 21F0              breq L128
 05FC                   .dbline 337
 05FC 822D              mov R24,R2
 05FE 8150              subi R24,1
 0600 80931500          sts _d5,R24
 0604           L128:
 0604                   .dbline 338
 0604           ;                  dipdata[5]=diptable[d5];
 0604 80E0              ldi R24,<_diptable
 0606 90E0              ldi R25,>_diptable
 0608 E0911500          lds R30,_d5
 060C FF27              clr R31
 060E E80F              add R30,R24
 0610 F91F              adc R31,R25
 0612 E491              lpm R30,Z
 0614 E0931000          sts _dipdata+5,R30
 0618                   .dbline 339
 0618           ;                  j=((d4<<4)+d5);
 0618 20901500          lds R2,_d5
 061C 40911600          lds R20,_d4
 0620 4F70              andi R20,#0x0F
 0622 4295              swap R20
 0624 420D              add R20,R2
 0626                   .dbline 340
 0626           ;                  EEPROM_write((d*4)+3,d5); 
 0626 222D              mov R18,R2
 0628 84E0              ldi R24,4
 062A 869F              mul R24,R22
 062C 002D              mov R16,R0
 062E 0D5F              subi R16,253    ; addi 3
 0630 00D0              rcall _EEPROM_write
 0632                   .dbline 341
 0632           ;                  }
 0632           L126:
 0632                   .dbline 342
 0632           ;         }
 0632           L108:
 0632                   .dbline 343
 0632           ;        if(e==2)
 0632 8A2D              mov R24,R10
 0634 8230              cpi R24,2
 0636 99F4              brne L131
 0638                   .dbline 344
 0638           ;          {
 0638                   .dbline 345
 0638           ;          if((PIND&0x40)==0)
 0638 4E99              sbic 0x9,6
 063A 11C0              rjmp L133
 063C                   .dbline 346
 063C           ;             {
 063C                   .dbline 347
 063C           ;                 for(i=0;i<255;i++)
 063C CC24              clr R12
 063E 04C0              rjmp L138
 0640           L135:
 0640                   .dbline 348
 0640                   .dbline 349
 0640 2FEF              ldi R18,255
 0642 0C2D              mov R16,R12
 0644 00D0              rcall _EEPROM_write
 0646                   .dbline 350
 0646           L136:
 0646                   .dbline 347
 0646 C394              inc R12
 0648           L138:
 0648                   .dbline 347
 0648 8C2D              mov R24,R12
 064A 8F3F              cpi R24,255
 064C C8F3              brlo L135
 064E                   .dbline 351
 064E           ;                     {
 064E           ;                         EEPROM_write(i,0xff);
 064E           ;                         }     
 064E           ;                         flagh |=0x01;
 064E 80910300          lds R24,_flagh
 0652 8160              ori R24,1
 0654 80930300          sts _flagh,R24
 0658                   .dbline 352
 0658           ;                         SPFC=1;
 0658 81E0              ldi R24,1
 065A 80930800          sts _SPFC,R24
 065E                   .dbline 353
 065E           ;                 }
 065E           L133:
 065E                   .dbline 354
 065E           ;          }
 065E           L131:
 065E                   .dbline 355
 065E           ;       if((D3FC!=0)&&(D4FC!=0)&&(D5FC!=0))
 065E 20901B00          lds R2,_D3FC
 0662 2220              tst R2
 0664 09F4              brne X4
 0666 A0C0              rjmp L139
 0668           X4:
 0668 20901A00          lds R2,_D4FC
 066C 2220              tst R2
 066E 09F4              brne X5
 0670 9BC0              rjmp L139
 0672           X5:
 0672 20901900          lds R2,_D5FC
 0676 2220              tst R2
 0678 09F4              brne X6
 067A 96C0              rjmp L139
 067C           X6:
 067C                   .dbline 356
 067C           ;            {
 067C                   .dbline 357
 067C           ;                 if((flag&0x04)!=0)
 067C 20900200          lds R2,_flag
 0680 22FE              sbrs R2,2
 0682 92C0              rjmp L141
 0684                   .dbline 358
 0684           ;                    {
 0684                   .dbline 359
 0684           ;                        j=code_comp();
 0684 79DD              rcall _code_comp
 0686 402F              mov R20,R16
 0688                   .dbline 360
 0688           ;                        if(j<100)                       //代码存在,显示代码位置,响三下表示学习不成功
 0688 0436              cpi R16,100
 068A 08F0              brlo X7
 068C 2FC0              rjmp L143
 068E           X7:
 068E                   .dbline 361
 068E           ;                                       {
 068E                   .dbline 362
 068E           ;                                        SPFC=3;
 068E 83E0              ldi R24,3
 0690 80930800          sts _SPFC,R24
 0694                   .dbline 363
 0694           ;                                        d=j;
 0694 642F              mov R22,R20
 0696                   .dbline 364
 0696           ;                                        dipdata[0]=diptable[0];
 0696 E0E0              ldi R30,<_diptable
 0698 F0E0              ldi R31,>_diptable
 069A E491              lpm R30,Z
 069C E0930B00          sts _dipdata,R30
 06A0                   .dbline 365
 06A0           ;                                        dipdata[1]=diptable[(d/10)];
 06A0 2AE0              ldi R18,10
 06A2 30E0              ldi R19,0
 06A4 1127              clr R17
 06A6 00D0              rcall div16s
 06A8 F801              movw R30,R16
 06AA 80E0              ldi R24,<_diptable
 06AC 90E0              ldi R25,>_diptable
 06AE E80F              add R30,R24
 06B0 F91F              adc R31,R25
 06B2 E491              lpm R30,Z
 06B4 E0930C00          sts _dipdata+1,R30
 06B8                   .dbline 366
 06B8           ;                                        dipdata[2]=diptable[d%10];
 06B8 2AE0              ldi R18,10
 06BA 30E0              ldi R19,0
 06BC 062F              mov R16,R22
 06BE 1127              clr R17
 06C0 00D0              rcall mod16s
 06C2 F801              movw R30,R16
 06C4 80E0              ldi R24,<_diptable
 06C6 90E0              ldi R25,>_diptable
 06C8 E80F              add R30,R24
 06CA F91F              adc R31,R25
 06CC E491              lpm R30,Z
 06CE E0930D00          sts _dipdata+2,R30
 06D2                   .dbline 367
 06D2           ;                                        lookup_led(d);
 06D2 062F              mov R16,R22
 06D4 76DD              rcall _lookup_led
 06D6                   .dbline 368
 06D6           ;                                        D1FC=1;
 06D6 81E0              ldi R24,1
 06D8 80931D00          sts _D1FC,R24
 06DC                   .dbline 369
 06DC           ;                                        D3FC=0;
 06DC 2224              clr

⌨️ 快捷键说明

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