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

📄 counter.lis

📁 protues_atmeg8学习之:LED篇源代码
💻 LIS
📖 第 1 页 / 共 2 页
字号:
 0084                   .dbline 53
 0084           ;                       else    
 0084           ;                           PORTB=LedNum[0];            
 0084 20900000          lds R2,L11
 0088 28BA              out 0x18,R2
 008A           L21:
 008A                   .dbline 54
 008A 0AE0              ldi R16,10
 008C 10E0              ldi R17,0
 008E C2DF              rcall _delay_ms
 0090                   .dbline 55
 0090 85B3              in R24,0x15
 0092 8F6F              ori R24,255
 0094 85BB              out 0x15,R24
 0096                   .dbline 56
 0096           L17:
 0096                   .dbline 46
 0096 4395              inc R20
 0098           L19:
 0098                   .dbline 46
 0098 4436              cpi R20,100
 009A F8F2              brlo L16
 009C                   .dbline 58
 009C           ;                       delay_ms(10);
 009C           ;                       PORTC|=0xFF;    
 009C           ;       }
 009C           ;               
 009C           ;               CountNum[0]=CountNum[1]=CountNum[2]=CountNum[3]=0;
 009C 2224              clr R2
 009E 2B82              std y+3,R2
 00A0 2A82              std y+2,R2
 00A2 2982              std y+1,R2
 00A4 2882              std y+0,R2
 00A6 5DC0              rjmp L26
 00A8           L25:
 00A8                   .dbline 60
 00A8           ;               while(1)
 00A8           ;               {
 00A8                   .dbline 61
 00A8           ;                       if(CountNum[3]++==9)
 00A8 2B80              ldd R2,y+3
 00AA 822D              mov R24,R2
 00AC 8F5F              subi R24,255    ; addi 1
 00AE 8B83              std y+3,R24
 00B0 822D              mov R24,R2
 00B2 8930              cpi R24,9
 00B4 B9F4              brne L28
 00B6                   .dbline 62
 00B6           ;                       {
 00B6                   .dbline 63
 00B6           ;                           CountNum[3]=0;                          
 00B6 2224              clr R2
 00B8 2B82              std y+3,R2
 00BA                   .dbline 64
 00BA           ;                               if(9==CountNum[2]++)
 00BA 2A80              ldd R2,y+2
 00BC 822D              mov R24,R2
 00BE 8F5F              subi R24,255    ; addi 1
 00C0 8A83              std y+2,R24
 00C2 822D              mov R24,R2
 00C4 8930              cpi R24,9
 00C6 71F4              brne L32
 00C8                   .dbline 65
 00C8           ;                           {
 00C8                   .dbline 66
 00C8           ;                               CountNum[2]=0;                              
 00C8 2224              clr R2
 00CA 2A82              std y+2,R2
 00CC                   .dbline 67
 00CC           ;                                       if(9==CountNum[1]++)
 00CC 2980              ldd R2,y+1
 00CE 822D              mov R24,R2
 00D0 8F5F              subi R24,255    ; addi 1
 00D2 8983              std y+1,R24
 00D4 822D              mov R24,R2
 00D6 8930              cpi R24,9
 00D8 29F4              brne L36
 00DA                   .dbline 68
 00DA           ;                               {
 00DA                   .dbline 69
 00DA           ;                                   CountNum[1]=0;
 00DA 2224              clr R2
 00DC 2982              std y+1,R2
 00DE                   .dbline 70
 00DE           ;                                       CountNum[0]++;
 00DE 8881              ldd R24,y+0
 00E0 8F5F              subi R24,255    ; addi 1
 00E2 8883              std y+0,R24
 00E4                   .dbline 71
 00E4           ;                                       }
 00E4           L36:
 00E4                   .dbline 72
 00E4           ;                           }                           
 00E4           L32:
 00E4                   .dbline 73
 00E4           ;                       }
 00E4           L28:
 00E4                   .dbline 75
 00E4           ;                                       
 00E4           ;                   for(i=0;i<4;i++)
 00E4 6627              clr R22
 00E6 2DC0              rjmp L43
 00E8           L40:
 00E8                   .dbline 76
 00E8           ;                   {
 00E8                   .dbline 77
 00E8           ;                       PORTC&=~(1<<i);
 00E8 01E0              ldi R16,1
 00EA 162F              mov R17,R22
 00EC 00D0              rcall lsl8
 00EE 202E              mov R2,R16
 00F0 2094              com R2
 00F2 35B2              in R3,0x15
 00F4 3220              and R3,R2
 00F6 35BA              out 0x15,R3
 00F8                   .dbline 78
 00F8           ;                               if(2==i)
 00F8 6230              cpi R22,2
 00FA 79F4              brne L44
 00FC                   .dbline 79
 00FC           ;                                   PORTB=LedNum[CountNum[i]]+0x80;
 00FC CE01              movw R24,R28
 00FE E62F              mov R30,R22
 0100 FF27              clr R31
 0102 E80F              add R30,R24
 0104 F91F              adc R31,R25
 0106 E081              ldd R30,z+0
 0108 FF27              clr R31
 010A 80E0              ldi R24,<L11
 010C 90E0              ldi R25,>L11
 010E E80F              add R30,R24
 0110 F91F              adc R31,R25
 0112 8081              ldd R24,z+0
 0114 8058              subi R24,128    ; addi 128
 0116 88BB              out 0x18,R24
 0118 0DC0              rjmp L45
 011A           L44:
 011A                   .dbline 81
 011A           ;                               else
 011A           ;                                   PORTB=LedNum[CountNum[i]];                      
 011A CE01              movw R24,R28
 011C E62F              mov R30,R22
 011E FF27              clr R31
 0120 E80F              add R30,R24
 0122 F91F              adc R31,R25
 0124 E081              ldd R30,z+0
 0126 FF27              clr R31
 0128 80E0              ldi R24,<L11
 012A 90E0              ldi R25,>L11
 012C E80F              add R30,R24
 012E F91F              adc R31,R25
 0130 2080              ldd R2,z+0
 0132 28BA              out 0x18,R2
 0134           L45:
 0134                   .dbline 82
 0134 0AE0              ldi R16,10
 0136 10E0              ldi R17,0
 0138 6DDF              rcall _delay_ms
 013A                   .dbline 83
 013A 85B3              in R24,0x15
 013C 8F6F              ori R24,255
 013E 85BB              out 0x15,R24
 0140                   .dbline 84
 0140           L41:
 0140                   .dbline 75
 0140 6395              inc R22
 0142           L43:
 0142                   .dbline 75
 0142 6430              cpi R22,4
 0144 08F4              brsh X1
 0146 D0CF              rjmp L40
 0148           X1:
 0148                   .dbline 86
 0148           ;                           delay_ms(10);
 0148           ;                           PORTC|=0xFF;
 0148           ;                       }
 0148           ;               
 0148           ;                       if(CountNum[0]==9 && CountNum[1]==9 && CountNum[2]==9 && CountNum[3]==9)
 0148 8881              ldd R24,y+0
 014A 8930              cpi R24,9
 014C 51F4              brne L46
 014E 8981              ldd R24,y+1
 0150 8930              cpi R24,9
 0152 39F4              brne L46
 0154 8A81              ldd R24,y+2
 0156 8930              cpi R24,9
 0158 21F4              brne L46
 015A 8B81              ldd R24,y+3
 015C 8930              cpi R24,9
 015E 09F4              brne L46
 0160                   .dbline 87
 0160           ;                           break;                      
 0160 01C0              rjmp L27
 0162           L46:
 0162                   .dbline 88
 0162           L26:
 0162                   .dbline 59
 0162 A2CF              rjmp L25
 0164           L27:
 0164                   .dbline 89
 0164           L14:
 0164                   .dbline 43
 0164 77CF              rjmp L13
 0166           X0:
 0166                   .dbline -2
 0166                   .dbline 90
 0166           ;               }               
 0166           ;      }
 0166           ; }
 0166           L10:
 0166 2496              adiw R28,4
 0168                   .dbline 0 ; func end
 0168 0895              ret
 016A                   .dbsym r j 20 c
 016A                   .dbsym l CountNum 0 A[4:4]c
 016A                   .dbsym r i 22 c
 016A                   .dbend

⌨️ 快捷键说明

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