                        .module Led_Display.C
                        .area text(rom, con, rel)
 0000                   .dbfile ..\..\..\BK-AVR~1\BK-AVR128ÅäÌ×ÊµÑé³ÌÐò\ÊµÑéËÄ~1\Led_Display.C
                        .area data(ram, con, rel)
 0000                   .dbfile ..\..\..\BK-AVR~1\BK-AVR128ÅäÌ×ÊµÑé³ÌÐò\ÊµÑéËÄ~1\Led_Display.C
 0000           _led_discode::
 0000                   .blkb 2
                        .area idata
 0000 C0F9              .byte 192,249
                        .area data(ram, con, rel)
 0002                   .dbfile ..\..\..\BK-AVR~1\BK-AVR128ÅäÌ×ÊµÑé³ÌÐò\ÊµÑéËÄ~1\Led_Display.C
 0002                   .blkb 2
                        .area idata
 0002 A4B0              .byte 164,176
                        .area data(ram, con, rel)
 0004                   .dbfile ..\..\..\BK-AVR~1\BK-AVR128ÅäÌ×ÊµÑé³ÌÐò\ÊµÑéËÄ~1\Led_Display.C
 0004                   .blkb 2
                        .area idata
 0004 9992              .byte 153,146
                        .area data(ram, con, rel)
 0006                   .dbfile ..\..\..\BK-AVR~1\BK-AVR128ÅäÌ×ÊµÑé³ÌÐò\ÊµÑéËÄ~1\Led_Display.C
 0006                   .blkb 2
                        .area idata
 0006 82F8              .byte 130,248
                        .area data(ram, con, rel)
 0008                   .dbfile ..\..\..\BK-AVR~1\BK-AVR128ÅäÌ×ÊµÑé³ÌÐò\ÊµÑéËÄ~1\Led_Display.C
 0008                   .blkb 2
                        .area idata
 0008 8090              .byte 128,144
                        .area data(ram, con, rel)
 000A                   .dbfile ..\..\..\BK-AVR~1\BK-AVR128ÅäÌ×ÊµÑé³ÌÐò\ÊµÑéËÄ~1\Led_Display.C
 000A                   .blkb 1
                        .area idata
 000A FF                .byte 255
                        .area data(ram, con, rel)
 000B                   .dbfile ..\..\..\BK-AVR~1\BK-AVR128ÅäÌ×ÊµÑé³ÌÐò\ÊµÑéËÄ~1\Led_Display.C
 000B                   .dbfile E:\BK-AVR~1\BK-AVR128ÅäÌ×ÊµÑé³ÌÐò\ÊµÑéËÄ~1\Led_Display.C
 000B                   .dbsym e led_discode _led_discode A[11:11]c
                        .area text(rom, con, rel)
 0000                   .dbfile E:\BK-AVR~1\BK-AVR128ÅäÌ×ÊµÑé³ÌÐò\ÊµÑéËÄ~1\Led_Display.C
 0000                   .dbfunc e main _main fV
 0000           ;           temp -> R22,R23
 0000           ;              i -> R20,R21
 0000           ;           viod -> <dead>
                        .even
 0000           _main::
 0000 1A93              st -y,r17
 0002 0A93              st -y,r16
 0004                   .dbline -1
 0004                   .dbline 24
 0004           ; 
 0004           ; /********************************************************
 0004           ; ÊµÑéËÄ:   ÊýÂë¹ÜÏÔÊ¾0-7
 0004           ; ËµÃ÷:          
 0004           ;           
 0004           ; CPUÐÍºÅ:   ATMEGA128A
 0004           ; ¾§ÕñÆµÂÊ:     8MHZ
 0004           ; ÈÕÆÚ£º    2011-3-12
 0004           ; ÁªÏµ·½·¨: MCU.2000@163.com 
 0004           ;  ********************************************************/
 0004           ; 
 0004           ; #include<iom128v.h>
 0004           ; #define uchar unsigned char
 0004           ; #define uint  unsigned int
 0004           ; 
 0004           ; void Delayus(uint US);      //Î¢ÃëÑÓÊ±×Ó³ÌÐò
 0004           ; void Delayms(uint MS);      //ºÁÃëÑÓÊ±×Ó³ÌÐò
 0004           ; 
 0004           ; //¹²ÑôÊýÂë¹ÜÊý×ÖÂë
 0004           ; uchar led_discode[11]={0xc0,0xf9,0xa4,0xb0,0x99,
 0004           ;                        0x92,0x82,0xf8,0x80,0x90,0xff};     
 0004           ; //Ö÷º¯Êý
 0004           ; void main (viod)
 0004           ; {
 0004                   .dbline 26
 0004           ;      uint temp,i;
 0004           ;        DDRA=0XFF;
 0004 8FEF              ldi R24,255
 0006 8ABB              out 0x1a,R24
 0008                   .dbline 27
 0008           ;        PORTA=0XFF;
 0008 8BBB              out 0x1b,R24
 000A                   .dbline 29
 000A           ;       
 000A           ;        DDRC=0XFF;                     //ÊýÂë¹Ü¶ÎÂë¿ØÖÆ¶Ë¿ÚÉèÎªÊä³ö
 000A 84BB              out 0x14,R24
 000C                   .dbline 30
 000C           ;        PORTC=0X00;
 000C 2224              clr R2
 000E 25BA              out 0x15,R2
 0010                   .dbline 32
 0010           ;        
 0010           ;        DDRF|=0X0E;
 0010 80916100          lds R24,97
 0014 8E60              ori R24,14
 0016 80936100          sts 97,R24
 001A                   .dbline 33
 001A           ;        PORTF|=0X0E;
 001A 80916200          lds R24,98
 001E 8E60              ori R24,14
 0020 80936200          sts 98,R24
 0024                   .dbline 34
 0024           ;        PORTF&=0xF7;                   //Ëø´æ¹Ø±ÕLED
 0024 80916200          lds R24,98
 0028 877F              andi R24,247
 002A 80936200          sts 98,R24
 002E                   .dbline 36
 002E           ;        
 002E           ;        DDRB |=0X10;           //PB4ÉèÎªÊä³ö
 002E BC9A              sbi 0x17,4
 0030                   .dbline 37
 0030           ;        PORTB|=0X10;           //¹Ø±ÕPB4Íâ½ÓµÄLED
 0030 C49A              sbi 0x18,4
 0032                   .dbline 39
 0032           ;                           
 0032           ;        PORTA=0X00;                    //ÊýÂë¹ÜÎ»¿ØÖÆ
 0032 2BBA              out 0x1b,R2
 0034 18C0              xjmp L3
 0036           L2:
 0036                   .dbline 41
 0036           ;        while(1)
 0036           ;        {
 0036                   .dbline 42
 0036           ;             for(temp=0x01,i=0;i<8;i++)
 0036 61E0              ldi R22,1
 0038 70E0              ldi R23,0
 003A 4427              clr R20
 003C 5527              clr R21
 003E 0FC0              xjmp L8
 0040           L5:
 0040                   .dbline 43
 0040           ;                 {
 0040                   .dbline 44
 0040           ;                   PORTC=led_discode[i];
 0040 80E0              ldi R24,<_led_discode
 0042 90E0              ldi R25,>_led_discode
 0044 FA01              movw R30,R20
 0046 E80F              add R30,R24
 0048 F91F              adc R31,R25
 004A 2080              ldd R2,z+0
 004C 25BA              out 0x15,R2
 004E                   .dbline 45
 004E           ;                   PORTA=temp;                 
 004E 6BBB              out 0x1b,R22
 0050                   .dbline 46
 0050           ;                       temp<<=1; 
 0050 660F              lsl R22
 0052 771F              rol R23
 0054                   .dbline 47
 0054           ;                       Delayms(1);
 0054 01E0              ldi R16,1
 0056 10E0              ldi R17,0
 0058 20D0              xcall _Delayms
 005A                   .dbline 48
 005A           ;             }
 005A           L6:
 005A                   .dbline 42
 005A 4F5F              subi R20,255  ; offset = 1
 005C 5F4F              sbci R21,255
 005E           L8:
 005E                   .dbline 42
 005E 4830              cpi R20,8
 0060 E0E0              ldi R30,0
 0062 5E07              cpc R21,R30
 0064 68F3              brlo L5
 0066           X0:
 0066                   .dbline 49
 0066           ;        }
 0066           L3:
 0066                   .dbline 40
 0066 E7CF              xjmp L2
 0068           X1:
 0068                   .dbline -2
 0068           L1:
 0068                   .dbline 0 ; func end
 0068 2296              adiw R28,2
 006A 0895              ret
 006C                   .dbsym r temp 22 i
 006C                   .dbsym r i 20 i
 006C                   .dbsym l viod 0 I
 006C                   .dbend
 006C                   .dbfunc e Delayus _Delayus fV
 006C           ;              i -> R20,R21
 006C           ;             US -> R10,R11
                        .even
 006C           _Delayus::
 006C 0E940000          xcall push_xgset300C
 0070 5801              movw R10,R16
 0072                   .dbline -1
 0072                   .dbline 59
 0072           ; }
 0072           ; 
 0072           ; /****************************************************
 0072           ; º¯ÊýÃû³Æ: Delayus
 0072           ; ¹¦    ÄÜ: ÑÓÊ±Ö¸¶¨Î¢Ãë£¨8M¾§Õñ£©
 0072           ; ²Î    Êý: US--ÑÓÊ±µÄÎ¢ÃëÊý(´óÔ¼£¬²»ÊÇºÜ¾«È·£¬MSÔ½´óÔ½×¼È·)
 0072           ; ·µ»ØÖµ  : ÎÞ
 0072           ; /****************************************************/
 0072           ; void Delayus(uint US)           
 0072           ; {
 0072                   .dbline 61
 0072           ;      uint i;
 0072           ;      US=US*5/4;                        
 0072 05E0              ldi R16,5
 0074 10E0              ldi R17,0
 0076 9501              movw R18,R10
 0078 0E940000          xcall empy16s
 007C 5801              movw R10,R16
 007E B694              lsr R11
 0080 A794              ror R10
 0082 B694              lsr R11
 0084 A794              ror R10
 0086                   .dbline 62
 0086           ;      for( i=0;i<US;i++); 
 0086 4427              clr R20
 0088 5527              clr R21
 008A 02C0              xjmp L13
 008C           L10:
 008C                   .dbline 62
 008C           L11:
 008C                   .dbline 62
 008C 4F5F              subi R20,255  ; offset = 1
 008E 5F4F              sbci R21,255
 0090           L13:
 0090                   .dbline 62
 0090 4A15              cp R20,R10
 0092 5B05              cpc R21,R11
 0094 D8F3              brlo L10
 0096           X2:
 0096                   .dbline -2
 0096           L9:
 0096                   .dbline 0 ; func end
 0096 0C940000          xjmp pop_xgset300C
 009A                   .dbsym r i 20 i
 009A                   .dbsym r US 10 i
 009A                   .dbend
 009A                   .dbfunc e Delayms _Delayms fV
 009A           ;              i -> R20,R21
 009A           ;              j -> R22,R23
 009A           ;             MS -> R16,R17
                        .even
 009A           _Delayms::
 009A 0E940000          xcall push_xgsetF000
 009E                   .dbline -1
 009E                   .dbline 72
 009E           ; }
 009E           ; /****************************************************
 009E           ; º¯ÊýÃû³Æ: Delayms
 009E           ; ¹¦    ÄÜ: ÑÓÊ±Ö¸¶¨ºÁÃë£¨8M¾§Õñ£©
 009E           ; ²Î    Êý: MS--ÑÓÊ±µÄºÁÃëÊý
 009E           ; ·µ»ØÖµ  : ÎÞ
 009E           ; Í¨¹ýÈí¼þ·ÂÕæ·´¸´ÊµÑéµÃµ½µÄÊýÖµ
 009E           ; /****************************************************/
 009E           ; void Delayms(uint MS)           
 009E           ; {
 009E                   .dbline 74
 009E           ;      uint i,j;
 009E           ;      for( i=0;i<MS;i++)
 009E 4427              clr R20
 00A0 5527              clr R21
 00A2 0BC0              xjmp L18
 00A4           L15:
 00A4                   .dbline 75
 00A4           ;      for(j=0;j<1141;j++);     
 00A4 6627              clr R22
 00A6 7727              clr R23
 00A8 02C0              xjmp L22
 00AA           L19:
 00AA                   .dbline 75
 00AA           L20:
 00AA                   .dbline 75
 00AA 6F5F              subi R22,255  ; offset = 1
 00AC 7F4F              sbci R23,255
 00AE           L22:
 00AE                   .dbline 75
 00AE 6537              cpi R22,117
 00B0 E4E0              ldi R30,4
 00B2 7E07              cpc R23,R30
 00B4 D0F3              brlo L19
 00B6           X3:
 00B6           L16:
 00B6                   .dbline 74
 00B6 4F5F              subi R20,255  ; offset = 1
 00B8 5F4F              sbci R21,255
 00BA           L18:
 00BA                   .dbline 74
 00BA 4017              cp R20,R16
 00BC 5107              cpc R21,R17
 00BE 90F3              brlo L15
 00C0           X4:
 00C0                   .dbline -2
 00C0           L14:
 00C0                   .dbline 0 ; func end
 00C0 0C940000          xjmp pop_xgsetF000
 00C4                   .dbsym r i 20 i
 00C4                   .dbsym r j 22 i
 00C4                   .dbsym r MS 16 i
 00C4                   .dbend
 00C4           ; }
