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

Подключаем текстовый ЖК-дисплей
   Очень часто необходимо увидеть не которые показания датчиков. И чтобы их вывести можно воспользоваться двумя способами. Это вывод данных на пк через UART или на жк-дисплей. В этой статье рассмотрим вывод информации на жк-дисплей. Возьмём PC2004LRS-ANH-B-Q (4х20- что означает 4 строки по 20 символов). Воспользуемся модулем на котором уже разведён разъём(Jmp5) под жк-дисплей. Подключение осуществляется по 4-х битной схеме, таким образом мы экономим 4 вывода порта микроконтроллера. Для настройки чёткого отображения символов на экране, крутим подстроечный резистор R10.

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



   Кратко перечислим основные команды BASCOM AVR для работы c текстовыми дисплеями…

   Для начала в программе подключаем библиотеку для дисплея:

Code
$lib "lcd4.lbx"  'используем 4-битное подключение дисплея с помощью альтернативной библиотеки

    Далее определяем выводы на, которые будем подключать дисплей:

Config Lcdpin - конфигурируем подключение дисплея к выводам портов МК
Config Lcd - указываем какой именно дисплей подключён (кол-во символов и строк)

Code
Config Lcdpin = Pin, Rs = Portb.0, E = Portb.2, Db4 = Portb.4, Db5 = Portb.5, Db6 = Portb.6, Db7 = Portb.7
Config Lcd = 20*4 'используем дисплей на 20 символ и 4 строки

    Теперь перед выводом информации требуется сделать очистку экрана и убрать курсор, если он не нужен:

Cls - очистка дисплея
Cursor - состояние курсора
Синтаксис команды - Cursor on / off blink / noblink

Code
Cls 'очистить дисплей
Cursor off 'отключаем курсор

    О перемещение курсора:

Lowerline – переместить курсор на нижестоящую строчку

Upperline – переместить курсор на вышестоящую строчку


Code
Lcd "ABC" 'выводи надпись

Lowerline ' переходим на нижнюю строчку

Lcd "abc"  'выводи надпись


Shiftcursor – переместить курсор влево или вправо на одну позицию.

Синтаксис команды – Shiftcursor Left / Right


Code

Lcd "*"

Shiftcursor right

Lcd "ABC"



Shiftlcd – переместить всю отображенную информацию влево или вправо на одну позицию.

Синтаксис команды – Shiftlcd Left / Right

Code

Lcd "ABC"             ' выводим надпись
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 – номер знакоместа)

Code

Locate 1, 5

Lcd "ABC" 'выводи надпись

Locate 2, 3

Lcd "abc"  'выводи надпись


   Пример программы вывода текста на жк-дисплей:



Code
$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 = 20 * 4                                         'используем дисплей на 4 строчки по 20 знакомест в каждой

Dim A As Integer

Cls
Cursor Off

Locate 1 , 1
Lcd "Test PC2004LRS-ANH-B"
Locate 2 , 2
Lcd "Author:admin Space"
Locate 3 , 3
Lcd "***Bascom_AVR***"
Locate 4 , 4
Lcd "*www.enore.ru*"

End     
                                                   ' конец программы


   Для вывода русских букв требуется ковертор. Скачать можно по ссылке. Тогда программа будет выглядеть так:



Code
$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 = 20 * 4                                         'используем дисплей на 4 строчки по 20 знакомест в каждой

Dim A As Integer

Cls
Cursor Off

Locate 1 , 1
Lcd "Test PC2004LRS-ANH-B"
Locate 2 , 2
Lcd "Aіїopp: aгјёЅ Space"
Locate 3 , 3
Lcd "***Bascom_AVR***"
Locate 4 , 4
Lcd "*www.enore.ru*"

End                                                        ' конец программы



Ссылка на предыдущую статью.

Ссылка на следующую статью.



Источник: www.enore.ru
Категория: Программирование в BascomAVR | Добавил: Space (23.01.2011) | Автор: Кирилл E W
Просмотров: 2569 | Комментарии: 3 | Теги: как подключить текстовый жк-дисплей, текстовый дисплей, дисплей, как подключить дисплей. жк-дисплей, подключение дисплея, текстовый жк-дисплей
Всего комментариев: 1
1 irrigutle   (30.10.2012 02:48) [Материал]
документы на водоснабжение
теплые полы смоленск
установка монтаж газовых котлов
котлы отопления baxi
типы радиаторов отопления

газовое отопление
установка газовых котлов
ламинат на теплом полу

централизованная система водоснабжения
радиаторы отопления электросталь
стоимость установки радиаторов отопления

горячее водоснабжение

газовые котлы отопления висман
газовые печи отопления
электрический котел потребление

горячее водоснабжение
системы водоснабжения

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