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

📄 main.lis

📁 本设计以ATMEL公司生产的AT90S8515作为控制核心
💻 LIS
📖 第 1 页 / 共 4 页
字号:
 03FA           ;                       data_init(changK1());
 03FA 36DE              rcall _changK1
 03FC 00D0              rcall _data_init
 03FE 15C1              rjmp L42
 0400           L41:
 0400                   .dbline 92
 0400           ;               while(flag)
 0400           ;                       {
 0400                   .dbline 93
 0400           ;                           key_temp=keypad();
 0400 00D0              rcall _keypad
 0402 A02E              mov R10,R16
 0404                   .dbline 94
 0404           ;                               switch(key_temp)
 0404 CA2C              mov R12,R10
 0406 DD24              clr R13
 0408 8C2D              mov R24,R12
 040A 9D2D              mov R25,R13
 040C 8130              cpi R24,1
 040E E0E0              ldi R30,0
 0410 9E07              cpc R25,R30
 0412 09F4              brne X4
 0414 8DC0              rjmp L56
 0416           X4:
 0416 8230              cpi R24,2
 0418 E0E0              ldi R30,0
 041A 9E07              cpc R25,R30
 041C 51F0              breq L47
 041E 8330              cpi R24,3
 0420 E0E0              ldi R30,0
 0422 9E07              cpc R25,R30
 0424 21F1              breq L50
 0426 8430              cpi R24,4
 0428 E0E0              ldi R30,0
 042A 9E07              cpc R25,R30
 042C 09F4              brne X5
 042E 50C0              rjmp L53
 0430           X5:
 0430 FCC0              rjmp L44
 0432           X1:
 0432                   .dbline 95
 0432           ;                               {
 0432           L47:
 0432                   .dbline 97
 0432           ;                               case    KEY_CU:
 0432           ;                                       LCD_write(j,1,' ');
 0432 80E2              ldi R24,32
 0434 90E0              ldi R25,0
 0436 9983              std y+1,R25
 0438 8883              std y+0,R24
 043A 21E0              ldi R18,1
 043C 00910200          lds R16,_j
 0440 00D0              rcall _LCD_write
 0442                   .dbline 98
 0442           ;                                       j++;
 0442 80910200          lds R24,_j
 0446 8F5F              subi R24,255    ; addi 1
 0448 80930200          sts _j,R24
 044C                   .dbline 99
 044C           ;                                       if(j>4) j=0;
 044C 84E0              ldi R24,4
 044E 20900200          lds R2,_j
 0452 8215              cp R24,R2
 0454 18F4              brsh L48
 0456                   .dbline 99
 0456 2224              clr R2
 0458 20920200          sts _j,R2
 045C           L48:
 045C                   .dbline 100
 045C           ;                                       LCD_write(j,1,'^');
 045C 8EE5              ldi R24,94
 045E 90E0              ldi R25,0
 0460 9983              std y+1,R25
 0462 8883              std y+0,R24
 0464 21E0              ldi R18,1
 0466 00910200          lds R16,_j
 046A 00D0              rcall _LCD_write
 046C                   .dbline 101
 046C           ;                                       break;
 046C DEC0              rjmp L45
 046E           L50:
 046E                   .dbline 103
 046E           ;                               case    KEY_INC:
 046E           ;                                       value_table[j]++;
 046E 80E0              ldi R24,<_value_table
 0470 90E0              ldi R25,>_value_table
 0472 20900200          lds R2,_j
 0476 3324              clr R3
 0478 280E              add R2,R24
 047A 391E              adc R3,R25
 047C E22D              mov R30,R2
 047E F32D              mov R31,R3
 0480 8081              ldd R24,z+0
 0482 8F5F              subi R24,255    ; addi 1
 0484 8083              std z+0,R24
 0486                   .dbline 104
 0486           ;                                       if(value_table[j]>9) value_table[j]=0;
 0486 80E0              ldi R24,<_value_table
 0488 90E0              ldi R25,>_value_table
 048A E0910200          lds R30,_j
 048E FF27              clr R31
 0490 E80F              add R30,R24
 0492 F91F              adc R31,R25
 0494 2080              ldd R2,z+0
 0496 89E0              ldi R24,9
 0498 8215              cp R24,R2
 049A 48F4              brsh L51
 049C                   .dbline 104
 049C 80E0              ldi R24,<_value_table
 049E 90E0              ldi R25,>_value_table
 04A0 E0910200          lds R30,_j
 04A4 FF27              clr R31
 04A6 E80F              add R30,R24
 04A8 F91F              adc R31,R25
 04AA 2224              clr R2
 04AC 2082              std z+0,R2
 04AE           L51:
 04AE                   .dbline 105
 04AE           ;                               LCD_write(j,0,value_table[j]+'0');
 04AE 80E0              ldi R24,<_value_table
 04B0 90E0              ldi R25,>_value_table
 04B2 E0910200          lds R30,_j
 04B6 FF27              clr R31
 04B8 E80F              add R30,R24
 04BA F91F              adc R31,R25
 04BC 8081              ldd R24,z+0
 04BE 9927              clr R25
 04C0 C096              adiw R24,48
 04C2 9983              std y+1,R25
 04C4 8883              std y+0,R24
 04C6 2227              clr R18
 04C8 00910200          lds R16,_j
 04CC 00D0              rcall _LCD_write
 04CE                   .dbline 106
 04CE           ;                                       break;
 04CE ADC0              rjmp L45
 04D0           L53:
 04D0                   .dbline 108
 04D0           ;                               case    KEY_DEC:
 04D0           ;                                       value_table[j]--;
 04D0 80E0              ldi R24,<_value_table
 04D2 90E0              ldi R25,>_value_table
 04D4 20900200          lds R2,_j
 04D8 3324              clr R3
 04DA 280E              add R2,R24
 04DC 391E              adc R3,R25
 04DE E22D              mov R30,R2
 04E0 F32D              mov R31,R3
 04E2 8081              ldd R24,z+0
 04E4 8150              subi R24,1
 04E6 8083              std z+0,R24
 04E8                   .dbline 109
 04E8           ;                                       if(value_table[j]==255) value_table[j]=9;
 04E8 80E0              ldi R24,<_value_table
 04EA 90E0              ldi R25,>_value_table
 04EC E0910200          lds R30,_j
 04F0 FF27              clr R31
 04F2 E80F              add R30,R24
 04F4 F91F              adc R31,R25
 04F6 8081              ldd R24,z+0
 04F8 8F3F              cpi R24,255
 04FA 49F4              brne L54
 04FC                   .dbline 109
 04FC 80E0              ldi R24,<_value_table
 04FE 90E0              ldi R25,>_value_table
 0500 E0910200          lds R30,_j
 0504 FF27              clr R31
 0506 E80F              add R30,R24
 0508 F91F              adc R31,R25
 050A 89E0              ldi R24,9
 050C 8083              std z+0,R24
 050E           L54:
 050E                   .dbline 110
 050E           ;                               LCD_write(j,0,value_table[j]+'0');
 050E 80E0              ldi R24,<_value_table
 0510 90E0              ldi R25,>_value_table
 0512 E0910200          lds R30,_j
 0516 FF27              clr R31
 0518 E80F              add R30,R24
 051A F91F              adc R31,R25
 051C 8081              ldd R24,z+0
 051E 9927              clr R25
 0520 C096              adiw R24,48
 0522 9983              std y+1,R25
 0524 8883              std y+0,R24
 0526 2227              clr R18
 0528 00910200          lds R16,_j
 052C 00D0              rcall _LCD_write
 052E                   .dbline 111
 052E           ;                                       break;
 052E 7DC0              rjmp L45
 0530           L56:
 0530                   .dbline 113
 0530           ;                           case        KEY_FN:
 0530           ;                               K1=value_table[0]+ value_table[1]*0.1+value_table[2]*0.01+value_table[3]*0.001+value_table[4]*0.0001;
 0530 00910500          lds R16,_value_table
 0534 1127              clr R17
 0536 00D0              rcall int2fp
 0538 3A93              st -y,R19
 053A 2A93              st -y,R18
 053C 1A93              st -y,R17
 053E 0A93              st -y,R16
 0540 00E0              ldi R16,<L20
 0542 10E0              ldi R17,>L20
 0544 00D0              rcall lpm32
 0546 3A93              st -y,R19
 0548 2A93              st -y,R18
 054A 1A93              st -y,R17
 054C 0A93              st -y,R16
 054E 00910600          lds R16,_value_table+1
 0552 1127              clr R17
 0554 00D0              rcall int2fp
 0556 3A93              st -y,R19
 0558 2A93              st -y,R18
 055A 1A93              st -y,R17
 055C 0A93              st -y,R16
 055E 00D0              rcall mpy32fs
 0560 00D0              rcall add32fs
 0562 00E0              ldi R16,<L21
 0564 10E0              ldi R17,>L21
 0566 00D0              rcall lpm32
 0568 3A93              st -y,R19
 056A 2A93              st -y,R18
 056C 1A93              st -y,R17
 056E 0A93              st -y,R16
 0570 00910700          lds R16,_value_table+2
 0574 1127              clr R17
 0576 00D0              rcall int2fp
 0578 3A93              st -y,R19
 057A 2A93              st -y,R18
 057C 1A93              st -y,R17
 057E 0A93              st -y,R16
 0580 00D0              rcall mpy32fs
 0582 00D0              rcall add32fs
 0584 00E0              ldi R16,<L22
 0586 10E0              ldi R17,>L22
 0588 00D0              rcall lpm32
 058A 3A93              st -y,R19
 058C 2A93              st -y,R18
 058E 1A93              st -y,R17
 0590 0A93              st -y,R16
 0592 00910800          lds R16,_value_table+3
 0596 1127              clr R17
 0598 00D0              rcall int2fp
 059A 3A93              st -y,R19
 059C 2A93              st -y,R18
 059E 1A93              st -y,R17
 05A0 0A93              st -y,R16
 05A2 00D0              rcall mpy32fs
 05A4 00D0              rcall add32fs
 05A6 00E0              ldi R16,<L23
 05A8 10E0              ldi R17,>L23
 05AA 00D0              rcall lpm32
 05AC 3A93              st -y,R19
 05AE 2A93              st -y,R18
 05B0 1A93              st -y,R17
 05B2 0A93              st -y,R16
 05B4 00910900          lds R16,_value_table+4
 05B8 1127              clr R17
 05BA 00D0              rcall int2fp
 05BC 3A93              st -y,R19
 05BE 2A93              st -y,R18
 05C0 1A93              st -y,R17
 05C2 0A93              st -y,R16
 05C4 00D0              rcall mpy32fs
 05C6 00D0              rcall add32f
 05C8 10930200          sts _K1+1,R17
 05CC 00930100          sts _K1,R16
 05D0 30930400          sts _K1+2+1,R19
 05D4 20930300          sts _K1+2,R18
 05D8                   .dbline 114
 05D8           ;                                       data_init(changK1());
 05D8 47DD              rcall _changK1
 05DA 00D0              rcall _data_init
 05DC                   .dbline 115
 05DC           ;                                       SaveToEEPROM(0,5,0);
 05DC 2224              clr R2
 05DE 3324              clr R3
 05E0 3982              std y+1,R3
 05E2 2882              std y+0,R2
 05E4 25E0              ldi R18,5
 05E6 0027              clr R16
 05E8 1BDD              rcall _SaveToEEPROM
 05EA                   .dbline 116
 05EA           ;                                       LCD_clr();
 05EA 00D0              rcall _LCD_clr
 05EC                   .dbline 117
 05EC           ;                                       LCD_display(0,0,4,Time1);
 05EC 20900000          lds R2,_Time1
 05F0 30900100          lds R3,_Time1+1
 05F4 4424              clr R4
 05F6 5524              clr R5
 05F8 2A82              std y+2,R2
 05FA 3B82              std y+3,R3
 05FC 4C82              std y+4,R4
 05FE 5D82              std y+5,R5
 0600 84E0              ldi R24,4
 0602 8883              std y+0,R24
 0604 2227              clr R18
 0606 0027              clr R16
 0608 00D0              rcall _LCD_display
 060A                   .dbline 118
 060A           ;                                       LCD_write_string(0,1,"^          Set T");
 060A 80E0              ldi R24,<L61
 060C 90E0              ldi R25,>L61
 060E 9983              std y+1,R25
 0610 8883              std y+0,R24
 0612 21E0              ldi R18,1
 0614 0027              clr R16
 0616 00D0              rcall _LCD_write_string
 0618                   .dbline 119
 0618           ;                                       j=0;
 0618 2224              clr R2
 061A 20920200          sts _j,R2
 061E                   .dbline 120
 061E           ;                                       data_init(Time1);
 061E 00910000          lds R16,_Time1
 0622 10910100          lds R17,_Time1+1
 0626 00D0              rcall _data_init
 0628                   .dbline 121
 0628           ;                                       flag=0;
 0628 4427              clr R20
 062A                   .dbline 122
 062A           ;                                       break;
 062A           L44:
 062A           L45:
 062A                   .dbline 124
 062A           L42:
 062A                   .dbline 91
 062A 4423              tst R20
 062C 09F0              breq X6
 062E E8CE              rjmp L41
 0630           X6:
 0630                   .dbline 125
 0630           ;                               }
 0630           ;                       }
 0630           ;                       flag=1;
 0630 41E0              ldi R20,1
 0632 D2C0              rjmp L63
 0634           L62:
 0634                   .dbline 127
 0634           ;               while(flag)
 0634           ;                       {
 0634                   .dbline 128
 0634           ;                           key_temp=keypad();
 0634 00D0              rcall _keypad
 0636 A02E              mov R10,R16
 0638                   .dbline 129
 0638           ;                               switch(key_temp)
 0638 6A2D              mov R22,R10
 063A 7727              clr R23
 063C 6130              cpi R22,1
 063E E0E0              ldi R30,0
 0640 7E07              cpc R23,R30
 0642 09F4              brne X7
 0644 8DC0              rjmp L85

⌨️ 快捷键说明

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