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

Отмазки:

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

К сожалению,так как размер EEPROM AT90S2313 - 128 байт,удалось реализовать вывод сообщения длинной всего 125 символов.

Протокол обмена по RS232 реализован тоже не лучшим образом. Нет обратной связи МК с PC и поэтому нет контроля передаваемых данных. Другими словами - сообщение с компьютера в устройство иногда передается с ошибками.


Идея:

Изначально идея проекта строилась на том,чтобы подключить к МК матрицу светодиодов:

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

Реализация:

Из подручных деталей была собрана следующая схема:

Вывод информации на индикатор осуществляется построчно. Таким образом для управления индикатором достаточно всего шести выводов микроконтроллера.

Программа для МК написана на Си с использованием компилятора CodeVision.
 
Работает это гениальное суперустройство следующим образом:
Сообщение для вывода на индикатор хранится в энергонезависимой памяти МК (EEPROM).
После подачи питания - сразу же осуществляется вывод записанного в EEPROM сообщения на индикатор в режиме "бегущей строки". Индикация сообщения осуществляется циклически,т.е. по окончании сообщения оно снова выводится на индикатор,начиная с первого символа. И так до бесконечности.
Для замены сообщения в EEPROM необходимо запустить на PC прилагаемую программу "Посылатель", набрать в ней текст требуемого нового сообщения. Соединить устройство и PC кабелем и нажать на кнопку SB2 устройства. После нажатия устройство выведет на индикатор служебную строку "ПРИЕМ СООБЩЕНИЯ" и перейдет в режим приема сообщения с PC. Далее в программе "Посылатель" нажать на кнопку "ПОСЛАТЬ" и новый текст сообщения будет отправлен в устройство и сохранен в его энергонезависимой памяти. После приема сообщения устройство выдаст служебную строку "ПРИЕМ ЗАВЕРШЕН" и вернется в основной режим работы циклицеского вывода записанного сообщения.
Если по каким то причинам требуется отказаться от замены сообщения - необходимо еще раз нажать на кнопку SB2. На индикатор будет выведена служебная строка "ПРИЕМ ОТМЕНЕН" и устройство перейдет в основной режим работы.
Примечания:
1)В данной версии прошивки для вывода на индикатор поддерживаются только буквы русского алфавита а также знаки точка, запятая, восклицательный и вопросительный. Всю таблицу поддерживаемых символов можно увидеть в файле "Codepage.h" в прилагаемом архиве "RunRow.rar". Программа "Посылатель" не даст передать символы неподдерживаемые системой.
2) Как уже говорилось выше - иногда сообщение может передаваться с ошибками,т.к. нет контроля передаваемых данных. При ошибочной передаче сообщения необходимо просто повторить передачу еще раз.
 
Программа занимает 1480 байт ПЗУ микроконтроллера,таким образом имеется возможность улучшения устройства - добавления новых сиволов для отображения,введения проверки передачи и т.д.

Пример реализации:
 

устройство собранное на макетке

готовая плата

устройство в работе


Прилагаемые файлы:
Схема в формате P-CAD 2002
Схема в формате .pdf
Печатная плата в формате P-CAD 2002
Печатная плата в формате .pdf адаптированная "под утюг"
Программа "Посылатель"
Исходники "Посылателя"
Исходники прошивки для микроконтроллера
HEX файл прошивки

Good bye...

Hosted by uCoz