Программирование BASCOM
Меню сайта
Категории каталога
Мои статьи [115]
Наш опрос
Оцените мой сайт
Всего ответов: 1292
Главная » Статьи » Мои статьи

Бегущая строка
Бегущая строка
 
 
Схема особенностей не имеет. Посредством преобразователя уровня на транзисторе организована односторонняя связь с ПК. Контроллер принимает текст, заносит его в энергонезависимую память 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). С четвёртого байта сам текст. Вначале стоит несколько пробелов, чтобы буквы при старте появлялись по одной, а не сразу на всю строку.
 
 
Некоторые буквы  в таблице символов пока не дописаны. Но их визуальная кодировка позволяет сделать это самим, даже полностью изменить шрифт.
По просьбе выкладываю фьюзы.
 
 

Кодировка символов в русской версии Windows (CP1251) - символы с 80 по FF.
Кто захочет добавить в шрифты недостающие символы (например, украинские), должен ориентироваться на эту таблицу.
Например, символ "№" в таблице имеет порядковый номер B9 - в шестнадцатеричной системе или  185 в десятичной.



 
 
Оптимизированные и прокомментированные исходники.
 
 
Исходники и бинарники для строки 8х96.


Загрузчик на C++ builder (с исходниками)

Загрузчик на VBNET  (с исходниками)

Загрузчик на VBNET для КПК (НУЖНО ПРОТЕСТИРОВАТЬ! (с исходниками)

Как вы думаете, если строку с горизонтального положения перевести в вертикальное, что будет?
Нет, не угадали, вам не придётся голову поворачивать на 90 градусов!
Мы перевернули шрифт, и теперь можно сделать вертикальную бегущую строку, не изменяя основной код программы!
Правда не переворачивали английские буквы за ненадобностью. Кто это сделает, поделитесь с нами, мы выложим на сайт.

А вот появилась модификация строки с часами, термометром и большим текстом!!!

Не удержался, попробовал строку в Протеусе (7.10 SP0) - работает!!!




Категория: Мои статьи | Добавил: bascom (27.01.2009)
Просмотров: 35995 | Комментарии: 109
Всего комментариев: 108« 1 2 3 4 5 6
18 stroka  
0
А в варианте на TPIC6B595 тоже наклон присутствует? Прочитал статью про динамическую и статическую.Ну про это я знал . Динамическая в статье тоже писалось про яркость,мерцание и наклон.Это решимо светодиоды поярче частота обновления но наклон мне так и не понятен откуда? У меня собрана динамическая не каких отклонений нет в работе если только при движении слегка буквы утолщаются хотя это скорей программно задумано.Не понятно .

16 stroka  
0
Собираю я вашу схему .Вопросы связаны с тем чтобы уменьшить количество элементов в схеме.Хотелось бы исключить ULN поставить мощную микруху если она такая есть конечно .снимать с микросхемы.
Ну типа как у TPIC микросхем. Спасибо.

17 bascom  
0
Есть вариант на TPIC6B595. Но там прошивка изменённая.

14 stroka  
0
А по поводу динамической и статической не до конца понимаю есть ли ссылка на хорошее разжовывание .
Спасибо.

13 stroka  
0
Микросхемы КР580ИР82 и КР580ИР83 - 8-разрядные адресные регистры, ДА извините стормозил они не для этой схемы, они заменяемы ИР24 например кр1533ир24 или нет, мало инфы про КР580ИР82 че за зверь какая быстродейственность и т.д. На пример : http://www.telesys.ru/electronics/projects.php?do=p063
Третий рисунок сверху. Поделитесь пожалуйста.

15 bascom  
0
ИР82 - параллельные регистры, ИР24 - последовательные. Взаимозаменяемости конечно же нет. А вообще вся инфа есть в интернете. Про ир82 ищите книгу чтото типа "микропроцессорные комплекты КР 580". Я не пойму, какую схему вы собираете. Не мешайте пожалуйста всё в кучу.

9 stroka  
0
печатня плата не полная почему ?

10 bascom  
0
Печатная плата как раз делалась только для светодиодного поля. Контроллер собран рядом на макетке.

8 stroka  
0
КР580ИР82 можно ли поставить ?

12 bascom  
0
В этой схеме однозначно нет.

7 stroka  
0
Кто собрал отзовитесь !! А что этот наклон из-за чего может регистры надо 74hc595 . Уменя есть схема и прошивка тоже на mega8 7x64 светодиодов как раз на таких регистрах наклона нет .Там реализовано функции .
1. стоп строка на несколько секунд.
2. тонкий/жирный текст
3. эффект растворения текста
4.выделение текста
есть только HEX файл конвертируется REavr в .ASM в asm не умею.
Как бы соединить эти два проекта.Кто знает или это все бред.

11 bascom  
0
Наклон - признак динамической индикации. Преимущества - меньшее количество регистров и сопротивлений. Недостатки - меньшая яркость и визуальный наклон.
Для статической индикации соответственно наклона нет, большая яркость, но соответственно болшее количество микросхем, больше монтажа, более мощный блок питания.
По поводу соединения двух проектов в один. Ничего невозможного нет. Но не на уровне декомпилированных исходников. В коммерческом варианте моя строка выводит даже графику и караоке!

4 Дмитрий  
0
Хорошая вещь, попітаюсь повторить для родного универа, если автор не против...

5 bascom  
1
Как запретишь благое дело? Только закладывайся сразу на строку 8х96, больше символов влезет. Прошивку под этот вариант выложу по требованию. А загрузчик тот-же остаётся.

6 bascom  
1
В конце статьи добавил исходники для строки 8х96

2 Vlad  
0
Да. Хороший пост. Добавил в мемориз.

1 LEKS  
0
Здравствуйте!
немогу понять что за микруха 74168

3 bascom  
0
155ИР8

1-10 11-20 21-30 31-40 41-50 51-60
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Форма входа
Поиск
Друзья сайта
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
Copyright Radan Studio © 2024