📄 main.lis
字号:
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 + -