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

📄 main.lis

📁 学习AVR单片机的基础实验程序 适合初学者学习提高
💻 LIS
字号:
                        .module main.c
                        .area text(rom, con, rel)
 0000                   .dbfile D:\AVR\我的程序\同步串口SPI实验/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 10
 0004           ; /***********************************
 0004           ; *实验目的:熟悉SPI操作及数码管显示
 0004           ; *设    计:萧联珠
 0004           ; *日    期:2007-11-20
 0004           ; ************************************/
 0004           ; #include <iom16v.h>
 0004           ; #include "cfg.h"
 0004           ; 
 0004           ; unsigned char disp[10] = {0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};
 0004           ; 
 0004                   .dbline 12
 0004           ; 
 0004           ; void main(void) 
 0004 0AC0              xjmp L5
 0006           L2:
 0006                   .dbline 13
 0006 4427              clr R20
 0008 5527              clr R21
 000A           L6:
 000A                   .dbline 13
 000A           L7:
 000A                   .dbline 13
 000A 4F5F              subi R20,255  ; offset = 1
 000C 5F4F              sbci R21,255
 000E                   .dbline 13
 000E 483E              cpi R20,232
 0010 E3E0              ldi R30,3
 0012 5E07              cpc R21,R30
 0014 D4F3              brlt L6
 0016           L3:
 0016                   .dbline 12
 0016 0150              subi R16,1
 0018 1040              sbci R17,0
 001A           L5:
 001A                   .dbline 12
 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 port_init _port_init fV
                        .even
 002A           _port_init::
 002A                   .dbline -1
 002A                   .dbline 18
 002A           ; {
 002A           ; 
 002A           ;       unsigned char i = 0;
 002A           ;       unsigned int flag_num;
 002A           ; 
 002A           ;       DDRB = 0xFF;                                            /*PB口设置为输出*/
 002A                   .dbline 19
 002A           ;       PORTB = 0xF0;                                           /*选通数码管*/
 002A 8D9A              sbi 0x11,5
 002C                   .dbline 20
 002C           ; 
 002C 959A              sbi 0x12,5
 002E                   .dbline -2
 002E           L10:
 002E                   .dbline 0 ; func end
 002E 0895              ret
 0030                   .dbend
 0030                   .dbfunc e SPI_MasterInit _SPI_MasterInit fV
                        .even
 0030           _SPI_MasterInit::
 0030                   .dbline -1
 0030                   .dbline 24
 0030           ;       SPI_MasterInit();
 0030           ;       
 0030           ;       while (1) 
 0030           ;       {  
 0030                   .dbline 26
 0030           ;          for(flag_num=0;flag_num<10;flag_num++)
 0030           ;          {
 0030 87B3              in R24,0x17
 0032 806A              ori R24,160
 0034 87BB              out 0x17,R24
 0036                   .dbline 27
 0036           ;               SPI_595_Out(disp[flag_num]);
 0036 83E5              ldi R24,83
 0038 8DB9              out 0xd,R24
 003A                   .dbline -2
 003A           L11:
 003A                   .dbline 0 ; func end
 003A 0895              ret
 003C                   .dbend
 003C                   .dbfunc e SPI_MasterTransmit _SPI_MasterTransmit fV
 003C           ;              i -> R16
                        .even
 003C           _SPI_MasterTransmit::
 003C                   .dbline -1
 003C                   .dbline 33
 003C           ;               delay_ms(200);
 003C           ;               }
 003C           ;     }
 003C           ; }
 003C           ; }
 003C           ; }
 003C                   .dbline 35
 003C           ; }
 003C           ; }
 003C 0FB9              out 0xf,R16
 003E           L13:
 003E                   .dbline 36
 003E           L14:
 003E                   .dbline 36
 003E           ; }
 003E 779B              sbis 0xe,7
 0040 FECF              rjmp L13
 0042                   .dbline -2
 0042           L12:
 0042                   .dbline 0 ; func end
 0042 0895              ret
 0044                   .dbsym r i 16 c
 0044                   .dbend
 0044                   .dbfunc e SPI_595_Out _SPI_595_Out fV
 0044           ;              i -> R20
                        .even
 0044           _SPI_595_Out::
 0044 0E940000          xcall push_gset1
 0048 402F              mov R20,R16
 004A                   .dbline -1
 004A                   .dbline 41
 004A           ; }
 004A           ; }
 004A           ; }
 004A           ; }
 004A           ; }
 004A                   .dbline 42
 004A           ; }
 004A C498              cbi 0x18,4
 004C                   .dbline 43
 004C           ; }
 004C 042F              mov R16,R20
 004E F6DF              xcall _SPI_MasterTransmit
 0050                   .dbline 44
 0050           ; }
 0050 C49A              sbi 0x18,4
 0052                   .dbline -2
 0052           L16:
 0052 0E940000          xcall pop_gset1
 0056                   .dbline 0 ; func end
 0056 0895              ret
 0058                   .dbsym r i 20 c
 0058                   .dbend
                        .area data(ram, con, rel)
 0000                   .dbfile D:\AVR\我的程序\同步串口SPI实验/cfg.h
 0000           _disp::
 0000                   .blkb 2
                        .area idata
 0000 C0F9              .byte 192,249
                        .area data(ram, con, rel)
 0002                   .dbfile D:\AVR\我的程序\同步串口SPI实验/cfg.h
 0002                   .blkb 2
                        .area idata
 0002 A4B0              .byte 164,176
                        .area data(ram, con, rel)
 0004                   .dbfile D:\AVR\我的程序\同步串口SPI实验/cfg.h
 0004                   .blkb 2
                        .area idata
 0004 9992              .byte 153,146
                        .area data(ram, con, rel)
 0006                   .dbfile D:\AVR\我的程序\同步串口SPI实验/cfg.h
 0006                   .blkb 2
                        .area idata
 0006 82F8              .byte 130,248
                        .area data(ram, con, rel)
 0008                   .dbfile D:\AVR\我的程序\同步串口SPI实验/cfg.h
 0008                   .blkb 2
                        .area idata
 0008 8090              .byte 128,144
                        .area data(ram, con, rel)
 000A                   .dbfile D:\AVR\我的程序\同步串口SPI实验/cfg.h
 000A                   .dbfile D:\AVR\我的程序\同步串口SPI实验\main.c
 000A                   .dbsym e disp _disp A[10:10]c
                        .area text(rom, con, rel)
 0058                   .dbfile D:\AVR\我的程序\同步串口SPI实验\main.c
 0058                   .dbfunc e main _main fV
 0058           ;              i -> R20
 0058           ;       flag_num -> R20,R21
                        .even
 0058           _main::
 0058                   .dbline -1
 0058                   .dbline 13
 0058                   .dbline 15
 0058 4427              clr R20
 005A                   .dbline 18
 005A 8FEF              ldi R24,255
 005C 87BB              out 0x17,R24
 005E                   .dbline 19
 005E 80EF              ldi R24,240
 0060 88BB              out 0x18,R24
 0062                   .dbline 21
 0062 E6DF              xcall _SPI_MasterInit
 0064 13C0              xjmp L19
 0066           L18:
 0066                   .dbline 24
 0066                   .dbline 25
 0066 4427              clr R20
 0068 5527              clr R21
 006A 0CC0              xjmp L24
 006C           L21:
 006C                   .dbline 26
 006C                   .dbline 27
 006C 80E0              ldi R24,<_disp
 006E 90E0              ldi R25,>_disp
 0070 FA01              movw R30,R20
 0072 E80F              add R30,R24
 0074 F91F              adc R31,R25
 0076 0081              ldd R16,z+0
 0078 E5DF              xcall _SPI_595_Out
 007A                   .dbline 28
 007A 08EC              ldi R16,200
 007C 10E0              ldi R17,0
 007E C0DF              xcall _delay_ms
 0080                   .dbline 29
 0080           L22:
 0080                   .dbline 25
 0080 4F5F              subi R20,255  ; offset = 1
 0082 5F4F              sbci R21,255
 0084           L24:
 0084                   .dbline 25
 0084 4A30              cpi R20,10
 0086 E0E0              ldi R30,0
 0088 5E07              cpc R21,R30
 008A 80F3              brlo L21
 008C                   .dbline 30
 008C           L19:
 008C                   .dbline 23
 008C ECCF              xjmp L18
 008E           X0:
 008E                   .dbline -2
 008E           L17:
 008E                   .dbline 0 ; func end
 008E 0895              ret
 0090                   .dbsym r i 20 c
 0090                   .dbsym r flag_num 20 i
 0090                   .dbend

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -