123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152 |
- ; Автор: shilow@ukr.net
- ; Дата:
- ; Название:
- ; Версия:
- ; Имя файла:
- ; Для AVR: ATmega8
- ; Тактовая частота:
- ; Выполняемые функции:
- ;
- ;
- .listmac ; развернём макросы
- ; инклуды
- .nolist
- .include "m8adef.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 CompareA Handler
- rjmp TIM1_COMPB ; Timer1 CompareB 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 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
- ;;;;; Подпрограммы
- ;;;;; Обработчики прерываний
- ; IRQ0 Handler
- EXT_INT0:
- reti
- ; IRQ1 Handler
- EXT_INT1:
- reti
- ; Timer2 Compare Handler
- TIM2_COMP:
- reti
- ; Timer2 Overflow Handler
- TIM2_OVF:
- reti
- ; Timer1 Capture Handler
- TIM1_CAPT:
- reti
- ; Timer1 CompareA Handler
- TIM1_COMPA:
- reti
- ; Timer1 CompareB Handler
- TIM1_COMPB:
- reti
- ; Timer1 Overflow Handler
- TIM1_OVF:
- reti
- ; Timer0 Overflow Handler
- TIM0_OVF:
- reti
- ; SPI Transfer Complete Handler
- SPI_STC:
- reti
- ; USART RX Complete Handler
- USART_RXC:
- reti
- ; UDR Empty Handler
- USART_UDRE:
- reti
- ; USART TX Complete Handler
- USART_TXC:
- reti
- ; ADC Conversion Complete Handler
- ADCC:
- reti
- ; EEPROM Ready Handler
- EE_RDY:
- reti
- ; Analog Comparator Handler
- ANA_COMP:
- reti
- ; Two-wire Serial Interface Handler
- TWSI:
- reti
- ; Store Program Memory Ready Handler
- SPM_RDY:
- reti
- .exit
|