Воскресенье, 11.12.2016, 12:55
Приветствую Вас Гость

Портал светоэффектов

Меню сайта
Категории раздела
Наш опрос
Оцените мой сайт
Всего ответов: 580
Статистика

Онлайн всего: 5
Гостей: 4
Пользователей: 1
Петрин
Форма входа
Главная » Статьи » Бегущие строки

Бегущая строка 8х48(96)
Эта строка отличается от других только тем, что ПО как со стороны компьютера, так и со стороны контроллера написано на Бейсике.
 
 
Схема особенностей не имеет. Посредством преобразователя уровня на транзисторе организована односторонняя связь с ПК. Контроллер принимает текст, заносит его в энергонезависимую память EEPROM и в динамическом режиме выводит в сдвиговые регистры. Сборки транзисторных ключей умощняют выходы, и для невысокой яркости от них можно отказаться.
 
 
Программа контроллера в главном цикле ожидает появления символа "S", после чего происходит загрузка данных. После её окончания считываются значения количества переданных символов и текущей скорости. Далее считываются первые 7 символов, и им тут же присваиваются данные из кодовой таблицы. Почему семь? Знакоместо организовано как 8х8 пикселей, при длине строки 48 вмещается 6 символов. Семь необходимо для того, чтобы было что сдвигать. После этого программа считанные из кодовой таблицы данные, последовательно загружает в регистры сдвига, включает ключ первой строки, выдерживает необходимую паузу, выключает ключ, следующая порция данных, следующий ключ и т.д., пока не пройдут все восемь строк. Сдвигается ряд, и вновь заносятся данные в регистры, причём если в первом случае выводились значения столбцов с 1 по 48, то здесь выводятся со 2 по 49. Затем с 3 по 50 и наконец с 9 по 56. Вот зачем нужно семь символов! В результате мы сдвинули текст на одно знакоместо. Теперь необходимо сдвинуть текст на один символ, и считать символы со второго по восьмой. Далее процедура повторяется по кольцу.
Благодаря динамической развёртке, текст перемещается очень плавно, как бы едет на колёсиках, нет никакого утолщения букв, но заметен их наклон, что, в общем то не портит всю картину, а придаёт ей своеобразную пикантность.
 
 
Исходники рабочие, но мало прокомментированы и совсем не оптимизированы. Если будет время, доработаю. Вместо указанных регистров можно применять другие, специализированные и не очень, лишь бы по току подходили ( а он при скважности 8 будет намного больше стандартной статики).
Что показали результаты? При правильном построении алгоритма удалось получить вполне рабочую конструкцию, зрительно не уступающую промышленным образцам. И это без всяких таймеров и прочего. Оптимизировав программу, всё таки придётся вывод графики переместить в таймер, потому что планируемое создание разнообразных эффектов будет влиять на качество вывода строки. И ещё один нюанс. Пока не была написана программа-загрузчик, текст заливался в EEPROM вручную, из подготовленного в блокноте файла. Тестовый EEPROM можно открыть в блокноте и подредактировать. На первых порах здорово помогло. Байты под номером 00000 и 00001 - сумма длины выводимого текста. Максимум - 510 символов. Если символов меньше, чем 255 , то значение только в первом байте, а во втором - 0. Если больше, то в первом - 255, а во втором разность меду значением и 255. В третьем байте текущая скорость (максимум 6). С четвёртого байта сам текст. Вначале стоит несколько пробелов, чтобы буквы при старте появлялись по одной, а не сразу на всю строку.
 
 
Некоторые буквы в таблице символов пока не дописаны. Но их визуальная кодировка позволяет сделать это самим, даже полностью изменить шрифт.
Регистры 74168 можно заменить на 155ИР8.
По просьбе выкладываю фьюзы.

 
 
 
Схема, плата, программы.
Оптимизированные и прокомментированные исходники.
Новая версия прошивки и тестовый EEPROM.
Исходники для строки 8х96.
Загрузчик на C++builder.
Категория: Бегущие строки | Добавил: defaultNick (30.01.2010)
Просмотров: 7194 | Комментарии: 8
Всего комментариев: 8
0
8  
ПРОДАЮ ОРИГИНАЛЬНОЕ АВТОРСКОЕ УСТРОЙСТВО. ОТСЫЛАЮ ТОЛЬКО НОВОЙ ПОЧТОЙ. ЦЕНА - стоимость деталей!

7  
Please guide me if possible

6  
All information is presented as is. Any changes need to be revised code or schematic. To do this takes time, but I have it, unfortunately, no.

5  
How to set the motion from left to right?

4  
How instead of 8 * 48 12 * 48 established the circuit?
How does the program change?

3  
How to start rs232?
Help to write on the board i need help for 8x 48

1  
i need help for 8x 48

2  
How to help?

Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
YOUTUBE LIGHTPORTAL
ALIEXPRESS
Поиск
Translation
Donate
QR
Часики
 
Облако тегов
Друзья сайта
Портал светоэффектов
Catcatcat Electronics
Color Music Beniamina Grinberg