Знакогенератор в ЖКИ, создаем свои символы. - BASCOM AVR - Микроконтроллеры - Каталог статей - Собери свою радиосхему! Сайт радиолюбителей.
Собери свою радиосхему!
Воскресенье, 11.12.2016, 05:14 Приветствую Вас Гость

Чебоксары

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

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

Главная » Статьи » Микроконтроллеры » BASCOM AVR

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

Контроллер 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)
Просмотров: 5622 | Комментарии: 2 | Теги: LCD, BASCOM AVR | Рейтинг: 4.8/4
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Форма входа
Логин:
Пароль:
Категории раздела
Источники питания и приборы
Охрана и контроль доступа
Измерительные устройства
Часы, таймеры, счетчики
Световые эффекты
Защита и контроль
Для начинающих
Разное
BASCOM AVR
Информация по МК, FAQ
Поиск
Наш опрос
Чем паяют радиодетали?
Всего ответов: 228

Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
у нас тут все на bascom)

Подавляющее количество часов на Atmega8 выполнены с использо...

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

Рейтинг@Mail.ru