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

📄 m16_t1_capature.lis

📁 我最近使用的一些程序代码
💻 LIS
📖 第 1 页 / 共 2 页
字号:
                        .module M16_T1_Capature.c
                        .area data(ram, con, rel)
 0000           _Flag::
 0000                   .blkb 1
                        .area idata
 0000 00                .byte 0
                        .area data(ram, con, rel)
 0001                   .dbfile F:\myavr\temp\M16_T1_Capature\M16_T1_Capature.c
 0001                   .dbsym e Flag _Flag c
 0001           _Table::
 0001                   .blkb 2
                        .area idata
 0001 3F06              .byte 63,6
                        .area data(ram, con, rel)
 0003                   .dbfile F:\myavr\temp\M16_T1_Capature\M16_T1_Capature.c
 0003                   .blkb 2
                        .area idata
 0003 5B4F              .byte 91,'O
                        .area data(ram, con, rel)
 0005                   .dbfile F:\myavr\temp\M16_T1_Capature\M16_T1_Capature.c
 0005                   .blkb 2
                        .area idata
 0005 666D              .byte 'f,'m
                        .area data(ram, con, rel)
 0007                   .dbfile F:\myavr\temp\M16_T1_Capature\M16_T1_Capature.c
 0007                   .blkb 2
                        .area idata
 0007 7D07              .byte 125,7
                        .area data(ram, con, rel)
 0009                   .dbfile F:\myavr\temp\M16_T1_Capature\M16_T1_Capature.c
 0009                   .blkb 2
                        .area idata
 0009 7F6F              .byte 127,'o
                        .area data(ram, con, rel)
 000B                   .dbfile F:\myavr\temp\M16_T1_Capature\M16_T1_Capature.c
 000B                   .blkb 2
                        .area idata
 000B 777C              .byte 'w,124
                        .area data(ram, con, rel)
 000D                   .dbfile F:\myavr\temp\M16_T1_Capature\M16_T1_Capature.c
 000D                   .blkb 2
                        .area idata
 000D 395E              .byte 57,94
                        .area data(ram, con, rel)
 000F                   .dbfile F:\myavr\temp\M16_T1_Capature\M16_T1_Capature.c
 000F                   .blkb 2
                        .area idata
 000F 7971              .byte 'y,'q
                        .area data(ram, con, rel)
 0011                   .dbfile F:\myavr\temp\M16_T1_Capature\M16_T1_Capature.c
 0011                   .blkb 4
                        .area idata
 0011 00000000          .byte 0,0,0,0
                        .area data(ram, con, rel)
 0015                   .dbfile F:\myavr\temp\M16_T1_Capature\M16_T1_Capature.c
 0015                   .dbsym e Table _Table A[20:20]c
 0015           _Data::
 0015                   .blkb 2
                        .area idata
 0015 0000              .byte 0,0
                        .area data(ram, con, rel)
 0017                   .dbfile F:\myavr\temp\M16_T1_Capature\M16_T1_Capature.c
 0017                   .blkb 2
                        .area idata
 0017 0000              .byte 0,0
                        .area data(ram, con, rel)
 0019                   .dbfile F:\myavr\temp\M16_T1_Capature\M16_T1_Capature.c
 0019                   .dbsym e Data _Data A[4:4]c
 0019           _CNT::
 0019                   .blkb 2
                        .area idata
 0019 6400              .word 100
                        .area data(ram, con, rel)
 001B                   .dbfile F:\myavr\temp\M16_T1_Capature\M16_T1_Capature.c
 001B                   .dbsym e CNT _CNT i
                        .area text(rom, con, rel)
 0000                   .dbfile F:\myavr\temp\M16_T1_Capature\M16_T1_Capature.c
 0000                   .dbfunc e DelayMs _DelayMs fV
 0000           ;              j -> R20,R21
 0000           ;              i -> R16,R17
                        .even
 0000           _DelayMs::
 0000 0E940000          xcall push_gset1
 0004                   .dbline -1
 0004                   .dbline 21
 0004           ; //***************FileName:Capature.C***************//
 0004           ; //***************ICCAVR V6.30编译*****************//
 0004           ; 
 0004           ; #include <iom16v.h>       
 0004           ; #include <macros.h>          
 0004           ; #define uchar unsigned char
 0004           ; #define uint  unsigned int
 0004           ; 
 0004           ; #define CON 1000      //频率常数定义
 0004           ; uchar Flag=0;         //捕获次数定义
 0004           ; 
 0004           ; //数码管字型表,对应0,1,2,3,4,5,6,7,8,9,A,b,C,d,E,F//
 0004           ; uchar Table[20]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,
 0004           ;                  0x7f,0x6f,0x77,0x7c,0x39,0x5E,0x79,0x71};
 0004           ; uchar Data[4]={0,0,0,0};       //显示初始值:0 0 0 0
 0004           ; uint  CNT1;                    //第一次捕获值
 0004           ; uint  CNT2;                    //第二此捕获值
 0004           ; uint  CNT=100;                 //捕获差值 
 0004           ;       
 0004           ; void DelayMs(uint i)           //Ms级延时,参数i为延时时间
 0004           ; {uint j;
 0004                   .dbline 22
 0004           ;  for(;i!=0;i--)
 0004 0AC0              xjmp L5
 0006           L2:
 0006                   .dbline 23
 0006                   .dbline 23
 0006 4AEF              ldi R20,250
 0008 50E0              ldi R21,0
 000A 02C0              xjmp L9
 000C           L6:
 000C                   .dbline 23
 000C                   .dbline 23
 000C                   .dbline 23
 000C           L7:
 000C                   .dbline 23
 000C 4150              subi R20,1
 000E 5040              sbci R21,0
 0010           L9:
 0010                   .dbline 23
 0010 4030              cpi R20,0
 0012 4507              cpc R20,R21
 0014 D9F7              brne L6
 0016           X0:
 0016                   .dbline 23
 0016           L3:
 0016                   .dbline 22
 0016 0150              subi R16,1
 0018 1040              sbci R17,0
 001A           L5:
 001A                   .dbline 22
 001A 0030              cpi R16,0
 001C 0107              cpc R16,R17
 001E 99F7              brne L2
 0020           X1:
 0020                   .dbline -2
 0020                   .dbline 24
 0020           ;   {for(j=250;j!=0;j--) {;}}
 0020           ; }
 0020           L1:
 0020 0E940000          xcall pop_gset1
 0024                   .dbline 0 ; func end
 0024 0895              ret
 0026                   .dbsym r j 20 i
 0026                   .dbsym r i 16 i
 0026                   .dbend
 0026                   .dbfunc e Pre_Display _Pre_Display fV
 0026           ;              i -> R20
                        .even
 0026           _Pre_Display::
 0026 0E940000          xcall push_gset1
 002A                   .dbline -1
 002A                   .dbline 27
 002A           ; 
 002A           ; void Pre_Display(void)         //预显示函数,数码管显示检测
 002A           ; {uchar i;
 002A                   .dbline 28
 002A           ;  for(i=0;i<16;i++)
 002A 4427              clr R20
 002C 0EC0              xjmp L14
 002E           L11:
 002E                   .dbline 29
 002E                   .dbline 29
 002E 2224              clr R2
 0030 25BA              out 0x15,R2
 0032                   .dbline 30
 0032 80E0              ldi R24,<_Table
 0034 90E0              ldi R25,>_Table
 0036 E42F              mov R30,R20
 0038 FF27              clr R31
 003A E80F              add R30,R24
 003C F91F              adc R31,R25
 003E 2080              ldd R2,z+0
 0040 2BBA              out 0x1b,R2
 0042                   .dbline 31
 0042 04E6              ldi R16,100
 0044 10E0              ldi R17,0
 0046 DCDF              xcall _DelayMs
 0048                   .dbline 32
 0048           L12:
 0048                   .dbline 28
 0048 4395              inc R20
 004A           L14:
 004A                   .dbline 28
 004A 4031              cpi R20,16
 004C 80F3              brlo L11
 004E                   .dbline -2
 004E                   .dbline 33
 004E           ;   {PORTC=0x00;
 004E           ;    PORTA=Table[i];
 004E           ;   DelayMs(100);
 004E           ;   }
 004E           ; }
 004E           L10:
 004E 0E940000          xcall pop_gset1
 0052                   .dbline 0 ; func end
 0052 0895              ret
 0054                   .dbsym r i 20 c
 0054                   .dbend
 0054                   .dbfunc e Display _Display fV
 0054           ;            sel -> R20
 0054           ;              i -> R22
 0054           ;              p -> R10,R11
                        .even
 0054           _Display::
 0054 0E940000          xcall push_gset3
 0058 5801              movw R10,R16
 005A                   .dbline -1
 005A                   .dbline 36
 005A           ; 
 005A           ; void Display(uchar *p)         //动态显示函数,参数p为待显示的数组名
 005A           ; {uchar i,sel=0x08;           
 005A                   .dbline 36
 005A 48E0              ldi R20,8
 005C                   .dbline 37
 005C           ;  for(i=0;i<4;i++)
 005C 6627              clr R22
 005E 14C0              xjmp L19
 0060           L16:
 0060                   .dbline 38
 0060                   .dbline 38
 0060 242E              mov R2,R20
 0062 2094              com R2
 0064 25BA              out 0x15,R2
 0066                   .dbline 39
 0066 E62F              mov R30,R22
 0068 FF27              clr R31
 006A EA0D              add R30,R10
 006C FB1D              adc R31,R11
 006E E081              ldd R30,z+0
 0070 FF27              clr R31
 0072 80E0              ldi R24,<_Table
 0074 90E0              ldi R25,>_Table
 0076 E80F              add R30,R24
 0078 F91F              adc R31,R25
 007A 2080              ldd R2,z+0
 007C 2BBA              out 0x1b,R2
 007E                   .dbline 40
 007E 02E0              ldi R16,2
 0080 10E0              ldi R17,0
 0082 BEDF              xcall _DelayMs
 0084                   .dbline 41
 0084 4695              lsr R20
 0086                   .dbline 42
 0086           L17:
 0086                   .dbline 37
 0086 6395              inc R22
 0088           L19:
 0088                   .dbline 37
 0088 6430              cpi R22,4
 008A 50F3              brlo L16
 008C                   .dbline -2
 008C                   .dbline 43
 008C           ;   {PORTC=~sel;                  //选通最右边的数码管
 008C           ;    PORTA=Table[p[i]];          //送字型码
 008C           ;    DelayMs(2);                 //显示延时    
 008C           ;    sel=sel>>1;                 //移位以显示前一位
 008C           ;   }
 008C           ; }
 008C           L15:
 008C 0E940000          xcall pop_gset3
 0090                   .dbline 0 ; func end
 0090 0895              ret
 0092                   .dbsym r sel 20 c
 0092                   .dbsym r i 22 c
 0092                   .dbsym r p 10 pc
 0092                   .dbend
 0092                   .dbfunc e HZ _HZ fV
 0092           ;            TEM -> R22,R23
 0092           ;              p -> R20,R21
 0092           ;              i -> R10,R11
                        .even
 0092           _HZ::
 0092 0E940000          xcall push_gset3
 0096 A901              movw R20,R18
 0098 5801              movw R10,R16
 009A                   .dbline -1
 009A                   .dbline 46
 009A           ; 
 009A           ; void HZ(uint i,uchar *p)
 009A           ; {uint TEM;
 009A                   .dbline 47
 009A           ;  p[0]=CON/i;
 009A 08EE              ldi R16,1000
 009C 13E0              ldi R17,3
 009E 9501              movw R18,R10
 00A0 0E940000          xcall div16u
 00A4 FA01              movw R30,R20
 00A6 0083              std z+0,R16
 00A8                   .dbline 48

⌨️ 快捷键说明

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