Суббота, Май 30, 2020

Шаблон ATtiny2313

;Шаблон
.include "tn2313def.inc"
.list
.def     temp=r16
         .cseg              ;Выбор сегмента программного кода
         .org    0          ;Установка текущего адреса на ноль
;---------------Переопределение векторов прерывания 19шт.-----------------
start:   rjmp    init       ;Переход на начало программы.Прерывание по сбросу
         reti               ;Внешнее прерывание 0
         reti               ;Внешнее прерывание 1
         reti               ;Таймер/счётчик 1,захват
         reti               ;Таймер/счётчик 1,совпадение,канал А
         reti               ;Таймер/счётчик 1,прерывание по переполнению
         reti               ;Таймер/счётчик 0,прерывание по переполнению
         reti               ;Переполнение UART пирём завершён
         reti               ;Переполнение UART регистр данных пуст
         reti               ;Переполнение UART передача завершена
         reti               ;Прерывание по изменению на любом контакте
         reti               ;Переполнение по компаратору
         reti               ;Таймер/счётчик 1,совпадение,канал В
         reti               ;Таймер/счётчик 0,совпадение,канал В
         reti               ;Таймер/счётчик 0,совпадение,канал А
         reti               ;USI готовность к старту
         reti               ;USI Переполнение
         reti               ;EEPROM Готовность
         reti               ;Переполнение охранного таймера
;---------------Инициалазация регистров общего назначения--------------------
init:    ldi     temp,RAMEND;Выбор адреса вершины стека
         out     SPL,temp   ;Запись его в регистр стека
         ldi     temp,0x80  ;Загружаем в R16 число 1000 0000 или 128
         out     acsr,temp  ;Отключаем компаратор
;---------------Сдесь будет работать основная программа----------------------
main:    
         rjmp    main


;Шаблон без коментариев
.include "tn2313def.inc"
.list
.def     temp=r16
         .cseg
         .org    0
start:   rjmp    init
         reti
         reti
         reti
         reti
         reti
         reti
         reti
         reti
         reti
         reti
         reti
         reti
         reti
         reti
         reti
         reti
         reti
         reti
init:    ldi     temp,RAMEND
         out     SPL,temp
         ldi     temp,0x80
         out     acsr,temp
main:    
         rjmp    main





НАЗАД                            ASSEMBLER PIC 16F628A                              Cи ATtiny2313                               ДАЛЕЕ


Back to Top