Вторник, 23.04.2024, 20:37
| RSS
[SEARCH_TITLE]
[SEARCH_FORM]
Важно!!!
Для успешного просмотра
сайта воспользуйтесь
браузером Mozilla Firefox



Мини-Профиль
Гость


Группа:
Гости
Время:20:37

Гость, мы рады вас видеть. Пожалуйста зарегистрируйтесь или авторизуйтесь!

Категории раздела
О программаторах [4]
Не много о том как и с помощью чего программировать.
Программирование в BascomAVR [6]
Учимся благодаря статьям писать программы. Язык Basic
Программирование в CV AVR? [4]
Учимся благодаря статьям писать программы. Язык Си

Поиск

Наш опрос
Какой язык вы хотели бы изучать?
Всего ответов: 352

Друзья сайта
roboforum
  • robozone
  • Железный феликс
  • robo.com.ua
  • imobot
  • ASARobotics
  • Grover
  • Электроника
  • Your Device
  • Программирование BASCOM
  • Basic для PIC мк
  • Электроника для всех
  • RassionRobots
  • Newrobots-world

  • Статистика

    Каталог-Молдова - Ranker, Statistics
    RoboRing.Ru
    << | list | ? | >>
    Rambler's Top100
    Рейтинг@Mail.ru
    Рейтинг робо-сайтов


    Помоги сайту
    ЯндексЯндекс. ДеньгиХочу такую же кнопку


    Главная » Статьи » Программирование » Программирование в BascomAVR

    Подключаем LCD дисплей (WH1602B-YYH-CTK) 16х2. Язык BascomAVR
    Парой нам нужно узнать результаты вычислений программы, состояние портов(Например 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мб

    Категория: Программирование в BascomAVR | Добавил: Space (20.08.2009)
    Просмотров: 22944 | Комментарии: 5 | Теги: LCD, жки, вывод информации на жк, ЖК, русские буквы, дисплей, как подключить дисплей, Русские буквы при выводе на ЖК, ЖК-дисплей 16х2 | Рейтинг: 5.0/4 |
    Всего комментариев: 5
    4 kostikus  
    0
    кстати сегодня подключил всё к mega32 и данный экран прекрасно заработал!!!!!!!!!!!!!! ура!!!!!!! dance4

    3 kostikus  
    0
    купил сегодня FDCC1602G-FSWFTW-50LR вот такой дисплейчик

    вроде и питание у него 5в и 4х битное управление есть....
    подключил его к mega8 прошил её, а экран чистенький.... в чём загвоздка?

    попробовал в proteus прогнать всё, программа рабочая.... где косяк мой???


    2 kostikus  
    0
    а почему PB3 не подключается, почему удален вывод?

    5 Space  
    0
    для управления жк он не требуется

    1 Space  
    1
    Народ дисплей на фото другой(20х4) для примера как должно всё выглядеть после прошивки программы.

    Добавлять комментарии могут только зарегистрированные пользователи.
    [ Регистрация | Вход ]