Главная » Статьи » Cтатьи |
В этой статье поговорим о некоторых, наиболее применимых функциях библиотеки LCD.h. Заголовочный файл LCD.h имеет в своем наборе функции для работы с ЖКИ дисплеем, которые связаны с библиотекой LCD.lib, написанной на ассемблере. Поэтому записывая одну функцию, выполняется целый ассемблерный код. Библиотеки облегчают 'программерный’ труд программиста от написания постоянного, повторяющегося кода. Ниже программный код позволяет выводить текст на ЖКИ дисплей 16х02. Испытывался на макетной плате с индикатором WH1602D-YYB-CTK и Atmega8535.
/************************************************************************************/ while( 1 ){ }; /* бесконечный цикл */ Пример в программе – симуляторе Proteus 7.5 SP3 Перед тем, как выводить строку на ЖКИ дисплей его нужно инициализировать. Для этого используем функцию lcd_init: lcd_init( unsigned char lcd_columns ); В скобках указываем, на сколько символов подключили ЖКИ индикатор: lcd_init( 8 ); /* инициализация на 8 символов */ Выполняем очистку индикатора. Используем функцию lcd_clear( ); lcd_gotoxy( unsigned char x, unsigned char y ); х – с какой позиции выводить первый символ (зависит от типа индикатора) По данным заголовочного файла LCD.h имеем возможность выводить текст от 0 до 39 символов, и от 0 до 3 строк. Но в процессе использования выяснилось, что работает с ЖКИ индикаторами до 40х02 ( Тип Winstar WH4002A ). Использовать на индикатор WH4004A как правило не получится. Если, например, взяли индикатор 20х04 ( Тип Winstar WH2004A/B ), то для вывода текста с 10 позиции и 2-ой строке указываем в функции: lcd_gotoxy(10,2); Текст более 10 символов переведется на следующую строку lcd_putsf( char flash *str ); Текст, являющийся аргументом функции можно записывать непосредственно: lcd_putsf( "Hello World!" ); lcd_putsf( txt ); lcd_puts( char *str ); Пример: unsigned char *dt="Hello World!"; /* или char *dt=”Hello World!”; */ lcd_puts( dt ); Функция lcd_putchar( char c ); позволяет выводить символы из Таблицы кодов символов: lcd_putchar( 0x41 ); /* символ английской буквы А */ #include <mega8.h> unsigned char j=0; /* определяем переменную для хранения положительного числа от 0 до 255 */ while( 1 ) /* выполняем цикл пока оператор iF не выполнит условие j==16 */ while( 1 ){ /* бесконечный цикл */ }; Для того, чтобы выводить на ЖКИ индикатор русские буквы, применяется директива #pragma rl+/rl-: #include <mega8.h> while( 1 ){ }; По сути директива работает по переключению кодировки и собственно позволяет выводить русские буквы. В ходе практической работы выяснилось, что без этой директивы русский текст отображается как набор непонятных «казябликов». В cvavr 2.03 директива вообще не воспринимается компилятором. Что касается программы – симулятора Proteus (по крайней мере, проверенно в версии 7.2 и 7.5), то отсутствует поддержка вывода русского текста и большинства табличных символов. Файлы Проект LCD16x02 CodeVision ver.1.25.3 и Proteus 7.5 Проект LCD16x04 CodeVision ver.1.25.3 и Proteus 7.5 Проект LCD20x04 CodeVision ver.1.25.3 и Proteus 7.5 Проект LCD40x02 CodeVision ver.1.25.3 и Proteus 7.5 Проект LCDprogresBar CodeVision ver.1.25.3 и Proteus 7.5 | |
Просмотров: 49673 | Комментарии: 53 | | |
Всего комментариев: 29 | 1 2 » | ||||||||||||||
| |||||||||||||||
1-10 11-20 | |||||||||||||||