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

📄 ac7-2.lis

📁 AVR学习资料
💻 LIS
字号:
                        .module ac7-2.c
                        .area lit(rom, con, rel)
 0000           _SEG7::
 0000 3F06              .byte 63,6
 0002 5B4F              .byte 91,'O
 0004 666D              .byte 'f,'m
 0006 7D07              .byte 125,7
 0008 7F6F              .byte 127,'o
 000A                   .dbfile d:\MYDOCU~1\ac7-2\ac7-2.c
 000A                   .dbsym e SEG7 _SEG7 A[10:10]kc
 000A           _ACT::
 000A FEFD              .byte 254,253
 000C                   .dbsym e ACT _ACT A[2:2]kc
                        .area text(rom, con, rel)
 0000                   .dbfile d:\MYDOCU~1\ac7-2\ac7-2.c
 0000                   .dbfunc e delay_ms _delay_ms fV
 0000           ;              i -> R20,R21
 0000           ;              j -> R22,R23
 0000           ;              k -> R16,R17
                        .even
 0000           _delay_ms::
 0000 0E940000          xcall push_gset2
 0004                   .dbline -1
 0004                   .dbline 9
 0004           ; #include<iom16v.h>                    
 0004           ; #define uchar unsigned char   
 0004           ; #define uint unsigned int
 0004           ; uchar const SEG7[10]={0x3f,0x06,0x5b,0x4f,0x66,       
 0004           ;                 0x6d,0x7d,0x07,0x7f,0x6f};
 0004           ; uchar const ACT[2]={0xfe,0xfd};                               
 0004           ; //=============================
 0004           ; void delay_ms(uint k)                 
 0004           ; {
 0004                   .dbline 11
 0004           ;     uint i,j;
 0004           ;     for(i=0;i<k;i++)
 0004 4427              clr R20
 0006 5527              clr R21
 0008 0BC0              xjmp L5
 000A           L2:
 000A                   .dbline 12
 000A           ;     {
 000A                   .dbline 13
 000A 6627              clr R22
 000C 7727              clr R23
 000E 02C0              xjmp L9
 0010           L6:
 0010                   .dbline 13
 0010           L7:
 0010                   .dbline 13
 0010 6F5F              subi R22,255  ; offset = 1
 0012 7F4F              sbci R23,255
 0014           L9:
 0014                   .dbline 13
 0014 6A33              cpi R22,58
 0016 E2E0              ldi R30,2
 0018 7E07              cpc R23,R30
 001A D0F3              brlo L6
 001C                   .dbline 14
 001C           L3:
 001C                   .dbline 11
 001C 4F5F              subi R20,255  ; offset = 1
 001E 5F4F              sbci R21,255
 0020           L5:
 0020                   .dbline 11
 0020 4017              cp R20,R16
 0022 5107              cpc R21,R17
 0024 90F3              brlo L2
 0026                   .dbline -2
 0026           L1:
 0026 0E940000          xcall pop_gset2
 002A                   .dbline 0 ; func end
 002A 0895              ret
 002C                   .dbsym r i 20 i
 002C                   .dbsym r j 22 i
 002C                   .dbsym r k 16 i
 002C                   .dbend
 002C                   .dbfunc e main _main fV
 002C           ;              i -> R20
 002C           ;        counter -> R22
                        .even
 002C           _main::
 002C                   .dbline -1
 002C                   .dbline 18
 002C           ;        for(j=0;j<570;j++);
 002C           ;     }
 002C           ; }
 002C           ; //=============================
 002C           ; void main(void)       
 002C           ; {                             
 002C                   .dbline 20
 002C           ; uchar i,counter;      
 002C           ; DDRA=0xff;                    
 002C 8FEF              ldi R24,255
 002E 8ABB              out 0x1a,R24
 0030                   .dbline 21
 0030           ; DDRC=0xff;            
 0030 84BB              out 0x14,R24
 0032                   .dbline 22
 0032           ; PORTA=0x00;           
 0032 2224              clr R2
 0034 2BBA              out 0x1b,R2
 0036                   .dbline 23
 0036           ; PORTC=0xff;           
 0036 85BB              out 0x15,R24
 0038 32C0              xjmp L12
 003A           L11:
 003A                   .dbline 25
 003A           ;    while(1)           
 003A           ;    {                  
 003A                   .dbline 26
 003A           ;                  for(i=0;i<100;i++)   
 003A 4427              clr R20
 003C 29C0              xjmp L17
 003E           L14:
 003E                   .dbline 27
 003E                   .dbline 28
 003E 2AE0              ldi R18,10
 0040 30E0              ldi R19,0
 0042 062F              mov R16,R22
 0044 1127              clr R17
 0046 0E940000          xcall mod16s
 004A F801              movw R30,R16
 004C 80E0              ldi R24,<_SEG7
 004E 90E0              ldi R25,>_SEG7
 0050 E80F              add R30,R24
 0052 F91F              adc R31,R25
 0054 E491              lpm R30,Z
 0056 EBBB              out 0x1b,R30
 0058                   .dbline 29
 0058 E0E0              ldi R30,<_ACT
 005A F0E0              ldi R31,>_ACT
 005C E491              lpm R30,Z
 005E E5BB              out 0x15,R30
 0060                   .dbline 30
 0060 01E0              ldi R16,1
 0062 10E0              ldi R17,0
 0064 CDDF              xcall _delay_ms
 0066                   .dbline 31
 0066 2AE0              ldi R18,10
 0068 30E0              ldi R19,0
 006A 062F              mov R16,R22
 006C 1127              clr R17
 006E 0E940000          xcall div16s
 0072 F801              movw R30,R16
 0074 80E0              ldi R24,<_SEG7
 0076 90E0              ldi R25,>_SEG7
 0078 E80F              add R30,R24
 007A F91F              adc R31,R25
 007C E491              lpm R30,Z
 007E EBBB              out 0x1b,R30
 0080                   .dbline 32
 0080 E0E0              ldi R30,<_ACT+1
 0082 F0E0              ldi R31,>_ACT+1
 0084 E491              lpm R30,Z
 0086 E5BB              out 0x15,R30
 0088                   .dbline 33
 0088 01E0              ldi R16,1
 008A 10E0              ldi R17,0
 008C B9DF              xcall _delay_ms
 008E                   .dbline 34
 008E           L15:
 008E                   .dbline 26
 008E 4395              inc R20
 0090           L17:
 0090                   .dbline 26
 0090 4436              cpi R20,100
 0092 A8F2              brlo L14
 0094                   .dbline 35
 0094           ;                  {                                    
 0094           ;                  PORTA=SEG7[counter%10];      
 0094           ;                  PORTC=ACT[0];                        
 0094           ;                  delay_ms(1);                         
 0094           ;                  PORTA=SEG7[counter/10];      
 0094           ;                  PORTC=ACT[1];                        
 0094           ;                  delay_ms(1);                 
 0094           ;                  }                                    
 0094           ;                  counter++;           
 0094 6395              inc R22
 0096                   .dbline 36
 0096           ;                  if(counter>99)counter=0;     
 0096 83E6              ldi R24,99
 0098 8617              cp R24,R22
 009A 08F4              brsh L19
 009C                   .dbline 36
 009C 6627              clr R22
 009E           L19:
 009E                   .dbline 37
 009E           L12:
 009E                   .dbline 24
 009E CDCF              xjmp L11
 00A0           X0:
 00A0                   .dbline -2
 00A0           L10:
 00A0                   .dbline 0 ; func end
 00A0 0895              ret
 00A2                   .dbsym r i 20 c
 00A2                   .dbsym r counter 22 c
 00A2                   .dbend

⌨️ 快捷键说明

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