Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту

Коллекция глюков Здесь публикуются все известные глюки, баги микроконтроллеров, памяти, АЦП и т.д.

Закрытая тема
Опции темы
Непрочитано 06.01.2011, 13:58   #1
jyraf
Прохожий
 
Регистрация: 12.04.2008
Сообщений: 9
Сказал спасибо: 1
Сказали Спасибо 7 раз(а) в 7 сообщении(ях)
jyraf на пути к лучшему
По умолчанию Таймер_1 tiny25

Доброго времени суток уважаемые форумчане!
Помогите пожалуйста разобраться с таймером Tiny25.

Встречал подобную проблему на других форумах, но люди пишут, что программа стала криво. У меня все хуже. Пробовал на трех разных машинах - результат один и тот-же...

Итак суть проблемы.
Использую Attiny25, пишу в AVR Studio (последняя версия с сервис паками)...
ТС0 использую под протокол 1-Wire, с ним все в порядке, работает как нужно. А вот ТС1 не запускается. На зарубежных форумах вычитал рекомендации использовать AVR Simulator2. Попробовал, да, в нем таймер запускается, но возникают проблемы с прерываниями, INT0 работает не правильно (срабатывает по любому изменению на входе, а не по спаду, как нужно), биты в порте В как то не так становятся, в общем полный геморрой. Кроме того, в самом счетчике ТС1 не очищается счетный регистр TCNT1, непонятки при попытке сбросить предделитель бит PSR1 в регистре GTCCR, и т.д.
В железе пока не воплощал. Грешу на косяки AVR Studio. Может кто что еще подскажет полезного.
Вот кусок кода.
Всем зареннее спасибо.


; === Инициализация таймер 1

outi OCR1A,TI ; в канал А время импульса запуска симистора
out OCR1B,calc_brigh ; в канал В время до включения симистора

* * *

; === Запуск ТС1

sbrp TIMSK,(1‹‹OCIE1A) ; разрешаем прерывание по совпадению канал А
sbrp TCCR1,(1‹‹CS12) ; запускаем ТС1 с предделителем 8
VS_On ; включить оптопару

* * *

; === Перезапуск ТС1

clri TCCR1 ; останавливаем ТС1
clri TCNT1 ; сбрасываем ТС1

cbrp TIMSK,(1‹‹OCIE1А) ; запрещаем прерывание по совпадению канал А
sbrp TIFR,(1‹‹OCF1В) ; сбрасываем флаг совпадения канал В
sbrp TIMSK,(1‹‹OCIE1В) ; разрешаем прерывание по совпадению канал В
sbrp TCCR1,(1‹‹CS12) ; запускаем ТС1 с предделителем 8

* * *

; === Остановка ТС1

clri TCCR1 ; останавливаем ТС1
clri TCNT1 ; сбрасываем ТС1
VS_Off ; выключаем оптопару
Реклама:
jyraf вне форума  
Закрытая тема

Закладки


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Часовой пояс GMT +4, время: 01:02.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot