Контроллер
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