Бегущая строка на PIC16F628

Это устройство воспроизводит текст на светодиодной матрице 8 Х 80 светодиодов, имеет память текста 128 букв, которые загружаются с компьютера через  COM порт с помощью программы Terminal V1.9 .
Устройство имеет все заглавные и маленькие буквы русского алфавита, а также цифры и прочие знаки, которые можно увидеть в таблице ниже.

Микроконтроллер работает на частоте 20 МГц и управляет сдвиговыми регистрами 74HC595D, которые логическим уровнем 1 зажигает светодиодные матрицы строк, а дешифратор К555ИД7 или его полный аналог 74LS138 управляет через усилительные транзисторы 8-мю столбцами всех матриц.

Матрицы подключаются к сдвиговым регистрам 74HC595D через резисторы, которые защищают от перегорания светодиодов, ограничивая ток.

Микросхемы 74HC595D имеют 8 триггеров фиксации данных на выходах, соединенных с матрицей светодиодов  и  8 сдвиговых триггеров,  в которые через 14 вход загружаются данные и с 9 выхода продолжают сдвиг дальше, на следующие регистры цепочки из 10 штук. Для сдвига необходим такт, идущий от процессора на все входы 11- 74HC595D, после каждого 80-того такта цепочка регистров продвигается до 80 триггера всех 74HC595D. После этого, как загружена вся строка из 80 триггеров, подается ещё один тип такта уже на входы 12 всех 74HC595D, после чего загружаются  за один такт  8 дополнительных  триггеров фиксации данных, на выходах, соединенных с матрицей светодиодов от сдвиговых триггеров   на всех 74HC595D за один такт, матрица при этом засвечивает одну полосу из 80 светодиодов и засветка эта происходит без изменений логических уровней даже тогда, когда загружаются сдвиговые регистры.

Так перебираются по очереди 8 строк из 80 светодиодов с помощью дешифратора К555ИД7 с большой скоростью, что совершенно не видно глазу.

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

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

После ввода кодировки буквы строка останавливается и показывает веденный текст и набранную букву с добавлением, которой  строка продвигается на один знак, что очень удобно при наборе текста.

Настройка программы Terminal V1.9 выбрать подключенный СОМ порт выбрать скорость обмена (Baud rate) = 1200
(Data bit) = 8
(Parity) = none
(Stop bits) = 1
(Handshaking) = none

Подключить бегущую строку проводом к компьютеру. ь Нажать в программе кнопку Connect. Вводить цифры из таблицы в строке программы напротив кнопки Send нажимая на неё после каждой цифры кодирующую букву при этом на устройстве начинает отображаться набранный текст.

Кодировка букв для ввода в терминале

0-#000
1-#001
2-#002
3-#003
4-#004
5-#005
6-#006
7-#007
8-#008
9-#009

А-#010
а-#011
Б-#012
б-#013
В-#014
в-#015
Г-#016
г-#017
Д-#018
д-#019

Е-#020
е-#021
Ё-#022
ё-#023
Ж-#024
ж-#025
З-#026
з-#027
И-#028
и-#029

Й-#030
й-#031
К-#032
к-#033
Л-#034
л-#035
М-#036
м-#037
Н-#038
н-#039

О-#040
о-#041
П-#042
п-#043
Р-#044
р-#045
С-#046
с-#047
Т-#048
т-#049

У-#050
у-#051
Ф-#052
ф-#053
Х-#054
х-#055
Ц-#056
ц-#057
Ч-#058
ч-#059

Ш-#060
ш-#061
Щ-#062
щ-#063
Ъ-#064
Ы-#065
ы-#066
Ь-#067
Э-#068
э-#069

Ю— #070
ю- #071
Я— #072
я- #073
пробел   -#074
точка    .-#075
запятая , -#076
восклиц !-#077
вопрос ? -#078
тирэ   — — #079
двоеточ: -#080

Команды бегущей строки для ввода в терминале для ее работы

#253 – команда замены буквы применяется для исправления ошибки  вода теста.
Когда вы неправильно ввели букву или несколько, то нужно вести эту команду слишь раз, сколько последних букв вы ввели неправильно.
Потом нужно вести новые правильные буквы на дисплее, старые буквы при этом не пропадают. они пропадают лишь когда строка их воспроизведет по новой.

#254 – Команда запуска сдвига строки после набора текста.

#255— Команда означающая, что текст строки закончен.
Нужна для того, чтобы обозначить что текст с этой точки пойдет по новой, применяется до команды #254
Если нужно вести текст по новой, то нужно устройство выключить и снова включить.

Моделирование

Программу бегущей строки можно проверить в программе моделирования Proteus, файл и программу симулирования СОМ (Virtual Serial Ports Driver XP4) порта я вложил в архив, она имеет 14 дневной срок бесплатной эксплуатации, после установки нужно перезагрузить компьютер.  

В Proteus’е можно загружать с программы Terminal V1.9 код букв и команд просматривая на экране результат работы. В Proteus’е работа устройства притормаживает раз в 20 по сравнению с реальным временем, но это зависит уже от компьютера.

Если вас не устроит скорость движения букв пишите, я могу ее изменить, это просто.
В архиве есть разведенная плата управления.

Ниже вы можете скачать исходник, прошивку, проект в Proteus, печатную плату в формате LAY и другое ПО

Также смотрите модифицированный проект: бегущая строка 8×80 с набором текста на клавиатуре


Список радиоэлементовОбозначение
Тип
Номинал
Количество
ПримечаниеМагазинМой блокнот

U1
МК PIC 8-битPIC16F628A1
U2-U11
Сдвиговый регистрCD74HC59510
74HC595DU12
Кодер, декодерSN74LS1381
К555ИД7U13
ИС RS-232 интерфейсаMAX2321
Q1-Q8
Биполярный транзистор2N29058

Светодиодная матрица8 строк, 80 LED1

Кварцевый резонатор20 МГц1
C1, C2
Конденсатор15 пФ2
C3-C6
Электролитический конденсатор10 мкФ4
R1-R8, R49
Резистор4.7 кОм9
R9-R48
Резистор470 Ом40
Добавить все

Скачать список элементов (PDF)

Прикрепленные файлы:

Добавить комментарий

Ваш адрес email не будет опубликован.