📄 light.lis
字号:
.module Light.c
.area code(ram, con, rel)
.area lit(rom, con, rel)
0000 _numTable::
0000 DB00 .word 219
0002 5000 .word 80
0004 1F00 .word 31
0006 5D00 .word 93
0008 D400 .word 212
000A CD00 .word 205
000C CF00 .word 207
000E 5800 .word 88
0010 DF00 .word 223
0012 DD00 .word 221
0014 0000 .word 0
0016 FF00 .word 255
0018 .dbfile G:\Mega8程序\TCXO评估板\LedShow\Light.c
0018 .dbsym e numTable _numTable A[24:12]ki
.area data(ram, con, rel)
0000 .dbfile G:\Mega8程序\TCXO评估板\LedShow\Light.c
.area text(rom, con, rel)
0000 .dbfile G:\Mega8程序\TCXO评估板\LedShow\Light.c
0000 .dbfunc e led_init _led_init fV
.even
0000 _led_init::
0000 .dbline -1
0000 .dbline 13
0000 ; #include <macros.h>
0000 ; #include <iom8v.h>
0000 ;
0000 ; #pragma data:code
0000 ; const unsigned numTable[]={0b11011011,0b01010000,//"0"、"1"
0000 ; 0b00011111,0b01011101,//"2"、"3"
0000 ; 0b11010100,0b11001101,//"4"、"5"
0000 ; 0b11001111,0b01011000,//"6"、"7"
0000 ; 0b11011111,0b11011101,//"8"、"9"
0000 ; 0b00000000,0b11111111};//全熄灭、全亮
0000 ; #pragma data:data
0000 ; void led_init(void)
0000 ; {
0000 .dbline 14
0000 ; DDRB=0xff;
0000 8FEF ldi R24,255
0002 87BB out 0x17,R24
0004 .dbline 15
0004 ; PORTB=0xff;
0004 88BB out 0x18,R24
0006 .dbline 16
0006 ; DDRD=0xff;
0006 81BB out 0x11,R24
0008 .dbline 17
0008 ; PORTD=0xff;
0008 82BB out 0x12,R24
000A .dbline -2
000A L1:
000A .dbline 0 ; func end
000A 0895 ret
000C .dbend
000C .dbfunc e spark _spark fV
000C ; num -> R22
000C ; pos -> R20
.even
000C _spark::
000C 00D0 rcall push_gset2
000E 622F mov R22,R18
0010 402F mov R20,R16
0012 .dbline -1
0012 .dbline 21
0012 ; }
0012 ; /*点亮pos位,数字为num*/
0012 ; void spark(unsigned char pos,unsigned char num)
0012 ; {
0012 .dbline 22
0012 ; PORTB=numTable[num];
0012 82E0 ldi R24,2
0014 869F mul R24,R22
0016 F001 movw R30,R0
0018 80E0 ldi R24,<_numTable
001A 90E0 ldi R25,>_numTable
001C E80F add R30,R24
001E F91F adc R31,R25
0020 0590 lpm R0,Z+
0022 1490 lpm R1,Z
0024 F001 movw R30,R0
0026 E8BB out 0x18,R30
0028 .dbline 23
0028 ; PORTD=(1<<pos);
0028 01E0 ldi R16,1
002A 142F mov R17,R20
002C 00D0 rcall lsl8
002E 02BB out 0x12,R16
0030 .dbline -2
0030 L2:
0030 00D0 rcall pop_gset2
0032 .dbline 0 ; func end
0032 0895 ret
0034 .dbsym r num 22 c
0034 .dbsym r pos 20 c
0034 .dbend
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -