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

📄 delay.lis

📁 数字舵机(1) 数字脉宽检测 数字脉宽检测
💻 LIS
字号:
                        .module delay.c
                        .area text(rom, con, rel)
 0000                   .dbfile C:\DOCUME~1\ZDH\桌面\JOHU_2~1.180\digital_duoji\delay.c
 0000                   .dbfunc e delay_us _delay_us fV
 0000           ;              t -> R16
                        .even
 0000           _delay_us::
 0000                   .dbline -1
 0000                   .dbline 10
 0000           ; 
 0000           ; 
 0000           ; #include <iom64v.h>
 0000           ; #include "delay.h"
 0000           ; 
 0000           ; /*-----------------------------------------------------------------------
 0000           ; delay_us         :1us延时函数
 0000           ; -----------------------------------------------------------------------*/
 0000           ; void delay_us(void)
 0000           ; {
 0000                   .dbline 11
 0000           ;    unsigned char t=2;
 0000 02E0              ldi R16,2
 0002                   .dbline 12
 0002           ;    t--;
 0002 0A95              dec R16
 0004                   .dbline -2
 0004           L1:
 0004                   .dbline 0 ; func end
 0004 0895              ret
 0006                   .dbsym r t 16 c
 0006                   .dbend
 0006                   .dbfunc e delay_nus _delay_nus fV
 0006           ;              t -> R20,R21
                        .even
 0006           _delay_nus::
 0006 4A93              st -y,R20
 0008 5A93              st -y,R21
 000A A801              movw R20,R16
 000C                   .dbline -1
 000C                   .dbline 21
 000C           ; }
 000C           ; 
 000C           ; /*-----------------------------------------------------------------------
 000C           ; delay_nus          :长延时函数
 000C           ; 
 000C           ; 输入参数: t        :延时时间 us
 000C           ; -----------------------------------------------------------------------*/
 000C           ; void delay_nus(unsigned int t)
 000C           ; {
 000C 01C0              xjmp L4
 000E           L3:
 000E                   .dbline 23
 000E           ;     while (t--)
 000E           ;        delay_us();
 000E F8DF              xcall _delay_us
 0010           L4:
 0010                   .dbline 22
 0010 1A01              movw R2,R20
 0012 4150              subi R20,1
 0014 5040              sbci R21,0
 0016 2220              tst R2
 0018 D1F7              brne L3
 001A 3320              tst R3
 001C C1F7              brne L3
 001E           X0:
 001E                   .dbline -2
 001E           L2:
 001E                   .dbline 0 ; func end
 001E 5991              ld R21,y+
 0020 4991              ld R20,y+
 0022 0895              ret
 0024                   .dbsym r t 20 i
 0024                   .dbend
 0024                   .dbfunc e delay_ms _delay_ms fV
                        .even
 0024           _delay_ms::
 0024                   .dbline -1
 0024                   .dbline 30
 0024           ; }
 0024           ; 
 0024           ; /*-----------------------------------------------------------------------
 0024           ; delay_ms         :1ms延时函数
 0024           ; -----------------------------------------------------------------------*/
 0024           ; void delay_ms(void)
 0024           ; {
 0024                   .dbline 31
 0024           ;    delay_nus(1000);
 0024 08EE              ldi R16,1000
 0026 13E0              ldi R17,3
 0028 EEDF              xcall _delay_nus
 002A                   .dbline -2
 002A           L6:
 002A                   .dbline 0 ; func end
 002A 0895              ret
 002C                   .dbend
 002C                   .dbfunc e delay_nms _delay_nms fV
 002C           ;              t -> R20,R21
                        .even
 002C           _delay_nms::
 002C 4A93              st -y,R20
 002E 5A93              st -y,R21
 0030 A801              movw R20,R16
 0032                   .dbline -1
 0032                   .dbline 40
 0032           ; }
 0032           ; 
 0032           ; /*-----------------------------------------------------------------------
 0032           ; delay_nms          :长延时函数
 0032           ; 
 0032           ; 输入参数: t        :延时时间 ms
 0032           ; -----------------------------------------------------------------------*/
 0032           ; void delay_nms(unsigned int t)
 0032           ; {
 0032 01C0              xjmp L9
 0034           L8:
 0034                   .dbline 42
 0034           ;     while (t--)
 0034           ;        delay_ms();
 0034 F7DF              xcall _delay_ms
 0036           L9:
 0036                   .dbline 41
 0036 1A01              movw R2,R20
 0038 4150              subi R20,1
 003A 5040              sbci R21,0
 003C 2220              tst R2
 003E D1F7              brne L8
 0040 3320              tst R3
 0042 C1F7              brne L8
 0044           X1:
 0044                   .dbline -2
 0044           L7:
 0044                   .dbline 0 ; func end
 0044 5991              ld R21,y+
 0046 4991              ld R20,y+
 0048 0895              ret
 004A                   .dbsym r t 20 i
 004A                   .dbend
 004A           ; }

⌨️ 快捷键说明

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