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

📄 8segled8loop.lis

📁 单片机开发资料光盘-双龙-686M.zip
💻 LIS
字号:
                         .module .8SegLed8Loop.c
                         .area text
 0000                   .dbfile E:\grc\licc\例子10.3.7\8SegLed8Loop.c
 0000                   .dbfunc s delay _delay fI
                       ;              i -> R20,R21
                       ;              t -> R16,R17
                         .even
 0000                 _delay::
 0000 00D0              rcall push_gset1
 0002                   .dbline 5{
                       ; #include <io8515.h>          
                       ; #define uchar unsigned char  
                       ; #define uint unsigned int
                       ; void delay(uint t)
                       ; {
 0002                   .dbline 7
                       ;  uint i;
                       ;  for (i=0;i<t;i++)
 0002 4427              clr R20
 0004 5527              clr R21
 0006 02C0              rjmp L5
 0008                 L2:
 0008                   .dbline 8
 0008                 L3:
 0008                   .dbline 7
 0008 4F5F              subi R20,255  ; offset = 1
 000A 5F4F              sbci R21,255
 000C                 L5:
 000C                   .dbline 7
 000C 4017              cp R20,R16
 000E 5107              cpc R21,R17
 0010 D8F3              brlo L2
 0012                   .dbline 9}
                       ;     ;
                       ; }
 0012                 L1:
 0012 00D0              rcall pop_gset1
 0014 0895              ret
 0016                   .dbsym r i 20 i
 0016                   .dbsym r t 16 i
 0016                   .dbfunc s init_disp _init_disp fI
                         .even
 0016                 _init_disp::
 0016                   .dbline 11{
                       ; void init_disp(void)         
                       ; {
 0016                   .dbline 12
                       ; DDRB=0xff;
 0016 8FEF              ldi R24,255
 0018 87BB              out 0x17,R24
 001A                   .dbline 13
                       ; DDRD=0xff;
 001A 81BB              out 0x11,R24
 001C                   .dbline 14
                       ; PORTB=0x7f;                  
 001C 8FE7              ldi R24,127
 001E 88BB              out 0x18,R24
 0020                   .dbline 15}
                       ; }
 0020                 L6:
 0020 0895              ret
 0022                   .dbfunc s scan _scan fI
                       ;              j -> R22
                       ;              i -> R20
                         .even
 0022                 _scan::
 0022 00D0              rcall push_gset2
 0024                   .dbline 17{
                       ; void scan(void)              
                       ; {
 0024                   .dbline 19
                       ;  uchar i,j;
                       ;  for (i=0;i<6;i++)            
 0024 4427              clr R20
 0026 16C0              rjmp L11
 0028                 L8:
 0028                   .dbline 20
                       ;    {
 0028                   .dbline 21
                       ;     j=150;
 0028 66E9              ldi R22,150
 002A                 L12:
 002A                   .dbline 23
                       ;     do
                       ;       {
 002A                   .dbline 24
                       ;        PORTD=~(0x01<<i);
 002A 01E0              ldi R16,1
 002C 142F              mov R17,R20
 002E 00D0              rcall lsl8
 0030 202E              mov R2,R16
 0032 2094              com R2
 0034 22BA              out 0x12,R2
 0036                   .dbline 25
                       ;        delay(150);                
 0036 06E9              ldi R16,150
 0038 10E0              ldi R17,0
 003A E2DF              rcall _delay
 003C                   .dbline 26
                       ;        PORTD=0xff;
 003C 8FEF              ldi R24,255
 003E 82BB              out 0x12,R24
 0040                   .dbline 27
                       ;        delay(2100);                
 0040 04E3              ldi R16,52
 0042 18E0              ldi R17,8
 0044 DDDF              rcall _delay
 0046                   .dbline 28
                       ;        }
 0046                 L13:
 0046                   .dbline 29
 0046 862F              mov R24,R22
 0048 8150              subi R24,1
 004A 282E              mov R2,R24
 004C 622D              mov R22,R2
 004E 2220              tst R2
 0050 61F7              brne L12
 0052                   .dbline 30
 0052                 L9:
 0052                   .dbline 19
 0052 4395              inc R20
 0054                 L11:
 0054                   .dbline 19
 0054 4630              cpi R20,6
 0056 40F3              brlo L8
 0058                   .dbline 31}
                       ;     while(--j);
                       ;    }
                       ; }
 0058                 L7:
 0058 00D0              rcall pop_gset2
 005A 0895              ret
 005C                   .dbsym r j 22 c
 005C                   .dbsym r i 20 c
 005C                   .dbfunc s main _main fI
                         .even
 005C                 _main::
 005C                   .dbline 33{
                       ; void main(void)                  
                       ; {
 005C                   .dbline 34
                       ;  init_disp();                   
 005C DCDF              rcall _init_disp
 005E                   .dbline 35
                       ;  for(;;)
 005E                 L16:
 005E                   .dbline 36
                       ;  scan();                         
 005E E1DF              rcall _scan
 0060                   .dbline 35
 0060                   .dbline 35
 0060 FECF              rjmp L16
 0062                 X0:
 0062                 L15:
 0062 0895              ret
 0064                   .dbline 36}

⌨️ 快捷键说明

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