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

📄 mega16.lis

📁 AVR 初学者
💻 LIS
字号:
                        .module mega16.c
                        .area text(rom, con, rel)
 0000                   .dbfile E:\单片机\单片机程序\AVR程序\闪烁灯\mega16.c
 0000                   .dbfunc e port_init _port_init fV
                        .even
 0000           _port_init::
 0000                   .dbline -1
 0000                   .dbline 9
 0000           ; //ICC-AVR application builder : 2008-8-1 15:39:15
 0000           ; // Target : M16
 0000           ; // Crystal: 16.000Mhz
 0000           ; 
 0000           ; #include <iom16v.h>
 0000           ; #include <macros.h>
 0000           ; 
 0000           ; void port_init(void)
 0000           ; {
 0000                   .dbline 10
 0000           ;  PORTA = 0x00;
 0000 2224              clr R2
 0002 2BBA              out 0x1b,R2
 0004                   .dbline 11
 0004           ;  DDRA  = 0xFF;
 0004 8FEF              ldi R24,255
 0006 8ABB              out 0x1a,R24
 0008                   .dbline 12
 0008           ;  PORTB = 0x00;
 0008 28BA              out 0x18,R2
 000A                   .dbline 13
 000A           ;  DDRB  = 0x00;
 000A 27BA              out 0x17,R2
 000C                   .dbline 14
 000C           ;  PORTC = 0x00; //m103 output only
 000C 25BA              out 0x15,R2
 000E                   .dbline 15
 000E           ;  DDRC  = 0x00;
 000E 24BA              out 0x14,R2
 0010                   .dbline 16
 0010           ;  PORTD = 0x00;
 0010 22BA              out 0x12,R2
 0012                   .dbline 17
 0012           ;  DDRD  = 0x00;
 0012 21BA              out 0x11,R2
 0014                   .dbline -2
 0014           L1:
 0014                   .dbline 0 ; func end
 0014 0895              ret
 0016                   .dbend
 0016                   .dbfunc e init_devices _init_devices fV
                        .even
 0016           _init_devices::
 0016                   .dbline -1
 0016                   .dbline 22
 0016           ; }
 0016           ; 
 0016           ; //call this routine to initialize all peripherals
 0016           ; void init_devices(void)
 0016           ; {
 0016                   .dbline 24
 0016           ;  //stop errant interrupts until set up0
 0016           ;  CLI(); //disable all interrupts
 0016 F894              cli
 0018                   .dbline 25
 0018           ;  port_init();
 0018 F3DF              xcall _port_init
 001A                   .dbline 27
 001A           ; 
 001A           ;  MCUCR = 0x00;
 001A 2224              clr R2
 001C 25BE              out 0x35,R2
 001E                   .dbline 28
 001E           ;  GICR  = 0x00;
 001E 2BBE              out 0x3b,R2
 0020                   .dbline 29
 0020           ;  TIMSK = 0x00; //timer interrupt sources
 0020 29BE              out 0x39,R2
 0022                   .dbline 30
 0022           ;  SEI(); //re-enable interrupts
 0022 7894              sei
 0024                   .dbline -2
 0024           L2:
 0024                   .dbline 0 ; func end
 0024 0895              ret
 0026                   .dbend
 0026                   .dbfunc e main _main fV
 0026           ;              i -> R20,R21
 0026           ;              j -> R22,R23
                        .even
 0026           _main::
 0026                   .dbline -1
 0026                   .dbline 35
 0026           ;  //all peripherals are now initialized
 0026           ; }
 0026           ; 
 0026           ; void main()
 0026           ; {
 0026                   .dbline 37
 0026           ;   unsigned int i,j;
 0026           ;   init_devices();
 0026 F7DF              xcall _init_devices
 0028                   .dbline 38
 0028           ;   PORTA = 0XAA;
 0028 8AEA              ldi R24,170
 002A 8BBB              out 0x1b,R24
 002C 15C0              xjmp L5
 002E           L4:
 002E                   .dbline 40
 002E           ;   while(1)
 002E           ;   {
 002E                   .dbline 41
 002E           ;     for(i=0;i<1000;i++)
 002E 4427              clr R20
 0030 5527              clr R21
 0032 0BC0              xjmp L10
 0034           L7:
 0034                   .dbline 42
 0034 6627              clr R22
 0036 7727              clr R23
 0038 02C0              xjmp L14
 003A           L11:
 003A                   .dbline 42
 003A           L12:
 003A                   .dbline 42
 003A 6F5F              subi R22,255  ; offset = 1
 003C 7F4F              sbci R23,255
 003E           L14:
 003E                   .dbline 42
 003E 683E              cpi R22,232
 0040 E3E0              ldi R30,3
 0042 7E07              cpc R23,R30
 0044 D0F3              brlo L11
 0046           L8:
 0046                   .dbline 41
 0046 4F5F              subi R20,255  ; offset = 1
 0048 5F4F              sbci R21,255
 004A           L10:
 004A                   .dbline 41
 004A 483E              cpi R20,232
 004C E3E0              ldi R30,3
 004E 5E07              cpc R21,R30
 0050 88F3              brlo L7
 0052                   .dbline 43
 0052 2BB2              in R2,0x1b
 0054 2094              com R2
 0056 2BBA              out 0x1b,R2
 0058                   .dbline 44
 0058           L5:
 0058                   .dbline 39
 0058 EACF              xjmp L4
 005A           X0:
 005A                   .dbline -2
 005A           L3:
 005A                   .dbline 0 ; func end
 005A 0895              ret
 005C                   .dbsym r i 20 i
 005C                   .dbsym r j 22 i
 005C                   .dbend

⌨️ 快捷键说明

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