бегущий огонь на 74нс595
бегущий огонь на 74нс595
здравствуйте ! хочу написать програмку для мк,который будеть управлять регистрами сдвига 74нс595
задача такая есть 6регистров соединенных последовательно. бегущая дочка должна выводиться так : из одного конца в другой и наоборот
вот так 00000001 00000010 00000100 00001000............10000000 и наоборот 100000000 01000000 00100000 ............00000001
немогу придумать код,вот в чем проблема
подскажите пожалуйсто!
задача такая есть 6регистров соединенных последовательно. бегущая дочка должна выводиться так : из одного конца в другой и наоборот
вот так 00000001 00000010 00000100 00001000............10000000 и наоборот 100000000 01000000 00100000 ............00000001
немогу придумать код,вот в чем проблема
подскажите пожалуйсто!
- Реклама
Re: бегущий огонь на 74нс595
для начала научись управлять 595-ой а потом и код родится
Re: бегущий огонь на 74нс595
ну я умею ей управлять,а вот код не рождаеться
Re: бегущий огонь на 74нс595
как это может не рождаться выложи что родилось и спроси у форума что не идёт. Какой язык, какой МК.?
Re: бегущий огонь на 74нс595
я думаю что тип мк не принципиален для форума,хотя я пишу на си
- Реклама
Re: бегущий огонь на 74нс595
пока что ничего не родилось
- pyzhman
- Друг Кота
- Сообщения: 7016
- Зарегистрирован: Вс июл 12, 2009 19:15:29
- Откуда: Ижевск
- Контактная информация:
Re: бегущий огонь на 74нс595
Покажи, как ты управляешь регистром. И схему приведи. (Боюсь, что протеус. Если так, то больше ничего не пишу.)
Docendo discimus
- Engineer_Keen
- Друг Кота
- Сообщения: 3872
- Зарегистрирован: Пт янв 29, 2010 10:27:40
- Откуда: Москва
Re: бегущий огонь на 74нс595
На каком уровне это умение? Можете определенный байт послать на 595?vovik15 писал(а):ну я умею ей управлять
- Shapa
- Встал на лапы
- Сообщения: 127
- Зарегистрирован: Пт июн 20, 2008 09:38:05
- Откуда: Харьков
- Контактная информация:
Re: бегущий огонь на 74нс595
vovik15, У вс задача вполне проста и понятна. Сам алгоритм своей программы вы описали в первом посте.
Вот и получается, кривой, косой, но работающий код. То что нужно. Но вы всегда можете его оптимизировать! Дерзайте!
Отлично! Раз вы уже умете управлять этой группой регистров осталось дело за малым.vovik15 писал(а):ну я умею ей управлять,а вот код не рождаеться
Берёте, пишите массив ваших значений, для каждого момента времени свой и загоняете их в регистры, добавив задержку между отправкой. Собственно задержка и определит скорость движения вашего огонька.vovik15 писал(а): вот так 00000001 00000010 00000100 00001000............10000000 и наоборот 100000000 01000000 00100000 ............00000001
Вот и получается, кривой, косой, но работающий код. То что нужно. Но вы всегда можете его оптимизировать! Дерзайте!
Re: бегущий огонь на 74нс595
боюсь что массив это не слишком оптимальный вариант для выбранного мной типа контроллера
представьте себе 48светодиодов. написание массива для них,это извращение
представьте себе 48светодиодов. написание массива для них,это извращение
- Engineer_Keen
- Друг Кота
- Сообщения: 3872
- Зарегистрирован: Пт янв 29, 2010 10:27:40
- Откуда: Москва
Re: бегущий огонь на 74нс595
Вообще управлять световыми эффектами можно двумя путями:
1) Вывод кадров (массив)
2) Вычисление функции
Раз вам массив не подходит, делайте через функцию. В вашем случае это будут сдвиги влево-вправо. Задали начальное значение и начинаем двигать, додвигали до края - двигаем в другую сторону.
1) Вывод кадров (массив)
2) Вычисление функции
Раз вам массив не подходит, делайте через функцию. В вашем случае это будут сдвиги влево-вправо. Задали начальное значение и начинаем двигать, додвигали до края - двигаем в другую сторону.
Re: бегущий огонь на 74нс595
хорошо,а как двигать вправо? а в лево?
- Engineer_Keen
- Друг Кота
- Сообщения: 3872
- Зарегистрирован: Пт янв 29, 2010 10:27:40
- Откуда: Москва
Re: бегущий огонь на 74нс595
>>
<<
Можно еще на 2-4-8-16 делить/умножать
<<
Можно еще на 2-4-8-16 делить/умножать
Re: бегущий огонь на 74нс595
ПРАВДА?????
а то думал что в 595 можно только числа записывать
а то думал что в 595 можно только числа записывать
Последний раз редактировалось vovik15 Пн мар 26, 2012 17:50:10, всего редактировалось 1 раз.
Re: бегущий огонь на 74нс595
наверное еще и можно и складывать,и вчитать тоже...
- sachok
- Опытный кот
- Сообщения: 849
- Зарегистрирован: Сб янв 05, 2008 11:05:15
- Откуда: Україна м.Луцьк
- Контактная информация:
Re: бегущий огонь на 74нс595
Вы издеваетесь...?
Почитайте про управление и принципы работы сдвиговых регистров, может станет что то ясней...
Народ это либо школьник либо троль...
Почитайте про управление и принципы работы сдвиговых регистров, может станет что то ясней...
Народ это либо школьник либо троль...
Я не Сашок!!!
- Engineer_Keen
- Друг Кота
- Сообщения: 3872
- Зарегистрирован: Пт янв 29, 2010 10:27:40
- Откуда: Москва
Re: бегущий огонь на 74нс595
Кто сказал что операции сдвига нужно делать на регистре? В него только конечный результат нужно выдать. Хотя на нем тоже можно делать сдвиг, но только сверху-вниз (если смотреть на УГО). Или вы действительно издеваетесь или идите читать даташит на 595 регистр...vovik15 писал(а):ПРАВДА?????![]()
а то думал что в 595 можно только числа записывать
наверное еще и можно и складывать,и вчитать тоже...
Re: бегущий огонь на 74нс595
Если быть точным - то добавив еще один корпус логики эту задачу можно решить без МК.Хотя на нем тоже можно делать сдвиг
Но, чувствую, до этого еще далеко
Re: бегущий огонь на 74нс595
ура! получилось сдвинуть еденичку в самый низ
я установил на линии DS 1 потом сделал строб
потом на DS 0 потом еще 48раз строб и ,и защелку передернул, в результе еденичка ушла в самый низ
а как ее на верх передвигать?
я установил на линии DS 1 потом сделал строб
потом на DS 0 потом еще 48раз строб и ,и защелку передернул, в результе еденичка ушла в самый низ
а как ее на верх передвигать?
- Engineer_Keen
- Друг Кота
- Сообщения: 3872
- Зарегистрирован: Пт янв 29, 2010 10:27:40
- Откуда: Москва
Re: бегущий огонь на 74нс595
На верх только программно. Сначала передаем 1000000 - защелка, потом 01000000 - защелка, потом 00100000 - защелка, и т.д (пример для одного регистра).


