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

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

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



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

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

Code
#asm
   .equ __lcd_port=0x18 ;PORTB   // Подключаем дисплей к выходам PORTB
#endasm

   Подключаем библиотеку для дисплея:

Code
#include <lcd.h> //подключаем библиотеку для работы дисплея

   Дальше нужно инициализировать дисплей, так как у нас он на 20 символов в каждой строчке, то выглядеть это будет так:

Code
lcd_init(20); // инициализируем дисплей для 4 строк и 20 столбцов

   Дальше чтобы вывести текст нужно написать следующие:

Code
lcd_gotoxy (0,1)
lcd_putsf("здесь пишем текст, который хотим вывести");

  (lcd_gotoxy (0,1)) - Отсчёт ведётся от 0, поэтому здесь 0-это вывод с 1-ого символа и 1 - это 2 строка.

   В результате получаем вот такую программу:



   Прошиваем мк и смотрим, что получилось:



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



   Но можно и без конвертора. Для этого нам потребуется директива:
Code
#pragma rl+/rl-

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

Code
#include <mega16.h>

#asm
   .equ __lcd_port=0x18 ;PORTB   // Подключаем дисплей к выходам PORTB
#endasm
#include <lcd.h> //подключаем библиотеку для работы дисплея
 
void main(void) 

{

lcd_init(20); // инициализируем дисплей для 4 строк и 20 столбцов
#pragma rl+
lcd_gotoxy (0,0); // текст будем выводить 0 ряда и на 0 строке(отсчёт от 0)
lcd_putsf("Тест PC2004LRS-ANH-B"); // выводим текст  

lcd_gotoxy (1,1); // текст будем выводить 1 ряда и на 1 строке(отсчёт от 0)
lcd_putsf("Автор: админ Space"); // выводим текст

lcd_gotoxy (2,2); // текст будем выводить 1 ряда и на 1 строке(отсчёт от 0)
lcd_putsf("***Bascom_AVR***"); // выводим текст

lcd_gotoxy (3,3); // текст будем выводить 1 ряда и на 1 строке(отсчёт от 0)
lcd_putsf("*www.enore.ru*"); // выводим текст
#pragma rl-
while (1)

{
};
}


   И так на экране дисплея:



   Весь проект можно скачать по ссылке.

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

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














Источник: www.enore.ru
Категория: Программирование в CV AVR | Добавил: Space (24.01.2011) | Автор: Кирилл E W
Просмотров: 3333 | Теги: код на си для дисплея. lcd, lcd-дисплей, подключаем дисплей
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]