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

📄 compare.lis

📁 AVRkaifashili.rar
💻 LIS
📖 第 1 页 / 共 2 页
字号:
                        .module Compare.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 I:\AVRpractice\BOOK\定时器1\输出比较\Compare.c
 000A                   .dbsym e Table _Table A[10:10]c
 000A           _Data::
 000A                   .blkb 2
                        .area idata
 000A 0000              .byte 0,0
                        .area data(ram, con, rel)
 000C                   .dbfile I:\AVRpractice\BOOK\定时器1\输出比较\Compare.c
 000C                   .blkb 2
                        .area idata
 000C 0001              .byte 0,1
                        .area data(ram, con, rel)
 000E                   .dbfile I:\AVRpractice\BOOK\定时器1\输出比较\Compare.c
 000E                   .dbsym e Data _Data A[4:4]c
                        .area text(rom, con, rel)
 0000                   .dbfile I:\AVRpractice\BOOK\定时器1\输出比较\Compare.c
 0000                   .dbfunc e DelayMs _DelayMs fV
 0000           ;              j -> R20,R21
 0000           ;              i -> R16,R17
                        .even
 0000           _DelayMs::
 0000 00D0              rcall push_gset1
 0002                   .dbline -1
 0002                   .dbline 14
 0002           ; //***************FileName:Capature.C***************//
 0002           ; //***************ICCAVR V6.30编译*****************//
 0002           ; 
 0002           ; #include <io8535v.h>                 
 0002           ; #define uchar unsigned char
 0002           ; #define uint  unsigned int
 0002           ; 
 0002           ; //数码管字型表,对应0,1,2,3,4,5,6,7,8,9//
 0002           ; uchar Table[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
 0002           ; uchar Data[4]={0,0,0,1};       //定义初始方波频率:1KHz
 0002           ; uchar Key1_Flag,Key2_Flag,Key3_Flag;
 0002           ; 
 0002           ; void DelayMs(uint i)           //Ms级延时,参数i为延时时间
 0002           ; {uint j;
 0002                   .dbline 15
 0002           ;  for(;i!=0;i--)
 0002 0AC0              rjmp L5
 0004           L2:
 0004                   .dbline 16
 0004                   .dbline 16
 0004 40E4              ldi R20,8000
 0006 5FE1              ldi R21,31
 0008 02C0              rjmp L9
 000A           L6:
 000A                   .dbline 16
 000A                   .dbline 16
 000A                   .dbline 16
 000A           L7:
 000A                   .dbline 16
 000A 4150              subi R20,1
 000C 5040              sbci R21,0
 000E           L9:
 000E                   .dbline 16
 000E 4030              cpi R20,0
 0010 4507              cpc R20,R21
 0012 D9F7              brne L6
 0014           X0:
 0014                   .dbline 16
 0014           L3:
 0014                   .dbline 15
 0014 0150              subi R16,1
 0016 1040              sbci R17,0
 0018           L5:
 0018                   .dbline 15
 0018 0030              cpi R16,0
 001A 0107              cpc R16,R17
 001C 99F7              brne L2
 001E           X1:
 001E                   .dbline -2
 001E                   .dbline 17
 001E           ;   {for(j=8000;j!=0;j--) {;}}
 001E           ; }
 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 Display _Display fV
 0022           ;            sel -> R20
 0022           ;              i -> R22
 0022           ;              p -> R10,R11
                        .even
 0022           _Display::
 0022 00D0              rcall push_gset3
 0024 A02E              mov R10,R16
 0026 B12E              mov R11,R17
 0028                   .dbline -1
 0028                   .dbline 20
 0028           ; 
 0028           ; void Display(uchar *p)         //动态显示函数,参数p为待显示的数组名
 0028           ; {uchar i,sel=0x01;           
 0028                   .dbline 20
 0028 41E0              ldi R20,1
 002A                   .dbline 21
 002A           ;  for(i=0;i<4;i++)
 002A 6627              clr R22
 002C 17C0              rjmp L14
 002E           L11:
 002E                   .dbline 22
 002E                   .dbline 22
 002E 4BBB              out 0x1b,R20
 0030                   .dbline 23
 0030 E62F              mov R30,R22
 0032 FF27              clr R31
 0034 EA0D              add R30,R10
 0036 FB1D              adc R31,R11
 0038 E081              ldd R30,z+0
 003A FF27              clr R31
 003C 80E0              ldi R24,<_Table
 003E 90E0              ldi R25,>_Table
 0040 E80F              add R30,R24
 0042 F91F              adc R31,R25
 0044 2080              ldd R2,z+0
 0046 3324              clr R3
 0048 8FEF              ldi R24,255
 004A 90E0              ldi R25,0
 004C 8219              sub R24,R2
 004E 9309              sbc R25,R3
 0050 85BB              out 0x15,R24
 0052                   .dbline 24
 0052 01E0              ldi R16,1
 0054 10E0              ldi R17,0
 0056 D4DF              rcall _DelayMs
 0058                   .dbline 25
 0058 440F              lsl R20
 005A                   .dbline 26
 005A           L12:
 005A                   .dbline 21
 005A 6395              inc R22
 005C           L14:
 005C                   .dbline 21
 005C 6430              cpi R22,4
 005E 38F3              brlo L11
 0060                   .dbline -2
 0060                   .dbline 27
 0060           ;   {PORTA=sel;                  //选通最右边的数码管
 0060           ;    PORTC=0xff-Table[p[i]];          //送字型码
 0060           ;    DelayMs(1);                 //显示延时    
 0060           ;    sel=sel<<1;                 //移位以显示前一位
 0060           ;   }
 0060           ; }
 0060           L10:
 0060 00D0              rcall pop_gset3
 0062                   .dbline 0 ; func end
 0062 0895              ret
 0064                   .dbsym r sel 20 c
 0064                   .dbsym r i 22 c
 0064                   .dbsym r p 10 pc
 0064                   .dbend
 0064                   .dbfunc e Key_Process _Key_Process fV
 0064           ;              k -> <dead>
 0064           ;              j -> <dead>
 0064           ;              i -> <dead>
 0064           ;              p -> R20,R21
                        .even
 0064           _Key_Process::
 0064 00D0              rcall push_gset1
 0066 402F              mov R20,R16
 0068 512F              mov R21,R17
 006A                   .dbline -1
 006A                   .dbline 30
 006A           ; 
 006A           ; void Key_Process(uchar *p)
 006A           ; {uchar i,j,k;
 006A 06C0              rjmp L17
 006C           L16:
 006C                   .dbline 31
 006C                   .dbline 31
 006C 00E0              ldi R16,<_Data
 006E 10E0              ldi R17,>_Data
 0070 D8DF              rcall _Display
 0072                   .dbline 31
 0072 81E0              ldi R24,1
 0074 80930200          sts _Key1_Flag,R24
 0078                   .dbline 31
 0078           L17:
 0078                   .dbline 31
 0078           ;  while((PINB&0x01)==0) {Display(Data);Key1_Flag=1;}                //处理频率百位,最高5
 0078 B09B              sbis 0x16,0
 007A F8CF              rjmp L16
 007C 06C0              rjmp L20
 007E           L19:
 007E                   .dbline 32
 007E                   .dbline 32
 007E 00E0              ldi R16,<_Data
 0080 10E0              ldi R17,>_Data
 0082 CFDF              rcall _Display
 0084                   .dbline 32
 0084 81E0              ldi R24,1
 0086 80930100          sts _Key2_Flag,R24
 008A                   .dbline 32
 008A           L20:
 008A                   .dbline 32
 008A           ;  while((PINB&0x02)==0) {Display(Data);Key2_Flag=1;}
 008A B19B              sbis 0x16,1
 008C F8CF              rjmp L19
 008E 06C0              rjmp L23
 0090           L22:
 0090                   .dbline 33
 0090                   .dbline 33
 0090 00E0              ldi R16,<_Data
 0092 10E0              ldi R17,>_Data
 0094 C6DF              rcall _Display
 0096                   .dbline 33
 0096 81E0              ldi R24,1
 0098 80930000          sts _Key3_Flag,R24
 009C                   .dbline 33
 009C           L23:
 009C                   .dbline 33
 009C           ;  while((PINB&0x04)==0) {Display(Data);Key3_Flag=1;}
 009C B29B              sbis 0x16,2
 009E F8CF              rjmp L22
 00A0                   .dbline 34
 00A0           ;  if(Key1_Flag==1)
 00A0 80910200          lds R24,_Key1_Flag
 00A4 8130              cpi R24,1
 00A6 A1F4              brne L25
 00A8                   .dbline 35
 00A8           ;    {p[3]++;
 00A8                   .dbline 35
 00A8 842F              mov R24,R20
 00AA 952F              mov R25,R21
 00AC 0396              adiw R24,3
 00AE E82F              mov R30,R24
 00B0 F92F              mov R31,R25
 00B2 8081              ldd R24,z+0
 00B4 8F5F              subi R24,255    ; addi 1
 00B6 8083              std z+0,R24
 00B8                   .dbline 36
 00B8           ;       if(p[3]==10) p[3]=0;
 00B8 E42F              mov R30,R20
 00BA F52F              mov R31,R21
 00BC 8381              ldd R24,z+3
 00BE 8A30              cpi R24,10
 00C0 21F4              brne L27
 00C2                   .dbline 36
 00C2 2224              clr R2
 00C4 E42F              mov R30,R20
 00C6 F52F              mov R31,R21
 00C8 2382              std z+3,R2
 00CA           L27:
 00CA                   .dbline 37
 00CA           ;       Key1_Flag=0;}   
 00CA 2224              clr R2
 00CC 20920200          sts _Key1_Flag,R2
 00D0                   .dbline 37
 00D0           L25:
 00D0                   .dbline 38
 00D0           ;  if(Key2_Flag==1)                 //处理频率十位,最高9
 00D0 80910100          lds R24,_Key2_Flag
 00D4 8130              cpi R24,1
 00D6 A1F4              brne L29
 00D8                   .dbline 39
 00D8           ;     {p[2]++;
 00D8                   .dbline 39
 00D8 842F              mov R24,R20
 00DA 952F              mov R25,R21
 00DC 0296              adiw R24,2
 00DE E82F              mov R30,R24
 00E0 F92F              mov R31,R25
 00E2 8081              ldd R24,z+0
 00E4 8F5F              subi R24,255    ; addi 1
 00E6 8083              std z+0,R24
 00E8                   .dbline 40
 00E8           ;        if(p[2]==10) p[2]=0;
 00E8 E42F              mov R30,R20
 00EA F52F              mov R31,R21
 00EC 8281              ldd R24,z+2
 00EE 8A30              cpi R24,10
 00F0 21F4              brne L31
 00F2                   .dbline 40
 00F2 2224              clr R2
 00F4 E42F              mov R30,R20
 00F6 F52F              mov R31,R21
 00F8 2282              std z+2,R2

⌨️ 快捷键说明

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