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

📄 int0test.lis

📁 AVRkaifashili.rar
💻 LIS
字号:
                        .module INT0test.c
                        .area data(ram, con, rel)
 0000           _Table::
 0000                   .blkb 2
                        .area idata
 0000 3F06              .byte 63,6
                        .area data(ram, con, rel)
 0002                   .blkb 2
                        .area idata
 0002 5B4F              .byte 91,'O
                        .area data(ram, con, rel)
 0004                   .blkb 2
                        .area idata
 0004 666D              .byte 'f,'m
                        .area data(ram, con, rel)
 0006                   .blkb 2
                        .area idata
 0006 7D07              .byte 125,7
                        .area data(ram, con, rel)
 0008                   .blkb 2
                        .area idata
 0008 7F6F              .byte 127,'o
                        .area data(ram, con, rel)
 000A                   .dbfile J:\AVRpractice\BOOK\INT0test\INT0test.c
 000A                   .dbsym e Table _Table A[10:10]c
 000A           _Data::
 000A                   .blkb 2
                        .area idata
 000A 0007              .byte 0,7
                        .area data(ram, con, rel)
 000C                   .dbfile J:\AVRpractice\BOOK\INT0test\INT0test.c
 000C                   .blkb 2
                        .area idata
 000C 0208              .byte 2,8
                        .area data(ram, con, rel)
 000E                   .dbfile J:\AVRpractice\BOOK\INT0test\INT0test.c
 000E                   .dbsym e Data _Data A[4:4]c
 000E           _Data1::
 000E                   .blkb 2
                        .area idata
 000E 0101              .byte 1,1
                        .area data(ram, con, rel)
 0010                   .dbfile J:\AVRpractice\BOOK\INT0test\INT0test.c
 0010                   .blkb 2
                        .area idata
 0010 0101              .byte 1,1
                        .area data(ram, con, rel)
 0012                   .dbfile J:\AVRpractice\BOOK\INT0test\INT0test.c
 0012                   .dbsym e Data1 _Data1 A[4:4]c
                        .area text(rom, con, rel)
 0000                   .dbfile J:\AVRpractice\BOOK\INT0test\INT0test.c
 0000                   .dbfunc e DelayMs _DelayMs fV
 0000           ;              j -> R20
 0000           ;              i -> R16,R17
                        .even
 0000           _DelayMs::
 0000 00D0              rcall push_gset1
 0002                   .dbline -1
 0002                   .dbline 10
 0002           ; #include<io8535v.h>
 0002           ; #define uchar unsigned char
 0002           ; #define uint  unsigned int
 0002           ; 
 0002           ; 
 0002           ; uchar Table[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
 0002           ; uchar Data[4]={0,7,2,8};
 0002           ; uchar Data1[4]={1,1,1,1};
 0002           ; void DelayMs(uint i)  //0.25ms
 0002           ; {uchar j;
 0002                   .dbline 11
 0002           ;  for(;i!=0;i--)
 0002 07C0              rjmp L5
 0004           L2:
 0004                   .dbline 12
 0004                   .dbline 12
 0004 4AEF              ldi R20,250
 0006 01C0              rjmp L9
 0008           L6:
 0008                   .dbline 12
 0008                   .dbline 12
 0008                   .dbline 12
 0008           L7:
 0008                   .dbline 12
 0008 4A95              dec R20
 000A           L9:
 000A                   .dbline 12
 000A 4423              tst R20
 000C E9F7              brne L6
 000E                   .dbline 12
 000E           L3:
 000E                   .dbline 11
 000E 0150              subi R16,1
 0010 1040              sbci R17,0
 0012           L5:
 0012                   .dbline 11
 0012 0030              cpi R16,0
 0014 0107              cpc R16,R17
 0016 B1F7              brne L2
 0018           X0:
 0018                   .dbline -2
 0018                   .dbline 13
 0018           ;   {for(j=250;j!=0;j--) {;}}
 0018           ; }
 0018           L1:
 0018 00D0              rcall pop_gset1
 001A                   .dbline 0 ; func end
 001A 0895              ret
 001C                   .dbsym r j 20 c
 001C                   .dbsym r i 16 i
 001C                   .dbend
 001C                   .dbfunc e Display _Display fV
 001C           ;            sel -> R20
 001C           ;              i -> R22
 001C           ;              p -> R10,R11
                        .even
 001C           _Display::
 001C 00D0              rcall push_gset3
 001E A02E              mov R10,R16
 0020 B12E              mov R11,R17
 0022                   .dbline -1
 0022                   .dbline 16
 0022           ; 
 0022           ; void Display(uchar *p) //间隔5ms显示
 0022           ; {uchar i,sel=0x01;
 0022                   .dbline 16
 0022 41E0              ldi R20,1
 0024                   .dbline 17
 0024           ;  for(i=0;i<4;i++)
 0024 6627              clr R22
 0026 17C0              rjmp L14
 0028           L11:
 0028                   .dbline 18
 0028                   .dbline 18
 0028 4BBB              out 0x1b,R20
 002A                   .dbline 19
 002A E62F              mov R30,R22
 002C FF27              clr R31
 002E EA0D              add R30,R10
 0030 FB1D              adc R31,R11
 0032 E081              ldd R30,z+0
 0034 FF27              clr R31
 0036 80E0              ldi R24,<_Table
 0038 90E0              ldi R25,>_Table
 003A E80F              add R30,R24
 003C F91F              adc R31,R25
 003E 2080              ldd R2,z+0
 0040 3324              clr R3
 0042 8FEF              ldi R24,255
 0044 90E0              ldi R25,0
 0046 8219              sub R24,R2
 0048 9309              sbc R25,R3
 004A 85BB              out 0x15,R24
 004C                   .dbline 20
 004C 04E1              ldi R16,20
 004E 10E0              ldi R17,0
 0050 D7DF              rcall _DelayMs
 0052                   .dbline 21
 0052 440F              lsl R20
 0054                   .dbline 22
 0054           L12:
 0054                   .dbline 17
 0054 6395              inc R22
 0056           L14:
 0056                   .dbline 17
 0056 6430              cpi R22,4
 0058 38F3              brlo L11
 005A                   .dbline -2
 005A                   .dbline 23
 005A           ;   {PORTA=sel;
 005A           ;    PORTC=0xff-Table[p[i]];
 005A           ;    DelayMs(20);
 005A           ;    sel=sel<<1;
 005A           ;   }
 005A           ; }
 005A           L10:
 005A 00D0              rcall pop_gset3
 005C                   .dbline 0 ; func end
 005C 0895              ret
 005E                   .dbsym r sel 20 c
 005E                   .dbsym r i 22 c
 005E                   .dbsym r p 10 pc
 005E                   .dbend
 005E                   .dbfunc e main _main fV
 005E           ;              i -> <dead>
                        .even
 005E           _main::
 005E                   .dbline -1
 005E                   .dbline 26
 005E           ; 
 005E           ; void main(void)
 005E           ; {uint i;
 005E                   .dbline 27
 005E           ;  DDRA=0xff;                    //设置A口为不带上拉输入;
 005E 8FEF              ldi R24,255
 0060 8ABB              out 0x1a,R24
 0062                   .dbline 28
 0062           ;  PORTA=0xff;
 0062 8BBB              out 0x1b,R24
 0064                   .dbline 29
 0064           ;  DDRC=0xff;                    //设置C口为推挽1输出;
 0064 84BB              out 0x14,R24
 0066                   .dbline 30
 0066           ;  PORTC=0xff;
 0066 85BB              out 0x15,R24
 0068                   .dbline 31
 0068           ;  DDRD=0xff;                    //设置D口为上拉输入
 0068 81BB              out 0x11,R24
 006A                   .dbline 32
 006A           ;  PORTD=0xff;
 006A 82BB              out 0x12,R24
 006C                   .dbline 33
 006C           ;  PORTA=0xff;
 006C 8BBB              out 0x1b,R24
 006E                   .dbline 34
 006E           ;  PORTC=0x00;
 006E 2224              clr R2
 0070 25BA              out 0x15,R2
 0072                   .dbline 36
 0072           ;  //DelayMs(10000);
 0072           ;  MCUCR=0x00;//下降沿
 0072 25BE              out 0x35,R2
 0074                   .dbline 37
 0074           ;  GIMSK=0x40;//int0
 0074 80E4              ldi R24,64
 0076 8BBF              out 0x3b,R24
 0078                   .dbline 38
 0078           ;  GIFR=0xff;
 0078 8FEF              ldi R24,255
 007A 8ABF              out 0x3a,R24
 007C                   .dbline 39
 007C           ;  SREG=SREG|0x80;
 007C 7894              bset 7
 007E 03C0              rjmp L17
 0080           L16:
 0080                   .dbline 40
 0080                   .dbline 40
 0080 00E0              ldi R16,<_Data1
 0082 10E0              ldi R17,>_Data1
 0084 CBDF              rcall _Display
 0086                   .dbline 40
 0086           L17:
 0086                   .dbline 40
 0086 FCCF              rjmp L16
 0088           X1:
 0088                   .dbline -2
 0088                   .dbline 44
 0088           ;  while(1){Display(Data1);}
 0088           ;  /*{if((GIFR&0x40)==0x40)   {GIFR=0xff;Display(Data);}
 0088           ;   else 
 0088           ;   }*/
 0088           ; }
 0088           L15:
 0088                   .dbline 0 ; func end
 0088 0895              ret
 008A                   .dbsym l i 1 i
 008A                   .dbend
                        .area vector(rom, abs)
                        .org 2
 0002 45C0              rjmp _int0
                        .area text(rom, con, rel)
 008A                   .dbfile J:\AVRpractice\BOOK\INT0test\INT0test.c
 008A                   .dbfunc e int0 _int0 fV
                        .even
 008A           _int0::
 008A 00D0              rcall push_lset
 008C                   .dbline -1
 008C                   .dbline 47
 008C           ;  #pragma interrupt_handler int0:2
 008C           ;  void int0(void)
 008C           ;  {Display(Data);}
 008C                   .dbline 47
 008C 00E0              ldi R16,<_Data
 008E 10E0              ldi R17,>_Data
 0090 C5DF              rcall _Display
 0092                   .dbline -2
 0092                   .dbline 47
 0092           L19:
 0092 00D0              rcall pop_lset
 0094                   .dbline 0 ; func end
 0094 1895              reti
 0096                   .dbend

⌨️ 快捷键说明

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