📄 led.lis
字号:
.module led.c
.area text(rom, con, rel)
0000 .dbfile C:\DOCUME~1\Administrator\桌面\led.c
0000 .dbfile C:\DOCUME~1\Administrator\桌面\delay.h
0000 .dbfunc e delay_1ms _delay_1ms fV
0000 ; i -> R16,R17
.even
0000 _delay_1ms::
0000 .dbline -1
0000 .dbline 5
0000 ; #ifndef DELAY_H_H
0000 ; #define DELAY_H_H
0000 ; #define xtal 1
0000 ; void delay_1ms() //1ms 延时
0000 ; {
0000 .dbline 7
0000 ; unsigned int i;
0000 ; for(i=1;i<570;i++)
0000 01E0 ldi R16,1
0002 10E0 ldi R17,0
0004 02C0 xjmp L5
0006 L2:
0006 .dbline 8
0006 ; ;
0006 L3:
0006 .dbline 7
0006 0F5F subi R16,255 ; offset = 1
0008 1F4F sbci R17,255
000A L5:
000A .dbline 7
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 12
0014 ; }
0014 ;
0014 ; void delay_5ms() // 延时 5ms
0014 ; {
0014 .dbline 14
0014 ; unsigned int i;
0014 ; for(i=0;i<2855;i++)
0014 0027 clr R16
0016 1127 clr R17
0018 02C0 xjmp L10
001A L7:
001A .dbline 15
001A ; ;
001A L8:
001A .dbline 14
001A 0F5F subi R16,255 ; offset = 1
001C 1F4F sbci R17,255
001E L10:
001E .dbline 14
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 0E940000 xcall push_xgset300C
002C 5801 movw R10,R16
002E .dbline -1
002E .dbline 18
002E ; }
002E ; void delay(unsigned int n)
002E ; {
002E .dbline 19
002E ; unsigned int i=0;
002E 4427 clr R20
0030 5527 clr R21
0032 .dbline 20
0032 ; for(i=0;i<n;i++)
0032 03C0 xjmp L15
0034 L12:
0034 .dbline 21
0034 ; delay_1ms();
0034 E5DF xcall _delay_1ms
0036 L13:
0036 .dbline 20
0036 4F5F subi R20,255 ; offset = 1
0038 5F4F sbci R21,255
003A L15:
003A .dbline 20
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 0C940000 xjmp pop_xgset300C
0044 .dbsym r i 20 i
0044 .dbsym r n 10 i
0044 .dbend
0044 .dbfile C:\DOCUME~1\Administrator\桌面\led.c
0044 .dbfunc e delay_10ms _delay_10ms fV
0044 ; i -> R16,R17
.even
0044 _delay_10ms::
0044 .dbline -1
0044 .dbline 7
0044 ; #include <iom128v.h>
0044 ; #include <macros.h>
0044 ; #include "delay.h"
0044 ;
0044 ;
0044 ; void delay_10ms()
0044 ; {
0044 .dbline 9
0044 ; unsigned int i;
0044 ; for(i=0;i<5712;i++)
0044 0027 clr R16
0046 1127 clr R17
0048 02C0 xjmp L20
004A L17:
004A .dbline 10
004A ; ;
004A L18:
004A .dbline 9
004A 0F5F subi R16,255 ; offset = 1
004C 1F4F sbci R17,255
004E L20:
004E .dbline 9
004E 0035 cpi R16,80
0050 E6E1 ldi R30,22
0052 1E07 cpc R17,R30
0054 D0F3 brlo L17
0056 X3:
0056 .dbline -2
0056 L16:
0056 .dbline 0 ; func end
0056 0895 ret
0058 .dbsym r i 16 i
0058 .dbend
0058 .dbfunc e delay_100ms _delay_100ms fV
0058 ; i -> R20,R21
.even
0058 _delay_100ms::
0058 4A93 st -y,R20
005A 5A93 st -y,R21
005C .dbline -1
005C .dbline 14
005C ; }
005C ;
005C ; void delay_100ms()
005C ; {
005C .dbline 16
005C ; unsigned int i;
005C ; for(i=0;i<10;i++)
005C 4427 clr R20
005E 5527 clr R21
0060 03C0 xjmp L25
0062 L22:
0062 .dbline 17
0062 ; delay_10ms();
0062 F0DF xcall _delay_10ms
0064 L23:
0064 .dbline 16
0064 4F5F subi R20,255 ; offset = 1
0066 5F4F sbci R21,255
0068 L25:
0068 .dbline 16
0068 4A30 cpi R20,10
006A E0E0 ldi R30,0
006C 5E07 cpc R21,R30
006E C8F3 brlo L22
0070 X4:
0070 .dbline -2
0070 L21:
0070 .dbline 0 ; func end
0070 5991 ld R21,y+
0072 4991 ld R20,y+
0074 0895 ret
0076 .dbsym r i 20 i
0076 .dbend
0076 .dbfunc e delay_1s _delay_1s fV
0076 ; i -> y+0
.even
0076 _delay_1s::
0076 2497 sbiw R28,4
0078 .dbline -1
0078 .dbline 21
0078 ; }
0078 ;
0078 ; void delay_1s()
0078 ; {
0078 .dbline 23
0078 ; unsigned long i;
0078 ; for(i=0;i<1000000;i++)
0078 80E0 ldi R24,0
007A 90E0 ldi R25,0
007C A0E0 ldi R26,0
007E B0E0 ldi R27,0
0080 8883 std y+0,R24
0082 9983 std y+1,R25
0084 AA83 std y+2,R26
0086 BB83 std y+3,R27
0088 10C0 xjmp L30
008A L27:
008A .dbline 24
008A ; ;
008A L28:
008A .dbline 23
008A 81E0 ldi R24,1
008C 90E0 ldi R25,0
008E A0E0 ldi R26,0
0090 B0E0 ldi R27,0
0092 2880 ldd R2,y+0
0094 3980 ldd R3,y+1
0096 4A80 ldd R4,y+2
0098 5B80 ldd R5,y+3
009A 280E add R2,R24
009C 391E adc R3,R25
009E 4A1E adc R4,R26
00A0 5B1E adc R5,R27
00A2 2882 std y+0,R2
00A4 3982 std y+1,R3
00A6 4A82 std y+2,R4
00A8 5B82 std y+3,R5
00AA L30:
00AA .dbline 23
00AA 80E4 ldi R24,64
00AC 92E4 ldi R25,66
00AE AFE0 ldi R26,15
00B0 B0E0 ldi R27,0
00B2 2880 ldd R2,y+0
00B4 3980 ldd R3,y+1
00B6 4A80 ldd R4,y+2
00B8 5B80 ldd R5,y+3
00BA 2816 cp R2,R24
00BC 3906 cpc R3,R25
00BE 4A06 cpc R4,R26
00C0 5B06 cpc R5,R27
00C2 18F3 brlo L27
00C4 X5:
00C4 .dbline -2
00C4 L26:
00C4 .dbline 0 ; func end
00C4 2496 adiw R28,4
00C6 0895 ret
00C8 .dbsym l i 0 l
00C8 .dbend
00C8 .dbfunc e main _main fV
.even
00C8 _main::
00C8 .dbline -1
00C8 .dbline 27
00C8 ; }
00C8 ; void main()
00C8 ; {
00C8 01C0 xjmp L33
00CA L32:
00CA .dbline 32
00CA ;
00CA ; // PORTB=0x00;
00CA ; // DDRB=0xff;
00CA ; while(1)
00CA ; {
00CA .dbline 34
00CA ;
00CA ; delay_1s();
00CA D5DF xcall _delay_1s
00CC .dbline 38
00CC ; //PORTB=~PORTB;
00CC ;
00CC ;
00CC ; }
00CC L33:
00CC .dbline 31
00CC FECF xjmp L32
00CE X6:
00CE .dbline -2
00CE L31:
00CE .dbline 0 ; func end
00CE 0895 ret
00D0 .dbend
00D0 ; }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -