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

📄 led.lis

📁 AVR单片机开发版资料测试程序里的源程序
💻 LIS
📖 第 1 页 / 共 2 页
字号:
 00B4 01E0              ldi R16,1
 00B6 142F              mov R17,R20
 00B8 0E940000          xcall lsl8
 00BC 202E              mov R2,R16
 00BE 2094              com R2
 00C0 38B2              in R3,0x18
 00C2 3220              and R3,R2
 00C4 38BA              out 0x18,R3
 00C6                   .dbline 26
 00C6 DA9A              sbi 0x1b,2
 00C8                   .dbline 27
 00C8 05E0              ldi R16,5
 00CA 10E0              ldi R17,0
 00CC B1DF              xcall _Delayms
 00CE                   .dbline 28
 00CE DA98              cbi 0x1b,2
 00D0                   .dbline 29
 00D0 0CC0              xjmp L18
 00D2           L17:
 00D2                   .dbline 31
 00D2                   .dbline 32
 00D2 01E0              ldi R16,1
 00D4 142F              mov R17,R20
 00D6 0E940000          xcall lsl8
 00DA 28B2              in R2,0x18
 00DC 202A              or R2,R16
 00DE 28BA              out 0x18,R2
 00E0                   .dbline 33
 00E0 DA9A              sbi 0x1b,2
 00E2                   .dbline 34
 00E2 05E0              ldi R16,5
 00E4 10E0              ldi R17,0
 00E6 A4DF              xcall _Delayms
 00E8                   .dbline 35
 00E8 DA98              cbi 0x1b,2
 00EA                   .dbline 36
 00EA           L18:
 00EA                   .dbline -2
 00EA                   .dbline 37
 00EA           L16:
 00EA 0E940000          xcall pop_gset2
 00EE                   .dbline 0 ; func end
 00EE 0895              ret
 00F0                   .dbsym l i 1 c
 00F0                   .dbsym r light 22 c
 00F0                   .dbsym r number 20 c
 00F0                   .dbend
 00F0                   .dbfunc e All_led _All_led fV
 00F0           ;          light -> R20
                        .even
 00F0           _All_led::
 00F0 0E940000          xcall push_gset1
 00F4 402F              mov R20,R16
 00F6                   .dbline -1
 00F6                   .dbline 45
 00F6                   .dbline 46
 00F6 4423              tst R20
 00F8 49F0              breq L20
 00FA                   .dbline 47
 00FA                   .dbline 48
 00FA 88B3              in R24,0x18
 00FC 8070              andi R24,0
 00FE 88BB              out 0x18,R24
 0100                   .dbline 49
 0100 DA9A              sbi 0x1b,2
 0102                   .dbline 50
 0102 05E0              ldi R16,5
 0104 10E0              ldi R17,0
 0106 94DF              xcall _Delayms
 0108                   .dbline 51
 0108 DA98              cbi 0x1b,2
 010A                   .dbline 52
 010A 08C0              xjmp L21
 010C           L20:
 010C                   .dbline 54
 010C                   .dbline 55
 010C 88B3              in R24,0x18
 010E 8F6F              ori R24,255
 0110 88BB              out 0x18,R24
 0112                   .dbline 56
 0112 DA9A              sbi 0x1b,2
 0114                   .dbline 57
 0114 05E0              ldi R16,5
 0116 10E0              ldi R17,0
 0118 8BDF              xcall _Delayms
 011A                   .dbline 58
 011A DA98              cbi 0x1b,2
 011C                   .dbline 59
 011C           L21:
 011C                   .dbline -2
 011C                   .dbline 60
 011C           L19:
 011C 0E940000          xcall pop_gset1
 0120                   .dbline 0 ; func end
 0120 0895              ret
 0122                   .dbsym r light 20 c
 0122                   .dbend
 0122                   .dbfunc e Flow_LED _Flow_LED fV
 0122           ;              i -> R20
 0122           ;             MS -> R22
                        .even
 0122           _Flow_LED::
 0122 0E940000          xcall push_gset2
 0126 602F              mov R22,R16
 0128                   .dbline -1
 0128                   .dbline 68
 0128                   .dbline 70
 0128 4427              clr R20
 012A 09C0              xjmp L26
 012C           L23:
 012C                   .dbline 71
 012C                   .dbline 72
 012C 0027              clr R16
 012E E0DF              xcall _All_led
 0130                   .dbline 73
 0130 21E0              ldi R18,1
 0132 042F              mov R16,R20
 0134 B9DF              xcall _One_led
 0136                   .dbline 74
 0136 062F              mov R16,R22
 0138 1127              clr R17
 013A 7ADF              xcall _Delayms
 013C                   .dbline 75
 013C           L24:
 013C                   .dbline 70
 013C 4395              inc R20
 013E           L26:
 013E                   .dbline 70
 013E 4830              cpi R20,8
 0140 A8F3              brlo L23
 0142                   .dbline -2
 0142                   .dbline 76
 0142           L22:
 0142 0E940000          xcall pop_gset2
 0146                   .dbline 0 ; func end
 0146 0895              ret
 0148                   .dbsym r i 20 c
 0148                   .dbsym r MS 22 c
 0148                   .dbend
 0148                   .dbfunc e Flash_LED _Flash_LED fV
 0148           ;             MS -> R22
 0148           ;         number -> R20
                        .even
 0148           _Flash_LED::
 0148 0E940000          xcall push_gset2
 014C 622F              mov R22,R18
 014E 402F              mov R20,R16
 0150                   .dbline -1
 0150                   .dbline 85
 0150           ; {
 0150                   .dbline 86
 0150           ;  One_led(number,TRUE);                //点亮指定的LED
 0150 21E0              ldi R18,1
 0152 042F              mov R16,R20
 0154 A9DF              xcall _One_led
 0156                   .dbline 87
 0156           ;  Delayms(MS);                         //延时指定的时间
 0156 062F              mov R16,R22
 0158 1127              clr R17
 015A 6ADF              xcall _Delayms
 015C                   .dbline 88
 015C           ;  All_led(FALSE);              //熄灭所有的LED
 015C 0027              clr R16
 015E C8DF              xcall _All_led
 0160                   .dbline 89
 0160           ;  Delayms(MS);                         //延时指定的时间
 0160 062F              mov R16,R22
 0162 1127              clr R17
 0164 65DF              xcall _Delayms
 0166                   .dbline 90
 0166           ;  One_led(number,FALSE);               //熄灭指定的LED 
 0166 2227              clr R18
 0168 042F              mov R16,R20
 016A 9EDF              xcall _One_led
 016C                   .dbline -2
 016C                   .dbline 91
 016C           ; }
 016C           L27:
 016C 0E940000          xcall pop_gset2
 0170                   .dbline 0 ; func end
 0170 0895              ret
 0172                   .dbsym r MS 22 c
 0172                   .dbsym r number 20 c
 0172                   .dbend
 0172                   .dbfunc e main _main fV
 0172           ;            bit -> R20
 0172           ;              i -> R22
                        .even
 0172           _main::
 0172                   .dbline -1
 0172                   .dbline 99
 0172           ; /*******************************************
 0172           ; 函数名称: main
 0172           ; 功    能: 1. 流水灯 2.闪烁指定的LED
 0172           ; 参    数: 无
 0172           ; 返回值  : 无
 0172           ; /********************************************/
 0172           ; void main(void)
 0172           ; {      
 0172                   .dbline 101
 0172           ;  uchar i,bit;
 0172           ;  i=0;                                                 //i=0时为流水灯,i=1时为闪烁灯
 0172 6627              clr R22
 0174                   .dbline 102
 0174           ;  bit=0;                                               //bit指定闪烁的LED
 0174 4427              clr R20
 0176                   .dbline 103
 0176           ;  Board_init( );                               //初始化开发板
 0176 72DF              xcall _Board_init
 0178 12C0              xjmp L30
 017A           L29:
 017A                   .dbline 105
 017A           ;  while(1)
 017A           ;  {
 017A                   .dbline 106
 017A           ;   switch(i)
 017A A62E              mov R10,R22
 017C BB24              clr R11
 017E AA20              tst R10
 0180 11F4              brne X0
 0182 BB20              tst R11
 0184 31F0              breq L35
 0186           X0:
 0186 C501              movw R24,R10
 0188 8130              cpi R24,1
 018A E0E0              ldi R30,0
 018C 9E07              cpc R25,R30
 018E 21F0              breq L36
 0190 06C0              xjmp L32
 0192           X1:
 0192                   .dbline 107
 0192           ;   {
 0192           L35:
 0192                   .dbline 109
 0192           ;    case 0:
 0192           ;          Flow_LED(200);
 0192 08EC              ldi R16,200
 0194 C6DF              xcall _Flow_LED
 0196                   .dbline 110
 0196           ;          break;
 0196 03C0              xjmp L33
 0198           L36:
 0198                   .dbline 112
 0198           ;    case 1:
 0198           ;          Flash_LED(bit,100);
 0198 24E6              ldi R18,100
 019A 042F              mov R16,R20
 019C D5DF              xcall _Flash_LED
 019E                   .dbline 113
 019E           ;   }
 019E           L32:
 019E           L33:
 019E                   .dbline 114
 019E           L30:
 019E                   .dbline 104
 019E EDCF              xjmp L29
 01A0           X2:
 01A0                   .dbline -2
 01A0                   .dbline 115
 01A0           ;  }  
 01A0           ; }
 01A0           L28:
 01A0                   .dbline 0 ; func end
 01A0 0895              ret
 01A2                   .dbsym r bit 20 c
 01A2                   .dbsym r i 22 c
 01A2                   .dbend

⌨️ 快捷键说明

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