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

📄 xunhuan.lis

📁 ARM单片机
💻 LIS
字号:
                        .module xunhuan.c
                        .area data(ram, con, rel)
 0000           _Table::
 0000                   .blkb 2
                        .area idata
 0000 FC60              .byte 252,96
                        .area data(ram, con, rel)
 0002                   .blkb 2
                        .area idata
 0002 DAF2              .byte 218,242
                        .area data(ram, con, rel)
 0004                   .blkb 2
                        .area idata
 0004 66B6              .byte 'f,182
                        .area data(ram, con, rel)
 0006                   .blkb 2
                        .area idata
 0006 BEE0              .byte 190,224
                        .area data(ram, con, rel)
 0008                   .blkb 2
                        .area idata
 0008 FEF6              .byte 254,246
                        .area data(ram, con, rel)
 000A                   .dbfile D:\icc\程序\循环移位\xunhuan.c
 000A                   .dbsym e Table _Table A[10:10]c
                        .area text(rom, con, rel)
 0000                   .dbfile D:\icc\程序\循环移位\xunhuan.c
 0000                   .dbfunc e Delay _Delay fV
 0000           ;              j -> R20,R21
 0000           ;              i -> R16,R17
                        .even
 0000           _Delay::
 0000 00D0              rcall push_gset1
 0002                   .dbline -1
 0002                   .dbline 8
 0002           ; #include<iom8v.h>
 0002           ; #define uchar unsigned char
 0002           ; #define uint  unsigned int
 0002           ; uchar Table[10]={0xfc,0x60,0xda,0xf2,0x66,0xb6,0xbe,0xe0,0xfe,0xf6};//共阴7段码
 0002           ; 
 0002           ; 
 0002           ; void Delay(uint i)       // 延时程序
 0002           ; {uint j;
 0002                   .dbline 9
 0002           ;  for(;i!=0;i--)
 0002 0AC0              rjmp L5
 0004           L2:
 0004                   .dbline 10
 0004                   .dbline 10
 0004 44EF              ldi R20,500
 0006 51E0              ldi R21,1
 0008 02C0              rjmp L9
 000A           L6:
 000A                   .dbline 10
 000A           L7:
 000A                   .dbline 10
 000A 4150              subi R20,1
 000C 5040              sbci R21,0
 000E           L9:
 000E                   .dbline 10
 000E 4030              cpi R20,0
 0010 4507              cpc R20,R21
 0012 D9F7              brne L6
 0014           X0:
 0014                   .dbline 10
 0014           L3:
 0014                   .dbline 9
 0014 0150              subi R16,1
 0016 1040              sbci R17,0
 0018           L5:
 0018                   .dbline 9
 0018 0030              cpi R16,0
 001A 0107              cpc R16,R17
 001C 99F7              brne L2
 001E           X1:
 001E                   .dbline -2
 001E           L1:
 001E 00D0              rcall pop_gset1
 0020                   .dbline 0 ; func end
 0020 0895              ret
 0022                   .dbsym r j 20 i
 0022                   .dbsym r i 16 i
 0022                   .dbend
 0022                   .dbfunc e Init_IO _Init_IO fV
                        .even
 0022           _Init_IO::
 0022                   .dbline -1
 0022                   .dbline 15
 0022           ;   {for(j=500;j!=0;j--);}
 0022           ; }
 0022           ; 
 0022           ; 
 0022           ; void Init_IO(void)  //IO口设置 全部设为输出
 0022           ; {
 0022                   .dbline 16
 0022           ;    DDRD=0xff;
 0022 8FEF              ldi R24,255
 0024 81BB              out 0x11,R24
 0026                   .dbline 17
 0026           ;    PORTD=0xff;
 0026 82BB              out 0x12,R24
 0028                   .dbline 18
 0028           ;    DDRB=0xff;
 0028 87BB              out 0x17,R24
 002A                   .dbline 19
 002A           ;    PORTB=0x00;
 002A 2224              clr R2
 002C 28BA              out 0x18,R2
 002E                   .dbline -2
 002E           L10:
 002E                   .dbline 0 ; func end
 002E 0895              ret
 0030                   .dbend
 0030                   .dbfunc e Display _Display fV
 0030           ;              i -> R20
                        .even
 0030           _Display::
 0030 00D0              rcall push_gset1
 0032                   .dbline -1
 0032                   .dbline 23
 0032           ; }
 0032           ; 
 0032           ; void Display(void)
 0032           ; {
 0032                   .dbline 25
 0032           ;     uchar i;//uchar j; uchar n;
 0032           ;       for(i=0;i<4;i++)
 0032 4427              clr R20
 0034 15C0              rjmp L15
 0036           L12:
 0036                   .dbline 26
 0036                   .dbline 27
 0036 242F              mov R18,R20
 0038 3327              clr R19
 003A 0FEE              ldi R16,239
 003C 10E0              ldi R17,0
 003E 00D0              rcall lsl16
 0040 02BB              out 0x12,R16
 0042                   .dbline 28
 0042 04E1              ldi R16,20
 0044 10E0              ldi R17,0
 0046 DCDF              rcall _Delay
 0048                   .dbline 31
 0048 80E0              ldi R24,<_Table
 004A 90E0              ldi R25,>_Table
 004C E42F              mov R30,R20
 004E FF27              clr R31
 0050 E80F              add R30,R24
 0052 F91F              adc R31,R25
 0054 2080              ldd R2,z+0
 0056 28BA              out 0x18,R2
 0058                   .dbline 32
 0058 08EC              ldi R16,200
 005A 10E0              ldi R17,0
 005C D1DF              rcall _Delay
 005E                   .dbline 36
 005E           L13:
 005E                   .dbline 25
 005E 4395              inc R20
 0060           L15:
 0060                   .dbline 25
 0060 4430              cpi R20,4
 0062 48F3              brlo L12
 0064                   .dbline -2
 0064           L11:
 0064 00D0              rcall pop_gset1
 0066                   .dbline 0 ; func end
 0066 0895              ret
 0068                   .dbsym r i 20 c
 0068                   .dbend
 0068                   .dbfunc e main _main fV
                        .even
 0068           _main::
 0068                   .dbline -1
 0068                   .dbline 40
 0068           ;       {
 0068           ;           PORTD=(0xef<<i);      //<<是左移.0是位选
 0068           ;               Delay(20);
 0068           ;           //PORTD=(~(0x80>>i);)   //>>右移,~是取反
 0068           ;               
 0068           ;           PORTB=Table[i];//0xfc;//
 0068           ;               Delay(200);
 0068           ;       
 0068           ;               
 0068           ;               
 0068           ;       }
 0068           ; }
 0068           ; 
 0068           ; void main (void)
 0068           ; {
 0068                   .dbline 41
 0068           ;     Init_IO();
 0068 DCDF              rcall _Init_IO
 006A 01C0              rjmp L18
 006C           L17:
 006C                   .dbline 43
 006C                   .dbline 43
 006C E1DF              rcall _Display
 006E                   .dbline 44
 006E           L18:
 006E                   .dbline 42
 006E FECF              rjmp L17
 0070           X2:
 0070                   .dbline -2
 0070           L16:
 0070                   .dbline 0 ; func end
 0070 0895              ret
 0072                   .dbend

⌨️ 快捷键说明

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