Главная » Статьи » Программирование » Программирование в 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) | | |
Просмотров: 3368 | |
Всего комментариев: 0 | |