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

📄 8515fourportsledshift.lis

📁 单片机开发资料光盘-双龙-686M.zip
💻 LIS
字号:
                         .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
 0000                 _delay::
 0000 00D0              rcall push_gset2
 0002                   .dbline 4{
                       ; #include <io8515.h>                     
                       ; #define BIT(x) (1<<(x))   
                       ; void delay(unsigned char delayValue)
                       ; {
 0002                   .dbline 6
                       ;  unsigned char i,j;
                       ;     for(i=0;i<delayValue;i++)
 0002 4427              clr R20
 0004 06C0              rjmp L5
 0006                 L2:
 0006                   .dbline 7
                       ;        for (j=1;j;j++)
 0006 61E0              ldi R22,1
 0008 01C0              rjmp L9
 000A                 L6:
 000A                   .dbline 8
 000A                 L7:
 000A                   .dbline 7
 000A 6395              inc R22
 000C                 L9:
 000C                   .dbline 7
 000C 6623              tst R22
 000E E9F7              brne L6
 0010                 L3:
 0010                   .dbline 6
 0010 4395              inc R20
 0012                 L5:
 0012                   .dbline 6
 0012 4017              cp R20,R16
 0014 C0F3              brlo L2
 0016                   .dbline 9}
                       ;            ;
                       ; }
 0016                 L1:
 0016 00D0              rcall pop_gset2
 0018 0895              ret
 001A                   .dbsym r i 20 c
 001A                   .dbsym r j 22 c
 001A                   .dbsym r delayValue 16 c
 001A                   .dbfunc s led_pb _led_pb fI
                       ;              i -> R20
                       ;              t -> R22
                         .even
 001A                 _led_pb::
 001A 00D0              rcall push_gset2
 001C 602F              mov R22,R16
 001E                   .dbline 11{
                       ; void led_pb(unsigned char t)            
                       ; {
 001E                   .dbline 13
                       ;  unsigned char i;
                       ;  DDRB=0xff;                             
 001E 8FEF              ldi R24,255
 0020 87BB              out 0x17,R24
 0022                   .dbline 14
                       ;  for (i=0;i<8;i++)                       
 0022 4427              clr R20
 0024 09C0              rjmp L14
 0026                 L11:
 0026                   .dbline 15
 0026                   .dbline 16
 0026 01E0              ldi R16,1
 0028 142F              mov R17,R20
 002A 00D0              rcall lsl8
 002C 202E              mov R2,R16
 002E 2094              com R2
 0030 28BA              out 0x18,R2
 0032                   .dbline 17
 0032 062F              mov R16,R22
 0034 E5DF              rcall _delay
 0036                   .dbline 18
 0036                 L12:
 0036                   .dbline 14
 0036 4395              inc R20
 0038                 L14:
 0038                   .dbline 14
 0038 4830              cpi R20,8
 003A A8F3              brlo L11
 003C                   .dbline 19
                       ;    {
                       ;     PORTB=~BIT(i);                      
                       ;     delay(t);                           
                       ;    }
                       ;  PORTB=0xff;                            
 003C 8FEF              ldi R24,255
 003E 88BB              out 0x18,R24
 0040                   .dbline 20}
                       ; }
 0040                 L10:
 0040 00D0              rcall pop_gset2
 0042 0895              ret
 0044                   .dbsym r i 20 c
 0044                   .dbsym r t 22 c
 0044                   .dbfunc s led_pd _led_pd fI
                       ;              i -> R20
                       ;              t -> R22
                         .even
 0044                 _led_pd::
 0044 00D0              rcall push_gset2
 0046 602F              mov R22,R16
 0048                   .dbline 22{
                       ; void led_pd(unsigned char t)            
                       ; {
 0048                   .dbline 24
                       ;  unsigned char i;
                       ;  DDRD=0xff;
 0048 8FEF              ldi R24,255
 004A 81BB              out 0x11,R24
 004C                   .dbline 25
                       ;  for (i=0;i<8;i++)                      
 004C 4427              clr R20
 004E 09C0              rjmp L19
 0050                 L16:
 0050                   .dbline 26
 0050                   .dbline 27
 0050 01E0              ldi R16,1
 0052 142F              mov R17,R20
 0054 00D0              rcall lsl8
 0056 202E              mov R2,R16
 0058 2094              com R2
 005A 22BA              out 0x12,R2
 005C                   .dbline 28
 005C 062F              mov R16,R22
 005E D0DF              rcall _delay
 0060                   .dbline 29
 0060                 L17:
 0060                   .dbline 25
 0060 4395              inc R20
 0062                 L19:
 0062                   .dbline 25
 0062 4830              cpi R20,8
 0064 A8F3              brlo L16
 0066                   .dbline 30
                       ;     {
                       ;      PORTD=~BIT(i);
                       ;      delay(t);
                       ;     }
                       ;  PORTD=0xff;
 0066 8FEF              ldi R24,255
 0068 82BB              out 0x12,R24
 006A                   .dbline 31}
                       ; }
 006A                 L15:
 006A 00D0              rcall pop_gset2
 006C 0895              ret
 006E                   .dbsym r i 20 c
 006E                   .dbsym r t 22 c
 006E                   .dbfunc s led_pc _led_pc fI
                       ;              i -> R20
                       ;              t -> R22
                         .even
 006E                 _led_pc::
 006E 00D0              rcall push_gset2
 0070 602F              mov R22,R16
 0072                   .dbline 33{
                       ; void led_pc(unsigned char t)           
                       ; {
 0072                   .dbline 35
                       ;  unsigned char i;
                       ;  DDRC=0xff;
 0072 8FEF              ldi R24,255
 0074 84BB              out 0x14,R24
 0076                   .dbline 36
                       ;  for (i=0;i<8;i++)                     
 0076 4427              clr R20
 0078 09C0              rjmp L24
 007A                 L21:
 007A                   .dbline 37
 007A                   .dbline 38
 007A 01E0              ldi R16,1
 007C 142F              mov R17,R20
 007E 00D0              rcall lsl8
 0080 202E              mov R2,R16
 0082 2094              com R2
 0084 25BA              out 0x15,R2
 0086                   .dbline 39
 0086 062F              mov R16,R22
 0088 BBDF              rcall _delay
 008A                   .dbline 40
 008A                 L22:
 008A                   .dbline 36
 008A 4395              inc R20
 008C                 L24:
 008C                   .dbline 36
 008C 4830              cpi R20,8
 008E A8F3              brlo L21
 0090                   .dbline 41
                       ;    {
                       ;     PORTC=~BIT(i);
                       ;     delay(t);
                       ;    }
                       ;  PORTC=0xff;
 0090 8FEF              ldi R24,255
 0092 85BB              out 0x15,R24
 0094                   .dbline 42}
                       ; }
 0094                 L20:
 0094 00D0              rcall pop_gset2
 0096 0895              ret
 0098                   .dbsym r i 20 c
 0098                   .dbsym r t 22 c
 0098                   .dbfunc s led_pa _led_pa fI
                       ;              i -> R20
                       ;              t -> R22
                         .even
 0098                 _led_pa::
 0098 00D0              rcall push_gset2
 009A 602F              mov R22,R16
 009C                   .dbline 44{
                       ; void led_pa(unsigned char t)          
                       ; {
 009C                   .dbline 46
                       ;  unsigned char i;
                       ;  DDRA=0xff;
 009C 8FEF              ldi R24,255
 009E 8ABB              out 0x1a,R24
 00A0                   .dbline 47
                       ;  for (i=8;i>0;i--)                    
 00A0 48E0              ldi R20,8
 00A2 0AC0              rjmp L29
 00A4                 L26:
 00A4                   .dbline 48
 00A4                   .dbline 49
 00A4 142F              mov R17,R20
 00A6 1150              subi R17,1
 00A8 01E0              ldi R16,1
 00AA 00D0              rcall lsl8
 00AC 202E              mov R2,R16
 00AE 2094              com R2
 00B0 2BBA              out 0x1b,R2
 00B2                   .dbline 50
 00B2 062F              mov R16,R22
 00B4 A5DF              rcall _delay
 00B6                   .dbline 51
 00B6                 L27:
 00B6                   .dbline 47
 00B6 4A95              dec R20
 00B8                 L29:
 00B8                   .dbline 47
 00B8 2224              clr R2
 00BA 2416              cp R2,R20
 00BC 98F3              brlo L26
 00BE                   .dbline 52
                       ;    {
                       ;     PORTA=~BIT(i-1);
                       ;     delay(t);
                       ;    }
                       ;  PORTA=0xff;
 00BE 8FEF              ldi R24,255
 00C0 8BBB              out 0x1b,R24
 00C2                   .dbline 53}
                       ; }
 00C2                 L25:
 00C2 00D0              rcall pop_gset2
 00C4 0895              ret
 00C6                   .dbsym r i 20 c
 00C6                   .dbsym r t 22 c
 00C6                   .dbfunc s main _main fI
                       ;             dt -> R20
                         .even
 00C6                 _main::
 00C6                   .dbline 55{
                       ; void main (void)                      
                       ; {
 00C6 0DC0              rjmp L32
 00C8                 L31:
 00C8                   .dbline 58
                       ;  unsigned char dt;
                       ;  while (1)                            
                       ;      {
 00C8                   .dbline 59
                       ;       for (dt=5;dt<200;dt+=25)
 00C8 45E0              ldi R20,5
 00CA 09C0              rjmp L37
 00CC                 L34:
 00CC                   .dbline 60
 00CC                   .dbline 61
 00CC 042F              mov R16,R20
 00CE A5DF              rcall _led_pb
 00D0                   .dbline 62
 00D0 042F              mov R16,R20
 00D2 B8DF              rcall _led_pd
 00D4                   .dbline 63
 00D4 042F              mov R16,R20
 00D6 CBDF              rcall _led_pc
 00D8                   .dbline 64
 00D8 042F              mov R16,R20
 00DA DEDF              rcall _led_pa
 00DC                   .dbline 65
 00DC                 L35:
 00DC                   .dbline 59
 00DC 475E              subi R20,231    ; addi 25
 00DE                 L37:
 00DE                   .dbline 59
 00DE 483C              cpi R20,200
 00E0 A8F3              brlo L34
 00E2                   .dbline 66
 00E2                 L32:
 00E2                   .dbline 57
 00E2 F2CF              rjmp L31
 00E4                 X0:
 00E4                   .dbline 67}
                       ;          {
                       ;           led_pb(dt);                 
                       ;           led_pd(dt);
                       ;           led_pc(dt);
                       ;           led_pa(dt);
                       ;          }
                       ;       }
                       ; }
 00E4                 L30:
 00E4 0895              ret
 00E6                   .dbsym r dt 20 c

⌨️ 快捷键说明

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