📄 delay.lis
字号:
.module delay.c
.area text(rom, con, rel)
0000 .dbfile C:\DOCUME~1\Administrator\桌面\AVR程序\按键显示\delay.c
0000 .dbfunc e delay_1ms _delay_1ms fV
0000 ; i -> R16,R17
.even
0000 _delay_1ms::
0000 .dbline -1
0000 .dbline 6
0000 ; #include <iom128v.h>
0000 ; #include <macros.h>
0000 ; #define xtal 1
0000 ;
0000 ; void delay_1ms() //1ms 延时
0000 ; {
0000 .dbline 8
0000 ; unsigned int i;
0000 ; for(i=1;i<570;i++)
0000 01E0 ldi R16,1
0002 10E0 ldi R17,0
0004 02C0 rjmp L5
0006 L2:
0006 .dbline 9
0006 ; ;
0006 L3:
0006 .dbline 8
0006 0F5F subi R16,255 ; offset = 1
0008 1F4F sbci R17,255
000A L5:
000A .dbline 8
000A 0A33 cpi R16,58
000C E2E0 ldi R30,2
000E 1E07 cpc R17,R30
0010 D0F3 brlo L2
0012 X0:
0012 .dbline -2
0012 L1:
0012 .dbline 0 ; func end
0012 0895 ret
0014 .dbsym r i 16 i
0014 .dbend
0014 .dbfunc e delay_5ms _delay_5ms fV
0014 ; i -> R16,R17
.even
0014 _delay_5ms::
0014 .dbline -1
0014 .dbline 13
0014 ; }
0014 ;
0014 ; void delay_5ms() // 延时 5ms
0014 ; {
0014 .dbline 15
0014 ; unsigned int i;
0014 ; for(i=0;i<2855;i++)
0014 0027 clr R16
0016 1127 clr R17
0018 02C0 rjmp L10
001A L7:
001A .dbline 16
001A ; ;
001A L8:
001A .dbline 15
001A 0F5F subi R16,255 ; offset = 1
001C 1F4F sbci R17,255
001E L10:
001E .dbline 15
001E 0732 cpi R16,39
0020 EBE0 ldi R30,11
0022 1E07 cpc R17,R30
0024 D0F3 brlo L7
0026 X1:
0026 .dbline -2
0026 L6:
0026 .dbline 0 ; func end
0026 0895 ret
0028 .dbsym r i 16 i
0028 .dbend
0028 .dbfunc e delay _delay fV
0028 ; i -> R20,R21
0028 ; n -> R10,R11
.even
0028 _delay::
0028 00D0 rcall push_xgset300C
002A A02E mov R10,R16
002C B12E mov R11,R17
002E .dbline -1
002E .dbline 19
002E ; }
002E ; void delay(unsigned int n)
002E ; {
002E .dbline 20
002E ; unsigned int i=0;
002E 4427 clr R20
0030 5527 clr R21
0032 .dbline 21
0032 ; for(i=0;i<n;i++)
0032 03C0 rjmp L15
0034 L12:
0034 .dbline 22
0034 ; delay_1ms();
0034 E5DF rcall _delay_1ms
0036 L13:
0036 .dbline 21
0036 4F5F subi R20,255 ; offset = 1
0038 5F4F sbci R21,255
003A L15:
003A .dbline 21
003A 4A15 cp R20,R10
003C 5B05 cpc R21,R11
003E D0F3 brlo L12
0040 X2:
0040 .dbline -2
0040 L11:
0040 .dbline 0 ; func end
0040 00C0 rjmp pop_xgset300C
0042 .dbsym r i 20 i
0042 .dbsym r n 10 i
0042 .dbend
0042 .dbfunc e main _main fV
.even
0042 _main::
0042 .dbline -1
0042 .dbline 26
0042 ; }
0042 ;
0042 ; void main()
0042 ; {
0042 03C0 rjmp L18
0044 L17:
0044 .dbline 28
0044 ; while(1)
0044 ; {
0044 .dbline 29
0044 ; delay(10);
0044 0AE0 ldi R16,10
0046 10E0 ldi R17,0
0048 EFDF rcall _delay
004A .dbline 31
004A ;
004A ; }
004A L18:
004A .dbline 27
004A FCCF rjmp L17
004C X3:
004C .dbline -2
004C L16:
004C .dbline 0 ; func end
004C 0895 ret
004E .dbend
004E ; }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -