|
|
  |
Бегущая строка на ATmega8 - простая схема, разработал простую БЕГУЩУЮ СТРОКУ на светодиодах - оцените |
|
|
|
Mar 22 2007, 20:53
|
Участник

Группа: Новичок
Сообщений: 45
Регистрация: 30-10-06
Пользователь №: 21 801

|
недавно попросили написать прогу для строки begstr.narod.ru на PIC-e...пришла мысль- а ведь можно вместо PICa поставить atmega8 и не изобретать схему-новое направление работы...попробовал сделать модель в Протеусе - легко, переписал просто подпрограмму растра т.е. вывода видео-ОЗУ на матрицу и все...кому интересно смотрите здесь...удивительно как этому киевлянину удалось столько эффектов впихнуть...
|
|
|
|
|
Mar 23 2007, 10:04
|
Участник

Группа: Участник
Сообщений: 33
Регистрация: 3-11-06
Пользователь №: 21 955

|
У меня строка собрана на м/с ATMEGA8, К155ИР8 и ULN2803, ключи строк на КТ973. 8х48 законченная конструкция, но реально хоть 8х128. Проблем никаких не заметил. Пока программно можно регулировать скорость бега, инверсию, стоп-кадр. Зашита вся таблица символов ASCI. В планах часы, термометр ну и всяких разных мультиков. ПО написано на BASCOMAVR и VISUAL BASIC.
_bascomavr.3bb.ru_
|
|
|
|
|
Mar 23 2007, 10:40
|

Участник

Группа: Свой
Сообщений: 67
Регистрация: 5-02-07
Пользователь №: 25 074

|
Цитата(radan @ Mar 23 2007, 10:04)  У меня строка собрана на м/с ATMEGA8, К155ИР8 и ULN2803, ключи строк на КТ973. 8х48 законченная конструкция, но реально хоть 8х128. Проблем никаких не заметил. Пока программно можно регулировать скорость бега, инверсию, стоп-кадр. Зашита вся таблица символов ASCI. В планах часы, термометр ну и всяких разных мультиков. ПО написано на BASCOMAVR и VISUAL BASIC.
_bascomavr.3bb.ru_ Не хочу отговаривать но Visual Basic - тормоз на все сто + почти нулевая поддержка WinAPI. Рекомендую перейти на C++. Сам когда-то им баловался, а как перешёл на Delphi - программирование стало "развлечением". У меня одновременно на экране монитора рисуется и тут же на девайсе - Сперва на VB начал писать, но "сдулся" за неимением нужных мне компонентов, откровенными тормозами даже при компиляции текста в кадры и как мне показалось "ограниченности" в свободе програмирования + таскание с софтом дополнительных библиотек и ActiveX. Особенно разбесило когда моя программа на VB не запустилась на тачке где VB не установлен прямо на защите проекта. Аргументы прошу опустить - каждый делает на чём хочет и может. Можно обменяться софтом с исходниками (типа обмен опытом) - хочу глянуть как на VB работает у вас.
|
|
|
|
|
Mar 23 2007, 11:01
|

Участник

Группа: Свой
Сообщений: 67
Регистрация: 5-02-07
Пользователь №: 25 074

|
Цитата(muravei @ Mar 23 2007, 10:52)  С чего это нулевая? Декларируй и вызывай? Так потому и сказал - "почти".
|
|
|
|
|
Mar 23 2007, 15:17
|
Участник

Группа: Участник
Сообщений: 33
Регистрация: 3-11-06
Пользователь №: 21 955

|
На Visual basic организована простая программа для засылки через последовательный порт текста в EEprom. А ещё скорость , с которой надо строке бежать и инверсия - есть/нет. Коды символов находятся в тексте программы контроллера как массив. Программа читает последовательность записанных символов из EEprom и подставляет соответствующие им данные массива, затем делает сдвиг ну и т.д. Т.е. залил текст в строку, отключил от компа и она самостоятельно работает. Ну а если от компа, то можно нагородить хоть мультики. Делал образец, 16х16 управлял компом, отрисовка и на экране, и на реальном устройстве на Visual basic. Я не профессиональный программист, поэтому Бейсик. Для моих поделок в самый раз.
|
|
|
|
|
Mar 23 2007, 19:41
|

Ambidexter
    
Группа: Свой
Сообщений: 1 589
Регистрация: 22-06-06
Из: Oxford, UK
Пользователь №: 18 282

|
Цитата(VXDRV @ Mar 22 2007, 21:35)  У меня на PIC-е была как раз на PIC16F877 были (8X96 - моно и 16x80 двухцветная) - теоретически можно 32x128 c развёрткой 60 Гц - моно, или 16x128 двухцветная с тем же рефрешем. И это при 5 MIPS. Думаю Mega (пока не изучал её) способна на большее именно в таком устройстве - ну а если она с памятью напрямую работает - то вообще наверное красота будет (почему именно Mega8 можно ведь и Mega16 поставить - не думаю, что строка это устройство требующее экономии на контроллерах). Вот у меня как раз со скоростью проца то и проблемы - побитная перетасовка принятой инфы в ОЗУ для коррекции разводки печатных плат. Я тут прикинул вгрубе, для матрицы 32x128 на атмеге легко можно достичь выдачи порядка 40 Мбит/с. Т.е. передача 64 байт из внешнего ОЗУ МК в матрицу займёт порядка 15 мкс. При скважности 8 и частоте развёртки 60 Гц это означает, что примерно 0.7 процента времени строка не светится. Отсюда вопрос, несвечение как-то влияет на восприятие и сколько процентов вообще допустимо это несвечение? Кстати, у вас на пике каков получился порядок побитовой скорости?
--------------------
Делай сразу хорошо, плохо само получится
|
|
|
|
|
Mar 24 2007, 00:13
|
Участник

Группа: Участник
Сообщений: 33
Регистрация: 3-11-06
Пользователь №: 21 955

|
Цитата(dkostik @ Mar 23 2007, 16:47)  Мнение программиста: -basic - язык домохозяек! Работа с жнлезом - юзайте ДДК. Если лень разбиратся то Delphi или C#. Если у меня появится время, возможно, я изучу эти языки. А пока меня устраивает то, что есть. По моему мнению "домохазяйки" неважно какой язык использовать, а важно как им владеть. И если не предполагается внедрять проект в массовое производство, а необходима скорость разработки, а главное возможность начать работать буквально с первого знакомства с программой, лучше и понятней Бейсика пока нет. Кстати, программировать микроконтроллеры я начал буквально с первого дня сборки программатора и установки Баском-авр. На ATMEGA16 я собрал 32 программных ШИМ после месячного занятия с микроконтроллерами - можно посмотреть флэш http://ledeffects.net/pages/?id=9.
|
|
|
|
|
Mar 24 2007, 16:10
|
Гуру
     
Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521

|
Цитата(radan @ Mar 24 2007, 01:13)  Если у меня появится время, возможно, я изучу эти языки. А пока меня устраивает то, что есть. По моему мнению "домохазяйки" неважно какой язык использовать, а важно как им владеть. И если не предполагается внедрять проект в массовое производство, а необходима скорость разработки, а главное возможность начать работать буквально с первого знакомства с программой, лучше и понятней Бейсика пока нет. Кстати, программировать микроконтроллеры я начал буквально с первого дня сборки программатора и установки Баском-авр. На ATMEGA16 я собрал 32 программных ШИМ после месячного занятия с микроконтроллерами - можно посмотреть флэш http://ledeffects.net/pages/?id=9. В плане владения языком - соглашусь с Вами. Во всём остальном Вы неправы. Вы просто не имеете возможности сравнивать. Скажем на изучение дельфи (если вы хорошо владеете бэйсиком) вам понадобится неделя максимум. Возможностей - побольше, ограничений - значительно меньше. Объём готовых объектов очень большой. По скольку проги на IBM для меня как правило вспомогательные, то использовать WinAPI просто нет необходимости. Всё очень просто. Язык си тоже ничего сложного не представляет. Наоборот - достаточно низкоуровневый, что позволяет его особенно эффективно использовать для МК. Ну например такая забавная конструкция Код symbolx=Fonts[tekfonts][0]; if(Znak>' '){ Znak-= '!'; // вычесть смещение на пробел yiz -= Fonts[tekfonts][1]-1; if(Fonts[tekfonts][0]<=8){ addr = ((uint8_t __flash *)symbol[tekfonts])+(Znak*Fonts[tekfonts][1]); ....
|
|
|
|
|
Mar 24 2007, 16:42
|

Ambidexter
    
Группа: Свой
Сообщений: 1 589
Регистрация: 22-06-06
Из: Oxford, UK
Пользователь №: 18 282

|
Ну например такая забавная конструкция Код symbolx=Fonts[tekfonts][0]; if(Znak>' ') { Znak-= '!'; // вычесть смещение на пробел yiz -= Fonts[tekfonts][1]-1; if(Fonts[tekfonts][0]<=8) { addr=((uint8_t __flash *)symbol[tekfonts])+(Znak*Fonts[tekfonts][1]); .... Да уж...птичий язык. И что тут забавного? Вы меня извините, но такие примеры сеют только сомнение и смятение в неокрепших умах. Он агитирует именно против применения Си. 1)Фигурные скобки не закрыты 2) Зачем приведен yiz, если он нигде не используется? 3) symbolx и symbol это разные переменные? Коротко говоря, к такому тексту надо ещё 5 страниц объяснений написать(:-)
--------------------
Делай сразу хорошо, плохо само получится
|
|
|
|
|
Mar 24 2007, 21:43
|
Гуру
     
Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521

|
Цитата(=GM= @ Mar 24 2007, 17:42)  Да уж...птичий язык. И что тут забавного? Вы меня извините, но такие примеры сеют только сомнение и смятение в неокрепших умах. Он агитирует именно против применения Си.
1)Фигурные скобки не закрыты
2) Зачем приведен yiz, если он нигде не используется?
3) symbolx и symbol это разные переменные?
Коротко говоря, к такому тексту надо ещё 5 страниц объяснений написать(:-) Да нет же.  Я привёл не законченный кусочек. Поставил "...." чтобы ясно было. Кусочек привёл из живой программы и его не причёсывал специально. А забавность заключается например в операторе Код Znak-= '!'; На Паскале его запросто не реализуешь. Он не позволит, так как чётко контролирует типы. Придётся городить что-то типа Код Znak = chr(ord(Znak) - ord('!')); Таким образом на Си более чётко видна суть операции. В Си ты свободен. Свободен вносить любые ошибки. Конечно в рамках одного поста сложно показать преимущества языка. Я, например в последнем проекте Очень интенсивно использовал структуры и указатели на структуры. Такого в Васеке просто нет. А у меня на этом вся программа написана. Кстати бегущая строка. Сделаю сайт. Выложу различные документы и свободные программы. В частности эмулятор. Можно будет посмотреть.
|
|
|
|
|
  |
3 чел. читают эту тему (гостей: 3, скрытых пользователей: 0)
Пользователей: 0
|
|
|