📄 main.lis
字号:
.module main.c
.area data(ram, con, rel)
0000 _disp::
0000 .blkb 2
.area idata
0000 C0F9 .byte 192,249
.area data(ram, con, rel)
0002 .blkb 2
.area idata
0002 A4B0 .byte 164,176
.area data(ram, con, rel)
0004 .blkb 2
.area idata
0004 9992 .byte 153,146
.area data(ram, con, rel)
0006 .blkb 2
.area idata
0006 82F8 .byte 130,248
.area data(ram, con, rel)
0008 .blkb 2
.area idata
0008 8090 .byte 128,144
.area data(ram, con, rel)
000A .dbfile D:\AVR\我的程序\AD转换实验/cfg.h
000A .dbsym e disp _disp A[10:10]c
.area text(rom, con, rel)
0000 .dbfile D:\AVR\我的程序\AD转换实验/cfg.h
0000 .dbfunc e delay_ms _delay_ms fV
0000 ; i -> R20,R21
0000 ; time -> R16,R17
.even
0000 _delay_ms::
0000 0E940000 xcall push_gset1
0004 .dbline -1
0004 .dbline 11
0004 ; /***********************************
0004 ; *实验目的:熟悉ADC操作编程
0004 ; *设 计:萧联珠
0004 ; *日 期:2007-11-20
0004 ; ************************************/
0004 ; #include <iom16v.h>
0004 ; #include "cfg.h"
0004 ;
0004 ; void main(void)
0004 ; {
0004 ; DDRB = 0xFF; /*PB口设置为输出*/
0004 .dbline 13
0004 ; PORTB = 0xF0; /*选通数码管*/
0004 ;
0004 0AC0 xjmp L5
0006 L2:
0006 .dbline 14
0006 4427 clr R20
0008 5527 clr R21
000A L6:
000A .dbline 14
000A L7:
000A .dbline 14
000A 4F5F subi R20,255 ; offset = 1
000C 5F4F sbci R21,255
000E .dbline 14
000E 483E cpi R20,232
0010 E3E0 ldi R30,3
0012 5E07 cpc R21,R30
0014 D4F3 brlt L6
0016 L3:
0016 .dbline 13
0016 0150 subi R16,1
0018 1040 sbci R17,0
001A L5:
001A .dbline 13
001A 2224 clr R2
001C 3324 clr R3
001E 2016 cp R2,R16
0020 3106 cpc R3,R17
0022 8CF3 brlt L2
0024 .dbline -2
0024 L1:
0024 0E940000 xcall pop_gset1
0028 .dbline 0 ; func end
0028 0895 ret
002A .dbsym r i 20 I
002A .dbsym r time 16 I
002A .dbend
002A .dbfunc e SPI_MasterInit _SPI_MasterInit fV
.even
002A _SPI_MasterInit::
002A .dbline -1
002A .dbline 18
002A ; SPI_MasterInit();
002A ; ADC_init();
002A ;
002A ; while (1);
002A ; }
002A .dbline 20
002A ; }
002A ; }
002A 87B3 in R24,0x17
002C 806A ori R24,160
002E 87BB out 0x17,R24
0030 .dbline 21
0030 ; }
0030 83E5 ldi R24,83
0032 8DB9 out 0xd,R24
0034 .dbline -2
0034 L10:
0034 .dbline 0 ; func end
0034 0895 ret
0036 .dbend
0036 .dbfunc e SPI_MasterTransmit _SPI_MasterTransmit fV
0036 ; i -> R16
.even
0036 _SPI_MasterTransmit::
0036 .dbline -1
0036 .dbline 27
0036 ; }
0036 ; }
0036 ; }
0036 ; }
0036 ; }
0036 ; }
0036 .dbline 29
0036 ; }
0036 ; }
0036 0FB9 out 0xf,R16
0038 L12:
0038 .dbline 30
0038 L13:
0038 .dbline 30
0038 ; }
0038 779B sbis 0xe,7
003A FECF rjmp L12
003C .dbline -2
003C L11:
003C .dbline 0 ; func end
003C 0895 ret
003E .dbsym r i 16 c
003E .dbend
003E .dbfunc e SPI_595_Out _SPI_595_Out fV
003E ; i -> R20
.even
003E _SPI_595_Out::
003E 0E940000 xcall push_gset1
0042 402F mov R20,R16
0044 .dbline -1
0044 .dbline 35
0044 ; }
0044 ; }
0044 ; }
0044 ; }
0044 ; }
0044 .dbline 36
0044 ; }
0044 C498 cbi 0x18,4
0046 .dbline 37
0046 ; }
0046 042F mov R16,R20
0048 F6DF xcall _SPI_MasterTransmit
004A .dbline 38
004A ; }
004A C49A sbi 0x18,4
004C .dbline -2
004C L15:
004C 0E940000 xcall pop_gset1
0050 .dbline 0 ; func end
0050 0895 ret
0052 .dbsym r i 20 c
0052 .dbend
0052 .dbfunc e ADC_init _ADC_init fV
.even
0052 _ADC_init::
0052 .dbline -1
0052 .dbline 43
0052 ; }
0052 ; }
0052 ; }
0052 ; }
0052 ; }
0052 .dbline 44
0052 ; }
0052 87E6 ldi R24,103
0054 87B9 out 0x7,R24
0056 .dbline 45
0056 ; }
0056 80E8 ldi R24,128
0058 8FBF out 0x3f,R24
005A .dbline 46
005A ; }
005A 8AEC ldi R24,202
005C 86B9 out 0x6,R24
005E .dbline -2
005E L16:
005E .dbline 0 ; func end
005E 0895 ret
0060 .dbend
.area vector(rom, abs)
.org 56
0038 0C943000 jmp _adc_int
.area text(rom, con, rel)
0060 .dbfile D:\AVR\我的程序\AD转换实验/cfg.h
0060 .dbfunc e adc_int _adc_int fV
0060 ; ad_result -> R20,R21
.even
0060 _adc_int::
0060 0E940000 xcall push_lset
0064 0E940000 xcall push_gset1
0068 .dbline -1
0068 .dbline 52
0068 ; }
0068 ; }
0068 ; }
0068 ; }
0068 ; }
0068 ; }
0068 .dbline 54
0068 ; }
0068 ; }
0068 45B1 in R20,0x5
006A 5527 clr R21
006C .dbline 55
006C ; }
006C 24E6 ldi R18,100
006E 30E0 ldi R19,0
0070 8A01 movw R16,R20
0072 0E940000 xcall div16u
0076 F801 movw R30,R16
0078 80E0 ldi R24,<_disp
007A 90E0 ldi R25,>_disp
007C E80F add R30,R24
007E F91F adc R31,R25
0080 0081 ldd R16,z+0
0082 DDDF xcall _SPI_595_Out
0084 .dbline 57
0084 ; }
0084 ; }
0084 87E6 ldi R24,103
0086 87B9 out 0x7,R24
0088 .dbline 58
0088 ; }
0088 8AEC ldi R24,202
008A 86B9 out 0x6,R24
008C .dbline -2
008C L17:
008C 0E940000 xcall pop_gset1
0090 0E940000 xcall pop_lset
0094 .dbline 0 ; func end
0094 1895 reti
0096 .dbsym r ad_result 20 i
0096 .dbend
0096 .dbfile D:\AVR\我的程序\AD转换实验\main.c
0096 .dbfunc e main _main fV
.even
0096 _main::
0096 .dbline -1
0096 .dbline 10
0096 .dbline 11
0096 8FEF ldi R24,255
0098 87BB out 0x17,R24
009A .dbline 12
009A 80EF ldi R24,240
009C 88BB out 0x18,R24
009E .dbline 14
009E C5DF xcall _SPI_MasterInit
00A0 .dbline 15
00A0 D8DF xcall _ADC_init
00A2 L19:
00A2 .dbline 17
00A2 L20:
00A2 .dbline 17
00A2 FFCF xjmp L19
00A4 X0:
00A4 .dbline -2
00A4 L18:
00A4 .dbline 0 ; func end
00A4 0895 ret
00A6 .dbend
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -