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

📄 main.lis

📁 ATmega128单片机开发板原理图
💻 LIS
字号:
                        .module main.c
                        .area text(rom, con, rel)
 0000                   .dbfile E:\DOCUME~1\Administrator\桌面\源程序\main.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-2-22 9:34:31
 0000           ; // Target : M128
 0000           ; // Crystal: 14.7456Mhz
 0000           ; 
 0000           ; #include <iom128v.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  = 0x00;
 0004 2ABA              out 0x1a,R2
 0006                   .dbline 12
 0006           ;  PORTB = 0x00;
 0006 28BA              out 0x18,R2
 0008                   .dbline 13
 0008           ;  DDRB  = 0x00;
 0008 27BA              out 0x17,R2
 000A                   .dbline 14
 000A           ;  PORTC = 0x00; //m103 output only
 000A 25BA              out 0x15,R2
 000C                   .dbline 15
 000C           ;  DDRC  = 0x00;
 000C 24BA              out 0x14,R2
 000E                   .dbline 16
 000E           ;  PORTD = 0x00;
 000E 22BA              out 0x12,R2
 0010                   .dbline 17
 0010           ;  DDRD  = 0x00;
 0010 21BA              out 0x11,R2
 0012                   .dbline 18
 0012           ;  PORTE = 0x00;
 0012 23B8              out 0x3,R2
 0014                   .dbline 19
 0014           ;  DDRE  = 0x00;
 0014 22B8              out 0x2,R2
 0016                   .dbline 20
 0016           ;  PORTF = 0x00;
 0016 20926200          sts 98,R2
 001A                   .dbline 21
 001A           ;  DDRF  = 0x00;
 001A 20926100          sts 97,R2
 001E                   .dbline 22
 001E           ;  PORTG = 0x00;
 001E 20926500          sts 101,R2
 0022                   .dbline 23
 0022           ;  DDRG  = 0x00;
 0022 20926400          sts 100,R2
 0026                   .dbline -2
 0026           L1:
 0026                   .dbline 0 ; func end
 0026 0895              ret
 0028                   .dbend
 0028                   .dbfunc e init_devices _init_devices fV
                        .even
 0028           _init_devices::
 0028                   .dbline -1
 0028                   .dbline 28
 0028           ; }
 0028           ; 
 0028           ; //call this routine to initialize all peripherals
 0028           ; void init_devices(void)
 0028           ; {
 0028                   .dbline 30
 0028           ;  //stop errant interrupts until set up
 0028           ;  CLI(); //disable all interrupts
 0028 F894              cli
 002A                   .dbline 31
 002A           ;  XDIV  = 0x00; //xtal divider
 002A 2224              clr R2
 002C 2CBE              out 0x3c,R2
 002E                   .dbline 32
 002E           ;  XMCRA = 0x00; //external memory
 002E 20926D00          sts 109,R2
 0032                   .dbline 33
 0032           ;  port_init();
 0032 E6DF              xcall _port_init
 0034                   .dbline 35
 0034           ; 
 0034           ;  MCUCR = 0x00;
 0034 2224              clr R2
 0036 25BE              out 0x35,R2
 0038                   .dbline 36
 0038           ;  EICRA = 0x00; //extended ext ints
 0038 20926A00          sts 106,R2
 003C                   .dbline 37
 003C           ;  EICRB = 0x00; //extended ext ints
 003C 2ABE              out 0x3a,R2
 003E                   .dbline 38
 003E           ;  EIMSK = 0x00;
 003E 29BE              out 0x39,R2
 0040                   .dbline 39
 0040           ;  TIMSK = 0x00; //timer interrupt sources
 0040 27BE              out 0x37,R2
 0042                   .dbline 40
 0042           ;  ETIMSK = 0x00; //extended timer interrupt sources
 0042 20927D00          sts 125,R2
 0046                   .dbline 41
 0046           ;  SEI(); //re-enable interrupts
 0046 7894              sei
 0048                   .dbline -2
 0048           L2:
 0048                   .dbline 0 ; func end
 0048 0895              ret
 004A                   .dbend
 004A                   .dbfunc e delay _delay fV
 004A           ;              x -> R16
 004A           ;              y -> R18
 004A           ;              z -> R20
                        .even
 004A           _delay::
 004A 4A93              st -y,R20
 004C                   .dbline -1
 004C                   .dbline 46
 004C           ;  //all peripherals are now initialized
 004C           ; }
 004C           ; 
 004C           ; void delay()
 004C           ; {
 004C                   .dbline 48
 004C           ;  unsigned char x,y,z;
 004C           ;  for(x=0;x<127;x++)
 004C 0027              clr R16
 004E 0BC0              xjmp L7
 0050           L4:
 0050                   .dbline 49
 0050           ;    for(y=0;y<127;y++)
 0050 2227              clr R18
 0052 06C0              xjmp L11
 0054           L8:
 0054                   .dbline 50
 0054           ;      for(z=0;z<127;z++);
 0054 4427              clr R20
 0056 01C0              xjmp L15
 0058           L12:
 0058                   .dbline 50
 0058           L13:
 0058                   .dbline 50
 0058 4395              inc R20
 005A           L15:
 005A                   .dbline 50
 005A 4F37              cpi R20,127
 005C E8F3              brlo L12
 005E           X0:
 005E           L9:
 005E                   .dbline 49
 005E 2395              inc R18
 0060           L11:
 0060                   .dbline 49
 0060 2F37              cpi R18,127
 0062 C0F3              brlo L8
 0064           X1:
 0064           L5:
 0064                   .dbline 48
 0064 0395              inc R16
 0066           L7:
 0066                   .dbline 48
 0066 0F37              cpi R16,127
 0068 98F3              brlo L4
 006A           X2:
 006A                   .dbline -2
 006A           L3:
 006A                   .dbline 0 ; func end
 006A 4991              ld R20,y+
 006C 0895              ret
 006E                   .dbsym r x 16 c
 006E                   .dbsym r y 18 c
 006E                   .dbsym r z 20 c
 006E                   .dbend
 006E                   .dbfunc e main _main fV
                        .even
 006E           _main::
 006E                   .dbline -1
 006E                   .dbline 54
 006E           ; }
 006E           ; 
 006E           ; void main(void)
 006E           ; {
 006E                   .dbline 55
 006E           ;  init_devices();
 006E DCDF              xcall _init_devices
 0070                   .dbline 57
 0070           ;  //insert your functional code here...
 0070           ;  DDRA=0x0F;
 0070 8FE0              ldi R24,15
 0072 8ABB              out 0x1a,R24
 0074                   .dbline 58
 0074           ;  for(;;){
 0074           L17:
 0074                   .dbline 58
 0074                   .dbline 59
 0074           ;   PORTA=0x00;
 0074 2224              clr R2
 0076 2BBA              out 0x1b,R2
 0078                   .dbline 60
 0078           ;   delay();
 0078 E8DF              xcall _delay
 007A                   .dbline 61
 007A           ;   PORTA=0x0D;
 007A 8DE0              ldi R24,13
 007C 8BBB              out 0x1b,R24
 007E                   .dbline 62
 007E           ;   delay();
 007E E5DF              xcall _delay
 0080                   .dbline 63
 0080           ;   PORTA=0x0B;
 0080 8BE0              ldi R24,11
 0082 8BBB              out 0x1b,R24
 0084                   .dbline 64
 0084           ;   delay();
 0084 E2DF              xcall _delay
 0086                   .dbline 65
 0086           ;   PORTA=0x07;
 0086 87E0              ldi R24,7
 0088 8BBB              out 0x1b,R24
 008A                   .dbline 66
 008A           ;   delay();
 008A DFDF              xcall _delay
 008C                   .dbline 67
 008C           ;   PORTA=0x0B;
 008C 8BE0              ldi R24,11
 008E 8BBB              out 0x1b,R24
 0090                   .dbline 68
 0090           ;   delay();
 0090 DCDF              xcall _delay
 0092                   .dbline 69
 0092           ;   PORTA=0x0D;
 0092 8DE0              ldi R24,13
 0094 8BBB              out 0x1b,R24
 0096                   .dbline 70
 0096           ;   delay();
 0096 D9DF              xcall _delay
 0098                   .dbline 71
 0098           ;   PORTA=0x0E;
 0098 8EE0              ldi R24,14
 009A 8BBB              out 0x1b,R24
 009C                   .dbline 72
 009C           ;   delay();
 009C D6DF              xcall _delay
 009E                   .dbline 73
 009E           ;  }
 009E                   .dbline 58
 009E                   .dbline 58
 009E EACF              xjmp L17
 00A0           X3:
 00A0                   .dbline -2
 00A0           L16:
 00A0                   .dbline 0 ; func end
 00A0 0895              ret
 00A2                   .dbend
 00A2           ; }
 00A2           ; 

⌨️ 快捷键说明

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