Начнем…
За что мне так полюбился BASCOM AVR, так это за простоту работы и визуально-понятный код. Работа в компиляторе с ЖК дисплеем лишний раз это подчеркивает.
CONFIG Lcdpin – конфигурируем подключение дисплея к выводам портов микроконтроллера
CONFIG Lcd – указываем какой именно дисплей подключен (количество строк и символов в строках)
CLS – очистить всю информацию с экрана
LOWERLINE – переместить курсор на нижестоящую строчку
UPPERLINE – переместить курсор на вышестоящую строчку
CURSOR – состояние курсора (включен или выключен, мигающий или не мигающий)
DISPLAY – включить или выключить дисплей
LOCATE – переместить курсор в конкретную позицию на экране дисплея (выбрать линию, выбрать знакоместо)
SHIFTCURSOR – переместить курсор влево или вправо на одну позицию.
SHIFTLCD – переместить всю отображенную информацию влево или вправо на одну позицию.
С более подробной информацией и дополнительными командами, вы можете ознакомиться в мануале на официальном сайте по BASCOM AVR.
Программа….
'подключаем текстовый ЖК индикатор.
'RoboZone.SU
$regfile = "m32def.dat" ' используем ATmega32 (MRC40 с универсальным модулем)
$crystal = 16000000 ' частота установленного кварца 16 mHz
$lib "lcd4.lbx" 'используем 4-х битное подключение дисплея с помощью альтернативной библиотеки
'
'Библиотека lcd4.lbx использует следующее подключение -
'
'LCD = ATmega32 '---------------
'Rs = PortB.0 'RW = PortB.1 ' E = PortB.2 'E2 = PortB.3 данный вывод используется для подключения некоторых дисплеев с двумя чипами (здесь не используется) 'Db4 = PortB.4 'Db5 = PortB.5 'Db6 = PortB.6 'Db7 = PortB.7
' указываем конфигурацию подключения дисплея к портам МК Config Lcdpin = Pin , Rs = Portb.0 , E = Portb.2 , Db4 = Portb.4 , Db5 = Portb.5 , Db6 = Portb.6 , Db7 = Portb.7
Config Lcd = 16 * 2 'используем дисплей на 2 строчки по 16 знакомест в каждой
Cls 'команда очистки дисплея Lcd "RoboZone.SU" 'выводим надпись Lowerline ' переходим на нижнюю строчку Lcd "LCD test GOOD!!!" 'выводим надпись 'ВСЕ!!! End
Из комментариев в программе видно, что вывод информации на ЖК экран с помощью BASCOM AVR проще некуда =) Команда CURSOR Синтаксис команды - CURSOR ON / OFF BLINK / NOBLINK Пример:
Cls 'команда очистки дисплея Cursor off 'выключаем отображение курсора Lcd "RoboZone.SU" 'выводим надпись Синтаксис команды - DISPLAY ON / OFF Пример:
Cls 'команда очистки дисплея Lcd "RoboZone.SU" 'выводим надпись Wait 3 'пауза 3 секунды Display off 'выключаем дисплей Wait 3 'пауза 3 секунды Display on 'включаем дисплей
Lcd "Display ON!" 'выводим надпись
Синтаксис команды - LOCATE Y,X (где Y – строка, X – номер знакоместа) Пример:
Cls 'команда очистки дисплея Lcd "*" 'выводим надпись Locate 2,4 Lcd "*" 'выводим надпись Locate 1,7 Lcd "*" 'выводим надпись
Locate 2,10 Lcd "*" 'выводим надпись
Locate 1,13 Lcd "*" 'выводим надпись Locate 2,16 Lcd "*" 'выводим надпись
Синтаксис команды – SHIFTCURSOR LEFT/RIGHT Пример:
Cls 'команда очистки дисплея Lcd "*" 'выводим надпись Shiftcursor right 'перемещаем курсор на одно знакоместо вправо Lcd "HELLO!" 'выводим надпись
Синтаксис команды – SHIFTLCD LEFT/RIGHT
Пример:
Cls 'команда очистки дисплея
Lcd "HELLO!" 'выводим надпись
Waitms 500 'пауза 0,5 секунды
For A = 1 To 10 'цикл от 1 до 10
Shiftlcd Right 'сдвигаем текст вправо
Waitms 500 'пауза 0,5 секунды Next For A = 1 To 10 'цикл от 1 до 10
Shiftlcd left 'сдвигаем текст влево
Waitms 500 'пауза 0,5 секунды