📄 max144_test.lis
字号:
0350 C394 inc R12
0352 L61:
0352 .dbline 50
0352 8C2D mov R24,R12
0354 8E30 cpi R24,14
0356 98F2 brlo L58
0358 X13:
0358 .dbline 55
0358 ; adc/=15;
0358 4FE0 ldi R20,15
035A 50E0 ldi R21,0
035C 60E0 ldi R22,0
035E 70E0 ldi R23,0
0360 0881 ldd R16,y+0
0362 1981 ldd R17,y+1
0364 2A81 ldd R18,y+2
0366 3B81 ldd R19,y+3
0368 7A93 st -y,R23
036A 6A93 st -y,R22
036C 5A93 st -y,R21
036E 4A93 st -y,R20
0370 0E940000 xcall div32u
0374 0883 std y+0,R16
0376 1983 std y+1,R17
0378 2A83 std y+2,R18
037A 3B83 std y+3,R19
037C .dbline 56
037C ; adc_temp=adc;
037C A880 ldd R10,y+0
037E B980 ldd R11,y+1
0380 .dbline 57
0380 ; adc_out1=adc>>1;
0380 2880 ldd R2,y+0
0382 3980 ldd R3,y+1
0384 4A80 ldd R4,y+2
0386 5B80 ldd R5,y+3
0388 5694 lsr R5
038A 4794 ror R4
038C 3794 ror R3
038E 2794 ror R2
0390 30924300 sts _adc_out1+1,R3
0394 20924200 sts _adc_out1,R2
0398 .dbline 58
0398 ; }
0398 66C0 xjmp L56
039A L55:
039A .dbline 60
039A ; else
039A ; {
039A .dbline 61
039A ; adcfirst[1]=(adc_temp>>1)&0xfff;
039A C501 movw R24,R10
039C 9695 lsr R25
039E 8795 ror R24
03A0 9F70 andi R25,15
03A2 90930300 sts _adcfirst+2+1,R25
03A6 80930200 sts _adcfirst+2,R24
03AA .dbline 62
03AA ; adc_temp&=0x1ffc;
03AA C501 movw R24,R10
03AC 8C7F andi R24,252
03AE 9F71 andi R25,31
03B0 5C01 movw R10,R24
03B2 .dbline 63
03B2 ; adc=adc_temp;
03B2 1C01 movw R2,R24
03B4 4424 clr R4
03B6 5524 clr R5
03B8 2882 std y+0,R2
03BA 3982 std y+1,R3
03BC 4A82 std y+2,R4
03BE 5B82 std y+3,R5
03C0 .dbline 64
03C0 ; adcttemp[1][14]=adc_temp;
03C0 B0923F00 sts _adcttemp+30+28+1,R11
03C4 A0923E00 sts _adcttemp+30+28,R10
03C8 .dbline 65
03C8 ; for(temp=0;temp<14;temp++)
03C8 CC24 clr R12
03CA 2AC0 xjmp L68
03CC L65:
03CC .dbline 66
03CC ; {
03CC .dbline 67
03CC ; adcttemp[1][temp]=adcttemp[1][temp+1];
03CC 80E0 ldi R24,<_adcttemp+30
03CE 90E0 ldi R25,>_adcttemp+30
03D0 EC2D mov R30,R12
03D2 FF27 clr R31
03D4 3196 adiw R30,1
03D6 EE0F lsl R30
03D8 FF1F rol R31
03DA E80F add R30,R24
03DC F91F adc R31,R25
03DE 2080 ldd R2,z+0
03E0 3180 ldd R3,z+1
03E2 EC2D mov R30,R12
03E4 FF27 clr R31
03E6 EE0F lsl R30
03E8 FF1F rol R31
03EA E80F add R30,R24
03EC F91F adc R31,R25
03EE 3182 std z+1,R3
03F0 2082 std z+0,R2
03F2 .dbline 68
03F2 ; adc+=adcttemp[1][temp];
03F2 EC2D mov R30,R12
03F4 FF27 clr R31
03F6 EE0F lsl R30
03F8 FF1F rol R31
03FA E80F add R30,R24
03FC F91F adc R31,R25
03FE 2080 ldd R2,z+0
0400 3180 ldd R3,z+1
0402 4424 clr R4
0404 5524 clr R5
0406 6880 ldd R6,y+0
0408 7980 ldd R7,y+1
040A 8A80 ldd R8,y+2
040C 9B80 ldd R9,y+3
040E 620C add R6,R2
0410 731C adc R7,R3
0412 841C adc R8,R4
0414 951C adc R9,R5
0416 6882 std y+0,R6
0418 7982 std y+1,R7
041A 8A82 std y+2,R8
041C 9B82 std y+3,R9
041E .dbline 69
041E ; }
041E L66:
041E .dbline 65
041E C394 inc R12
0420 L68:
0420 .dbline 65
0420 8C2D mov R24,R12
0422 8E30 cpi R24,14
0424 98F2 brlo L65
0426 X14:
0426 .dbline 70
0426 ; adc/=15;
0426 4FE0 ldi R20,15
0428 50E0 ldi R21,0
042A 60E0 ldi R22,0
042C 70E0 ldi R23,0
042E 0881 ldd R16,y+0
0430 1981 ldd R17,y+1
0432 2A81 ldd R18,y+2
0434 3B81 ldd R19,y+3
0436 7A93 st -y,R23
0438 6A93 st -y,R22
043A 5A93 st -y,R21
043C 4A93 st -y,R20
043E 0E940000 xcall div32u
0442 0883 std y+0,R16
0444 1983 std y+1,R17
0446 2A83 std y+2,R18
0448 3B83 std y+3,R19
044A .dbline 71
044A ; adc_temp=adc;
044A A880 ldd R10,y+0
044C B980 ldd R11,y+1
044E .dbline 72
044E ; adc_out0=adc>>1;
044E 2880 ldd R2,y+0
0450 3980 ldd R3,y+1
0452 4A80 ldd R4,y+2
0454 5B80 ldd R5,y+3
0456 5694 lsr R5
0458 4794 ror R4
045A 3794 ror R3
045C 2794 ror R2
045E 30924100 sts _adc_out0+1,R3
0462 20924000 sts _adc_out0,R2
0466 .dbline 73
0466 ; }
0466 L56:
0466 .dbline -2
0466 L44:
0466 .dbline 0 ; func end
0466 2496 adiw R28,4
0468 0C940000 xjmp pop_xgsetF03C
046C .dbsym l adc 0 l
046C .dbsym r adc_temp 10 i
046C .dbsym r temp 12 c
046C .dbend
046C .dbfile D:\iccavr\mega16\11\max144\max144_test.c
046C .dbfunc e mcu_init _mcu_init fV
.even
046C _mcu_init::
046C .dbline -1
046C .dbline 14
046C ; //ICC-AVR application builder : 2008-11-4 9:30:11
046C ; // Target : M16
046C ; // Crystal: 8Mhz
046C ;
046C ; #include <iom16v.h>
046C ; #include <macros.h>
046C ;
046C ;
046C ; #include "delay.h"
046C ; #include "lcd1602.h"
046C ; #include "max144.h"
046C ;
046C ; void mcu_init(void)
046C ; {
046C .dbline 15
046C ; LCD_init();
046C F3DD xcall _LCD_init
046E .dbline -2
046E L72:
046E .dbline 0 ; func end
046E 0895 ret
0470 .dbend
0470 .dbfunc e main _main fV
.even
0470 _main::
0470 2297 sbiw R28,2
0472 .dbline -1
0472 .dbline 19
0472 ; }
0472 ;
0472 ; void main(void)
0472 ; {
0472 .dbline 20
0472 ; mcu_init();
0472 FCDF xcall _mcu_init
0474 .dbline 22
0474 ;
0474 ; LCD_write_string(0,0,"MAX144 ADC0: ");
0474 80E0 ldi R24,<L74
0476 90E0 ldi R25,>L74
0478 9983 std y+1,R25
047A 8883 std y+0,R24
047C 2227 clr R18
047E 0027 clr R16
0480 8EDE xcall _LCD_write_string
0482 .dbline 23
0482 ; LCD_write_string(0,1,"MAX144 ADC1: ");
0482 80E0 ldi R24,<L75
0484 90E0 ldi R25,>L75
0486 9983 std y+1,R25
0488 8883 std y+0,R24
048A 21E0 ldi R18,1
048C 0027 clr R16
048E 87DE xcall _LCD_write_string
0490 13C0 xjmp L77
0492 L76:
0492 .dbline 25
0492 ; while(1)
0492 ; {
0492 .dbline 26
0492 ; max144_read();
0492 E3DE xcall _max144_read
0494 .dbline 27
0494 ; LCD_write_data(12,0,adc_out0);
0494 20904000 lds R2,_adc_out0
0498 30904100 lds R3,_adc_out0+1
049C 3982 std y+1,R3
049E 2882 std y+0,R2
04A0 2227 clr R18
04A2 0CE0 ldi R16,12
04A4 94DE xcall _LCD_write_data
04A6 .dbline 28
04A6 ; LCD_write_data(12,1,adc_out1);
04A6 20904200 lds R2,_adc_out1
04AA 30904300 lds R3,_adc_out1+1
04AE 3982 std y+1,R3
04B0 2882 std y+0,R2
04B2 21E0 ldi R18,1
04B4 0CE0 ldi R16,12
04B6 8BDE xcall _LCD_write_data
04B8 .dbline 29
04B8 ; }
04B8 L77:
04B8 .dbline 24
04B8 ECCF xjmp L76
04BA X16:
04BA .dbline -2
04BA L73:
04BA .dbline 0 ; func end
04BA 2296 adiw R28,2
04BC 0895 ret
04BE .dbend
.area bss(ram, con, rel)
0000 .dbfile D:\iccavr\mega16\11\max144\max144_test.c
0000 _adcfirst::
0000 .blkb 4
0004 .dbfile D:\iccavr\mega16\11\max144\max144.h
0004 .dbsym e adcfirst _adcfirst A[4:2]i
0004 _adcttemp::
0004 .blkb 60
0040 .dbsym e adcttemp _adcttemp A[60:2:15]i
0040 _adc_out0::
0040 .blkb 2
0042 .dbsym e adc_out0 _adc_out0 i
0042 _adc_out1::
0042 .blkb 2
0044 .dbsym e adc_out1 _adc_out1 i
.area data(ram, con, rel)
0000 .dbfile D:\iccavr\mega16\11\max144\max144.h
0000 L75:
0000 .blkb 17
.area idata
0000 4D415831343420414443313A20202020 .byte 'M,'A,'X,49,52,52,32,'A,'D,'C,49,58,32,32,32,32
0010 00 .byte 0
.area data(ram, con, rel)
0011 .dbfile D:\iccavr\mega16\11\max144\max144.h
0011 L74:
0011 .blkb 17
.area idata
0011 4D415831343420414443303A20202020 .byte 'M,'A,'X,49,52,52,32,'A,'D,'C,48,58,32,32,32,32
0021 00 .byte 0
.area data(ram, con, rel)
0022 .dbfile D:\iccavr\mega16\11\max144\max144.h
0022 ; }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -