бегущий огонь на 74нс595

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
Закрыто
Опытный кот
Сообщения: 768
Зарегистрирован: Сб ноя 08, 2008 18:32:36

Сообщение vovik15 »

здравствуйте ! хочу написать програмку для мк,который будеть управлять регистрами сдвига 74нс595
задача такая есть 6регистров соединенных последовательно. бегущая дочка должна выводиться так : из одного конца в другой и наоборот
вот так 00000001 00000010 00000100 00001000............10000000 и наоборот 100000000 01000000 00100000 ............00000001
немогу придумать код,вот в чем проблема
подскажите пожалуйсто!
Контактная информация:
Реклама
Друг Кота
Сообщения: 7853
Зарегистрирован: Ср фев 11, 2009 20:35:58

Сообщение otest »

для начала научись управлять 595-ой а потом и код родится
Реклама
Опытный кот
Сообщения: 768
Зарегистрирован: Сб ноя 08, 2008 18:32:36

Сообщение vovik15 »

ну я умею ей управлять,а вот код не рождаеться
Контактная информация:
Друг Кота
Сообщения: 7853
Зарегистрирован: Ср фев 11, 2009 20:35:58

Сообщение otest »

как это может не рождаться выложи что родилось и спроси у форума что не идёт. Какой язык, какой МК.?
Реклама
Эиком - электронные компоненты и радиодетали
Опытный кот
Сообщения: 768
Зарегистрирован: Сб ноя 08, 2008 18:32:36

Сообщение vovik15 »

я думаю что тип мк не принципиален для форума,хотя я пишу на си
Контактная информация:
Реклама
Опытный кот
Сообщения: 768
Зарегистрирован: Сб ноя 08, 2008 18:32:36

Сообщение vovik15 »

пока что ничего не родилось
Контактная информация:
Реклама
Друг Кота
Аватара пользователя
Сообщения: 7016
Зарегистрирован: Вс июл 12, 2009 19:15:29
Откуда: Ижевск

Сообщение pyzhman »

Покажи, как ты управляешь регистром. И схему приведи. (Боюсь, что протеус. Если так, то больше ничего не пишу.)
Docendo discimus
Контактная информация:
Друг Кота
Аватара пользователя
Сообщения: 3872
Зарегистрирован: Пт янв 29, 2010 10:27:40
Откуда: Москва

Сообщение Engineer_Keen »

vovik15 писал(а):ну я умею ей управлять
На каком уровне это умение? Можете определенный байт послать на 595?
Встал на лапы
Аватара пользователя
Сообщения: 127
Зарегистрирован: Пт июн 20, 2008 09:38:05
Откуда: Харьков

Сообщение Shapa »

vovik15, У вс задача вполне проста и понятна. Сам алгоритм своей программы вы описали в первом посте.
vovik15 писал(а):ну я умею ей управлять,а вот код не рождаеться
Отлично! Раз вы уже умете управлять этой группой регистров осталось дело за малым.
vovik15 писал(а): вот так 00000001 00000010 00000100 00001000............10000000 и наоборот 100000000 01000000 00100000 ............00000001
Берёте, пишите массив ваших значений, для каждого момента времени свой и загоняете их в регистры, добавив задержку между отправкой. Собственно задержка и определит скорость движения вашего огонька.
Вот и получается, кривой, косой, но работающий код. То что нужно. Но вы всегда можете его оптимизировать! Дерзайте!
Контактная информация:
Опытный кот
Сообщения: 768
Зарегистрирован: Сб ноя 08, 2008 18:32:36

Сообщение vovik15 »

боюсь что массив это не слишком оптимальный вариант для выбранного мной типа контроллера
представьте себе 48светодиодов. написание массива для них,это извращение
Контактная информация:
Друг Кота
Аватара пользователя
Сообщения: 3872
Зарегистрирован: Пт янв 29, 2010 10:27:40
Откуда: Москва

Сообщение Engineer_Keen »

Вообще управлять световыми эффектами можно двумя путями:
1) Вывод кадров (массив)
2) Вычисление функции
Раз вам массив не подходит, делайте через функцию. В вашем случае это будут сдвиги влево-вправо. Задали начальное значение и начинаем двигать, додвигали до края - двигаем в другую сторону.
Опытный кот
Сообщения: 768
Зарегистрирован: Сб ноя 08, 2008 18:32:36

Сообщение vovik15 »

хорошо,а как двигать вправо? а в лево?
Контактная информация:
Друг Кота
Аватара пользователя
Сообщения: 3872
Зарегистрирован: Пт янв 29, 2010 10:27:40
Откуда: Москва

Сообщение Engineer_Keen »

>>
<<
Можно еще на 2-4-8-16 делить/умножать :facepalm:
Опытный кот
Сообщения: 768
Зарегистрирован: Сб ноя 08, 2008 18:32:36

Сообщение vovik15 »

ПРАВДА????? :shock:
а то думал что в 595 можно только числа записывать
Последний раз редактировалось vovik15 Пн мар 26, 2012 17:50:10, всего редактировалось 1 раз.
Контактная информация:
Опытный кот
Сообщения: 768
Зарегистрирован: Сб ноя 08, 2008 18:32:36

Сообщение vovik15 »

наверное еще и можно и складывать,и вчитать тоже...
Контактная информация:
Опытный кот
Аватара пользователя
Сообщения: 849
Зарегистрирован: Сб янв 05, 2008 11:05:15
Откуда: Україна м.Луцьк

Сообщение sachok »

Вы издеваетесь...?
Почитайте про управление и принципы работы сдвиговых регистров, может станет что то ясней...

Народ это либо школьник либо троль...
Я не Сашок!!!
Контактная информация:
Друг Кота
Аватара пользователя
Сообщения: 3872
Зарегистрирован: Пт янв 29, 2010 10:27:40
Откуда: Москва

Сообщение Engineer_Keen »

vovik15 писал(а):ПРАВДА????? :shock:
а то думал что в 595 можно только числа записывать
наверное еще и можно и складывать,и вчитать тоже...
Кто сказал что операции сдвига нужно делать на регистре? В него только конечный результат нужно выдать. Хотя на нем тоже можно делать сдвиг, но только сверху-вниз (если смотреть на УГО). Или вы действительно издеваетесь или идите читать даташит на 595 регистр...
Модератор
Аватара пользователя
Сообщения: 13490
Зарегистрирован: Ср ноя 26, 2008 16:34:25
Откуда: Тамбовская обл.

Сообщение ploop »

Хотя на нем тоже можно делать сдвиг
Если быть точным - то добавив еще один корпус логики эту задачу можно решить без МК.
Но, чувствую, до этого еще далеко :)))
Опытный кот
Сообщения: 768
Зарегистрирован: Сб ноя 08, 2008 18:32:36

Сообщение vovik15 »

ура! получилось сдвинуть еденичку в самый низ
я установил на линии DS 1 потом сделал строб
потом на DS 0 потом еще 48раз строб и ,и защелку передернул, в результе еденичка ушла в самый низ
а как ее на верх передвигать?
Контактная информация:
Друг Кота
Аватара пользователя
Сообщения: 3872
Зарегистрирован: Пт янв 29, 2010 10:27:40
Откуда: Москва

Сообщение Engineer_Keen »

На верх только программно. Сначала передаем 1000000 - защелка, потом 01000000 - защелка, потом 00100000 - защелка, и т.д (пример для одного регистра).
Закрыто

Вернуться в «Микроконтроллеры и ПЛИС»