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

📄 8515fourportsledshift.lst

📁 单片机开发资料光盘-双龙-686M.zip
💻 LST
字号:
                         .module .8515FourPortsLedShift.c
                         .area text
--- 0000                   .dbfile E:\grc\licc\例子10.3.5\8515FourPortsLedShift.c
--- 0000                   .dbfunc s delay _delay fI
                       ;              i -> R20
                       ;              j -> R22
                       ;     delayValue -> R16
                         .even
 002A                  _delay::
 002A  D089              rcall push_gset2
 002B                    .dbline 4{
                       ; #include <io8515.h>                     
                       ; #define BIT(x) (1<<(x))   
                       ; void delay(unsigned char delayValue)
                       ; {
 002B                    .dbline 6
                       ;  unsigned char i,j;
                       ;     for(i=0;i<delayValue;i++)
 002B  2744              clr R20
 002C  C006              rjmp L5
 002D                  L2:
 002D                    .dbline 7
                       ;        for (j=1;j;j++)
 002D  E061              ldi R22,1
 002E  C001              rjmp L9
 002F                  L6:
 002F                    .dbline 8
 002F                  L7:
 002F                    .dbline 7
 002F  9563              inc R22
 0030                  L9:
 0030                    .dbline 7
 0030  2366              tst R22
 0031  F7E9              brne L6
 0032                  L3:
 0032                    .dbline 6
 0032  9543              inc R20
 0033                  L5:
 0033                    .dbline 6
 0033  1740              cp R20,R16
 0034  F3C0              brlo L2
 0035                    .dbline 9}
                       ;            ;
                       ; }
 0035                  L1:
 0035  D081              rcall pop_gset2
 0036  9508              ret
 0037                    .dbsym r i 20 c
 0037                    .dbsym r j 22 c
 0037                    .dbsym r delayValue 16 c
 0037                    .dbfunc s led_pb _led_pb fI
                       ;              i -> R20
                       ;              t -> R22
                         .even
 0037                  _led_pb::
 0037  D07C              rcall push_gset2
 0038  2F60              mov R22,R16
 0039                    .dbline 11{
                       ; void led_pb(unsigned char t)            
                       ; {
 0039                    .dbline 13
                       ;  unsigned char i;
                       ;  DDRB=0xff;                             
 0039  EF8F              ldi R24,255
 003A  BB87              out 0x17,R24
 003B                    .dbline 14
                       ;  for (i=0;i<8;i++)                       
 003B  2744              clr R20
 003C  C009              rjmp L14
 003D                  L11:
 003D                    .dbline 15
 003D                    .dbline 16
 003D  E001              ldi R16,1
 003E  2F14              mov R17,R20
 003F  D079              rcall lsl8
 0040  2E20              mov R2,R16
 0041  9420              com R2
 0042  BA28              out 0x18,R2
 0043                    .dbline 17
 0043  2F06              mov R16,R22
 0044  DFE5              rcall _delay
 0045                    .dbline 18
 0045                  L12:
 0045                    .dbline 14
 0045  9543              inc R20
 0046                  L14:
 0046                    .dbline 14
 0046  3048              cpi R20,8
 0047  F3A8              brlo L11
 0048                    .dbline 19
                       ;    {
                       ;     PORTB=~BIT(i);                      
                       ;     delay(t);                           
                       ;    }
                       ;  PORTB=0xff;                            
 0048  EF8F              ldi R24,255
 0049  BB88              out 0x18,R24
 004A                    .dbline 20}
                       ; }
 004A                  L10:
 004A  D06C              rcall pop_gset2
 004B  9508              ret
 004C                    .dbsym r i 20 c
 004C                    .dbsym r t 22 c
 004C                    .dbfunc s led_pd _led_pd fI
                       ;              i -> R20
                       ;              t -> R22
                         .even
 004C                  _led_pd::
 004C  D067              rcall push_gset2
 004D  2F60              mov R22,R16
 004E                    .dbline 22{
                       ; void led_pd(unsigned char t)            
                       ; {
 004E                    .dbline 24
                       ;  unsigned char i;
                       ;  DDRD=0xff;
 004E  EF8F              ldi R24,255
 004F  BB81              out 0x11,R24
 0050                    .dbline 25
                       ;  for (i=0;i<8;i++)                      
 0050  2744              clr R20
 0051  C009              rjmp L19
 0052                  L16:
 0052                    .dbline 26
 0052                    .dbline 27
 0052  E001              ldi R16,1
 0053  2F14              mov R17,R20
 0054  D064              rcall lsl8
 0055  2E20              mov R2,R16
 0056  9420              com R2
 0057  BA22              out 0x12,R2
 0058                    .dbline 28
 0058  2F06              mov R16,R22
 0059  DFD0              rcall _delay
 005A                    .dbline 29
 005A                  L17:
 005A                    .dbline 25
 005A  9543              inc R20
 005B                  L19:
 005B                    .dbline 25
 005B  3048              cpi R20,8
 005C  F3A8              brlo L16
 005D                    .dbline 30
                       ;     {
                       ;      PORTD=~BIT(i);
                       ;      delay(t);
                       ;     }
                       ;  PORTD=0xff;
 005D  EF8F              ldi R24,255
 005E  BB82              out 0x12,R24
 005F                    .dbline 31}
                       ; }
 005F                  L15:
 005F  D057              rcall pop_gset2
 0060  9508              ret
 0061                    .dbsym r i 20 c
 0061                    .dbsym r t 22 c
 0061                    .dbfunc s led_pc _led_pc fI
                       ;              i -> R20
                       ;              t -> R22
                         .even
 0061                  _led_pc::
 0061  D052              rcall push_gset2
 0062  2F60              mov R22,R16
 0063                    .dbline 33{
                       ; void led_pc(unsigned char t)           
                       ; {
 0063                    .dbline 35
                       ;  unsigned char i;
                       ;  DDRC=0xff;
 0063  EF8F              ldi R24,255
 0064  BB84              out 0x14,R24
 0065                    .dbline 36
                       ;  for (i=0;i<8;i++)                     
 0065  2744              clr R20
 0066  C009              rjmp L24
 0067                  L21:
 0067                    .dbline 37
 0067                    .dbline 38
 0067  E001              ldi R16,1
 0068  2F14              mov R17,R20
 0069  D04F              rcall lsl8
 006A  2E20              mov R2,R16
 006B  9420              com R2
 006C  BA25              out 0x15,R2
 006D                    .dbline 39
 006D  2F06              mov R16,R22
 006E  DFBB              rcall _delay
 006F                    .dbline 40
 006F                  L22:
 006F                    .dbline 36
 006F  9543              inc R20
 0070                  L24:
 0070                    .dbline 36
 0070  3048              cpi R20,8
 0071  F3A8              brlo L21
 0072                    .dbline 41
                       ;    {
                       ;     PORTC=~BIT(i);
                       ;     delay(t);
                       ;    }
                       ;  PORTC=0xff;
 0072  EF8F              ldi R24,255
 0073  BB85              out 0x15,R24
 0074                    .dbline 42}
                       ; }
 0074                  L20:
 0074  D042              rcall pop_gset2
 0075  9508              ret
 0076                    .dbsym r i 20 c
 0076                    .dbsym r t 22 c
 0076                    .dbfunc s led_pa _led_pa fI
                       ;              i -> R20
                       ;              t -> R22
                         .even
 0076                  _led_pa::
 0076  D03D              rcall push_gset2
 0077  2F60              mov R22,R16
 0078                    .dbline 44{
                       ; void led_pa(unsigned char t)          
                       ; {
 0078                    .dbline 46
                       ;  unsigned char i;
                       ;  DDRA=0xff;
 0078  EF8F              ldi R24,255
 0079  BB8A              out 0x1a,R24
 007A                    .dbline 47
                       ;  for (i=8;i>0;i--)                    
 007A  E048              ldi R20,8
 007B  C00A              rjmp L29
 007C                  L26:
 007C                    .dbline 48
 007C                    .dbline 49
 007C  2F14              mov R17,R20
 007D  5011              subi R17,1
 007E  E001              ldi R16,1
 007F  D039              rcall lsl8
 0080  2E20              mov R2,R16
 0081  9420              com R2
 0082  BA2B              out 0x1b,R2
 0083                    .dbline 50
 0083  2F06              mov R16,R22
 0084  DFA5              rcall _delay
 0085                    .dbline 51
 0085                  L27:
 0085                    .dbline 47
 0085  954A              dec R20
 0086                  L29:
 0086                    .dbline 47
 0086  2422              clr R2
 0087  1624              cp R2,R20
 0088  F398              brlo L26
 0089                    .dbline 52
                       ;    {
                       ;     PORTA=~BIT(i-1);
                       ;     delay(t);
                       ;    }
                       ;  PORTA=0xff;
 0089  EF8F              ldi R24,255
 008A  BB8B              out 0x1b,R24
 008B                    .dbline 53}
                       ; }
 008B                  L25:
 008B  D02B              rcall pop_gset2
 008C  9508              ret
 008D                    .dbsym r i 20 c
 008D                    .dbsym r t 22 c
 008D                    .dbfunc s main _main fI
                       ;             dt -> R20
                         .even
 008D                  _main::
 008D                    .dbline 55{
                       ; void main (void)                      
                       ; {
 008D  C00D              rjmp L32
 008E                  L31:
 008E                    .dbline 58
                       ;  unsigned char dt;
                       ;  while (1)                            
                       ;      {
 008E                    .dbline 59
                       ;       for (dt=5;dt<200;dt+=25)
 008E  E045              ldi R20,5
 008F  C009              rjmp L37
 0090                  L34:
 0090                    .dbline 60
 0090                    .dbline 61
 0090  2F04              mov R16,R20
 0091  DFA5              rcall _led_pb
 0092                    .dbline 62
 0092  2F04              mov R16,R20
 0093  DFB8              rcall _led_pd
 0094                    .dbline 63
 0094  2F04              mov R16,R20
 0095  DFCB              rcall _led_pc
 0096                    .dbline 64
 0096  2F04              mov R16,R20
 0097  DFDE              rcall _led_pa
 0098                    .dbline 65
 0098                  L35:
 0098                    .dbline 59
 0098  5E47              subi R20,231    ; addi 25
 0099                  L37:
 0099                    .dbline 59
 0099  3C48              cpi R20,200
 009A  F3A8              brlo L34
 009B                    .dbline 66
 009B                  L32:
 009B                    .dbline 57
 009B  CFF2              rjmp L31
 009C                  X0:
 009C                    .dbline 67}
                       ;          {
                       ;           led_pb(dt);                 
                       ;           led_pd(dt);
                       ;           led_pc(dt);
                       ;           led_pa(dt);
                       ;          }
                       ;       }
                       ; }
 009C                  L30:
 009C  9508              ret
 009D                    .dbsym r dt 20 c

⌨️ 快捷键说明

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