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

📄 lesson3_1.lis

📁 AVR单片机C语言编程及应用实例 适合初学者的学习研究 其中包含Atmega16中文资料及Protel部分电路图
💻 LIS
字号:
                        .module lesson3_1.c
                        .area text(rom, con, rel)
 0000                   .dbfile C:\iccv7avr\examples.avr\chengxu\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_xgsetF000
 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           ;          for(j=0;j<1141;j++);
 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           X0:
 001C                   .dbline 11
 001C           ;        }
 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           X1:
 0026                   .dbline -2
 0026           L1:
 0026                   .dbline 0 ; func end
 0026 0C940000          xjmp pop_xgsetF000
 002A                   .dbsym r i 20 i
 002A                   .dbsym r j 22 i
 002A                   .dbsym r ms 16 i
 002A                   .dbend
 002A                   .dbfunc e main _main fV
 002A           ;              k -> R20
                        .even
 002A           _main::
 002A                   .dbline -1
 002A                   .dbline 14
 002A           ; }
 002A           ; void main()
 002A           ; {
 002A                   .dbline 16
 002A           ;    uchar k;
 002A           ;    DDRA|=BIT(2);
 002A D29A              sbi 0x1a,2
 002C                   .dbline 17
 002C           ;    PORTA|=BIT(2);
 002C DA9A              sbi 0x1b,2
 002E                   .dbline 19
 002E           ;    
 002E           ;    DDRB=0XFF;
 002E 8FEF              ldi R24,255
 0030 87BB              out 0x17,R24
 0032                   .dbline 20
 0032           ;    PORTB=0XFF;
 0032 88BB              out 0x18,R24
 0034 1BC0              xjmp L12
 0036           L11:
 0036                   .dbline 22
 0036           ;    while(1)
 0036           ;    {
 0036                   .dbline 23
 0036           ;    for(k=0;k<8;k++)
 0036 4427              clr R20
 0038 17C0              xjmp L17
 003A           L14:
 003A                   .dbline 24
 003A           ;    { 
 003A                   .dbline 25
 003A           ;    PORTB&=~BIT(k);
 003A 01E0              ldi R16,1
 003C 142F              mov R17,R20
 003E 0E940000          xcall lsl8
 0042 202E              mov R2,R16
 0044 2094              com R2
 0046 38B2              in R3,0x18
 0048 3220              and R3,R2
 004A 38BA              out 0x18,R3
 004C                   .dbline 26
 004C           ;    delay(500);
 004C 04EF              ldi R16,500
 004E 11E0              ldi R17,1
 0050 D7DF              xcall _delay
 0052                   .dbline 28
 0052           ;    
 0052           ;    PORTB|=BIT(k);
 0052 01E0              ldi R16,1
 0054 142F              mov R17,R20
 0056 0E940000          xcall lsl8
 005A 28B2              in R2,0x18
 005C 202A              or R2,R16
 005E 28BA              out 0x18,R2
 0060                   .dbline 29
 0060           ;    delay(500);
 0060 04EF              ldi R16,500
 0062 11E0              ldi R17,1
 0064 CDDF              xcall _delay
 0066                   .dbline 30
 0066           ;    }
 0066           L15:
 0066                   .dbline 23
 0066 4395              inc R20
 0068           L17:
 0068                   .dbline 23
 0068 4830              cpi R20,8
 006A 38F3              brlo L14
 006C           X2:
 006C                   .dbline 31
 006C           ;    }
 006C           L12:
 006C                   .dbline 21
 006C E4CF              xjmp L11
 006E           X3:
 006E                   .dbline -2
 006E           L10:
 006E                   .dbline 0 ; func end
 006E 0895              ret
 0070                   .dbsym r k 20 c
 0070                   .dbend
 0070           ; }

⌨️ 快捷键说明

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