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

📄 ac17-2.lis

📁 AVR学习资料
💻 LIS
字号:
                        .module ac17-2.c
                        .area text(rom, con, rel)
 0000                   .dbfile d:\MYDOCU~1\ac17-2\ac17-2.c
 0000                   .dbfunc e delay_1ms _delay_1ms fV
 0000           ;              i -> R16,R17
                        .even
 0000           _delay_1ms::
 0000                   .dbline -1
 0000                   .dbline 8
 0000           ; #include <iom16v.h>           
 0000           ; #include <macros.h>
 0000           ; #define  uchar unsigned char  
 0000           ; #define  uint unsigned int
 0000           ; //----------------------------------------
 0000           ; #define xtal 8        
 0000           ; void delay_1ms(void)  
 0000           ; {
 0000                   .dbline 10
 0000           ; uint i;
 0000           ; for(i=1;i<(uint)(xtal*143-2);i++)
 0000 01E0              ldi R16,1
 0002 10E0              ldi R17,0
 0004 02C0              xjmp L5
 0006           L2:
 0006                   .dbline 11
 0006           L3:
 0006                   .dbline 10
 0006 0F5F              subi R16,255  ; offset = 1
 0008 1F4F              sbci R17,255
 000A           L5:
 000A                   .dbline 10
 000A 0637              cpi R16,118
 000C E4E0              ldi R30,4
 000E 1E07              cpc R17,R30
 0010 D0F3              brlo L2
 0012                   .dbline -2
 0012           L1:
 0012                   .dbline 0 ; func end
 0012 0895              ret
 0014                   .dbsym r i 16 i
 0014                   .dbend
 0014                   .dbfunc e delay_ms _delay_ms fV
 0014           ;              i -> R20,R21
 0014           ;              n -> R22,R23
                        .even
 0014           _delay_ms::
 0014 0E940000          xcall push_gset2
 0018 B801              movw R22,R16
 001A                   .dbline -1
 001A                   .dbline 15
 001A           ;       ;
 001A           ; }
 001A           ; //=========================================
 001A           ; void delay_ms(uint n) 
 001A           ; {
 001A                   .dbline 16
 001A           ; uint i=0;
 001A 4427              clr R20
 001C 5527              clr R21
 001E 03C0              xjmp L8
 0020           L7:
 0020                   .dbline 18
 0020                   .dbline 19
 0020 EFDF              xcall _delay_1ms
 0022                   .dbline 20
 0022 4F5F              subi R20,255  ; offset = 1
 0024 5F4F              sbci R21,255
 0026                   .dbline 21
 0026           L8:
 0026                   .dbline 17
 0026           ;  while(i<n)
 0026 4617              cp R20,R22
 0028 5707              cpc R21,R23
 002A D0F3              brlo L7
 002C                   .dbline -2
 002C           L6:
 002C 0E940000          xcall pop_gset2
 0030                   .dbline 0 ; func end
 0030 0895              ret
 0032                   .dbsym r i 20 i
 0032                   .dbsym r n 22 i
 0032                   .dbend
 0032                   .dbfunc e port_init _port_init fV
                        .even
 0032           _port_init::
 0032                   .dbline -1
 0032                   .dbline 25
 0032           ;  {
 0032           ;  delay_1ms();
 0032           ;  i++;
 0032           ;  }
 0032           ; }
 0032           ; //-------------------------------------------
 0032           ; void port_init(void)  
 0032           ; {
 0032                   .dbline 26
 0032           ;  PORTA = 0x00;
 0032 2224              clr R2
 0034 2BBA              out 0x1b,R2
 0036                   .dbline 27
 0036           ;  DDRA  = 0x00;
 0036 2ABA              out 0x1a,R2
 0038                   .dbline 28
 0038           ;  PORTB = 0xFF;        
 0038 8FEF              ldi R24,255
 003A 88BB              out 0x18,R24
 003C                   .dbline 29
 003C           ;  DDRB  = 0xFF;        
 003C 87BB              out 0x17,R24
 003E                   .dbline 30
 003E           ;  PORTC = 0x00; 
 003E 25BA              out 0x15,R2
 0040                   .dbline 31
 0040           ;  DDRC  = 0x00;
 0040 24BA              out 0x14,R2
 0042                   .dbline 32
 0042           ;  PORTD = 0x00;
 0042 22BA              out 0x12,R2
 0044                   .dbline 33
 0044           ;  DDRD  = 0x00;
 0044 21BA              out 0x11,R2
 0046                   .dbline -2
 0046           L10:
 0046                   .dbline 0 ; func end
 0046 0895              ret
 0048                   .dbend
 0048                   .dbfunc e watchdog_init _watchdog_init fV
                        .even
 0048           _watchdog_init::
 0048                   .dbline -1
 0048                   .dbline 37
 0048           ; }
 0048           ; //*************** 
 0048           ; void watchdog_init(void)
 0048           ; {
 0048                   .dbline 38
 0048           ;  WDR(); 
 0048 A895              wdr
 004A                   .dbline 39
 004A           ;  WDTCR = 0x08; 
 004A 88E0              ldi R24,8
 004C 81BD              out 0x21,R24
 004E                   .dbline -2
 004E           L11:
 004E                   .dbline 0 ; func end
 004E 0895              ret
 0050                   .dbend
 0050                   .dbfunc e init_devices _init_devices fV
                        .even
 0050           _init_devices::
 0050                   .dbline -1
 0050                   .dbline 43
 0050           ; }
 0050           ; //=========================================
 0050           ; void init_devices(void)
 0050           ; {
 0050                   .dbline 44
 0050           ;  port_init();
 0050 F0DF              xcall _port_init
 0052                   .dbline 45
 0052           ;  watchdog_init();
 0052 FADF              xcall _watchdog_init
 0054                   .dbline -2
 0054           L12:
 0054                   .dbline 0 ; func end
 0054 0895              ret
 0056                   .dbend
 0056                   .dbfunc e main _main fV
                        .even
 0056           _main::
 0056                   .dbline -1
 0056                   .dbline 49
 0056           ;  }
 0056           ; //*****************************************
 0056           ; void main(void)  
 0056           ; {
 0056                   .dbline 50
 0056           ;  init_devices();
 0056 FCDF              xcall _init_devices
 0058 2DC0              xjmp L15
 005A           L14:
 005A                   .dbline 52
 005A                   .dbline 53
 005A 8EEF              ldi R24,254
 005C 88BB              out 0x18,R24
 005E                   .dbline 54
 005E 03E0              ldi R16,3
 0060 10E0              ldi R17,0
 0062 D8DF              xcall _delay_ms
 0064                   .dbline 55
 0064 8DEF              ldi R24,253
 0066 88BB              out 0x18,R24
 0068                   .dbline 56
 0068 03E0              ldi R16,3
 006A 10E0              ldi R17,0
 006C D3DF              xcall _delay_ms
 006E                   .dbline 57
 006E 8BEF              ldi R24,251
 0070 88BB              out 0x18,R24
 0072                   .dbline 58
 0072 03E0              ldi R16,3
 0074 10E0              ldi R17,0
 0076 CEDF              xcall _delay_ms
 0078                   .dbline 59
 0078 87EF              ldi R24,247
 007A 88BB              out 0x18,R24
 007C                   .dbline 60
 007C 03E0              ldi R16,3
 007E 10E0              ldi R17,0
 0080 C9DF              xcall _delay_ms
 0082                   .dbline 61
 0082 8FEE              ldi R24,239
 0084 88BB              out 0x18,R24
 0086                   .dbline 62
 0086 03E0              ldi R16,3
 0088 10E0              ldi R17,0
 008A C4DF              xcall _delay_ms
 008C                   .dbline 63
 008C 8FED              ldi R24,223
 008E 88BB              out 0x18,R24
 0090                   .dbline 64
 0090 03E0              ldi R16,3
 0092 10E0              ldi R17,0
 0094 BFDF              xcall _delay_ms
 0096                   .dbline 65
 0096 8FEB              ldi R24,191
 0098 88BB              out 0x18,R24
 009A                   .dbline 66
 009A 03E0              ldi R16,3
 009C 10E0              ldi R17,0
 009E BADF              xcall _delay_ms
 00A0                   .dbline 67
 00A0 8FE7              ldi R24,127
 00A2 88BB              out 0x18,R24
 00A4                   .dbline 68
 00A4 03E0              ldi R16,3
 00A6 10E0              ldi R17,0
 00A8 B5DF              xcall _delay_ms
 00AA                   .dbline 69
 00AA 8FEF              ldi R24,255
 00AC 88BB              out 0x18,R24
 00AE                   .dbline 70
 00AE 03E0              ldi R16,3
 00B0 10E0              ldi R17,0
 00B2 B0DF              xcall _delay_ms
 00B4                   .dbline 71
 00B4           L15:
 00B4                   .dbline 51
 00B4 D2CF              xjmp L14
 00B6           X0:
 00B6                   .dbline -2
 00B6           L13:
 00B6                   .dbline 0 ; func end
 00B6 0895              ret
 00B8                   .dbend

⌨️ 快捷键说明

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