Основные электронные периферийные устройства, взаимодействующие с микроконтроллером 8051

Попробуйте наш инструмент устранения неполадок





Интерфейс - одна из важных концепций в микроконтроллер 8051 потому что микроконтроллер - это ЦП, который может выполнять некоторые операции с данными и выдает результат. Однако для выполнения операции нам необходимо устройство ввода для ввода данных, а устройство вывода, в свою очередь, отображает результаты операции. Здесь мы используем клавиатуру и ЖК-дисплей в качестве устройств ввода и вывода вместе с микроконтроллером.

Микроконтроллер 8051 Периферийные устройства

Микроконтроллер 8051 Периферийные устройства



Интерфейс - это процесс соединения устройств вместе, чтобы они могли обмениваться информацией, что упрощает написание программ. В соответствии с нашими требованиями существуют различные типы устройств ввода и вывода, такие как светодиоды, ЖК-дисплеи, 7-сегментные, клавиатура, двигатели и другие устройства.


Здесь приведены некоторые важные модули, сопряженные с микроконтроллером 8051.



1. Подключение светодиодов к микроконтроллеру:

Описание:

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

Светодиод

Светодиод

Принцип работа светодиодов очень легко. Простые светодиоды также служат в качестве основных устройств отображения, их состояние «включено» и «выключено» означает полную информацию об устройстве. Обычно доступные светодиоды имеют падение напряжения 1,7 В, что означает, что при подаче напряжения выше 1,7 В диод проводит. Диоду требуется ток 10 мА, чтобы светиться с полной силой.


Следующая схема описывает, «как зажигать светодиоды».

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

Принципиальная электрическая схема

Светодиодный интерфейс для микроконтроллера

Светодиодный интерфейс для микроконтроллера

Исходный код:

#включают
пустая функция()
{
беззнаковое int я
пока (1)
{
P0 = 0x00
для (i = 0i<30000i++)
P0 = 0xff
для (i = 0i<30000i++)
}
}

2. Схема интерфейса 7-сегментного дисплея

Описание:
Семисегментный дисплей это самый простой электронный дисплей. Он состоит из восьми светодиодов, которые последовательно связаны таким образом, чтобы отображать цифры от 0 до 9 при включении правильных комбинаций светодиодов. 7-сегментный дисплей использует семь светодиодов для отображения цифр от 0 до 9, а 8-й светодиод используется для отображения точек. Типичный сегмент из семи выглядит так, как показано на рисунке ниже.

7-сегментный дисплей

7-сегментный дисплей

7-сегментные дисплеи используются в ряде систем для отображения числовой информации. Они могут отображать одну цифру за раз. Таким образом, количество используемых сегментов зависит от количества отображаемых цифр. Здесь цифры от 0 до 9 отображаются непрерывно с предварительно заданной временной задержкой.

7-сегментные дисплеи доступны в двух конфигурациях: с общим анодом и общим катодом. Здесь используется обычная конфигурация анода, потому что выходного тока микроконтроллера недостаточно для управления светодиодами. 7-сегментный дисплей работает на отрицательной логике, мы должны подать логический 0 на соответствующий вывод, чтобы светодиод загорелся.

Конфигурации 7-сегментного дисплея

Конфигурации 7-сегментного дисплея

В следующей таблице показаны шестнадцатеричные значения, используемые для отображения различных цифр.

7-сегментный дисплейный стол

7-сегментный дисплейный стол

Принципиальная электрическая схема

7-сегментный интерфейс дисплея

7-сегментный интерфейс дисплея

Исходный код:

#включают
сбит а = P3 ^ 0
пустая функция()
{
символ без знака n [10] = {0x40,0xF9,0x24,0x30,0x19,0x12,0x02,0xF8,0xE00,0x10}
беззнаковое int i, j
а = 1
пока (1)
{
для (i = 0i<10i++)
{
P2 = n [i]
для (j = 0j<60000j++)
}
}
}

3. Подключение ЖК-дисплея к микроконтроллеру

ЖК-дисплей обозначает жидкокристаллический дисплей, который может отображать символы в строке. Здесь ЖК-дисплей 16 на 2 может отображать 16 символов в строке, и есть 2 строки. В этом ЖК-дисплее каждый символ отображается в матрице 5 * 7 пикселей.

ЖК дисплей

ЖК дисплей

ЖК-дисплей - очень важное устройство, которое используется практически для всех автоматизированных устройств, таких как стиральные машины, автономный робот, системы управления мощностью и другие устройства. Это достигается путем отображения их состояния на небольших модулях дисплея, таких как 7-семисегментные дисплеи, многосегментные светодиоды и т. Д. Причина в том, что ЖК-дисплеи имеют разумную цену, легко программируются и не имеют ограничений по отображению специальных символов.

Он состоит из двух регистров, таких как регистр команд / инструкций и регистр данных.

Регистр команд / инструкций хранит командные инструкции, передаваемые на ЖК-дисплей. Команда - это инструкция, которая дается ЖК-дисплею, который выполняет набор предопределенных задач, таких как инициализация, очистка экрана, установка положения курсора, управление отображением и т. Д.

В регистре данных хранятся данные, отображаемые на ЖК-дисплее. Данные представляют собой значения ASCII символов, отображаемых на ЖК-дисплее.

Управление ЖК-дисплеем осуществляется двумя командами. Когда RS = 0, R / W = 1, он читает данные, а когда RS = 1, R / W = 0, он записывает (печатает) данные.

ЖК-дисплей использует следующие коды команд:

Команды ЖК-дисплея

Команды ЖК-дисплея

Принципиальная электрическая схема:

Интерфейс ЖК-дисплея к микроконтроллеру

Интерфейс ЖК-дисплея к микроконтроллеру

Исходный код:

#включают
#define kam P0

сбит rs = P2 ^ 0
сбит rw = P2 ^ 1
сбит при = P2 ^ 2

void lcd_initi ()
void lcd_dat (символ без знака)
void lcd_cmd (символ без знака)
недействительная задержка (беззнаковое целое)
пустое отображение (символы без знака * s, символы без знака r)
пустая функция()
{

lcd_initi ()
lcd_cmd (0x80)
задержка (100)
дисплей («EDGEFX TECHLNGS», 15)
lcd_cmd (0xc0)
дисплей («НАБОРЫ И РЕШЕНИЯ», 15)
пока (1)
}

пустое отображение (символы без знака * s, символы без знака r)
{
беззнаковое int w
для (w = 0w{

lcd_dat (s [w])
}
}

void lcd_initi ()
{
lcd_cmd (0x01)
задержка (100)
lcd_cmd (0x38)
задержка (100)
lcd_cmd (0x06)
задержка (100)
lcd_cmd (0x0c)
задержка (100)
}
void lcd_dat (беззнаковый символ dat)
{
гребешок = это
rs = 1
rw = 0

в = 1
задержка (100)
в = 0
}
void lcd_cmd (беззнаковый символ cmd)
{
пришел = cmd
rs = 0
rw = 0

в = 1
задержка (100)
в = 0
}
недействительная задержка (unsigned int n)
{

беззнаковый int a
для (a = 0a}

4. Схема интерфейса шагового двигателя.

Типы шаговых двигателей-1

Униполярный шаговый двигатель

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

Типы шаговых двигателей-2

Биполярный шаговый двигатель

Шаговые двигатели могут быть однополярными или биполярными, и здесь мы используем униполярный шаговый двигатель. Униполярный шаговый двигатель состоит из шести проводов, четыре из которых подключены к катушке двигателя, а два - общие. Каждый общий провод подключается к источнику напряжения, а остальные провода подключаются к микроконтроллеру.

Принципиальная электрическая схема:

Схема интерфейса шагового двигателя

Схема интерфейса шагового двигателя

Исходный код:

#включают
сбит а = P3 ^ 0
сбит b = P3 ^ 1
сбит c = P3 ^ 2
сбит d = P3 ^ 3

недействительная задержка ()

пустая функция()
{

пока (1)
{

а = 0
b = 1
с = 1
d = 1
задерживать()
а = 1
б = 0
с = 1
d = 1
задерживать()
а = 1
b = 1
c = 0
d = 1
задерживать()
а = 1
b = 1
с = 1
d = 0

}
}

недействительная задержка ()
{

беззнаковый символ i, j, k
для (i = 0i<6i++)
для (j = 0j<255j++)
для (k = 0k<255k++)

}

5. Интерфейс матричной клавиатуры к 8051

Описание:

Матричная клавиатура

Матричная клавиатура

Клавиатура - это широко используемое устройство ввода с множеством приложений, таких как телефон, компьютер, банкомат, электронный замок и т. Д. Клавиатура используется для ввода данных от пользователя для дальнейшей обработки. Здесь представлена ​​матричная клавиатура 4 на 3, состоящая из переключателей, расположенных в ряды и столбцы. подключен к микроконтроллеру . ЖК-дисплей 16 на 2 также используется для отображения вывода.

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

Внутренняя схема клавиатуры

Внутренняя схема клавиатуры

Изначально все строки устанавливаются контроллером в ноль («0»), а столбцы сканируются, чтобы проверить, нажата ли какая-либо клавиша. Если ни одна клавиша не нажата, вывод всех столбцов будет высоким («1»).

Принципиальная электрическая схема

Матричная клавиатура с интерфейсом 8051

Матричная клавиатура с интерфейсом 8051

Исходный код:

#включают
#define kam P0
сбит rs = P2 ^ 0
сбит rw = P2 ^ 1
сбит при = P2 ^ 2
sbit c1=P1^4
sbit c2=P1^5
sbit c3=P1^6
sbit r1=P1^0
sbit r2=P1^1
sbit r3=P1^2
sbit r4=P1^3
void lcd_initi ()
void lcd_dat (символ без знака)
void lcd_cmd (символ без знака)
недействительная задержка (беззнаковое целое)
пустое отображение (символы без знака * s, символы без знака r)

пустая функция()
{
lcd_initi ()
lcd_cmd (0x80)
задержка (100)
дисплей («0987654321», 10)
пока (1)
}

пустое отображение (символы без знака * s, символы без знака r)
{

беззнаковое int w
для (w = 0w{

lcd_dat (s [w])
}
}
void lcd_initi ()
{
lcd_cmd (0x01)
задержка (100)
lcd_cmd (0x38)
задержка (100)
lcd_cmd (0x06)
задержка (100)
lcd_cmd (0x0c)
задержка (100)
}

void lcd_dat (беззнаковый символ dat)
{
гребешок = это
rs = 1
rw = 0

в = 1
задержка (100)
в = 0
}
void lcd_cmd (беззнаковый символ cmd)
{
пришел = cmd
rs = 0
rw = 0

в = 1
задержка (100)
в = 0

}
недействительная задержка (unsigned int n)
{

беззнаковый int a
для (a = 0a}
}

Мы надеемся, что смогли предоставить достаточно знаний об основных, но важных схемах сопряжения микроконтроллер 8051 . Это самые основные схемы, необходимые для любого приложения встраиваемой системы, и мы надеемся, что предоставили вам хорошую версию.

Дальнейшие запросы или отзывы, относящиеся к этой теме, можно упомянуть в разделе комментариев ниже.

Фото Кредиты