Парой нам нужно узнать результаты вычислений
программы, состояние портов(Например ADC) и т. д. Для таких целей
применяют ЖК-дисплеи, как цветные от мобильных телефонов так и обычные
текстовые дисплеи. Например 16х2. 16х2 означает, 2 строчки на каждой по
16 знакомест. Для того чтобы подключит ЖК-дисплей воспользуемся Робо-контроллером (ATmega 16/32/644). На контроллере уже есть разведённый разъём. На нём 10 выводов. За метьте, что PB3 не подключается к дисплею. Поэтому, если увеличите картинку контроллера, то увидите, что на месте PB3 вывода нет. Подключаем ЖК-дисплей WH1602B-YYH-CTK. Питание этого дисплей составляет 5 вольт. На контроллере установлен подстроечный резистор для настройки контраста дисплея. Подключение
осуществляется по 4-х битной схеме, таким образом мы экономим 4 вывода
порта микроконтроллера. Ниже приведена принципиальная схема подключения
ЖК-дисплея к микроконтроллеру:
Как я уже говорил в первой статье про BascomAVR,
он очень понятен. И работа с дисплеем лишний раз подчёркивает это.
Единственное, что вы скорей всего захотите вводить данные не на
английском языке, а именно на русском. Но просто на дисплеи выводится
только английские буквы, с русским есть маленькая хитрость, но об этом
расскажу позже. Поэтому сейчас опишу основные команды для работы с
дисплеем.
И так начнём:
Сначала разберёмся с программным подключением дисплея.
Примеры зелёного цвета.
Для начала в программе подключаем библиотеку для дисплея:
$lib "lcd4.lbx" 'используем 4-битное подключение дисплея с помощью альтернативной библиотеки
Далее определяем ножки на, которые будем подключать дисплей:
Config Lcdpin - конфигурируем подключение дисплея к выводам портов МК
Config Lcdpin = Pin, Rs = Portb.0, E = Portb.2, Db4 = Portb.4, Db5 = Portb.5, Db6 = Portb.6, Db7 = Portb.7
Config Lcd - указываем какой именно дисплей подключён (кол-во символов и строк)
Config Lcd = 16*2 'используем дисплей на 16 символ и 2 строки
Теперь перед выводом информации требуется сделать очистку экрана и убрать курсор, если он не нужен:
Cls - очистка дисплея
Cls
Cursor - состояние курсора
Синтаксис команды - Cursor on / off blink / noblink
Cursor off 'отключаем курсор
О перемещение курсора:
Lowerline – переместить курсор на нижестоящую строчку
Upperline – переместить курсор на вышестоящую строчку
Lcd "RoboHome" 'выводи надпись
Lowerline ' переходим на нижнюю строчку
Lcd "LCD test" 'выводи надпись
Shiftcursor – переместить курсор влево или вправо на одну позицию.
Синтаксис команды – Shiftcursor Left / Right
Lcd "*"
Shiftcursor right
Lcd "RoboHome"
Shiftlcd – переместить всю отображенную информацию влево или вправо на одну позицию.
Синтаксис команды – Shiftlcd Left / Right Lcd "RoboHome" ' выводим надпись waitms 500 ' задержка на 0,5 секунды For A=1 To 10 Shiftlcd right ' сдвигаем текст вправо waitms 500 ' задержка на 0,5 секунды Next For A=1 To 10
Shiftlcd left ' сдвигаем текст влево
waitms 500 ' задержка на 0,5 секунды
Next
Чтобы вывести надпись в конкретном месте используем следующий код:
Locate - переместить курсор в конкретное место и строку на экране (указать знакоместо, строку)
Синтаксис команды - Locate Y,X (где Y – строка, X – номер знакоместа)
Locate 1, 5
Lcd "RoboHome" 'выводи надпись
Locate 2, 3
Lcd "LCD test :)" 'выводи надпись
Пример программы вывода текста на жк-дисплей: $regfile = "m16def.dat" ' используем ATmega16 $crystal = 16000000 ' частота установленного кварца 16 mHz
$lib "lcd4.lbx" 'используем 4-х битное подключение дисплея с помощью альтернативной библиотеки
' указываем конфигурацию подключения дисплея к портам МК
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 "RoboHome" 'выводим надпись Lowerline ' переходим на нижнюю строчку Lcd "LCD test :)" 'выводим надпись End
На этом всё. Думаю начальной информации для работы с текстовым ЖК-диспоеем вам хватит. Ах да я же обещал ещё показать как вывести русский текст.
Для этого скачайте конвертор для русских букв (скачать 256кб). А дальше смотрите видео урок. Скачать его можно в архиве ниже там первый пример программы, второй пример с русскими буквами и видео урок как работать с ковертором. Ну вот и всё. Удачи! Скачать АРХИВ 1,54мб
|