📄 timer0.lis
字号:
.module timer0.c
.area data(ram, con, rel)
0000 _LedNum::
0000 .blkb 2
.area idata
0000 0807 .byte 8,7
.area data(ram, con, rel)
0002 .blkb 2
.area idata
0002 0605 .byte 6,5
.area data(ram, con, rel)
0004 .blkb 2
.area idata
0004 0403 .byte 4,3
.area data(ram, con, rel)
0006 .blkb 2
.area idata
0006 0201 .byte 2,1
.area data(ram, con, rel)
0008 .dbfile G:\Mega8程序\TCXO评估板\LedShow\timer0.c
0008 .dbsym e LedNum _LedNum A[8:8]c
.area vector(rom, abs)
.org 18
0012 00C0 rjmp _timer0
.area data(ram, con, rel)
0008 .dbfile G:\Mega8程序\TCXO评估板\LedShow\timer0.c
0008 L2:
0008 .blkb 1
.area idata
0008 00 .byte 0
.area data(ram, con, rel)
0009 .dbfile G:\Mega8程序\TCXO评估板\LedShow\timer0.c
0009 L3:
0009 .blkb 1
.area idata
0009 00 .byte 0
.area data(ram, con, rel)
000A .dbfile G:\Mega8程序\TCXO评估板\LedShow\timer0.c
.area text(rom, con, rel)
0000 .dbfile G:\Mega8程序\TCXO评估板\LedShow\timer0.c
0000 .dbfunc e timer0 _timer0 fV
0000 .dbsym s cTimes L3 c
0000 .dbsym s cPos L2 c
.even
0000 _timer0::
0000 00D0 rcall push_lset
0002 .dbline -1
0002 .dbline 7
0002 ; #include <iom8v.h>
0002 ; #include <macros.h>
0002 ; extern void spark(unsigned char pos,unsigned char num);
0002 ; unsigned char LedNum[8]={8,7,6,5,4,3,2,1};
0002 ; #pragma interrupt_handler timer0:10
0002 ; void timer0(void)
0002 ; {
0002 .dbline 17
0002 ; static unsigned char cPos=0;
0002 ; static unsigned char cTimes=0;
0002 ; /*
0002 ; if (++cTimes==1)
0002 ; {
0002 ; cTimes=0;
0002 ; cPos++;
0002 ; }
0002 ; */
0002 ; cPos++;
0002 80910800 lds R24,L2
0006 8F5F subi R24,255 ; addi 1
0008 80930800 sts L2,R24
000C .dbline 18
000C ; cPos&=0b00001111;
000C 8F70 andi R24,15
000E 80930800 sts L2,R24
0012 .dbline 19
0012 ; spark(cPos,LedNum[cPos]);
0012 80E0 ldi R24,<_LedNum
0014 90E0 ldi R25,>_LedNum
0016 E0910800 lds R30,L2
001A FF27 clr R31
001C E80F add R30,R24
001E F91F adc R31,R25
0020 2081 ldd R18,z+0
0022 00910800 lds R16,L2
0026 00D0 rcall _spark
0028 .dbline -2
0028 L1:
0028 00D0 rcall pop_lset
002A .dbline 0 ; func end
002A 1895 reti
002C .dbend
002C .dbfunc e timer0_init _timer0_init fV
.even
002C _timer0_init::
002C .dbline -1
002C .dbline 22
002C ; }
002C ; void timer0_init(void)
002C ; {
002C .dbline 23
002C ; TIMSK|=0x01;
002C 89B7 in R24,0x39
002E 8160 ori R24,1
0030 89BF out 0x39,R24
0032 .dbline 24
0032 ; TCCR0=0x03;//分频系数8(1/8)
0032 83E0 ldi R24,3
0034 83BF out 0x33,R24
0036 .dbline 25
0036 ; TCNT0=0xdf;//预置数
0036 8FED ldi R24,223
0038 82BF out 0x32,R24
003A .dbline -2
003A L4:
003A .dbline 0 ; func end
003A 0895 ret
003C .dbend
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -