Help - Avr, Таймер.

20-05-2014, 20:09 От: admin Посмотрели: 436
не пойму в чем дело Help - Avr, Таймер.

Вроде должен же на прерывание уходить

В начале дал общее разрешение на Прерывания - SEI

Настроил 16-ти битный Таймер 1

Поставил маску на совпадении в канале А

Установил вектора



При пошаговом дебагиннге не работает- не переходит на прерывание.



Хотя TIFR выставляется, счетчик обнуляется...



Заметил, что бит разрешения прерываний регистра SERG в процессе исполнения программы тоже со временем обнуляется :/



Прошу помощи или ,хотя бы, подсказки Help - Avr, Таймер.





сам код на ассамблере:





.include "tn2313def.inc"
.list

.def temp = R16
.def cou = R18
.def schet = R19
.equ kdel = 256

.cseg
.org 0

start: rjmp init
reti
reti
reti
rjmp timer
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


CLI

; настройка таймера

ldi temp, 0b00001001
out TCCR1B, temp
ldi temp, high(kdel)
out OCR1AH, temp
ldi temp, low(kdel)
out OCR1AL, temp

; maska таймера

ldi temp, 0b01000000
out TIMSK, temp

SEI


exit:
rjmp exit

timer:
inc cou



что я делаю не так?
Раздел: Песочница или Вопрос-Ответ

Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться, либо войти на сайт под своим именем.

Обсудить на форуме


На момент добавления Help - Avr, Таймер. все ссылки были рабочие.
Все публикации статей, книг и журналов, представлены на этом сайте, исключительно для ознакомления,
авторские права на эти публикации принадлежат авторам статей, книг и издательствам журналов!
Подробно тут | Жалоба
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.


Опрос

Ваши предпочтения в TRX


Одинарное преобразование
Двойное преобразование
Прямое преобразование
SDR
Другое
Мне всё равно

Популярные новости
Календарь новостей
«    Май 2024    »
ПнВтСрЧтПтСбВс
 12345
6789101112
13141516171819
20212223242526
2728293031