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

📄 lesson1.lis

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

⌨️ 快捷键说明

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