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

📄 m16_horse.lis

📁 LED渐变演示程序
💻 LIS
字号:
                        .module M16_Horse.c
                        .area text(rom, con, rel)
 0000                   .dbfile G:\M16_Horse\M16_Horse.c
 0000                   .dbfunc e Delay _Delay fV
 0000           ;              j -> R20
 0000           ;              i -> R16
                        .even
 0000           _Delay::
 0000 00D0              rcall push_gset1
 0002                   .dbline -1
 0002                   .dbline 6
 0002           ; #include<iom8.h>
 0002           ; #define uchar unsigned char
 0002           ; #define uint unsigned int
 0002           ; 
 0002           ; void Delay(uchar i)
 0002           ; {
 0002                   .dbline 8
 0002           ;  uchar j;
 0002           ;  for(;i!=0;i--)
 0002 06C0              rjmp L5
 0004           L2:
 0004                   .dbline 9
 0004           ;  {
 0004                   .dbline 10
 0004 4AEF              ldi R20,250
 0006 01C0              rjmp L9
 0008           L6:
 0008                   .dbline 10
 0008           L7:
 0008                   .dbline 10
 0008 4A95              dec R20
 000A           L9:
 000A                   .dbline 10
 000A 4423              tst R20
 000C E9F7              brne L6
 000E                   .dbline 11
 000E           L3:
 000E                   .dbline 8
 000E 0A95              dec R16
 0010           L5:
 0010                   .dbline 8
 0010 0023              tst R16
 0012 C1F7              brne L2
 0014                   .dbline -2
 0014           L1:
 0014 00D0              rcall pop_gset1
 0016                   .dbline 0 ; func end
 0016 0895              ret
 0018                   .dbsym r j 20 c
 0018                   .dbsym r i 16 c
 0018                   .dbend
 0018                   .dbfunc e Horse _Horse fV
 0018           ;              i -> R16
                        .even
 0018           _Horse::
 0018 00D0              rcall push_gset1
 001A                   .dbline -1
 001A                   .dbline 15
 001A           ;   for(j=250;j!=0;j--);
 001A           ;  }
 001A           ; }
 001A           ; 
 001A           ; void Horse(uchar i)
 001A           ; {
 001A                   .dbline 16
 001A           ;  switch(i)
 001A 402F              mov R20,R16
 001C 5527              clr R21
 001E 4030              cpi R20,0
 0020 4507              cpc R20,R21
 0022 09F1              breq L14
 0024           X0:
 0024 4130              cpi R20,1
 0026 E0E0              ldi R30,0
 0028 5E07              cpc R21,R30
 002A 01F1              breq L15
 002C 4230              cpi R20,2
 002E E0E0              ldi R30,0
 0030 5E07              cpc R21,R30
 0032 F9F0              breq L16
 0034 4330              cpi R20,3
 0036 E0E0              ldi R30,0
 0038 5E07              cpc R21,R30
 003A F1F0              breq L17
 003C 4430              cpi R20,4
 003E E0E0              ldi R30,0
 0040 5E07              cpc R21,R30
 0042 E9F0              breq L18
 0044 4530              cpi R20,5
 0046 E0E0              ldi R30,0
 0048 5E07              cpc R21,R30
 004A E1F0              breq L19
 004C 4630              cpi R20,6
 004E E0E0              ldi R30,0
 0050 5E07              cpc R21,R30
 0052 D9F0              breq L20
 0054 4730              cpi R20,7
 0056 E0E0              ldi R30,0
 0058 5E07              cpc R21,R30
 005A D1F0              breq L21
 005C 4830              cpi R20,8
 005E E0E0              ldi R30,0
 0060 5E07              cpc R21,R30
 0062 C9F0              breq L22
 0064 1AC0              rjmp L12
 0066           X1:
 0066                   .dbline 17
 0066           ;  {
 0066           L14:
 0066                   .dbline 18
 0066           ;   case 0:PORTB=0x00;break;
 0066 2224              clr R2
 0068 28BA              out 0x18,R2
 006A                   .dbline 18
 006A 17C0              rjmp L12
 006C           L15:
 006C                   .dbline 19
 006C           ;   case 1:PORTB=0x01;break;
 006C 81E0              ldi R24,1
 006E 88BB              out 0x18,R24
 0070                   .dbline 19
 0070 14C0              rjmp L12
 0072           L16:
 0072                   .dbline 20
 0072           ;   case 2:PORTB=0x03;break;
 0072 83E0              ldi R24,3
 0074 88BB              out 0x18,R24
 0076                   .dbline 20
 0076 11C0              rjmp L12
 0078           L17:
 0078                   .dbline 21
 0078           ;   case 3:PORTB=0x07;break;
 0078 87E0              ldi R24,7
 007A 88BB              out 0x18,R24
 007C                   .dbline 21
 007C 0EC0              rjmp L12
 007E           L18:
 007E                   .dbline 22
 007E           ;   case 4:PORTB=0x0f;break;
 007E 8FE0              ldi R24,15
 0080 88BB              out 0x18,R24
 0082                   .dbline 22
 0082 0BC0              rjmp L12
 0084           L19:
 0084                   .dbline 23
 0084           ;   case 5:PORTB=0x1f;break;
 0084 8FE1              ldi R24,31
 0086 88BB              out 0x18,R24
 0088                   .dbline 23
 0088 08C0              rjmp L12
 008A           L20:
 008A                   .dbline 24
 008A           ;   case 6:PORTB=0x3f;break;
 008A 8FE3              ldi R24,63
 008C 88BB              out 0x18,R24
 008E                   .dbline 24
 008E 05C0              rjmp L12
 0090           L21:
 0090                   .dbline 25
 0090           ;   case 7:PORTB=0x7f;break;
 0090 8FE7              ldi R24,127
 0092 88BB              out 0x18,R24
 0094                   .dbline 25
 0094 02C0              rjmp L12
 0096           L22:
 0096                   .dbline 26
 0096 8FEF              ldi R24,255
 0098 88BB              out 0x18,R24
 009A                   .dbline 26
 009A                   .dbline 27
 009A           L12:
 009A                   .dbline -2
 009A           L10:
 009A 00D0              rcall pop_gset1
 009C                   .dbline 0 ; func end
 009C 0895              ret
 009E                   .dbsym r i 16 c
 009E                   .dbend
 009E                   .dbfunc e main _main fV
 009E           ;              i -> R20
                        .even
 009E           _main::
 009E                   .dbline -1
 009E                   .dbline 32
 009E           ;   case 8:PORTB=0xff;break;
 009E           ;   default:break;
 009E           ;  }
 009E           ; }
 009E           ; 
 009E           ; void main()
 009E           ; {
 009E                   .dbline 34
 009E           ;  uchar i;
 009E           ;  DDRB=0xff;
 009E 8FEF              ldi R24,255
 00A0 87BB              out 0x17,R24
 00A2                   .dbline 35
 00A2           ;  PORTB=0xff;
 00A2 88BB              out 0x18,R24
 00A4                   .dbline 36
 00A4           ;  Delay(10);
 00A4 0AE0              ldi R16,10
 00A6 ACDF              rcall _Delay
 00A8                   .dbline 37
 00A8           ;  PORTB=0x00;
 00A8 2224              clr R2
 00AA 28BA              out 0x18,R2
 00AC 12C0              rjmp L25
 00AE           L24:
 00AE                   .dbline 39
 00AE           ;  while(1)
 00AE           ;  {
 00AE                   .dbline 40
 00AE           ;   for(i=0;i<9;i++)
 00AE 4427              clr R20
 00B0 05C0              rjmp L30
 00B2           L27:
 00B2                   .dbline 41
 00B2                   .dbline 42
 00B2 042F              mov R16,R20
 00B4 B1DF              rcall _Horse
 00B6                   .dbline 43
 00B6 04E6              ldi R16,100
 00B8 A3DF              rcall _Delay
 00BA                   .dbline 44
 00BA           L28:
 00BA                   .dbline 40
 00BA 4395              inc R20
 00BC           L30:
 00BC                   .dbline 40
 00BC 4930              cpi R20,9
 00BE C8F3              brlo L27
 00C0                   .dbline 45
 00C0           ;   {
 00C0           ;    Horse(i);
 00C0           ;    Delay(100);
 00C0           ;   }
 00C0           ;   for(i=8;i!=0;i--)
 00C0 48E0              ldi R20,8
 00C2 05C0              rjmp L34
 00C4           L31:
 00C4                   .dbline 46
 00C4                   .dbline 47
 00C4 042F              mov R16,R20
 00C6 A8DF              rcall _Horse
 00C8                   .dbline 48
 00C8 04E6              ldi R16,100
 00CA 9ADF              rcall _Delay
 00CC                   .dbline 49
 00CC           L32:
 00CC                   .dbline 45
 00CC 4A95              dec R20
 00CE           L34:
 00CE                   .dbline 45
 00CE 4423              tst R20
 00D0 C9F7              brne L31
 00D2                   .dbline 50
 00D2           L25:
 00D2                   .dbline 38
 00D2 EDCF              rjmp L24
 00D4           X2:
 00D4                   .dbline -2
 00D4           L23:
 00D4                   .dbline 0 ; func end
 00D4 0895              ret
 00D6                   .dbsym r i 20 c
 00D6                   .dbend

⌨️ 快捷键说明

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