Пятница, 19.04.2024, 03:01 Приветствую Вас Гость

Автозапуск за 1500р. на ЛЮБОЙ сигнализации?! -> at13.ru

Главная | Регистрация | Вход | RSS

Каталог статей


Знакогенератор в ЖКИ, создаем свои символы.

Контроллер HD44780 получил большое распространение, благодаря своей функциональности и дешевизне. Контроллер HD44780 имеет несколько аналогом, среди них известный KS0066 производства компании Samsung. Контроллер HD44780 имеет свой набор команд, имеет так же определенные требования по задержкам между командами, информация по всем особенностям в datasheet.

Аналогом hd44780 является контроллер KS0066.




Пример: код 0x34 соответствует цифре 4.

Нестандартные символы из набора можно выводить на индикатор, указывая их десятичный код: Lcd Chr(253)

Контроллеры HD44780 имеют дополнительное место для 8 собственных символов. Вы можете использовать это, чтобы:

- сделать индикатор уровня сигнала
- дурацкую анимацию, показывающую, что контроллер занят рассчетами или чем-то еще
- крутящуюся штуковину или танцующего человечка, чтобы показать, что контроллер все еще работает, или развлекать пользователя

Вы можете создавать собственные символы в Bascom, используя специальный редактор (Tools / LCD Designer).
Наберем (на этот раз ручками или копипастом) такую вот программку:

$regfile = "2313def.dat"
$crystal = 4000000
$sim
Config Portd = Output
Dim Star As Byte

Cursor Off






Cls

Do
  For Star = 0 To 5 Step 1
    Portd = 255
    Waitms 100
    Portd = 0
    Waitms 100
    Locate 1 , 16
    Lcd Chr(star)
  Next Star
Loop

End


Поместим курсор на вторую пустую строку после слов "Cursor Off". Нажмем Tools / LCD Designer:



Щелкнем на маленьком белом квадратике, и он станет черным. Щелкнем снова - и он побелеет. Нарисуем таким образом крестик:



Нажмем "OK". На том месте, где мы предусмотрительно оставили курсор, появится такая строка:
Deflcdchar ?,32,4,4,31,4,4,32,32' replace ? with number (0-7)
Заменим "?" на цифру "0" и удалим комментарий:
Deflcdchar 0,32,4,4,31,4,4,32,32
Поместим курсор на следующую свободную строку и повторим все действия, нарисовав на этот раз такую загогулину:



Снова нажмем "OK", снова появится строка:
Deflcdchar ?,32,4,4,31,4,4,32,32' replace ? with number (0-7)
Делаем все то же самое, только заменяем на этот раз вопросик цифрой "1":
Deflcdchar 1,32,4,4,31,4,4,32,32

Повторим этот процесс еще четыре раза (нужно поднапрячь воображение), пока не получим примерно такую программу:

$regfile = "2313def.dat"
$crystal = 4000000
$sim
Config Portd = Output
Dim Star As Byte

Cursor Off

Deflcdchar 0 , 32 , 4 , 4 , 31 , 4 , 4 , 32 , 32
Deflcdchar 1 , 32 , 2 , 20 , 14 , 5 , 8 , 32 , 32
Deflcdchar 2 , 32 , 2 , 26 , 4 , 11 , 8 , 32 , 32
Deflcdchar 3 , 32 , 17 , 10 , 4 , 10 , 17 , 32 , 32
Deflcdchar 4 , 32 , 8 , 11 , 4 , 26 , 2 , 32 , 32
Deflcdchar 5 , 32 , 8 , 5 , 14 , 20 , 2 , 32 , 32

Cls

Do
  For Star = 0 To 5 Step 1
    Portd = 255
    Waitms 100
    Portd = 0
    Waitms 100
    Locate 1 , 16
    Lcd Chr(star)
  Next Star
Loop

End


Скомпилируем и засимулируем. На выходе получаем шусто вращающуюся звездочку на последнем знакоместе первой строки:



Как вариант, можно сделать прыгающего человечка только из двух кадров:



Категория: BASCOM AVR | Добавил: Адвансед (01.07.2012)
Просмотров: 8223 | Комментарии: 2 | Теги: LCD, BASCOM AVR | Рейтинг: 4.8/4
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Категории раздела
Источники питания и приборы
Охрана и контроль доступа
Измерительные устройства
Часы, таймеры, счетчики
Световые эффекты
Защита и контроль
Для начинающих
Разное
BASCOM AVR
Информация по МК, FAQ
Поиск
Вход на сайт
Наш опрос
Какой стаж вашего радиолюбительства?
Всего ответов: 81
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
Друзья сайта