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

📄 lesson3_1.lis

📁 基于AVR的数码管显示程序。是学习单片机入门级程序。 本程序出自高手之手
💻 LIS
字号:
                        .module lesson3_1.c
                        .area text(rom, con, rel)
 0000                   .dbfile I:\AVR视频教程\视频教程\lesson3\lesson3_1\lesson3_1.c
 0000                   .dbfunc e delay _delay fV
 0000           ;              i -> R20,R21
 0000           ;              j -> R22,R23
 0000           ;             ms -> R16,R17
                        .even
 0000           _delay::
 0000 0E940000          xcall push_gset2
 0004                   .dbline -1
 0004                   .dbline 6
 0004           ; #include <iom16v.h>
 0004           ; #include <macros.h>
 0004           ; #define  uchar unsigned char
 0004           ; #define  uint  unsigned int
 0004           ; void delay(uint ms)
 0004           ; {
 0004                   .dbline 8
 0004           ;     uint i,j;
 0004           ;       for(i=0;i<ms;i++)
 0004 4427              clr R20
 0006 5527              clr R21
 0008 0BC0              xjmp L5
 000A           L2:
 000A                   .dbline 9
 000A           ;          {
 000A                   .dbline 10
 000A 6627              clr R22
 000C 7727              clr R23
 000E 02C0              xjmp L9
 0010           L6:
 0010                   .dbline 10
 0010           L7:
 0010                   .dbline 10
 0010 6F5F              subi R22,255  ; offset = 1
 0012 7F4F              sbci R23,255
 0014           L9:
 0014                   .dbline 10
 0014 6537              cpi R22,117
 0016 E4E0              ldi R30,4
 0018 7E07              cpc R23,R30
 001A D0F3              brlo L6
 001C                   .dbline 11
 001C           L3:
 001C                   .dbline 8
 001C 4F5F              subi R20,255  ; offset = 1
 001E 5F4F              sbci R21,255
 0020           L5:
 0020                   .dbline 8
 0020 4017              cp R20,R16
 0022 5107              cpc R21,R17
 0024 90F3              brlo L2
 0026                   .dbline -2
 0026                   .dbline 12
 0026           ;          for(j=0;j<1141;j++);
 0026           ;        }
 0026           ; }
 0026           L1:
 0026 0E940000          xcall pop_gset2
 002A                   .dbline 0 ; func end
 002A 0895              ret
 002C                   .dbsym r i 20 i
 002C                   .dbsym r j 22 i
 002C                   .dbsym r ms 16 i
 002C                   .dbend
 002C                   .dbfunc e main _main fV
 002C           ;              k -> R20
                        .even
 002C           _main::
 002C                   .dbline -1
 002C                   .dbline 14
 002C           ; void main()
 002C           ; {
 002C                   .dbline 16
 002C           ;    uchar k;
 002C           ;    DDRA|=BIT(2);
 002C D29A              sbi 0x1a,2
 002E                   .dbline 17
 002E           ;    PORTA|=BIT(2);
 002E DA9A              sbi 0x1b,2
 0030                   .dbline 19
 0030           ;    
 0030           ;    DDRB=0XFF;
 0030 8FEF              ldi R24,255
 0032 87BB              out 0x17,R24
 0034                   .dbline 20
 0034           ;    PORTB=0XFF;
 0034 88BB              out 0x18,R24
 0036 1BC0              xjmp L12
 0038           L11:
 0038                   .dbline 22
 0038           ;    while(1)
 0038           ;    {
 0038                   .dbline 23
 0038           ;    for(k=0;k<8;k++)
 0038 4427              clr R20
 003A 17C0              xjmp L17
 003C           L14:
 003C                   .dbline 24
 003C                   .dbline 25
 003C 01E0              ldi R16,1
 003E 142F              mov R17,R20
 0040 0E940000          xcall lsl8
 0044 202E              mov R2,R16
 0046 2094              com R2
 0048 38B2              in R3,0x18
 004A 3220              and R3,R2
 004C 38BA              out 0x18,R3
 004E                   .dbline 26
 004E 04EF              ldi R16,500
 0050 11E0              ldi R17,1
 0052 D6DF              xcall _delay
 0054                   .dbline 28
 0054 01E0              ldi R16,1
 0056 142F              mov R17,R20
 0058 0E940000          xcall lsl8
 005C 28B2              in R2,0x18
 005E 202A              or R2,R16
 0060 28BA              out 0x18,R2
 0062                   .dbline 29
 0062 04EF              ldi R16,500
 0064 11E0              ldi R17,1
 0066 CCDF              xcall _delay
 0068                   .dbline 30
 0068           L15:
 0068                   .dbline 23
 0068 4395              inc R20
 006A           L17:
 006A                   .dbline 23
 006A 4830              cpi R20,8
 006C 38F3              brlo L14
 006E                   .dbline 31
 006E           L12:
 006E                   .dbline 21
 006E E4CF              xjmp L11
 0070           X0:
 0070                   .dbline -2
 0070                   .dbline 32
 0070           ;    { 
 0070           ;    PORTB&=~BIT(k);
 0070           ;    delay(500);
 0070           ;    
 0070           ;    PORTB|=BIT(k);
 0070           ;    delay(500);
 0070           ;    }
 0070           ;    }
 0070           ; }
 0070           L10:
 0070                   .dbline 0 ; func end
 0070 0895              ret
 0072                   .dbsym r k 20 c
 0072                   .dbend

⌨️ 快捷键说明

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