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

📄 pulse_time.lis

📁 单片机开发资料光盘-双龙-686M.zip
💻 LIS
📖 第 1 页 / 共 2 页
字号:
                        .module pulse_time.c
                        .area vector(rom, abs)
                        .org 20
 0014 0C948700          jmp _Icp_timer1
                        .org 36
 0024 0C94A000          jmp _Timer0
                        .area code(ram, con, rel)
                        .area lit(rom, con, rel)
 0000           _table::
 0000 3F06              .byte 63,6
 0002 5B4F              .byte 91,'O
 0004 666D              .byte 'f,'m
 0006 7D07              .byte 125,7
 0008 7F6F              .byte 127,'o
 000A 777C              .byte 'w,124
 000C 395E              .byte 57,94
 000E 7971              .byte 'y,'q
 0010                   .dbfile F:\李鹏飞\sl-avrad-m16\测脉宽\pulse_time.c
 0010                   .dbsym e table _table A[16:16]kc
                        .area data(ram, con, rel)
 0000                   .dbfile F:\李鹏飞\sl-avrad-m16\测脉宽\pulse_time.c
 0000           _ledbuff::
 0000                   .blkb 2
                        .area idata
 0000 3F3F              .byte 63,63
                        .area data(ram, con, rel)
 0002                   .dbfile F:\李鹏飞\sl-avrad-m16\测脉宽\pulse_time.c
 0002                   .blkb 2
                        .area idata
 0002 3F3F              .byte 63,63
                        .area data(ram, con, rel)
 0004                   .dbfile F:\李鹏飞\sl-avrad-m16\测脉宽\pulse_time.c
 0004                   .blkb 2
                        .area idata
 0004 3F3F              .byte 63,63
                        .area data(ram, con, rel)
 0006                   .dbfile F:\李鹏飞\sl-avrad-m16\测脉宽\pulse_time.c
 0006                   .dbsym e ledbuff _ledbuff A[6:6]c
 0006           _i::
 0006                   .blkb 1
                        .area idata
 0006 00                .byte 0
                        .area data(ram, con, rel)
 0007                   .dbfile F:\李鹏飞\sl-avrad-m16\测脉宽\pulse_time.c
 0007                   .dbsym e i _i c
                        .area text(rom, con, rel)
 0000                   .dbfile F:\李鹏飞\sl-avrad-m16\测脉宽\pulse_time.c
 0000                   .dbfunc e delay_1ms _delay_1ms fV
 0000           ;              i -> R16,R17
                        .even
 0000           _delay_1ms::
 0000                   .dbline -1
 0000                   .dbline 30
 0000           ; /******************************************/
 0000           ; /*           广州天河双龙电子公司         */
 0000           ; /*           http://www.sl.com.cn         */
 0000           ; /*                 测脉宽程序             */
 0000           ; /*   用跳线将PD6依次与PA0~PA7相连         */
 0000           ; /*           作者:lpf@sl.com.cn           */
 0000           ; /*             2003年8月28日              */
 0000           ; /*  目标MCU:MEGA16   晶振:外部(EXT) 8MHZ  */
 0000           ; /******************************************/
 0000           ; 
 0000           ; 
 0000           ; #include<iom16v.h>
 0000           ; #pragma interrupt_handler Icp_timer1:6
 0000           ; //ICP中断入口地址
 0000           ; #pragma interrupt_handler Timer0:10
 0000           ; //定时器T0中断入口地址
 0000           ; #pragma data:code
 0000           ; //设置数据区为程序存储器
 0000           ; //七段码译码字形表
 0000           ; const unsigned char table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,
 0000           ; 0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
 0000           ; #pragma data:data
 0000           ; //设置数据区回到数据存储器
 0000           ; unsigned char ledbuff[]={0x3f,0x3f,0x3f,0x3f,0x3f,0x3f};//显示缓冲区
 0000           ; unsigned int oldcount;
 0000           ; unsigned int newcount;
 0000           ; unsigned char i=0;
 0000           ; //1MS延时程序
 0000           ; void delay_1ms()
 0000           ;   {
 0000                   .dbline 32
 0000 01E0              ldi R16,1
 0002 10E0              ldi R17,0
 0004 02C0              xjmp L5
 0006           L2:
 0006                   .dbline 32
 0006           L3:
 0006                   .dbline 32
 0006 0F5F              subi R16,255  ; offset = 1
 0008 1F4F              sbci R17,255
 000A           L5:
 000A                   .dbline 32
 000A           ;   unsigned int i;
 000A           ;   for(i=1;i<1142;i++);
 000A 0637              cpi R16,118
 000C E4E0              ldi R30,4
 000E 1E07              cpc R17,R30
 0010 D0F3              brlo L2
 0012                   .dbline -2
 0012                   .dbline 33
 0012           ;   }
 0012           L1:
 0012                   .dbline 0 ; func end
 0012 0895              ret
 0014                   .dbsym r i 16 i
 0014                   .dbend
 0014                   .dbfunc e display _display fV
 0014           ;              i -> R20
                        .even
 0014           _display::
 0014 0E940000          xcall push_gset1
 0018                   .dbline -1
 0018                   .dbline 36
 0018           ; //六路动态扫描显示  
 0018           ; void display()
 0018           ;   {
 0018                   .dbline 38
 0018           ;   unsigned char i;
 0018           ;   for(i=0;i<6;i++)
 0018 4427              clr R20
 001A 18C0              xjmp L10
 001C           L7:
 001C                   .dbline 39
 001C                   .dbline 40
 001C 80E0              ldi R24,<_ledbuff
 001E 90E0              ldi R25,>_ledbuff
 0020 E42F              mov R30,R20
 0022 FF27              clr R31
 0024 E80F              add R30,R24
 0026 F91F              adc R31,R25
 0028 2080              ldd R2,z+0
 002A 28BA              out 0x18,R2
 002C                   .dbline 41
 002C 01E0              ldi R16,1
 002E 142F              mov R17,R20
 0030 0E940000          xcall lsl8
 0034 202E              mov R2,R16
 0036 2094              com R2
 0038 22BA              out 0x12,R2
 003A                   .dbline 42
 003A E2DF              xcall _delay_1ms
 003C                   .dbline 43
 003C 01E0              ldi R16,1
 003E 142F              mov R17,R20
 0040 0E940000          xcall lsl8
 0044 22B2              in R2,0x12
 0046 202A              or R2,R16
 0048 22BA              out 0x12,R2
 004A                   .dbline 44
 004A           L8:
 004A                   .dbline 38
 004A 4395              inc R20
 004C           L10:
 004C                   .dbline 38
 004C 4630              cpi R20,6
 004E 30F3              brlo L7
 0050                   .dbline -2
 0050                   .dbline 45
 0050           ;       {
 0050           ;       PORTB=ledbuff[i];
 0050           ;       PORTD=~(1<<i);
 0050           ;       delay_1ms();
 0050           ;       PORTD|=(1<<i);
 0050           ;       }
 0050           ;   }
 0050           L6:
 0050 0E940000          xcall pop_gset1
 0054                   .dbline 0 ; func end
 0054 0895              ret
 0056                   .dbsym r i 20 c
 0056                   .dbend
 0056                   .dbfunc e hextobcd _hextobcd fV
 0056           ;           temp -> R20
 0056           ;              i -> R22
 0056           ;          count -> R10,R11
                        .even
 0056           _hextobcd::
 0056 0E940000          xcall push_gset3
 005A 5801              movw R10,R16
 005C                   .dbline -1
 005C                   .dbline 48
 005C           ; //将COUNT十六进制数据转换为LED七段码
 005C           ; void hextobcd(unsigned int count)
 005C           ;   {
 005C                   .dbline 50
 005C           ;   unsigned char i,temp;
 005C           ;   for(i=0;i<6;i++)
 005C 6627              clr R22
 005E 1BC0              xjmp L15
 0060           L12:
 0060                   .dbline 51
 0060                   .dbline 52
 0060 2AE0              ldi R18,10
 0062 30E0              ldi R19,0
 0064 8501              movw R16,R10
 0066 0E940000          xcall mod16u
 006A 402F              mov R20,R16
 006C                   .dbline 53
 006C 80E0              ldi R24,<_table
 006E 90E0              ldi R25,>_table
 0070 E42F              mov R30,R20
 0072 FF27              clr R31
 0074 E80F              add R30,R24
 0076 F91F              adc R31,R25
 0078 E491              lpm R30,Z
 007A 80E0              ldi R24,<_ledbuff
 007C 90E0              ldi R25,>_ledbuff
 007E A62F              mov R26,R22
 0080 BB27              clr R27
 0082 A80F              add R26,R24
 0084 B91F              adc R27,R25
 0086 EC93              st x,R30
 0088                   .dbline 54
 0088 2AE0              ldi R18,10
 008A 30E0              ldi R19,0
 008C 8501              movw R16,R10
 008E 0E940000          xcall div16u
 0092 5801              movw R10,R16
 0094                   .dbline 55
 0094           L13:
 0094                   .dbline 50
 0094 6395              inc R22
 0096           L15:
 0096                   .dbline 50
 0096 6630              cpi R22,6

⌨️ 快捷键说明

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