.device ATmega8 .nolist .include "D:\Programs\Electronic\Atmel\AVR Tools\AvrAssembler\Appnotes\m8def.inc" .list ; ==================================== ; Объявления: .def Temp =R16 .def Temp1 =R17 .def Temp2 =R18 .def Tmp =R19 .def Second =R20 .def DSecond=R21 .def Minute =R22 .def DMinute=R23 .def Hour =R24 .def DHour =R25 .def Count =R26 .dseg Digit: .byte 6 ; ==================================== .cseg .org 0 rjmp RESET ; Reset Handler rjmp EXT_INT0 ; IRQ0 Handler rjmp EXT_INT1 ; IRQ1 Handler rjmp TIM_CAPT1 ; Timer1 Capture Handler rjmp TIMER1_COMP1 ; Timer1 Compare Handler rjmp TIM_OVF1 ; Timer1 Overflow Handler rjmp TIM_OVF0 ; Timer0 Overflow Handler rjmp UART_RXC ; UART RX Complete Handler rjmp UART_DRE ; UDR Empty Handler rjmp UART_TXC ; UART TX Complete Handler rjmp ANA_COMP ; Analog Comparator Handler EXT_INT0 : ret EXT_INT1 : ret TIM_CAPT1 : ret TIMER1_COMP1: ret TIM_OVF1 : ret UART_RXC : ret UART_DRE : ret UART_TXC : ret ANA_COMP : ret ;WW по-моему таблица прерываний не полная RESET: ldi Temp,low(RamEnd) ; Инициализация стека out SPL,Temp ; -- // -- ldi Temp,high(RamEnd) ; -- // -- out SPH,Temp ; -- // -- ldi Temp,0b11111111 ; настройка портa D out DDRD,Temp ; весь порт - выходы ldi Temp,0b00111111 ; настройка портa B out DDRB,Temp ; PB0-PB5 - выходы, остальные не используются ldi Temp,0b01100000 ; настройка портa C out DDRC,Temp ; PC5-PC6 - выходы, остальные не используются ; ** настройку периферии лучше проводить так в этом случае повышается читабельность: ldi Temp,(1<