Технические разделы

Описание ЖК дисплея HD44780

ЖК на базе контроллеров HD44780 являются эффективным средством отображения различной информации и могут с успехом применяться даже в любительских разработках. Наличие многих режимов вывода (скроллирование, курсоры, определяемые пользователем символы) позволяет разрабатывать удобные интерфейсы управления и устройства индикации.

Наличие 4-х битного режима вывода даёт возможность задействовать минимум портов микроконтроллера.

Довольно много информации по этим индикаторам можно найти в интернете, поэтому приведу пример ассемблерных процедур, вставленных в код на С, для 4-х битного режима, как представляющий наибольший интерес для разработчиков.

Схема включения:RB2 - LCD RS

PIC RB3 - LCD ERB4 - LCD B4RB5 - LCD B5RB6 - LCD B6RB7 - LCD B7

Помимо этого: LCD R/W - заземлить, LCD B0 .LCD B3 - подключить к плюсу питания через резисторы.

/*-------------начало примера-------------*/

.

.

.lcd_data;

/* вывод старшей тетрады байта данных */out_nibble() {{_lcd_data ; байт данных должен быть в W

bcf PORTB, 4_lcd_data, 4PORTB, 4PORTB, 5_lcd_data, 5PORTB, 5PORTB, 6_lcd_data, 6PORTB, 6PORTB, 7_lcd_data, 7

bsf PORTB, 7

}

}

/* вывод байта в 8-ми битном режиме (требуется

только для инициализации ЖКИ) */wr_cmd(char cmd) {

asm {PORTB, 2 ; RS - down, пишем в IRparam00_wr_cmd_out_nibblePORTB, 3 ; E - upPORTB, 3 ; E - down

call _delay

}

}

/* вывод байта команды на ЖКИ */

void wr_cmd4(char cmd) {{PORTB, 2 ; RS - down, пишем в IRparam00_wr_cmd4_out_nibblePORTB, 3 ; E - upPORTB, 3 ; E - down_delayparam00_wr_cmd4, W ; меняем тетрады байта_out_nibblePORTB, 3 ; E - upPORTB, 3 ; E - down_delay

}

}

/* вывод байта данных на ЖКИ */

void wr_data4(char data) {{PORTB, 2 ; RS - up, пишем в DRparam00_wr_data4_out_nibblePORTB, 3 ; E - upPORTB, 3 ; E - down_delayparam00_wr_data4, W ; меняем тетрады байта_out_nibblePORTB, 3 ; E - upPORTB, 3 ; E - down_delay

}

}

/* задержка */delay() {_ms(1);

}

.

.

.

/*-------------окончание примера-------------*/

В приведенных примерах не отслеживается флаг занятости (busy flag) контроллера HD44780, взамен этого процедуры вывода на ЖКИ имеют задержки; на это следует обратить внимание. Ниже приводится фрагмент программы на С, выводящую фрагмент знакогенератора на экран ЖКИ формата 2 строки по 16 символов.

/*-------------начало примера-------------*/

.

.

.i, ch;

/* инициализация ЖКИ в 8-ми битном режиме

(рекомендуется производителем) */_cmd(0x28);

delay_ms(5);_cmd(0x28);();_cmd(0x28);();

/* инициализация ЖКИ в 4-х битном режиме */

wr_cmd4(0x28);_cmd4(0x0c);

wr_cmd4(0x06);= 0x20;_cmd4(0x80); /* переход на первую строку экрана */

for (i=0; i<16; i++) {_data4(ch); /* выводим символы */

ch++;

}_cmd4(0xc0); /* переход на вторую строку экрана */

for (i=0; i<16; i++) {_data4(ch); /* выводим символы */

ch++;

}

.

.

.

/*-------------окончание примера-------------*/

Технический проект

На данном этапе происходит описание и моделирование функций языка программирования, выбор организации проекта и принципов построения моделей и т.д.

Выполняются следующие работы:

· составление и описание блоков на языке программирования;

· определяются межблоковые связи;

· описание констант и переменных;

· отладка проекта (пошаговое тестирование основных блоков программы в процессе написания и исправление некорректной работы);

Далее подробно описаны все вышеперечисленные этапы.

Еще статьи по технике и технологиям

Система централизованного контроля параметров судовой энергетической установки
Структурная схема системы контроля контроль судовая энергетическая установка Рисунок 1- Структурная схема СЦК В состав структурной схемы входят: В качестве датчиков (первичных измерительных преобразователей) Д1… Д6 исп ...

Формирователь OFDM сигнала на плис стандарта 802.16d
Ни для кого не секрет, что в наше время использование беспроводной передачи информации приобрело огромные масштабы, но с чего же все началось? Началось все с внедрения сотовой связи в 1990 году, коммерческое использование началось ...

© 2021 | www.techexpose.ru