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

📄 ac11-2.lis

📁 AVR学习资料
💻 LIS
📖 第 1 页 / 共 2 页
字号:
 011A E491              lpm R30,Z
 011C EBBB              out 0x1b,R30
 011E                   .dbline 52
 011E           ; PORTC=ACT[4];
 011E E0E0              ldi R30,<_ACT+4
 0120 F0E0              ldi R31,>_ACT+4
 0122 E491              lpm R30,Z
 0124 E5BB              out 0x15,R30
 0126                   .dbline 53
 0126           ; delay_ms(1);
 0126 01E0              ldi R16,1
 0128 10E0              ldi R17,0
 012A 6ADF              xcall _delay_ms
 012C                   .dbline 54
 012C           ; PORTA=SEG7[(x%100)/10];
 012C 24E6              ldi R18,100
 012E 30E0              ldi R19,0
 0130 00910100          lds R16,_x
 0134 1127              clr R17
 0136 0E940000          xcall mod16s
 013A 2AE0              ldi R18,10
 013C 30E0              ldi R19,0
 013E 0E940000          xcall div16s
 0142 F801              movw R30,R16
 0144 80E0              ldi R24,<_SEG7
 0146 90E0              ldi R25,>_SEG7
 0148 E80F              add R30,R24
 014A F91F              adc R31,R25
 014C E491              lpm R30,Z
 014E EBBB              out 0x1b,R30
 0150                   .dbline 55
 0150           ; PORTC=ACT[5];
 0150 E0E0              ldi R30,<_ACT+5
 0152 F0E0              ldi R31,>_ACT+5
 0154 E491              lpm R30,Z
 0156 E5BB              out 0x15,R30
 0158                   .dbline 56
 0158           ; delay_ms(1);
 0158 01E0              ldi R16,1
 015A 10E0              ldi R17,0
 015C 51DF              xcall _delay_ms
 015E                   .dbline 57
 015E           ; PORTA=SEG7[(x%1000)/100];
 015E 28EE              ldi R18,1000
 0160 33E0              ldi R19,3
 0162 00910100          lds R16,_x
 0166 1127              clr R17
 0168 0E940000          xcall mod16s
 016C 24E6              ldi R18,100
 016E 30E0              ldi R19,0
 0170 0E940000          xcall div16s
 0174 F801              movw R30,R16
 0176 80E0              ldi R24,<_SEG7
 0178 90E0              ldi R25,>_SEG7
 017A E80F              add R30,R24
 017C F91F              adc R31,R25
 017E E491              lpm R30,Z
 0180 EBBB              out 0x1b,R30
 0182                   .dbline 58
 0182           ; PORTC=ACT[6];
 0182 E0E0              ldi R30,<_ACT+6
 0184 F0E0              ldi R31,>_ACT+6
 0186 E491              lpm R30,Z
 0188 E5BB              out 0x15,R30
 018A                   .dbline 59
 018A           ; delay_ms(1);
 018A 01E0              ldi R16,1
 018C 10E0              ldi R17,0
 018E 38DF              xcall _delay_ms
 0190                   .dbline 60
 0190           ; PORTA=SEG7[x/1000];
 0190 28EE              ldi R18,1000
 0192 33E0              ldi R19,3
 0194 00910100          lds R16,_x
 0198 1127              clr R17
 019A 0E940000          xcall div16s
 019E F801              movw R30,R16
 01A0 80E0              ldi R24,<_SEG7
 01A2 90E0              ldi R25,>_SEG7
 01A4 E80F              add R30,R24
 01A6 F91F              adc R31,R25
 01A8 E491              lpm R30,Z
 01AA EBBB              out 0x1b,R30
 01AC                   .dbline 61
 01AC           ; PORTC=ACT[7];
 01AC E0E0              ldi R30,<_ACT+7
 01AE F0E0              ldi R31,>_ACT+7
 01B0 E491              lpm R30,Z
 01B2 E5BB              out 0x15,R30
 01B4                   .dbline 62
 01B4           ; delay_ms(1);
 01B4 01E0              ldi R16,1
 01B6 10E0              ldi R17,0
 01B8 23DF              xcall _delay_ms
 01BA                   .dbline -2
 01BA           L18:
 01BA                   .dbline 0 ; func end
 01BA 0895              ret
 01BC                   .dbend
 01BC                   .dbfunc e port_init _port_init fV
                        .even
 01BC           _port_init::
 01BC                   .dbline -1
 01BC                   .dbline 66
 01BC           ; }
 01BC           ; //*************************************
 01BC           ; void port_init(void)
 01BC           ; {                                                     
 01BC                   .dbline 67
 01BC           ;  PORTA = 0xFF;                        
 01BC 8FEF              ldi R24,255
 01BE 8BBB              out 0x1b,R24
 01C0                   .dbline 68
 01C0           ;  DDRA  = 0xFF;                
 01C0 8ABB              out 0x1a,R24
 01C2                   .dbline 69
 01C2           ;  PORTB = 0xFF;                        
 01C2 88BB              out 0x18,R24
 01C4                   .dbline 70
 01C4           ;  DDRB  = 0xFF;                        
 01C4 87BB              out 0x17,R24
 01C6                   .dbline 71
 01C6           ;  PORTC = 0xFF;                        
 01C6 85BB              out 0x15,R24
 01C8                   .dbline 72
 01C8           ;  DDRC  = 0xFF;                
 01C8 84BB              out 0x14,R24
 01CA                   .dbline 73
 01CA           ;  PORTD = 0xFF;                
 01CA 82BB              out 0x12,R24
 01CC                   .dbline 74
 01CC           ;  DDRD  = 0x00;                
 01CC 2224              clr R2
 01CE 21BA              out 0x11,R2
 01D0                   .dbline -2
 01D0           L26:
 01D0                   .dbline 0 ; func end
 01D0 0895              ret
 01D2                   .dbend
 01D2                   .dbfunc e main _main fV
 01D2           ;              i -> R20
                        .even
 01D2           _main::
 01D2                   .dbline -1
 01D2                   .dbline 78
 01D2           ; }
 01D2           ; //*************************************
 01D2           ; void main(void)               
 01D2           ; {uchar i;                     
 01D2                   .dbline 79
 01D2           ; port_init();          
 01D2 F4DF              xcall _port_init
 01D4 35C0              xjmp L29
 01D6           L28:
 01D6                   .dbline 81
 01D6           ; while(1)
 01D6           ;               {
 01D6                   .dbline 82
 01D6           ;               if((PIND&0x10)==0)      
 01D6 8499              sbic 0x10,4
 01D8 0DC0              rjmp L31
 01DA                   .dbline 83
 01DA           ;               {
 01DA                   .dbline 84
 01DA           ;               if(x<255)x++;           
 01DA 80910100          lds R24,_x
 01DE 8F3F              cpi R24,255
 01E0 18F4              brsh L33
 01E2                   .dbline 84
 01E2 8F5F              subi R24,255    ; addi 1
 01E4 80930100          sts _x,R24
 01E8           L33:
 01E8                   .dbline 85
 01E8           ;               for(i=0;i<25;i++)       
 01E8 4427              clr R20
 01EA 02C0              xjmp L38
 01EC           L35:
 01EC                   .dbline 86
 01EC 2EDF              xcall _display
 01EE           L36:
 01EE                   .dbline 85
 01EE 4395              inc R20
 01F0           L38:
 01F0                   .dbline 85
 01F0 4931              cpi R20,25
 01F2 E0F3              brlo L35
 01F4                   .dbline 87
 01F4           ;               display();                      
 01F4           ;               }
 01F4           L31:
 01F4                   .dbline 89
 01F4           ; //---------------
 01F4           ;               if((PIND&0x20)==0)      
 01F4 8599              sbic 0x10,5
 01F6 0FC0              rjmp L39
 01F8                   .dbline 90
 01F8           ;               {
 01F8                   .dbline 91
 01F8           ;               if(x>0)x--;                     
 01F8 2224              clr R2
 01FA 30900100          lds R3,_x
 01FE 2314              cp R2,R3
 0200 20F4              brsh L41
 0202                   .dbline 91
 0202 832D              mov R24,R3
 0204 8150              subi R24,1
 0206 80930100          sts _x,R24
 020A           L41:
 020A                   .dbline 92
 020A           ;               for(i=0;i<50;i++)       
 020A 4427              clr R20
 020C 02C0              xjmp L46
 020E           L43:
 020E                   .dbline 93
 020E 1DDF              xcall _display
 0210           L44:
 0210                   .dbline 92
 0210 4395              inc R20
 0212           L46:
 0212                   .dbline 92
 0212 4233              cpi R20,50
 0214 E0F3              brlo L43
 0216                   .dbline 94
 0216           ;               display();              
 0216           ;               }
 0216           L39:
 0216                   .dbline 96
 0216           ; //***************
 0216           ;               if((PIND&0x40)==0){W_EEP(200,x);delay_ms(10);} 
 0216 8699              sbic 0x10,6
 0218 08C0              rjmp L47
 021A                   .dbline 96
 021A                   .dbline 96
 021A 20910100          lds R18,_x
 021E 08EC              ldi R16,200
 0220 10E0              ldi R17,0
 0222 04DF              xcall _W_EEP
 0224                   .dbline 96
 0224 0AE0              ldi R16,10
 0226 10E0              ldi R17,0
 0228 EBDE              xcall _delay_ms
 022A                   .dbline 96
 022A           L47:
 022A                   .dbline 97
 022A           ;               if((PIND&0x80)==0){y=R_EEP(200);delay_ms(10);} 
 022A 8799              sbic 0x10,7
 022C 08C0              rjmp L49
 022E                   .dbline 97
 022E                   .dbline 97
 022E 08EC              ldi R16,200
 0230 10E0              ldi R17,0
 0232 04DF              xcall _R_EEP
 0234 00930000          sts _y,R16
 0238                   .dbline 97
 0238 0AE0              ldi R16,10
 023A 10E0              ldi R17,0
 023C E1DE              xcall _delay_ms
 023E                   .dbline 97
 023E           L49:
 023E                   .dbline 98
 023E 05DF              xcall _display
 0240                   .dbline 99
 0240           L29:
 0240                   .dbline 80
 0240 CACF              xjmp L28
 0242           X0:
 0242                   .dbline -2
 0242           L27:
 0242                   .dbline 0 ; func end
 0242 0895              ret
 0244                   .dbsym r i 20 c
 0244                   .dbend
                        .area bss(ram, con, rel)
 0000                   .dbfile d:\MYDOCU~1\ac11-2\ac11-2.c
 0000           _y::
 0000                   .blkb 1
 0001                   .dbsym e y _y c
 0001           _x::
 0001                   .blkb 1
 0002                   .dbsym e x _x c

⌨️ 快捷键说明

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