Бегущая строка на PIC контроллере
Предлагаемая конструкция "бегущей строки" может служить для рекламно-информационных, развлекательных и других целей. При разработке конструкции одной из задач ставилась максимальная универсальность: возможность применения табло с различным количеством сегментов, а также избавление от генератора стандартных символов (знакогенератора). И дать возможность пользователю непосредственно, без изменения программы и перешивки контроллера, создавать (рисовать) изображения благодаря удобному интерфейсу - компьютерной PS/2 мыши.
Характеристики:
Напряжение питания, вольт: | 5 |
Объем светодиодной матрицы (длина/высота): | 64х8 |
Минимальный объем светодиодной матрицы: | 23х5 |
Объем графического ЭСППЗУ, байт | 2048 |
Принципиальная схема блока контроллера (Рис. 1). Кварцевый резонатор ZQ1 подключен ко встроенному тактовому генератору контроллера DD1. Вход сброса MCLR (выв.1) подключен непосредственно на +5В, устойчивый сброс обеспечивает активизированный встроенный таймер сброса при включении питания контроллера. Кнопки управления SA1-SA2 подключены к порту_B контроллера и нагружены на встроенные "подтягивающие" резисторы. Мышь подключается к устройству посредством разъема PS/2 (MiniDIN-6) и обслуживается посредством управляющей программы контроллера. К выводам порта_C PC3 и PC4 подключена ЭСППЗУ графики DD2 с последовательным обменом по интерфейсу I2C посредством встроенного в контроллер модуля MSSP, и работает на повышенной CLOCK (1 МГц) частоте.
Рис.1. Схема блока контроллера
Принципиальная схема блока индикатора. На рис. 2 приведена схема управления светодиодной матрицей при помощи дешифраторов. Использование дешифраторов К555ИД10 хорошо тем, что они имеют мощные выходы с открытым коллектором. Возможно использование и других дешифраторов например К155ИД3, К555ИД4, ИД7, которые однако имеют меньшую нагрузочную способность на выходах. Для уменьшения числа рядовых дешифраторов, что особенно существенно при большой длине матрицы, применены мультиплексоры строк матрицы выполненные на микросхемах шинных формирователей DD1, DD2. Таким образом, увеличение числа строк в 2 раза оправдывает себя уменьшением во столько же раз количества рядовых дешифраторов.
Рис.2. Принципиальная схема блока индикатора
Сигнал RES устанавливающийся в 1 в начале развертки, сбрасывает счетчик DD3 и через дешифратор DD5 подключает первый ряд матрицы. Далее сигнал RES переходит в уровень 0 и посредством перепада сигнала CLK происходит увеличение на 1 счетчика DD3 и через дешифратор DD5 подключается следующий ряд матрицы. На рис. 3.приведена схема управления светодиодной матрицей при помощи регистров сдвига. Эта схема является более простой, однако выходы регистров сдвига менее мощны, и при необходимости получения большей яркости светодиодов каждый выход необходимо дополнить транзисторным ключом. На микросхеме DD1 выполнен буферный усилитель. Регистры КР1533ИР24 удобны тем, что имеют отдельный выход переноса со старшего разряда и широко распространены. При использовании регистров К555ИР8 или особенно удобных 24-разрядных КР1533ИР31 и их объединении (в случае если светодиоды матрицы подключены непосредственно на их выходы) то последний разряд переноса нужно подключать к светодиодам только через транзисторный ключ, т.к. нагруженные на ряд светодиодов выход не сможет обеспечить необходимые логические уровни.
Рис.3. Схема управления светодиодной матрицей при помощи регистров сдвига
В начале развертки изображения сигнал DAT переходит в уровень 0 и при помощи перепада сигнала CLK происходит запись 0 в первый разряд регистра сдвига. Далее сигнал DAT переходит в уровень 1 и при помощи тактового сигнала CLK происходит последовательный сдвиг 0 в очередной разряд регистра, таким образом коммутируя соответствующий ряд матрицы. Если будет необходимость использовать светодиодную матрицу с "общим анодом" (т.е. ряд светодиодов объединен анодами) то взамен сигнала DAT на вход первого регистра нужно подать инверсный ему сигнал RES, при этом будет происходить последовательный сдвиг уровня 1 на выходах регистров. Буферный усилитель DD1 тогда нужно заменить на К555АП3 который инвертирует выходные сигналы, вывод 19 при этом нужно подключить на землю.
Конструкция и детали. Контроллер DD1 PIC16F877 4-х мегагерцовый в DIP корпусе, также возможно применение контроллера PIC16F874 отличающегося от F877 меньшим объемом памяти, которая программой не используется. ЭСППЗУ DD2 возможно заменить на 24C01/02/04/08/ имеющими соответственно 128/256/512/1024 байт, отсутствующие объемы памяти будут читаться как единицы. Микросхемы серии К555 можно заменить аналогичными из серии КР1533 или К155. Табло было выполнено на светодиодных индикаторах АЛС362Б (4 прямоугольных светодиода) по схеме с дешифраторами и строчной коммутацией. Конструктивно табло можно выполнить на плате из фольгированного стеклотекстолита, с просверленными отверстиями под выводы светодиодов и вырезать резаком продольные дорожки строк, ряды распаять монтажным проводом. Внизу платы вырезать контактные площадки под микросхемы управления. Блок табло соединяется шлейфом с платой контроллера.
Управление.
В режиме "Редактор" (переключатель SA4 разомкнут) перемещение мыши по координатам изменяет соответствующее положение курсора (светящийся светодиод, если элемент изображения за ним выключен и не светящийся если наоборот). Нажатие на левую кнопку мыши приводит к удалению/появлению соответственно светящегося/несветящегося выбранного элемента изображения. Нажатие на правую кнопку мыши только удаляет выбранный элемент. Нажатие на среднюю кнопку мыши только включает выбранный элемент изображения. Достигнув, перемещением курсора по координате X, одного из краев индикатора дальнейшее его передвижение вызовет "прокручивание" изображения в соответствующую сторону. В режиме "Редактор" также доступны следующие функции: Замыкание контактов переключателя SA4 переведет устройство непосредственно в режим "Бегущей строки". Сервисные возможности такие как: начало бегущей строки, конец, скорость, а также, при необходимости, место временного останова определяются параметрами в режиме "Установки". Режим "Установки" доступен из режима "Редактор" посредством нажатия на кнопку SA1. Примечание. Минимальный размер светодиодной матрицы 23х5 обусловливается тем, что в данном режиме при меньшем числе светодиодов невозможно будет увидеть числа на табло, в принципе размеры матрицы не ограничены. В результате на табло появится два числа: число слева означает номер параметра, число справа его значение. Функции параметров приведены в следующей таблице:
№ параметра | Диапазон значений | Функция |
0 | 0-2047 | Определяет место начала прокрутки в "бегущей строке" |
1 | 0-2047 | Определяет место конца прокрутки в "бегущей строке" |
2 | 0-2047 | Определяет место временного останова "бегущей строки" |
3 | 0-255 | Определяет длительность временного останова "бегущей строки". Значение равное 1 исключает останов. |
4 | 0-2047 | Определяет частоту развертки "Бегущей строки" и соответственно её скорость. |
5 | 0-255 | Определяет физическую длину светодиодной матрицы устройства |
6 | 0-2047 | Определяет частоту развертки во всех режимах кроме "Бегущей строки" |
7 | 0-255 | Определяет длительность задержки во время записи в ЭСППЗУ |
В данном режиме мышь выполняет следующие функции: перемещение по координате X приведет к изменению номера редактируемого параметра. При нажатии и удержаниилевой кнопки мыши и её перемещении по координате X приведет к изменению значения выбранного параметра. Нажатие на правую кнопку мыши осуществит выход в режим "Редактор". Определить численные значения для таких функций как начало/конец/место останова поможет меню, появляющееся при нажатии и удержании в режиме "Редактор" кнопки SA3. На табло появится число, означающее положение курсора по координате X в поле памяти (0-2047). Также находясь в этом режиме (т.е. удерживая кнопку SA3) кратковременное нажатие на кнопку SA4 приведет к очистке той страницы памяти (256 байт), в которой в данный момент находился курсор. После проверки изменений внесенных в параметры, при необходимости можно сохранить как стартовые при включении питания устройства кратковременным нажатием на SA3, значения запишутся в энергонезависимую память данных контроллера.
При первом включении.
- Войти в режим "Установки" нажатием на кнопку SA1, выбрав параметр №5 установить значение равное длине матрицы
- В параметре №6 установить значение соответствующее оптимальной частоте мерцаний
- Очистить необходимый объем памяти ЭСППЗУ (см. выше)
- Подбором значения параметра №7 (стремясь к наименьшему значению) устранить "замазывание" изображения справа от курсора на табло после нажатия одной из кнопок мыши в режиме "Редактор". Этот параметр зависит от быстродействия ЭСППЗУ
- Записать изменения в энергонезависимую память данных контроллера.
Замечания.
1. Если при включении питания переключатель SA4 будет замкнут, инициализация мыши проводиться не будет (она может отсутствовать) и при выходе в режим "Редактор" работать не будет. 2. При отсутствии мыши и включении питания устройство не заработает до тех пор, пока мышь не будет подключена. 3. Отключение мыши при включенном устройстве и последующем ее подключении приведет к ее программному не функционированию (необходима переинициализация производимая при включении питания).