⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.lis

📁 学习AVR单片机的基础实验程序 适合初学者学习提高
💻 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 + -