📄 timer1.lis
字号:
011A 00930000 sts _capt_timer1,R16
011E .dbline 42
011E ; cap[0]='0'+capt_timer1;
011E C801 movw R24,R16
0120 C096 adiw R24,48
0122 80930000 sts _cap,R24
0126 .dbline 43
0126 ; LCD_DisplayString(2,1,"LENTH= ");
0126 80E0 ldi R24,<L6
0128 90E0 ldi R25,>L6
012A 9983 std y+1,R25
012C 8883 std y+0,R24
012E 21E0 ldi R18,1
0130 02E0 ldi R16,2
0132 0E940000 xcall _LCD_DisplayString
0136 .dbline 44
0136 ; LCD_Cursor (2,8);
0136 28E0 ldi R18,8
0138 02E0 ldi R16,2
013A 0E940000 xcall _LCD_Cursor
013E .dbline 45
013E ; LCD_DisplayCharacter (cap[3]);
013E 00910300 lds R16,_cap+3
0142 0E940000 xcall _LCD_DisplayCharacter
0146 .dbline 46
0146 ; LCD_Cursor (2,9);
0146 29E0 ldi R18,9
0148 02E0 ldi R16,2
014A 0E940000 xcall _LCD_Cursor
014E .dbline 47
014E ; LCD_DisplayCharacter (cap[2]);
014E 00910200 lds R16,_cap+2
0152 0E940000 xcall _LCD_DisplayCharacter
0156 .dbline 48
0156 ; LCD_Cursor (2,10);
0156 2AE0 ldi R18,10
0158 02E0 ldi R16,2
015A 0E940000 xcall _LCD_Cursor
015E .dbline 49
015E ; LCD_DisplayCharacter (cap[1]);
015E 00910100 lds R16,_cap+1
0162 0E940000 xcall _LCD_DisplayCharacter
0166 .dbline 50
0166 ; LCD_Cursor (2,11);
0166 2BE0 ldi R18,11
0168 02E0 ldi R16,2
016A 0E940000 xcall _LCD_Cursor
016E .dbline 51
016E ; LCD_DisplayCharacter ('.');
016E 0EE2 ldi R16,46
0170 0E940000 xcall _LCD_DisplayCharacter
0174 .dbline 52
0174 ; LCD_Cursor (2,12);
0174 2CE0 ldi R18,12
0176 02E0 ldi R16,2
0178 0E940000 xcall _LCD_Cursor
017C .dbline 53
017C ; LCD_DisplayCharacter (cap[0]);
017C 00910000 lds R16,_cap
0180 0E940000 xcall _LCD_DisplayCharacter
0184 .dbline 54
0184 ; LCD_DisplayString(2,13,"m ");
0184 80E0 ldi R24,<L10
0186 90E0 ldi R25,>L10
0188 9983 std y+1,R25
018A 8883 std y+0,R24
018C 2DE0 ldi R18,13
018E 02E0 ldi R16,2
0190 0E940000 xcall _LCD_DisplayString
0194 .dbline -2
0194 .dbline 55
0194 ; }
0194 L2:
0194 2296 adiw R28,2
0196 0E940000 xcall pop_lset
019A .dbline 0 ; func end
019A 1895 reti
019C .dbend
.area vector(rom, abs)
.org 32
0020 0C94CE00 jmp _timer1_ovf_isr
.area text(rom, con, rel)
019C .dbfile D:\NEW\ECHO\timer1.c
019C .dbfunc e timer1_ovf_isr _timer1_ovf_isr fV
.even
019C _timer1_ovf_isr::
019C 0E940000 xcall push_lset
01A0 2297 sbiw R28,2
01A2 .dbline -1
01A2 .dbline 59
01A2 ;
01A2 ; #pragma interrupt_handler timer1_ovf_isr:9
01A2 ; void timer1_ovf_isr(void)
01A2 ; {
01A2 .dbline 61
01A2 ; //TIMER1 has overflowed
01A2 ; timer1_stop();
01A2 1BD0 xcall _timer1_stop
01A4 .dbline 62
01A4 ; TIMSK = 0x00; //disable ovf interupt
01A4 2224 clr R2
01A6 29BE out 0x39,R2
01A8 .dbline 63
01A8 ; TCNT1H = 0xCF /*INVALID SETTING*/; //reload counter high value
01A8 8FEC ldi R24,207
01AA 8DBD out 0x2d,R24
01AC .dbline 64
01AC ; TCNT1L = 0x2C /*INVALID SETTING*/; //reload counter low value
01AC 8CE2 ldi R24,44
01AE 8CBD out 0x2c,R24
01B0 .dbline 65
01B0 ; LCD_DisplayString(2,1,"OUT OF RANGE !");//(ROW(1-2),COLUMN(1-16),STRING)
01B0 80E0 ldi R24,<L12
01B2 90E0 ldi R25,>L12
01B4 9983 std y+1,R25
01B6 8883 std y+0,R24
01B8 21E0 ldi R18,1
01BA 02E0 ldi R16,2
01BC 0E940000 xcall _LCD_DisplayString
01C0 .dbline -2
01C0 .dbline 66
01C0 ; }
01C0 L11:
01C0 2296 adiw R28,2
01C2 0E940000 xcall pop_lset
01C6 .dbline 0 ; func end
01C6 1895 reti
01C8 .dbend
01C8 .dbfunc e timer1_start _timer1_start fV
.even
01C8 _timer1_start::
01C8 .dbline -1
01C8 .dbline 69
01C8 ;
01C8 ; void timer1_start(void)
01C8 ; {TCCR1B = 0x00;//STOP TIMER1
01C8 .dbline 69
01C8 2224 clr R2
01CA 2EBC out 0x2e,R2
01CC .dbline 70
01CC ; TCNT1H = 0xCF;//200 000 us
01CC 8FEC ldi R24,207
01CE 8DBD out 0x2d,R24
01D0 .dbline 71
01D0 ; TCNT1L = 0x2C ;
01D0 8CE2 ldi R24,44
01D2 8CBD out 0x2c,R24
01D4 .dbline 72
01D4 ; TCCR1B = 0xC3;
01D4 83EC ldi R24,195
01D6 8EBD out 0x2e,R24
01D8 .dbline -2
01D8 .dbline 73
01D8 ; }
01D8 L13:
01D8 .dbline 0 ; func end
01D8 0895 ret
01DA .dbend
01DA .dbfunc e timer1_stop _timer1_stop fV
.even
01DA _timer1_stop::
01DA .dbline -1
01DA .dbline 75
01DA ; void timer1_stop(void)
01DA ; {
01DA .dbline 76
01DA ; TCCR1B=0x00;//STOP TIMER1
01DA 2224 clr R2
01DC 2EBC out 0x2e,R2
01DE .dbline -2
01DE .dbline 77
01DE ; }
01DE L14:
01DE .dbline 0 ; func end
01DE 0895 ret
01E0 .dbend
.area bss(ram, con, rel)
0000 .dbfile D:\NEW\ECHO\timer1.c
0000 _capt_timer1::
0000 .blkb 2
0002 .dbfile D:\NEW\ECHO/timer1.h
0002 .dbsym e capt_timer1 _capt_timer1 i
.area data(ram, con, rel)
0004 .dbfile D:\NEW\ECHO/timer1.h
0004 L12:
0004 .blkb 15
.area idata
0004 4F5554204F462052414E4745202100 .byte 'O,'U,'T,32,'O,'F,32,'R,'A,'N,'G,'E,32,33,0
.area data(ram, con, rel)
0013 .dbfile D:\NEW\ECHO/timer1.h
0013 L10:
0013 .blkb 7
.area idata
0013 6D202020202000 .byte 'm,32,32,32,32,32,0
.area data(ram, con, rel)
001A .dbfile D:\NEW\ECHO/timer1.h
001A L6:
001A .blkb 8
.area idata
001A 4C454E54483D2000 .byte 'L,'E,'N,'T,'H,61,32,0
.area data(ram, con, rel)
0022 .dbfile D:\NEW\ECHO/timer1.h
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -