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


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

Внешний вид подключения ЖК дисплея 16x2 к микроконтроллеру PIC

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

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

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

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

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

Существует два способа добавить эти функции в ваш проект. Вы можете либо полностью скопировать их код и вставить его в свою программу перед функцией 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 в форме битов. Данный контроллер, принимая эти биты, отображает соответствующий символ на экране ЖК дисплея в соответствии со следующей таблицей.

Таблица символов ЖК дисплея 16х2

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

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

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

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

Схема соединений между ЖК дисплеем 16x2 и микроконтроллером 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 вы можете приступить к тестированию работы проекта.

Тестирование работы проекта

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

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

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

(Проголосуй первым!)
Загрузка...
1 209 просмотров

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *