.include "m8def.inc"

.def	temp0 	= R16				; Рабочая переменная
.def	temp1	= R17				; Задаваемый уровень сигнала

.cseg
rjmp RESET ; Reset Handler
reti;rjmp EXT_INT0 ; IRQ0 Handler
reti;rjmp EXT_INT1 ; IRQ1 Handler
reti;rjmp TIM2_COMP ; Timer2 Compare Handler
reti;rjmp TIM2_OVF ; Timer2 Overflow Handler
reti;rjmp TIM1_CAPT ; Timer1 Capture Handler
rjmp TIM1_COMPA ; Timer1 CompareA Handler
reti;rjmp TIM1_COMPB ; Timer1 CompareB Handler
reti;;rjmp TIM1_OVF ; Timer1 Overflow Handler
reti;rjmp TIM0_OVF ; Timer0 Overflow Handler
reti;rjmp SPI_STC ; SPI Transfer Complete Handler
reti;rjmp USART_RXC ; USART RX Complete Handler
reti;rjmp USART_UDRE ; UDR Empty Handler
reti;rjmp USART_TXC ; USART TX Complete Handler
reti;rjmp ADC ; ADC Conversion Complete Handler
reti;rjmp EE_RDY ; EEPROM Ready Handler
reti;rjmp ANA_COMP ; Analog Comparator Handler
reti;rjmp TWSI ; Two-wire Serial Interface Handler
reti;rjmp SPM_RDY ; Store Program Memory Ready Handler
;==========Прерывание==========================================
TIM1_COMPA:		;Timer1 CompareA Handler
		ldi r20,0xD0		;Начальное значение счетчика TCNT1
		ldi r21,0x00		;Начальное значение счетчика TCNT1
		out TCNT1H,r20		;Начальное значение счетчика TCNT1
		out TCNT1L,r21		;Начальное значение счетчика TCNT1

		IN R16,portc	;Инверсия PORTC.2
		LDI R17,1<<2	;Инверсия PORTC.2
		EOR R17,R16	;Инверсия PORTC.2
		OUT portc,R17	;Инверсия PORTC.2

		IN R16,portc	;Инверсия PORTC.1
		LDI R17,1<<1	;Инверсия PORTC.1
		EOR R17,R16	;Инверсия PORTC.1
		OUT portc,R17	;Инверсия PORTC.1

;		IN R20,portc	;Инверсия PORTC.2 	Вторая инверсия
;		LDI R21,1<<2	;Инверсия PORTC.2
;		EOR R21,R20	;Инверсия PORTC.2
;		OUT portc,R21	;Инверсия PORTC.2
	reti	
;------------------------------------------------------------------------------
; Инициализация 
;------------------------------------------------------------------------------
Reset:	LDI     Temp0,HIGH(RAMEND)	; Загрузка указателя стека
		OUT    	SPH,Temp0
		LDI     	Temp0,LOW(RAMEND)
		OUT    	SPL,Temp0
		ldi	temp0, 0xFF	; Весь порт C - на вывод.
		out	DDRc, temp0
;===========================================================================
			;Инициализация таймера1
		cli
		ldi r17,0xff		;Значение компаратора OCR1A
		ldi r16,0x00		;Значение компаратора OCR1A
		out OCR1AH,r17		;Значение компаратора OCR1A
		out OCR1AL,r16		;Значение компаратора OCR1A
		ldi Temp0, 0<<CS12 | 1<<CS11 | 1<<CS10 | 0<<WGM12	;Prescaler /64
		out TCCR1B,Temp0					;Prescaler /64
		ldi Temp0,1<<OCIE1A 	;T/C1, Output Compare A Match Interrupt Enable
		out TIMSK,Temp0		;T/C1, Output Compare A Match Interrupt Enable		
		sei
Start:		; Главный цикл
		rjmp	Start
;------------------------------------------------------------------------------


