📄 digital_dispaly.lis
字号:
.module digital_dispaly.c
.area text(rom, con, rel)
0000 .dbfile D:\实例5~1/delay.h
0000 .dbfunc e Delay_ms _Delay_ms fV
0000 ; n -> R20
0000 ; Time -> R16,R17
.even
0000 _Delay_ms::
0000 00D0 rcall push_gset1
0002 .dbline -1
0002 .dbline 6
0002 ; #include <iom48v.h>
0002 ; #include <macros.h>
0002 ; #include "delay.h"
0002 ;
0002 ; const unsigned char DisTab[]=
0002 ; {
0002 08C0 rjmp L3
0004 L2:
0004 .dbline 9
0004 ; 0xFC,0x60,0xDA,0xF2,0x66, //0,1,2,3,4
0004 ; 0xB6,0xBE,0xE0,0xFE,0xF6, //5,6,7,8,9
0004 ; 0xEE,0x3E,0x9C,0x7A,0x9E, //A,b,C,d,E
0004 .dbline 10
0004 ; 0x8E,0xCE,0x1C,0x6E,0x7C, //F,P,L,H,U
0004 41E0 ldi R20,1
0006 02C0 rjmp L8
0008 L5:
0008 .dbline 11
0008 .dbline 12
0008 0000 nop
000A .dbline 13
000A L6:
000A .dbline 10
000A 4395 inc R20
000C L8:
000C .dbline 10
000C 4B3B cpi R20,187
000E E0F3 brlo L5
0010 .dbline 14
0010 0150 subi R16,1
0012 1040 sbci R17,0
0014 .dbline 15
0014 L3:
0014 .dbline 8
0014 0030 cpi R16,0
0016 0107 cpc R16,R17
0018 A9F7 brne L2
001A X0:
001A .dbline -2
001A L1:
001A 00D0 rcall pop_gset1
001C .dbline 0 ; func end
001C 0895 ret
001E .dbsym r n 20 c
001E .dbsym r Time 16 i
001E .dbend
.area lit(rom, con, rel)
0000 _DisTab::
0000 FC60 .byte 252,96
0002 DAF2 .byte 218,242
0004 66B6 .byte 'f,182
0006 BEE0 .byte 190,224
0008 FEF6 .byte 254,246
000A EE3E .byte 238,62
000C 9C7A .byte 156,'z
000E 9E8E .byte 158,142
0010 CE1C .byte 206,28
0012 6E7C .byte 'n,124
0014 0A10 .byte 10,16
0016 02 .byte 2
0017 .dbfile D:\实例5~1\digital_dispaly.c
0017 .dbsym e DisTab _DisTab A[23:23]kc
.area text(rom, con, rel)
001E .dbfile D:\实例5~1\digital_dispaly.c
001E .dbfunc e main _main fV
001E ; Counter -> R20
.even
001E _main::
001E .dbline -1
001E .dbline 15
001E ; 0x0A,0x10,0x02 //r,_,-
001E ; };
001E ;
001E ; void main (void)
001E ; {
001E .dbline 16
001E ; unsigned char Counter=0;
001E 4427 clr R20
0020 .dbline 18
0020 ;
0020 ; DDRC=0xFF;
0020 8FEF ldi R24,255
0022 87B9 out 0x7,R24
0024 .dbline 19
0024 ; DDRB=0xFF;
0024 84B9 out 0x4,R24
0026 .dbline 20
0026 ; DDRD=0xFF;
0026 8AB9 out 0xa,R24
0028 .dbline 21
0028 ; PORTC=0xFF;
0028 88B9 out 0x8,R24
002A .dbline 22
002A ; PORTB=0xFF;
002A 85B9 out 0x5,R24
002C .dbline 23
002C ; PORTD=0xFF;
002C 8BB9 out 0xb,R24
002E 10C0 rjmp L11
0030 L10:
0030 .dbline 26
0030 ;
0030 ; while(1)
0030 ; {
0030 .dbline 27
0030 ; PORTD=DisTab[Counter];
0030 80E0 ldi R24,<_DisTab
0032 90E0 ldi R25,>_DisTab
0034 E42F mov R30,R20
0036 FF27 clr R31
0038 E80F add R30,R24
003A F91F adc R31,R25
003C E491 lpm R30,Z
003E EBB9 out 0xb,R30
0040 .dbline 28
0040 ; Counter++;
0040 4395 inc R20
0042 .dbline 29
0042 ; if (Counter>22)
0042 86E1 ldi R24,22
0044 8417 cp R24,R20
0046 08F4 brsh L13
0048 .dbline 30
0048 ; Counter=0;
0048 4427 clr R20
004A L13:
004A .dbline 31
004A 04EF ldi R16,500
004C 11E0 ldi R17,1
004E D8DF rcall _Delay_ms
0050 .dbline 32
0050 L11:
0050 .dbline 25
0050 EFCF rjmp L10
0052 X1:
0052 .dbline -2
0052 L9:
0052 .dbline 0 ; func end
0052 0895 ret
0054 .dbsym r Counter 20 c
0054 .dbend
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -