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

📄 delay.lis

📁 AVR单片机ATMEGA64L开发的mp3程序
💻 LIS
字号:
                        .module delay.c
                        .area text(rom, con, rel)
 0000                   .dbfile D:\论文资料\AVRPWM~1\阿莫MP3范例板\MP3范例板\u盘MP3代码\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 0E940000          xcall push_gset1
 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 F8DF              xcall _delay_us
 0010           L4:
 0010                   .dbline 22
 0010           ;     while (t--)
 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 0E940000          xcall pop_gset1
 0022                   .dbline 0 ; func end
 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           ;        delay_us();
 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 0E940000          xcall push_gset1
 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 F7DF              xcall _delay_ms
 0036           L9:
 0036                   .dbline 41
 0036           ;     while (t--)
 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 0E940000          xcall pop_gset1
 0048                   .dbline 0 ; func end
 0048 0895              ret
 004A                   .dbsym r t 20 i
 004A                   .dbend

⌨️ 快捷键说明

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