; Автор:	shilow@ukr.net
; Дата:
; Название:
; Версия:
; Имя файла:
; Для AVR:	ATmega8535
; Тактовая частота:
; Выполняемые функции:
;
;

;******************************
.listmac	; развернём макросы
; инклуды
.nolist
.include "m8535def.inc"
.list

;******************************
; опредления
.def temp	= r16	; рабочая переменная

;******************************
; константы
.equ a		= 0	; sample

;******************************
; ячейки в СОЗУ
.DSEG
;.ORG	SRAM_START
Sample:		.byte	30

;******************************
; константы в EEPROM
.ESEG
smpl1:		.DW	0x0000	; sample 1
smpl2:		.DB	0x05	; sample 2

;******************************
; память программ
.CSEG
.ORG 0
;******************************
; Таблица векторов прерываний
	rjmp	RESET		; Reset Handler
	rjmp	EXT_INT0	; IRQ0 Handler
	rjmp	EXT_INT1	; IRQ1 Handler
	rjmp	TIM2_COMP	; Timer2 Compare Handler
	rjmp	TIM2_OVF	; Timer2 Overflow Handler
	rjmp	TIM1_CAPT	; Timer1 Capture Handler
	rjmp	TIM1_COMPA	; Timer1 Compare A Handler
	rjmp	TIM1_COMPB	; Timer1 Compare B Handler
	rjmp	TIM1_OVF	; Timer1 Overflow Handler
	rjmp	TIM0_OVF	; Timer0 Overflow Handler
	rjmp	SPI_STC		; SPI Transfer Complete Handler
	rjmp	USART_RXC	; USART RX Complete Handler
	rjmp	USART_UDRE	; UDR Empty Handler
	rjmp	USART_TXC	; USART TX Complete Handler
	rjmp	ADCC		; ADC Conversion Complete Handler
	rjmp	EE_RDY		; EEPROM Ready Handler
	rjmp	ANA_COMP	; Analog Comparator Handler
	rjmp	TWSI		; Two-wire Serial Interface Handler
	rjmp	EXT_INT2	; IRQ2 Handler
	rjmp	TIM0_COMP	; Timer0 Compare Handler
	rjmp	SPM_RDY		; Store Program Memory Ready Handler

;******************************
;;;;; Первичная инициализация
RESET:
; Set Stack Pointer to top of RAM
	ldi	temp,high(RAMEND)
	out	SPH,temp
	ldi	temp,low(RAMEND)
	out	SPL,temp
; выкл. аналог, компаратор
	ldi	temp,1<<ACD
	out	ACSR,temp
; Enable interrupts
	sei
;******************************
;;;;; Основная программа
BEGIN:
	rjmp	BEGIN

;******************************
;;;;; Подпрограммы

;******************************
;;;;; Обработчики прерываний

EXT_INT0:	; IRQ0 Handler
	reti

EXT_INT1:	; IRQ1 Handler
	reti

TIM2_COMP:	; Timer2 Compare Handler
	reti

TIM2_OVF:	; Timer2 Overflow Handler
	reti

TIM1_CAPT:	; Timer1 Capture Handler
	reti

TIM1_COMPA:	; Timer1 Compare A Handler
	reti

TIM1_COMPB:	; Timer1 Compare B Handler
	reti

TIM1_OVF:	; Timer1 Overflow Handler
	reti

TIM0_OVF:	; Timer0 Overflow Handler
	reti

SPI_STC:	; SPI Transfer Complete Handler
	reti

USART_RXC:	; USART RX Complete Handler
	reti

USART_UDRE:	; UDR Empty Handler
	reti

USART_TXC:	; USART TX Complete Handler
	reti

ADCC:		; ADC Conversion Complete Handler
	reti

EE_RDY:		; EEPROM Ready Handler
	reti

ANA_COMP:	; Analog Comparator Handler
	reti

TWSI:		; Two-wire Serial Interface Handler
	reti

EXT_INT2:	; IRQ2 Handler
	reti

TIM0_COMP:	; Timer0 Compare Handler
	reti

SPM_RDY:	; Store Program Memory Ready Handler
	reti

.exit
