attiny2313

Обсуждаем контроллеры компании Atmel.
Ответить
Родился
Сообщения: 3
Зарегистрирован: Ср май 07, 2014 16:55:58

Сообщение qalib »

Здравствуйте

Я первый раз в форуме

Помогите решать задачу на базе Attiny2313

на вход контроллера поступает от 1 до 8 импульсов
если поступил один импульс на выходе PB0 образуется лог 1
если 2 импульса на выходе PB1 образуется лог 1
....если 8 импульсов то на PB7 образуется лог 1

при повторном поступление импульсов выводе переходить в лог ноль
например. если на PB7 единица то после прихода следуюшего восьми импульсов PB7 становитса лог 0
Реклама
Вымогатель припоя
Аватара пользователя
Сообщения: 577
Зарегистрирован: Ср июн 19, 2013 08:10:48
Откуда: Москва, СПб, Липецк, Рязань

Сообщение ИС-пытатель »

Какая задержка между импульсами?

можно реализовать несколькими способами.
1. Опрос ноги порта и регистрация изменений ее состояния с подсчетом импульсов.
2. Использовать схему захвата таймера T1
Реклама
Родился
Сообщения: 3
Зарегистрирован: Ср май 07, 2014 16:55:58

Сообщение qalib »

ИС-пытатель писал(а):Какая задержка между импульсами?

можно реализовать несколькими способами.
1. Опрос ноги порта и регистрация изменений ее состояния с подсчетом импульсов.
2. Использовать схему захвата таймера T1
На входе звонки от телефона
надо чтобы он посчитал число кудков
если можно помогите написать си код и начертит схему
Вымогатель припоя
Сообщения: 601
Зарегистрирован: Ср янв 06, 2010 10:01:46

Сообщение metan »

qalib писал(а):помогите написать си код и начертит схему
Это что значит - помочь? Я ничего не вижу, даже намёков на вашу схему и программу. Если это значит
"сделать за вас" - так это не помощь, это в другой теме (есть работа) http://radiokot.ru/forum/viewforum.php?f=53
И желательно более серьезно относиться к постановке задачи.
Реклама
Эиком - электронные компоненты и радиодетали
Это не хвост, это антенна
Аватара пользователя
Сообщения: 1438
Зарегистрирован: Вт окт 28, 2008 09:00:18
Откуда: Украина, Харьков

Сообщение Dr. Alex »

Решение очень простое. Записываете в PORTB = 0х01. Дальше импульсы подаёте на INT0, для примера и по прерыванию сдвигаете на один вправо, вот и получите то что вам надо)))))

Код: Выделить всё

..........

ISR(INT0_vect)
{
PORTB = (PORTB<<1);
}

..................
Порой мне кажется, что я делаю какое-то дерьмо, но когда я вижу, что делают другие, то я чувствую себя гением...
Контактная информация:
Реклама
Родился
Сообщения: 3
Зарегистрирован: Ср май 07, 2014 16:55:58

Сообщение qalib »

Спасибо всем!!!
Я попробую
Реклама
Это не хвост, это антенна
Аватара пользователя
Сообщения: 1438
Зарегистрирован: Вт окт 28, 2008 09:00:18
Откуда: Украина, Харьков

Сообщение Dr. Alex »

Как будете пробовать - инициализируйте прерывание по входу INTx!!! :)
Порой мне кажется, что я делаю какое-то дерьмо, но когда я вижу, что делают другие, то я чувствую себя гением...
Контактная информация:
Мучитель микросхем
Аватара пользователя
Сообщения: 444
Зарегистрирован: Вс ноя 28, 2010 15:18:52
Откуда: Минск

Сообщение ANALOG »

С поставленной задачей прекрасно справится сдвиговый регистр, например, 74LS165
Если, конечно, это не в целях изучения AVR делается :)
Это не хвост, это антенна
Аватара пользователя
Сообщения: 1438
Зарегистрирован: Вт окт 28, 2008 09:00:18
Откуда: Украина, Харьков

Сообщение Dr. Alex »

Конечно ,можно использовать регистр + формирователь импульса, но вопрос стоял про ТИНИ 2313!
Порой мне кажется, что я делаю какое-то дерьмо, но когда я вижу, что делают другие, то я чувствую себя гением...
Контактная информация:
Ответить

Вернуться в «AVR»