📄 1602_main.lis
字号:
0788 L68:
0788 .dbline -2
0788 L66:
0788 2596 adiw R28,5
078A 0E940000 xcall pop_gset1
078E .dbline 0 ; func end
078E 0895 ret
0790 .dbend
0790 .dbfunc e main _main fV
0790 ; p -> <dead>
0790 ; i -> <dead>
0790 ; time_s -> R20,R21
.even
0790 _main::
0790 2297 sbiw R28,2
0792 .dbline -1
0792 .dbline 164
0792 ; }
0792 ; void main(void) {
0792 .dbline 168
0792 ; unsigned char i;
0792 ; unsigned char *p;
0792 ; int time_s;
0792 ; PORTB = 0xFF; /*电平设置*/
0792 8FEF ldi R24,255
0794 88BB out 0x18,R24
0796 .dbline 169
0796 ; DDRB = 0xFF; /*方向输出*/
0796 87BB out 0x17,R24
0798 .dbline 171
0798 ;
0798 ; PORTA = 0xFF;
0798 8BBB out 0x1b,R24
079A .dbline 172
079A ; DDRA = 0xFF;
079A 8ABB out 0x1a,R24
079C .dbline 173
079C ; delay_ms(100);
079C 04E6 ldi R16,100
079E 10E0 ldi R17,0
07A0 3CDC xcall _delay_ms
07A2 .dbline 175
07A2 ;
07A2 ; LCD_init();
07A2 B4DC xcall _LCD_init
07A4 .dbline 178
07A4 ;
07A4 ;
07A4 ; time_s=0;
07A4 4427 clr R20
07A6 5527 clr R21
07A8 .dbline 180
07A8 ;
07A8 ; delay_ms(500);
07A8 04EF ldi R16,500
07AA 11E0 ldi R17,1
07AC 36DC xcall _delay_ms
07AE .dbline 181
07AE ; LCD_clear();
07AE 67DC xcall _LCD_clear
07B0 89C0 xjmp L87
07B2 L86:
07B2 .dbline 182
07B2 ; while (1) {
07B2 .dbline 183
07B2 ; key=get_key();
07B2 62DD xcall _get_key
07B4 202E mov R2,R16
07B6 3324 clr R3
07B8 30920800 sts _key+1,R3
07BC 20920700 sts _key,R2
07C0 .dbline 186
07C0 ;
07C0 ;
07C0 ; switch(key)
07C0 C101 movw R24,R2
07C2 8130 cpi R24,1
07C4 E0E0 ldi R30,0
07C6 9E07 cpc R25,R30
07C8 49F1 breq L91
07CA 8230 cpi R24,2
07CC E0E0 ldi R30,0
07CE 9E07 cpc R25,R30
07D0 09F4 brne X17
07D2 55C0 xjmp L94
07D4 X17:
07D4 8330 cpi R24,3
07D6 E0E0 ldi R30,0
07D8 9E07 cpc R25,R30
07DA 09F4 brne X18
07DC 5FC0 xjmp L96
07DE X18:
07DE 8430 cpi R24,4
07E0 E0E0 ldi R30,0
07E2 9E07 cpc R25,R30
07E4 09F4 brne X19
07E6 5DC0 xjmp L97
07E8 X19:
07E8 8530 cpi R24,5
07EA E0E0 ldi R30,0
07EC 9E07 cpc R25,R30
07EE 09F4 brne X20
07F0 5BC0 xjmp L98
07F2 X20:
07F2 8630 cpi R24,6
07F4 E0E0 ldi R30,0
07F6 9E07 cpc R25,R30
07F8 09F4 brne X21
07FA 59C0 xjmp L99
07FC X21:
07FC 8730 cpi R24,7
07FE E0E0 ldi R30,0
0800 9E07 cpc R25,R30
0802 09F4 brne X22
0804 57C0 xjmp L100
0806 X22:
0806 8830 cpi R24,8
0808 E0E0 ldi R30,0
080A 9E07 cpc R25,R30
080C 09F4 brne X23
080E 55C0 xjmp L101
0810 X23:
0810 8930 cpi R24,9
0812 E0E0 ldi R30,0
0814 9E07 cpc R25,R30
0816 09F4 brne X24
0818 53C0 xjmp L102
081A X24:
081A 54C0 xjmp L89
081C X15:
081C .dbline 187
081C ; {
081C L91:
081C .dbline 189
081C ; case 1:
081C ; time_s=1;
081C 41E0 ldi R20,1
081E 50E0 ldi R21,0
0820 .dbline 190
0820 ; LCD_clear();
0820 2EDC xcall _LCD_clear
0822 .dbline 191
0822 ; LCD_write_str(6,6,"start...");
0822 80E0 ldi R24,<L92
0824 90E0 ldi R25,>L92
0826 9983 std y+1,R25
0828 8883 std y+0,R24
082A 26E0 ldi R18,6
082C 06E0 ldi R16,6
082E 2DDC xcall _LCD_write_str
0830 .dbline 192
0830 ; delay_ms(500);
0830 04EF ldi R16,500
0832 11E0 ldi R17,1
0834 F2DB xcall _delay_ms
0836 .dbline 193
0836 ; LCD_clear();
0836 23DC xcall _LCD_clear
0838 .dbline 194
0838 ; disp_num1=get_ad();
0838 3EDD xcall _get_ad
083A 10930600 sts _disp_num1+1,R17
083E 00930500 sts _disp_num1,R16
0842 .dbline 195
0842 ; disp_num2=disp_num1*0.00322;
0842 00E0 ldi R16,<L93
0844 10E0 ldi R17,>L93
0846 0E940000 xcall lpm32
084A 3A93 st -y,R19
084C 2A93 st -y,R18
084E 1A93 st -y,R17
0850 0A93 st -y,R16
0852 00910500 lds R16,_disp_num1
0856 10910600 lds R17,_disp_num1+1
085A 0E940000 xcall int2fp
085E 3A93 st -y,R19
0860 2A93 st -y,R18
0862 1A93 st -y,R17
0864 0A93 st -y,R16
0866 0E940000 xcall empy32f
086A 10930200 sts _disp_num2+1,R17
086E 00930100 sts _disp_num2,R16
0872 30930400 sts _disp_num2+2+1,R19
0876 20930300 sts _disp_num2+2,R18
087A .dbline 196
087A ; lcd_process();
087A 44DD xcall _lcd_process
087C .dbline 199
087C ;
087C ;
087C ; break;
087C 23C0 xjmp L90
087E L94:
087E .dbline 202
087E ;
087E ; case 2:
087E ; time_s=2;
087E 42E0 ldi R20,2
0880 50E0 ldi R21,0
0882 .dbline 203
0882 ; LCD_clear();
0882 FDDB xcall _LCD_clear
0884 .dbline 204
0884 ; LCD_write_str(4,4,"over...");
0884 80E0 ldi R24,<L95
0886 90E0 ldi R25,>L95
0888 9983 std y+1,R25
088A 8883 std y+0,R24
088C 24E0 ldi R18,4
088E 04E0 ldi R16,4
0890 FCDB xcall _LCD_write_str
0892 .dbline 205
0892 ; delay_ms(500);
0892 04EF ldi R16,500
0894 11E0 ldi R17,1
0896 C1DB xcall _delay_ms
0898 .dbline 206
0898 ; LCD_clear();
0898 F2DB xcall _LCD_clear
089A .dbline 207
089A ; break;
089A 14C0 xjmp L90
089C L96:
089C .dbline 210
089C ;
089C ; case 3:
089C ; time_s=3;
089C 43E0 ldi R20,3
089E 50E0 ldi R21,0
08A0 .dbline 211
08A0 ; break;
08A0 11C0 xjmp L90
08A2 L97:
08A2 .dbline 213
08A2 ; case 4:
08A2 ; time_s=4;
08A2 44E0 ldi R20,4
08A4 50E0 ldi R21,0
08A6 .dbline 214
08A6 ; break;
08A6 0EC0 xjmp L90
08A8 L98:
08A8 .dbline 216
08A8 ; case 5:
08A8 ; time_s=5;
08A8 45E0 ldi R20,5
08AA 50E0 ldi R21,0
08AC .dbline 217
08AC ; break;
08AC 0BC0 xjmp L90
08AE L99:
08AE .dbline 220
08AE ;
08AE ; case 6:
08AE ; time_s=6;
08AE 46E0 ldi R20,6
08B0 50E0 ldi R21,0
08B2 .dbline 221
08B2 ; break;
08B2 08C0 xjmp L90
08B4 L100:
08B4 .dbline 224
08B4 ;
08B4 ; case 7:
08B4 ; time_s=7;
08B4 47E0 ldi R20,7
08B6 50E0 ldi R21,0
08B8 .dbline 225
08B8 ; break;
08B8 05C0 xjmp L90
08BA L101:
08BA .dbline 227
08BA ; case 8:
08BA ; time_s=8;
08BA 48E0 ldi R20,8
08BC 50E0 ldi R21,0
08BE .dbline 228
08BE ; break;
08BE 02C0 xjmp L90
08C0 L102:
08C0 .dbline 230
08C0 ; case 9:
08C0 ; time_s=9;
08C0 49E0 ldi R20,9
08C2 50E0 ldi R21,0
08C4 .dbline 231
08C4 ; break;
08C4 L89:
08C4 L90:
08C4 .dbline 241
08C4 L87:
08C4 .dbline 182
08C4 76CF xjmp L86
08C6 X16:
08C6 .dbline -2
08C6 L85:
08C6 2296 adiw R28,2
08C8 .dbline 0 ; func end
08C8 0895 ret
08CA .dbsym l p 3 pc
08CA .dbsym l i 3 c
08CA .dbsym r time_s 20 I
08CA .dbend
.area bss(ram, con, rel)
0001 .dbfile F:\tem\1602AN~1\1602_main.c
0001 _disp_num2::
0001 .blkb 4
0005 .dbsym e disp_num2 _disp_num2 D
0005 _disp_num1::
0005 .blkb 2
0007 .dbsym e disp_num1 _disp_num1 I
0007 _key::
0007 .blkb 2
0009 .dbsym e key _key I
.area data(ram, con, rel)
0000 .dbfile F:\tem\1602AN~1\1602_main.c
0000 L95:
0000 .blkb 8
.area idata
0000 6F7665722E2E2E00 .byte 'o,'v,'e,'r,46,46,46,0
.area data(ram, con, rel)
0008 .dbfile F:\tem\1602AN~1\1602_main.c
.area lit(rom, con, rel)
0000 L93:
0000 A306533B .word 0x6a3,0x3b53
.area data(ram, con, rel)
0008 .dbfile F:\tem\1602AN~1\1602_main.c
0008 L92:
0008 .blkb 9
.area idata
0008 73746172742E2E2E00 .byte 's,'t,'a,'r,'t,46,46,46,0
.area data(ram, con, rel)
0011 .dbfile F:\tem\1602AN~1\1602_main.c
.area lit(rom, con, rel)
0004 L78:
0004 CDCCCC3D .word 0xcccd,0x3dcc
0008 L75:
0008 00002041 .word 0x0,0x4120
000C L74:
000C 00000047 .word 0x0,0x4700
0010 L73:
0010 0000C842 .word 0x0,0x42c8
0014 L70:
0014 0000803F .word 0x0,0x3f80
0018 L69:
0018 33335340 .word 0x3333,0x4053
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -