📄 main.lis
字号:
.module main.c
.area text(rom, con, rel)
0000 .dbfile E:\数据采集作业\ADC0809+AVR/0809.h
0000 .dbfunc e delayms _delayms fV
0000 ; j -> R20,R21
0000 ; i -> R16,R17
.even
0000 _delayms::
0000 00D0 rcall push_gset1
0002 .dbline -1
0002 .dbline 11
0002 ; //ICC-AVR application builder : 2007-8-31 下午 06:40:58
0002 ; // Target : M8
0002 ; // Crystal: 4.0000Mhz
0002 ;
0002 ; #include <iom8v.h>
0002 ; #include <macros.h>
0002 ; #include "0809.h"
0002 ; #include "SPIshow.h"
0002 ; void port_init(void)
0002 ; {
0002 ; PORTB = 0x00;
0002 .dbline 13
0002 ; DDRB = 0xff;
0002 ; PORTC = 0x00; //m103 output only
0002 0AC0 rjmp L5
0004 L2:
0004 .dbline 14
0004 ; DDRC = 0x00;
0004 40EA ldi R20,4000
0006 5FE0 ldi R21,15
0008 02C0 rjmp L9
000A L6:
000A .dbline 15
000A L7:
000A .dbline 14
000A 4150 subi R20,1
000C 5040 sbci R21,0
000E L9:
000E .dbline 14
000E 4030 cpi R20,0
0010 4507 cpc R20,R21
0012 D9F7 brne L6
0014 X0:
0014 L3:
0014 .dbline 13
0014 0150 subi R16,1
0016 1040 sbci R17,0
0018 L5:
0018 .dbline 13
0018 0030 cpi R16,0
001A 0107 cpc R16,R17
001C 99F7 brne L2
001E X1:
001E .dbline -2
001E L1:
001E 00D0 rcall pop_gset1
0020 .dbline 0 ; func end
0020 0895 ret
0022 .dbsym r j 20 i
0022 .dbsym r i 16 i
0022 .dbend
0022 .dbfunc e ADC0909 _ADC0909 fI
0022 ; data -> y+0
0022 ; channel -> R10
.even
0022 _ADC0909::
0022 00D0 rcall push_gset3
0024 A02E mov R10,R16
0026 2497 sbiw R28,4
0028 .dbline -1
0028 .dbline 20
0028 ; PORTD = 0xff;
0028 ; DDRD = 0x00;
0028 ; }
0028 ;
0028 ; //call this routine to initialize all peripherals
0028 ; void init_devices(void)
0028 .dbline 22
0028 ; {
0028 ; //stop errant interrupts until set up
0028 2224 clr R2
002A 21BA out 0x11,R2
002C .dbline 23
002C ; CLI(); //disable all interrupts
002C 87B3 in R24,0x17
002E 8760 ori R24,7
0030 87BB out 0x17,R24
0032 .dbline 24
0032 ; port_init();
0032 88B3 in R24,0x18
0034 887F andi R24,248
0036 88BB out 0x18,R24
0038 .dbline 43
0038 ; spi_init();
0038 ;
0038 ; MCUCR = 0x00;
0038 ; GICR = 0x00;
0038 ; TIMSK = 0x00; //timer interrupt sources
0038 ; SEI(); //re-enable interrupts
0038 ; //all peripherals are now initialized
0038 ; }
0038 ;
0038 ; void main(void)
0038 ; {
0038 ; unsigned long su;
0038 ; init_devices();
0038 ; while(1)
0038 ; {
0038 ; su=ADC0909(0);
0038 ; process(su,data);
0038 ; display(data);
0038 ; delayms(100);
0038 85E0 ldi R24,5
003A 84BB out 0x14,R24
003C .dbline 45
003C ; }
003C ; }
003C 85B3 in R24,0x15
003E 8A7F andi R24,250
0040 85BB out 0x15,R24
0042 .dbline 47
0042 ; }
0042 ; }
0042 A89A sbi 0x15,0
0044 .dbline 48
0044 ; }
0044 85B3 in R24,0x15
0046 8E7F andi R24,254
0048 85BB out 0x15,R24
004A L11:
004A .dbline 51
004A .dbline 52
004A .dbline 53
004A L12:
004A .dbline 50
004A ; }
004A ; }
004A 999B sbis 0x13,1
004C FECF rjmp L11
004E .dbline 54
004E ; }
004E ; }
004E ; }
004E ; }
004E AA9A sbi 0x15,2
0050 .dbline 55
0050 ; }
0050 20B2 in R2,0x10
0052 3324 clr R3
0054 4424 clr R4
0056 5524 clr R5
0058 FE01 movw R30,R28
005A 2082 std z+0,R2
005C 3182 std z+1,R3
005E 4282 std z+2,R4
0060 5382 std z+3,R5
0062 .dbline 56
0062 ; }
0062 85B3 in R24,0x15
0064 8B7F andi R24,251
0066 85BB out 0x15,R24
0068 .dbline 57
0068 ; }
0068 FE01 movw R30,R28
006A 2080 ldd R2,z+0
006C 3180 ldd R3,z+1
006E 4280 ldd R4,z+2
0070 5380 ldd R5,z+3
0072 40E1 ldi R20,16
0074 57E2 ldi R21,39
0076 60E0 ldi R22,0
0078 70E0 ldi R23,0
007A 5A92 st -y,R5
007C 4A92 st -y,R4
007E 3A92 st -y,R3
0080 2A92 st -y,R2
0082 8A01 movw R16,R20
0084 9B01 movw R18,R22
0086 00D0 rcall empy32u
0088 4FEF ldi R20,255
008A 50E0 ldi R21,0
008C 60E0 ldi R22,0
008E 70E0 ldi R23,0
0090 7A93 st -y,R23
0092 6A93 st -y,R22
0094 5A93 st -y,R21
0096 4A93 st -y,R20
0098 00D0 rcall div32u
009A FE01 movw R30,R28
009C 0083 std z+0,R16
009E 1183 std z+1,R17
00A0 2283 std z+2,R18
00A2 3383 std z+3,R19
00A4 .dbline 58
00A4 ; }
00A4 FE01 movw R30,R28
00A6 0081 ldd R16,z+0
00A8 1181 ldd R17,z+1
00AA .dbline -2
00AA L10:
00AA 2496 adiw R28,4
00AC 00D0 rcall pop_gset3
00AE .dbline 0 ; func end
00AE 0895 ret
00B0 .dbsym l data 0 l
00B0 .dbsym r channel 10 c
00B0 .dbend
.area data(ram, con, rel)
0000 .dbfile E:\数据采集作业\ADC0809+AVR/0809.h
0000 _table::
0000 .blkb 2
.area idata
0000 C0F9 .byte 192,249
.area data(ram, con, rel)
0002 .dbfile E:\数据采集作业\ADC0809+AVR/0809.h
0002 .blkb 2
.area idata
0002 A4B0 .byte 164,176
.area data(ram, con, rel)
0004 .dbfile E:\数据采集作业\ADC0809+AVR/0809.h
0004 .blkb 2
.area idata
0004 9992 .byte 153,146
.area data(ram, con, rel)
0006 .dbfile E:\数据采集作业\ADC0809+AVR/0809.h
0006 .blkb 2
.area idata
0006 82F8 .byte 130,248
.area data(ram, con, rel)
0008 .dbfile E:\数据采集作业\ADC0809+AVR/0809.h
0008 .blkb 2
.area idata
0008 8090 .byte 128,144
.area data(ram, con, rel)
000A .dbfile E:\数据采集作业\ADC0809+AVR/0809.h
000A .dbfile E:\数据采集作业\ADC0809+AVR/SPIshow.h
000A .dbsym e table _table A[10:10]c
000A _data::
000A .blkb 2
.area idata
000A 0000 .byte 0,0
.area data(ram, con, rel)
000C .dbfile E:\数据采集作业\ADC0809+AVR/SPIshow.h
000C .blkb 2
.area idata
000C 0000 .byte 0,0
.area data(ram, con, rel)
000E .dbfile E:\数据采集作业\ADC0809+AVR/SPIshow.h
000E .dbsym e data _data A[4:4]c
.area text(rom, con, rel)
00B0 .dbfile E:\数据采集作业\ADC0809+AVR/SPIshow.h
00B0 .dbfunc e process _process fV
00B0 ; p -> R10,R11
00B0 ; i -> y+6
.even
00B0 _process::
00B0 00D0 rcall push_arg4
00B2 00D0 rcall push_gset3
00B4 AA84 ldd R10,y+10
00B6 BB84 ldd R11,y+11
00B8 .dbline -1
00B8 .dbline 15
00B8 .dbline 16
00B8 48EE ldi R20,232
00BA 53E0 ldi R21,3
00BC 60E0 ldi R22,0
00BE 70E0 ldi R23,0
00C0 FE01 movw R30,R28
00C2 2680 ldd R2,z+6
00C4 3780 ldd R3,z+7
00C6 4084 ldd R4,z+8
00C8 5184 ldd R5,z+9
00CA 7A93 st -y,R23
00CC 6A93 st -y,R22
00CE 5A93 st -y,R21
00D0 4A93 st -y,R20
00D2 8101 movw R16,R2
00D4 9201 movw R18,R4
00D6 00D0 rcall div32u
00D8 F501 movw R30,R10
00DA 0083 std z+0,R16
00DC .dbline 17
00DC 48EE ldi R20,232
00DE 53E0 ldi R21,3
00E0 60E0 ldi R22,0
00E2 70E0 ldi R23,0
00E4 FE01 movw R30,R28
00E6 2680 ldd R2,z+6
00E8 3780 ldd R3,z+7
00EA 4084 ldd R4,z+8
00EC 5184 ldd R5,z+9
00EE 7A93 st -y,R23
00F0 6A93 st -y,R22
00F2 5A93 st -y,R21
00F4 4A93 st -y,R20
00F6 8101 movw R16,R2
00F8 9201 movw R18,R4
00FA 00D0 rcall mod32u
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -