📄 delay.lis
字号:
.module delay.c
.area text(rom, con, rel)
0000 .dbfile G:\CS5532\firmware\delay.c
0000 .dbfunc e us_delay _us_delay fV
0000 ; i -> R20
0000 ; ud -> R16
.even
0000 _us_delay::
0000 0E940000 xcall push_gset1
0004 .dbline -1
0004 .dbline 26
0004 ; /****************************************Copyright (c)**************************************************
0004 ; **
0004 ; **
0004 ; **
0004 ; ** 文 件 名: delay.c
0004 ; ** 最后修改日期: 2007-10-8 11:19
0004 ; ** 描 述: 延时函数
0004 ; ** 版 本: V1.0
0004 ; ** 主 控 芯 片:M16 晶振频率:7.37MHZ,
0004 ; ** IDE:ICCAVR 6.31
0004 ; **********************************************************************************************************/
0004 ; #include <iom16v.h>
0004 ; #include <macros.h>
0004 ;
0004 ; #include "DEFINE.H"
0004 ;
0004 ; /**********************************************************************
0004 ; functionName:void us_delay(uint08 ud)
0004 ; description:us级别的函数
0004 ; ud=10 10us
0004 ; ud=50 32.5us
0004 ; ud=100 60us
0004 ; ud=200 114us
0004 ; **********************************************************************/
0004 ; void us_delay(uint08 ud)
0004 ; {
0004 .dbline 28
0004 4427 clr R20
0006 01C0 xjmp L5
0008 L2:
0008 .dbline 28
0008 L3:
0008 .dbline 28
0008 4395 inc R20
000A L5:
000A .dbline 28
000A ; uint08 i;
000A ; for(i=0;i<ud;i++);
000A 4017 cp R20,R16
000C E8F3 brlo L2
000E .dbline -2
000E L1:
000E 0E940000 xcall pop_gset1
0012 .dbline 0 ; func end
0012 0895 ret
0014 .dbsym r i 20 c
0014 .dbsym r ud 16 c
0014 .dbend
0014 .dbfunc e ms_delay _ms_delay fV
0014 ; j -> R20
0014 ; i -> R10
0014 ; md -> R22
.even
0014 _ms_delay::
0014 0E940000 xcall push_gset3
0018 602F mov R22,R16
001A .dbline -1
001A .dbline 41
001A ; }
001A ;
001A ; /**********************************************************************
001A ; functionName:void ms_delay(void)
001A ; description:ms级别的函数
001A ; md=10 10ms
001A ; md=50 50ms
001A ; md=100 100ms
001A ; md=150 150ms
001A ; md=200 200ms
001A ; **********************************************************************/
001A ; void ms_delay(uint08 md)
001A ; {
001A .dbline 43
001A ; uint08 i,j;
001A ; for(j=0;j<md;j++)
001A 4427 clr R20
001C 09C0 xjmp L10
001E L7:
001E .dbline 44
001E ; {
001E .dbline 45
001E ; for(i=0;i<10;i++)
001E AA24 clr R10
0020 03C0 xjmp L14
0022 L11:
0022 .dbline 46
0022 0DEA ldi R16,173
0024 EDDF xcall _us_delay
0026 L12:
0026 .dbline 45
0026 A394 inc R10
0028 L14:
0028 .dbline 45
0028 8A2D mov R24,R10
002A 8A30 cpi R24,10
002C D0F3 brlo L11
002E .dbline 47
002E L8:
002E .dbline 43
002E 4395 inc R20
0030 L10:
0030 .dbline 43
0030 4617 cp R20,R22
0032 A8F3 brlo L7
0034 .dbline -2
0034 L6:
0034 0E940000 xcall pop_gset3
0038 .dbline 0 ; func end
0038 0895 ret
003A .dbsym r j 20 c
003A .dbsym r i 10 c
003A .dbsym r md 22 c
003A .dbend
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -