Рубрики
Схемы на PIC

Подключение ЖК дисплея 16×2 к микроконтроллеру PIC с помощью MPLABX и XC8

Ранее на нашем сайте мы рассматривали основы работы с микроконтроллерами PIC, настройку в них битов конфигурации (фьюзов), мигание светодиодом и работу с таймерами. В этой же статье мы рассмотрим подключение ЖК дисплея 16×2 к микроконтроллеру PIC с использованием программ MPLABX и XC8.

Ранее на нашем сайте мы рассматривали подключение ЖК дисплея 16×2 к следующим микроконтроллерам (платам):

Необходимые компоненты

  1. Микроконтроллер PIC16F877A (купить на AliExpress).
  2. Программатор PicKit 3 (купить на AliExpress).
  3. ЖК дисплей 16×2 (купить на AliExpress).
  4. Держатель микросхем на 40 контактов (купить на AliExpress).
  5. Кварцевый генератор на 20 МГц (купить на AliExpress).
  6. Конденсаторы 22 пФ – 2 шт. (купить на AliExpress).
  7. Светодиод любого цвета (купить на AliExpress).
  8. Набор для пайки.
  9. Перфорированная плата (Perf board).
  10. Соединительные провода.

Функции для подключения ЖК дисплея 16×2 к микроконтроллеру PIC

Для облегчения подключения ЖК дисплея 16×2 к микроконтроллеру PIC мы создадим собственную библиотеку. Для ее подключения мы будем использовать заголовочный файл «MyLCD.h» – в нем будут содержаться все функции, необходимые для подключения и взаимодействия микроконтроллера PIC с ЖК дисплеем 16×2. Далее мы объясним содержание этих функций.

Существует два способа добавить эти функции в ваш проект. Вы можете либо полностью скопировать их код и вставить его в свою программу перед функцией void main(), либо вы можете скачать весь заголовочный файл по приведенной выше ссылке и подключать его в свою программу с помощью команды #include «MyLCD.h».

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

Далее кратко рассмотрим каждую из этих функций.

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

Lcd_Clear(): эта функция используется для очистки экрана ЖК дисплея.

void Lcd_Set_Cursor(x pos, y pos): эта функция позволяет установить курсор ЖК дисплея в позицию, определяемую координатами x и y. К примеру, если нам нужно будет установить курсор на 5-й символ 1-й строки, то достаточно будет вызвать функцию Lcd_Set_Cursor(1, 5).

void Lcd_Print_Char(char data): когда курсор установлен в нужную позицию, можно вывести символ на данной позиции с помощью этой функции.

void Lcd_Print_String(char *a): данная функция позволяет вывести на экран ЖК дисплея строку символов.

Каждый раз при вызове функции Lcd_Print_Char(char data) соответствующий символ передается на ЖК дисплей. Эти символы передаются на контроллер дисплея HD44780U в форме битов. Данный контроллер, принимая эти биты, отображает соответствующий символ на экране ЖК дисплея в соответствии со следующей таблицей.

Эту таблицу можно найти в даташите на контроллер ЖК дисплея HD44780U.

Схема проекта

Схема подключения ЖК дисплея 16×2 к микроконтроллеру PIC представлена на следующем рисунке.

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

Схема соединений между ЖК дисплеем 16×2 и микроконтроллером PIC приведена в следующей таблице.

№ контакта ЖК дисплея Обозначение контакта ЖК дисплея Обозначение контакта микроконтроллера PIC № контакта микроконтроллера PIC
1 Ground Ground 12
2 VCC +5V 11
3 VEE Ground 12
4 Register Select RD2 21
5 Read/Write Ground 12
6 Enable RD3 22
7 Data Bit 0 NC
8 Data Bit 1 NC
9 Data Bit 2 NC
10 Data Bit 3 NC
11 Data Bit 4 RD4 27
12 Data Bit 5 RD5 28
13 Data Bit 6 RD6 29
14 Data Bit 7 RD7 30
15 LED Positive +5V 11
16 LED Negative Ground 12

Внешний вид собранной конструкции проекта показан на следующем рисунке.

Также следует помнить о том, что в коде программы необходимо указать контакты микроконтроллера PIC, к которым подключен ЖК дисплей. В нашем проекте это будут следующие контакты:

Вы можете изменить их по своему усмотрению – только помните о том, что изменения необходимо будет внести и в схему, и в программу проекта.

После сборки схемы проекта и загрузки программы в микроконтроллер PIC вы можете приступить к тестированию работы проекта.

Исходный код программы

Видео, демонстрирующее работу проекта

Источник статьи

Добавить комментарий

Ваш адрес email не будет опубликован.