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

📄 delay.lis

📁 ch452的数码管和键盘驱动程序
💻 LIS
字号:
                        .module delay.c
                        .area text(rom, con, rel)
 0000                   .dbfile F:\CH452L\delay.c
 0000                   .dbfunc e Delay_Nus _Delay_Nus fV
 0000           ;              i -> R20,R21
 0000           ;           time -> R16,R17
                        .even
 0000           _Delay_Nus::
 0000 00D0              rcall push_gset1
 0002                   .dbline -1
 0002                   .dbline 13
 0002           ; #include<iom8v.h>
 0002           ; #include<macros.h>
 0002           ; 
 0002           ; #define xtal  8     //定义时钟频率8M
 0002           ; 
 0002           ; /************************************************************
 0002           ; *   函数名称:void Delay_Nus(unsigned int time)
 0002           ; *   功    能:软件延时N微秒 
 0002           ; *   入口参数:time 延时时间
 0002           ; *   出口参数:无
 0002           ; ************************************************************/
 0002           ; void Delay_Nus(unsigned int time)
 0002           ; {   
 0002                   .dbline 15
 0002           ;      unsigned int i;
 0002           ;        for(i=0;i<time;i++)
 0002 4427              clr R20
 0004 5527              clr R21
 0006 03C0              rjmp L5
 0008           L2:
 0008                   .dbline 16
 0008                   .dbline 17
 0008 0000              nop
 000A                   .dbline 18
 000A           L3:
 000A                   .dbline 15
 000A 4F5F              subi R20,255  ; offset = 1
 000C 5F4F              sbci R21,255
 000E           L5:
 000E                   .dbline 15
 000E 4017              cp R20,R16
 0010 5107              cpc R21,R17
 0012 D0F3              brlo L2
 0014                   .dbline -2
 0014           L1:
 0014 00D0              rcall pop_gset1
 0016                   .dbline 0 ; func end
 0016 0895              ret
 0018                   .dbsym r i 20 i
 0018                   .dbsym r time 16 i
 0018                   .dbend
 0018                   .dbfunc e Delay_Nms _Delay_Nms fV
 0018           ;              i -> R20,R21
 0018           ;           time -> R16,R17
                        .even
 0018           _Delay_Nms::
 0018 00D0              rcall push_gset1
 001A                   .dbline -1
 001A                   .dbline 28
 001A           ;        {
 001A           ;            asm("nop");
 001A           ;        } 
 001A           ; }
 001A           ; 
 001A           ; /************************************************************
 001A           ; *   函数名称:void Delay_Nms(unsigned int time)
 001A           ; *   功    能:软件延时N毫秒
 001A           ; *   入口参数:time 延时时间 MS  
 001A           ; *   出口参数:无
 001A           ; ************************************************************/
 001A           ; void Delay_Nms(unsigned int time)
 001A           ; {
 001A 09C0              rjmp L8
 001C           L7:
 001C                   .dbline 31
 001C           ;     unsigned int i;
 001C           ;     while(time--)     
 001C           ;       {
 001C                   .dbline 32
 001C           ;         for(i=1;i<(unsigned int)(xtal*143-2);i++)
 001C 41E0              ldi R20,1
 001E 50E0              ldi R21,0
 0020 02C0              rjmp L13
 0022           L10:
 0022                   .dbline 33
 0022           L11:
 0022                   .dbline 32
 0022 4F5F              subi R20,255  ; offset = 1
 0024 5F4F              sbci R21,255
 0026           L13:
 0026                   .dbline 32
 0026 4637              cpi R20,118
 0028 E4E0              ldi R30,4
 002A 5E07              cpc R21,R30
 002C D0F3              brlo L10
 002E                   .dbline 34
 002E           L8:
 002E                   .dbline 30
 002E 1801              movw R2,R16
 0030 0150              subi R16,1
 0032 1040              sbci R17,0
 0034 2220              tst R2
 0036 91F7              brne L7
 0038 3320              tst R3
 003A 81F7              brne L7
 003C           X0:
 003C                   .dbline -2
 003C           L6:
 003C 00D0              rcall pop_gset1
 003E                   .dbline 0 ; func end
 003E 0895              ret
 0040                   .dbsym r i 20 i
 0040                   .dbsym r time 16 i
 0040                   .dbend

⌨️ 快捷键说明

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