📄 interupts.s
字号:
.module interupts.c
.area vector(rom, abs)
.org 36
jmp _timer0_ovf_isr
.area text(rom, con, rel)
.dbfile C:\DOCUME~1\Administrator.1B4135EF7FF9405\桌面\智能小车案\code\interupts.c
.dbfunc e timer0_ovf_isr _timer0_ovf_isr fV
.even
_timer0_ovf_isr::
st -y,R24
in R24,0x3f
st -y,R24
.dbline -1
.dbline 8
; /*******************************************************************************
; ** 文件名:interupts.c 中断处理函数
; *******************************************************************************/
; #include "config.h"
;
; #pragma interrupt_handler timer0_ovf_isr:10
; void timer0_ovf_isr(void)
; {
.dbline 9
; TCNT0 = 0x01; //reload counter value
ldi R24,1
out 0x32,R24
.dbline -2
L1:
ld R24,y+
out 0x3f,R24
ld R24,y+
.dbline 0 ; func end
reti
.dbend
.area vector(rom, abs)
.org 76
jmp _timer0_comp_isr
.area text(rom, con, rel)
.dbfile C:\DOCUME~1\Administrator.1B4135EF7FF9405\桌面\智能小车案\code\interupts.c
.dbfunc e timer0_comp_isr _timer0_comp_isr fV
.even
_timer0_comp_isr::
.dbline -1
.dbline 14
; }
;
; #pragma interrupt_handler timer0_comp_isr:20
; void timer0_comp_isr(void)
; {
.dbline -2
L2:
.dbline 0 ; func end
reti
.dbend
.area vector(rom, abs)
.org 20
jmp _timer2_ovf_isr
.area text(rom, con, rel)
.dbfile C:\DOCUME~1\Administrator.1B4135EF7FF9405\桌面\智能小车案\code\interupts.c
.dbfunc e timer2_ovf_isr _timer2_ovf_isr fV
.even
_timer2_ovf_isr::
st -y,R24
in R24,0x3f
st -y,R24
.dbline -1
.dbline 20
; //compare occured TCNT0=OCR0
; }
;
; #pragma interrupt_handler timer2_ovf_isr:6
; void timer2_ovf_isr(void)
; {
.dbline 21
; TCNT2 = 0x01; //reload counter value
ldi R24,1
out 0x24,R24
.dbline -2
L3:
ld R24,y+
out 0x3f,R24
ld R24,y+
.dbline 0 ; func end
reti
.dbend
.area vector(rom, abs)
.org 28
jmp _timer2_comp_isr
.area text(rom, con, rel)
.dbfile C:\DOCUME~1\Administrator.1B4135EF7FF9405\桌面\智能小车案\code\interupts.c
.dbfunc e timer2_comp_isr _timer2_comp_isr fV
.even
_timer2_comp_isr::
.dbline -1
.dbline 31
; }
;
; /******************************************************************************/
; // T2 控制PWM输出
; // timer2_comp_isr不需要用,但是必须允许中断,在中断时有信号输出变化
; /******************************************************************************/
;
; #pragma interrupt_handler timer2_comp_isr:8
; void timer2_comp_isr(void)
; {
.dbline -2
L4:
.dbline 0 ; func end
reti
.dbend
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -