?? m16_t1_pwm.lis
字號:
.module M16_T1_PWM.c
.area data(ram, con, rel)
0000 _Table::
0000 .blkb 2
.area idata
0000 3F06 .byte 63,6
.area data(ram, con, rel)
0002 .blkb 2
.area idata
0002 5B4F .byte 91,'O
.area data(ram, con, rel)
0004 .blkb 2
.area idata
0004 666D .byte 'f,'m
.area data(ram, con, rel)
0006 .blkb 2
.area idata
0006 7D07 .byte 125,7
.area data(ram, con, rel)
0008 .blkb 2
.area idata
0008 7F6F .byte 127,'o
.area data(ram, con, rel)
000A .blkb 1
.area idata
000A 79 .byte 'y
.area data(ram, con, rel)
000B .blkb 1
.area idata
000B 00 .byte 0
.area data(ram, con, rel)
000C .dbfile F:\myavr\temp\M16_T1_PWM\M16_T1_PWM.c
000C .dbsym e Table _Table A[12:12]c
000C _Data1::
000C .blkb 2
.area idata
000C 0A00 .byte 10,0
.area data(ram, con, rel)
000E .dbfile F:\myavr\temp\M16_T1_PWM\M16_T1_PWM.c
000E .blkb 2
.area idata
000E 0500 .byte 5,0
.area data(ram, con, rel)
0010 .dbfile F:\myavr\temp\M16_T1_PWM\M16_T1_PWM.c
0010 .dbsym e Data1 _Data1 A[4:4]c
0010 _Data2::
0010 .blkb 2
.area idata
0010 0309 .byte 3,9
.area data(ram, con, rel)
0012 .dbfile F:\myavr\temp\M16_T1_PWM\M16_T1_PWM.c
0012 .blkb 2
.area idata
0012 0100 .byte 1,0
.area data(ram, con, rel)
0014 .dbfile F:\myavr\temp\M16_T1_PWM\M16_T1_PWM.c
0014 .dbsym e Data2 _Data2 A[4:4]c
.area text(rom, con, rel)
0000 .dbfile F:\myavr\temp\M16_T1_PWM\M16_T1_PWM.c
0000 .dbfunc e DelayMs _DelayMs fV
0000 ; j -> R20
0000 ; i -> R16
.even
0000 _DelayMs::
0000 0E940000 xcall push_gset1
0004 .dbline -1
0004 .dbline 11
0004 ; #include <iom16v.h>
0004 ; #define uchar unsigned char
0004 ; #define uint unsigned int
0004 ;
0004 ; uchar Table[12]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x79};
0004 ; uchar Data1[4]={10,0,5,0};
0004 ; uchar Data2[4]={3,9,1,0};
0004 ; uchar Key1,Key2;
0004 ;
0004 ; void DelayMs(uchar i)
0004 ; {
0004 .dbline 13
0004 ; uchar j;
0004 ; for(;i!=0;i--)
0004 06C0 xjmp L5
0006 L2:
0006 .dbline 14
0006 ; {
0006 .dbline 15
0006 49E1 ldi R20,25
0008 01C0 xjmp L9
000A L6:
000A .dbline 15
000A L7:
000A .dbline 15
000A 4A95 dec R20
000C L9:
000C .dbline 15
000C 4423 tst R20
000E E9F7 brne L6
0010 .dbline 16
0010 L3:
0010 .dbline 13
0010 0A95 dec R16
0012 L5:
0012 .dbline 13
0012 0023 tst R16
0014 C1F7 brne L2
0016 .dbline -2
0016 .dbline 17
0016 ; for(j=25;j!=0;j--);
0016 ; }
0016 ; }
0016 L1:
0016 0E940000 xcall pop_gset1
001A .dbline 0 ; func end
001A 0895 ret
001C .dbsym r j 20 c
001C .dbsym r i 16 c
001C .dbend
001C .dbfunc e Display _Display fV
001C ; sel -> R20
001C ; i -> R22
001C ; p -> R10,R11
.even
001C _Display::
001C 0E940000 xcall push_gset3
0020 5801 movw R10,R16
0022 .dbline -1
0022 .dbline 20
0022 ;
0022 ; void Display(uchar *p)
0022 ; {
0022 .dbline 21
0022 ; uchar i,sel=0x01;
0022 41E0 ldi R20,1
0024 .dbline 22
0024 ; for(i=0;i<4;i++)
0024 6627 clr R22
0026 16C0 xjmp L14
0028 L11:
0028 .dbline 23
0028 .dbline 24
0028 45BB out 0x15,R20
002A .dbline 25
002A E62F mov R30,R22
002C FF27 clr R31
002E EA0D add R30,R10
0030 FB1D adc R31,R11
0032 E081 ldd R30,z+0
0034 FF27 clr R31
0036 80E0 ldi R24,<_Table
0038 90E0 ldi R25,>_Table
003A E80F add R30,R24
003C F91F adc R31,R25
003E 2080 ldd R2,z+0
0040 3324 clr R3
0042 8FEF ldi R24,255
0044 90E0 ldi R25,0
0046 8219 sub R24,R2
0048 9309 sbc R25,R3
004A 8BBB out 0x1b,R24
004C .dbline 26
004C 02E0 ldi R16,2
004E D8DF xcall _DelayMs
0050 .dbline 27
0050 440F lsl R20
0052 .dbline 28
0052 L12:
0052 .dbline 22
0052 6395 inc R22
0054 L14:
0054 .dbline 22
0054 6430 cpi R22,4
0056 40F3 brlo L11
0058 .dbline -2
0058 .dbline 29
0058 ; {
0058 ; PORTC=sel;
0058 ; PORTA=0xff-Table[p[i]];
0058 ; DelayMs(2);
0058 ; sel=sel<<1;
0058 ; }
0058 ; }
0058 L10:
0058 0E940000 xcall pop_gset3
005C .dbline 0 ; func end
005C 0895 ret
005E .dbsym r sel 20 c
005E .dbsym r i 22 c
005E .dbsym r p 10 pc
005E .dbend
005E .dbfunc e Add_Process _Add_Process fV
005E ; p -> R16,R17
.even
005E _Add_Process::
005E .dbline -1
005E .dbline 32
005E ;
005E ; void Add_Process(uchar *p)
005E ; {
005E .dbline 33
005E ; if(p[1]!=1)
005E F801 movw R30,R16
0060 8181 ldd R24,z+1
0062 8130 cpi R24,1
0064 99F0 breq L16
0066 .dbline 34
0066 ; {
0066 .dbline 35
0066 ; p[2]++;
0066 C801 movw R24,R16
0068 0296 adiw R24,2
006A FC01 movw R30,R24
006C 8081 ldd R24,z+0
006E 8F5F subi R24,255 ; addi 1
0070 8083 std z+0,R24
0072 .dbline 36
0072 ; if(p[2]==10) {p[2]=0;p[1]++;}
0072 F801 movw R30,R16
0074 8281 ldd R24,z+2
0076 8A30 cpi R24,10
0078 49F4 brne L18
007A .dbline 36
007A .dbline 36
007A 2224 clr R2
007C F801 movw R30,R16
007E 2282 std z+2,R2
0080 .dbline 36
0080 C801 movw R24,R16
0082 0196 adiw R24,1
0084 FC01 movw R30,R24
0086 8081 ldd R24,z+0
0088 8F5F subi R24,255 ; addi 1
008A 8083 std z+0,R24
008C .dbline 36
008C L18:
008C .dbline 37
008C L16:
008C .dbline -2
008C .dbline 38
008C ; }
008C ; }
008C L15:
008C .dbline 0 ; func end
008C 0895 ret
008E .dbsym r p 16 pc
008E .dbend
008E .dbfunc e Sub_Process _Sub_Process fV
008E ; temp -> R22
008E ; p -> R20,R21
.even
008E _Sub_Process::
008E 0E940000 xcall push_gset2
0092 A801 movw R20,R16
0094 .dbline -1
0094 .dbline 40
0094 .dbline 42
0094 .dbline 43
0094 FA01 movw R30,R20
0096 2180 ldd R2,z+1
0098 8AE0 ldi R24,10
009A 829D mul R24,R2
009C 602D mov R22,R0
009E FA01 movw R30,R20
00A0 2280 ldd R2,z+2
00A2 620D add R22,R2
00A4 69F0 breq L21
00A6 .dbline 44
00A6 .dbline 45
00A6 .dbline 46
00A6 6A95 dec R22
00A8 1AE0 ldi R17,10
00AA 062F mov R16,R22
00AC 0E940000 xcall div8u
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -