Вт окт 03, 2006 12:09:50
Вт окт 03, 2006 12:33:07
Ср окт 04, 2006 16:09:30
Ср окт 04, 2006 16:22:13
что такое - Interrupt Vectors - Вектора Прерываний? А это ни что иное, как указатели на адрес ПЗУ, на который мы переходим в результате прерывания.Все векторы расположены в самом начале адресного пространства, и занимают первые 11 адресов ПЗУ (с $000 по $00A). Это прекрасно видно из таблицы. То есть, если мы, скажем, хотим активизировать прерывание Timer1_comp1, то мы должны по адресу $004 поставить ссылку на подпрограмму - обработчик этого прерывания. А вообще, лучше расставить в начале программы ссылки на все прерывания
Чт окт 05, 2006 13:03:35
.org 0x1C00
TIMER1_COMPA:
cli
ldi Temp0,0 ;îáíóëåíèå òàéìåðà
out TCNT1H,Temp0
out TCNT1L,Temp0
call Start
sei
reti
.cseg ;íà÷àëî ïðîãðàììíîãî ñåãìåíòà
.org 0 ;íà÷àëüíûé àäðåñ 0
jmp Reset ;ññûëêè íà ïðåðûâàíèÿ
jmp EXT_INT0 ; External Interrupt Request 0
jmp EXT_INT1 ; External Interrupt Request 1
jmp EXT_INT2 ; External Interrupt Request 2
jmp PC_INT0 ; Pin Change Interrupt Request 0
jmp PC_INT1
jmp TIMER3_CAPT
jmp TIMER3_COMPA
jmp TIMER3_COMPB
jmp TIMER3_OVF
jmp TIMER2_COMP
jmp TIMER2_OVF
jmp TIMER1_CAPT
jmp TIMER1_COMPA