Главная » Микроконтроллеры
Призовой фонд
на октябрь 2020 г.
1. 1500 руб
Сайт Паяльник
2. Тестер компонентов MG328
Сайт Паяльник
3. 150 руб.
От пользователей

Похожие статьи:



Модуль приемопередатчика LoRa SX1280, 2.4GHz, 27dBm, дальность до 8км

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

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

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

Схема бегущей строки на МК PIC16F628

Матрицы подключаются к сдвиговым регистрам 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 и другое ПО

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

Список радиоэлементов

Обозначение Тип Номинал Количество ПримечаниеМагазинМой блокнот
U1 МК PIC 8-бит
PIC16F628A
1 Поиск в магазине ОтронВ блокнот
U2-U11 Сдвиговый регистр
CD74HC595
10 74HC595DПоиск в магазине ОтронВ блокнот
U12 Кодер, декодер
SN74LS138
1 К555ИД7Поиск в магазине ОтронВ блокнот
U13 ИС RS-232 интерфейса
MAX232
1 Поиск в магазине ОтронВ блокнот
Q1-Q8 Биполярный транзистор
2N2905
8 Поиск в магазине ОтронВ блокнот
Светодиодная матрица8 строк, 80 LED1 Поиск в магазине ОтронВ блокнот
Кварцевый резонатор20 МГц1 Поиск в магазине ОтронВ блокнот
C1, C2 Конденсатор15 пФ2 Поиск в магазине ОтронВ блокнот
C3-C6 Электролитический конденсатор10 мкФ4 Поиск в магазине ОтронВ блокнот
R1-R8, R49 Резистор
4.7 кОм
9 Поиск в магазине ОтронВ блокнот
R9-R48 Резистор
470 Ом
40 Поиск в магазине ОтронВ блокнот
Добавить все

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

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

Теги:

Родиков Евгений Юрьевич Опубликована: 2012 г. 0 0
Я собрал 0 0
x

Оценить статью

  • Техническая грамотность
  • Актуальность материала
  • Изложение материала
  • Полезность устройства
  • Повторяемость устройства
  • Орфография
0

Средний балл статьи: 0 Проголосовало: 0 чел.

Комментарии (14) | Я собрал (0) | Подписаться

0
hd44780 #
Симпатично, но было бы на десятки порядков удобнее и практичнее, если бы прошивка понимала Win1251.
Лично я все свои дисплейные библиотеки так и делаю.
Может и жрёт чуток больше флэша, зато не нужно прогонять каждую строку через какие-то узкоспециализированные программы-перекодировщики.
Ответить
0
Евгений #
А какая программа может тогда текст Windows 1251 передовать в виде кодированных номеров через СОМ порт?
Ответить
0
hd44780 #
Насколько я знаю, никакая. Самому надо писать.
Я находил только перекодировщики для ЖКИ типа HD44780. Но они ничего никуда не посылают, они генерят массив байтов, соответствующих введенным буквам и всё.
Я пару раз ею попользовался, потом плюнул, реализовал в коде перекодировщик и всё.
Ответить
0
Михалыч #
А тут какие матрицы применяются с ОА или ОК?
Ответить
0
Евгений #
Матрицы подключаются анодами к 74HC595D, а катодами к К555ИД7
Ответить
0
Евгений #
Перекодировщик преобразует буквы на экране в код на экране монитора.
Только памяти будет маловато для кода в ASCII на микроконтроллере.
Ответить
0
Евгений #
Вот если бы подключить компьютерную клавиатуру к бегущей строке это было бы здорово.
Может кто знает как это делать?
Ответить
0
hd44780 #
В интернете навалом примеров работы с клавиатурой PS/2. Я делал, но на AVR. PIC-ами не занимаюсь. USB не пойдёт, в МК нужен USB хост для этого.
Ответить
0
Шурик #
Какая сила света у матриц и ток потребления устроиства?
Ответить
0
Евгений #
Ток потребления колеблется от 120...200 мА в зависимости от того, что отображает. Я запитал строку от зарядки от сотового.
Сила света матрицы не известно, я не стал сильно нагружать.
Я нагрузил где то 1мА на светодиод, нагружать можно до 10 мА точно.
Ответить
0
Анон #
Подскажите пожалуйста, какую последовательность битов передает терминал по COM-порту на микроконтроллер? Просто последовательность 8 бит, соответствующих аски-коду? Или как-то хитрее?
Ответить
0
Игорь #
Подскажите , зачем подключать схему к ПК, разве буквы не зашиты в ЕЕPROM МК? И как подключать к ПК-через МАХ232?
Ответить
0
Евгений #
В ЕПРОМЕ можно текст менять с помощью компьютера через СОМ порт, вводя текст согласно таблице букв. Лучше собрать другую строку, которая имеет память букв 8192 буквы и подключаемую клавиатуру от компьютера - эта строка находится по соседней ссылке.
Ответить
0
Денис #
Спасибо. Что то подобное я искал. Что бы еще хотелось доработайте по возможности.
1 в строке не хватает латинского адфавита
2 нужна возможность просто выводить информацию. (допустим добавить свойство visible true or false и свойство dvojenie tru or false). Тогда бы появидась возможность надписи например Громкость 0 ...100
Ответить
Добавить комментарий
Имя:
E-mail:
не публикуется
Текст:
Защита от спама:
В чем измеряется электрическая мощность?
Файлы:
 
Для выбора нескольких файлов использйте CTRL

AVR-программатор USB ASP
AVR-программатор USB ASP
FM-модуль RDA5807M Набор для сборки - УНЧ 2х60 Вт на TDA7294
вверх