123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136 |
- ; Автор: shilow@ukr.net
- ; Дата:
- ; Название:
- ; Версия:
- ; Имя файла:
- ; Для AVR: ATtiny24A
- ; Тактовая частота:
- ; Выполняемые функции:
- ;
- ; Шаблон для ATtiny24A
- ;
- .listmac ; развернём макросы
- ;******************************
- ; инклуды
- .nolist
- .include "tn24Adef.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 INT0 ; IRQ0 Handler
- rjmp PCINT0 ; PCINT0 Handler
- rjmp PCINT1 ; PCINT1 Handler
- rjmp WDT ; Watchdog Interrupt 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_COMPA ; Timer0 Compare A Handler
- rjmp TIM0_COMPB ; Timer0 Compare B Handler
- rjmp TIM0_OVF ; Timer0 Overflow Handler
- rjmp ANA_COMP ; Analog Comparator Handler
- rjmp ADCC ; ADC Conversion Handler
- rjmp EE_RDY ; EEPROM Ready Handler
- rjmp USI_STR ; USI STart Handler
- rjmp USI_OVF ; USI Overflow Handler
- ;******************************
- ;;;;; Первичная инициализация
- RESET: ldi r16,high(RAMEND); Main program start
- out SPH,r16 ; Set Stack Pointer to top of RAM
- ldi r16,low(RAMEND)
- out SPL,r16
- ; выкл. аналог, компаратор
- ldi temp,1<<ACD
- out ACSR,temp
- ; Enable interrupts
- sei
- ;******************************
- ;;;;; Основная программа
- BEGIN:
- ;;;;
- rjmp BEGIN
- ;******************************
- ;;;;; Подпрограммы
- ;******************************
- ;;;;; Обработчики прерываний
- INT0: ; IRQ0 Handler
- reti
- PCINT0: ; PCINT0 Handler
- reti
- PCINT1: ; PCINT1 Handler
- reti
- WDT: ; Watchdog Interrupt 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_COMPA: ; Timer0 Compare A Handler
- reti
- TIM0_COMPB: ; Timer0 Compare B Handler
- reti
- TIM0_OVF: ; Timer0 Overflow Handler
- reti
- ANA_COMP: ; Analog Comparator Handler
- reti
- ADCC: ; ADC Conversion Handler
- reti
- EE_RDY: ; EEPROM Ready Handler
- reti
- USI_STR: ; USI STart Handler
- reti
- USI_OVF: ; USI Overflow Handler
- reti
- ;
- .exit
|