Amicus18

Amicus18 и символьный ЖК-дисплей

amicuslcd thumbПлатформа Amicus18 имеет встроенные средства для работы с графическими и символьными жидкокристаллическими индикаторами, построенными на базе микросхем Hitachi 44780 для символьных дисплеев, Samsung KS0108 или Toshiba T6963 для графических индикаторов. Наиболее простым в использовании, является классический символьный ЖК индикатор. Платформа Amicus18 может работать с ним как по 4-х так и по 8-ми проводному интерфейсу.

Настройка линий МК

Схема подключения LCD к Amicus18

Используя символьный ЖК-дисплей для вывода информации, первоначально необходимо указать, куда будут подключены линии данных и управления. Делается это с помощью объявления соответствующих значений.

Declare LCD_Type 0 или Alpha - Указывает компилятору на тип дисплея. Для символьного ЖК-индикатора необходимо указывать 0 или Alpha 

Declare LCD_ENPin Port .Pin - Назначает выходную линию, управляющую входом Enable дисплея. По умолчанию используется PortB.3.

Declare LCD_RSPin Port .Pin - Назначает выходную линию, управляющую входом RS дисплея. По умолчанию используется PortB.2.

Declare LCD_Interface 4 или 8 - Указывает на 4-х или 8-ми проводной режим передачи данных. По умолчанию используется 4-х проводной.

Declare LCD_Lines 1, 2, or 4 - Указывает количество строк на дисплее.

Declare LCD_DTPin Port .Pin Определяет порт и номер первого выхода, куда подключаются линии данных. При 8-ми проводном режиме всегда Pin=0, и используется весь порт. При 4-х проводном режиме Pin=0, или Pin=4, и используются либо линии 0-3, либо 4-7. Изменение номеров выходов соответствует изменению номеров линий данных дисплея.

Команда PRINT

Команда Print предназначена для вывода текстовой информации на ЖК-дисплей. Она может быть использована не только с символьными LCD, но также и с графическими. Команда Print одна из самых функциональных команд в ProtonBASIC. Большое количество разнообразных модификаторов придет ей множество специальных возможностей по отображению информации. Во многих случаях, эти возможности позволяют не задумываться о преобразовании данных перед отображением на ЖК-дисплее.

Команда записывается в следующем виде:

Print Item {,Item…}

где Item – переменные, константы или модификаторы.

Модификаторы

  • At ypos,xpos Установка курсора в указанные координаты LCD
  • Cls Очистка экрана
  • Bin{1..32} Отображение двоичного значения
  • Dec{1..10} Отображение десятичного значения
  • Hex{1..8} Отображение шестнадцатеричного значения
  • Sbin{1..32} Отображение двоичного значения со знаком
  • Sdec{1..10} Отображение десятичного значения со знаком
  • Shex{1..8} Отображение шестнадцатеричного значения со знаком
  • Ibin{1..32} Отображение двоичного значения с отображением символа '%'
  • Idec{1..10} Отображение десятичного значения с символом '#'
  • Ihex{1..8} Отображение шестнадцатеричного значения со знаком '$'
  • ISbin{1..32} Отображение двоичного значения со знаком с отображением символа '%'
  • ISdec{1..10} Отображение десятичного значения со знаком с символом '#'
  • IShex{1..8} Отображение шестнадцатеричного значения со знаком и символом '$'
  • Rep c\n Отображение символа c повторяющегося  n раз
  • Str array\n Отображение состава массива или n его частей
  • Cstr cdata Отображение строки, определенной в Cdata  

После модификаторов Bin, Dec, и Hex можно указать количество цифр, отображаемых на индикаторе. Отсутствующие разряды будут заменены нулями. Наиболее удобно использовать данную опцию при выводе дробных чисел. В этом случае указывается число знаков после запятой. По умолчанию, число знаков равно 3.

Команды дисплея

С помощью Print возможна передача команд индикатора

  • $FE, 1 Очистить дисплей
  • $FE, 2 Установить курсор на первую строку
  • $FE, $0C Погасить курсор
  • $FE, $0E Включить курсор в виде подчеркивания
  • $FE, $0F Включить мигающий курсор
  • $FE, $10 Сдвиг курсора на одну позицию влево
  • $FE, $14 Сдвиг курсора на одну позицию вправо
  • $FE, $C0 Установить курсор на начало второй строки
  • $FE, $94 Установить курсор на начало третьей строки (для 4-х строчных дисплеев)
  • $FE, $D4 Установить курсор на начало четвертой строки (для 4-х строчных дисплеев)

Пример программы

Ниже приведен пример простой программы, работающей с ЖК-дисплеем. В качестве последнего использован LCD индикатор WH1602B. Схема подключения дисплея приведена выше.

Результат работы программы

Результат работы программы

Текст на языке ProtonBASIC

' Объявление переменных
    Dim DV as byte
    Dim FV As Float
 
' Установки ЖК индикатора
 
    LCD_DTPin = PORTB.4             ' Линии D4-D7 подклюючены к линиям 4-7 PORTB
    LCD_ENPin = PORTB.2             ' Вход EN подключен к PORTB.2
    LCD_RSPin = PORTB.0             ' Вход RS подключен к PORTB.0
    LCD_Interface = 4                    ' 4-х проводная схема
    LCD_Lines = 2                           ' Используется двухстрочный индикатор
    LCD_Type = Alphanumeric     ' Тип индикатора - символьный
 
Main:
    FV=3.1409
 
    DelayMS 100                 ' Задержка для включения индикатора
    Cls                               ' Очистка индикатора 
    Print "Hello World "      ' Вывод строки “Hello World”
    Print dec1 FV           ' Вывод переменной FV с одним знаком после запятой
    while 1=1
    FOR DV=0 to 250 step 1  
      Print $FE, $C0           ' Установка курсора на начало второй строки
      Delayms 300                ' Задержка 0.3сек
      Print dec3 DV           ' Вывод переменной DV с одним знаком после запятой
    next
    wend

You have no rights to post comments