Основни електронни периферни устройства, свързани с микроконтролер 8051

Опитайте Нашия Инструмент За Премахване На Проблемите





Взаимодействието е една от важните концепции в микроконтролер 8051 тъй като микроконтролерът е процесор, който може да извърши някаква операция върху данни и дава изхода. За да извършим операцията обаче, се нуждаем от входно устройство за въвеждане на данните и на свой ред изходното устройство показва резултатите от операцията. Тук използваме клавиатура и LCD дисплей като входни и изходни устройства заедно с микроконтролера.

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

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



Взаимодействието е процес на свързване на устройства заедно, така че те да могат да обменят информация и това се оказва по-лесно за писане на програмите. Съществуват различни видове входни и изходни устройства според нашите изисквания, като светодиоди, LCD, 7-сегментен, клавиатура, двигатели и други устройства.


Тук са дадени някои важни модули, свързани с микроконтролер 8051.



1. Светодиодна връзка с микроконтролер:

Описание:

Светодиодите се използват най-често в много приложения за индикация на изхода. Те намират огромен набор от приложения като индикатори по време на теста, за да проверят валидността на резултатите на различни етапи. Те са много евтини и лесно достъпни в най-различни форма, цвят и размер.

Светодиод

Светодиод

Принципът на работа на светодиоди е много лесно. Един прост светодиод също сървъри като основни устройства за показване, той включва и изключва състояние, което означава пълна информация за дадено устройство. Обичайните налични светодиоди имат 1.7v спад на напрежението, което означава, че когато прилагаме над 1.7V, диодът провежда. Диодът се нуждае от 10mA ток, за да свети с пълна интензивност.


Следващата схема описва „как да светят светодиодите“.

Светодиодите могат да бъдат свързани към микроконтролера или в общ анод, или в обща катодна конфигурация. Тук светодиодите са свързани в обща анодна конфигурация, тъй като общата катодна конфигурация консумира повече енергия.

Електрическа схема

LED взаимодействие с микроконтролер

LED взаимодействие с микроконтролер

Програмен код:

#include
void main ()
{
неподписан int i
докато (1)
{
P0 = 0x00
за (i = 0i<30000i++)
P0 = 0xff
за (i = 0i<30000i++)
}
}

2. Свързваща схема на 7-сегментен дисплей

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

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

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

7-сегментните дисплеи се използват в редица системи за показване на цифровата информация. Те могат да показват по една цифра наведнъж. По този начин броят на използваните сегменти зависи от броя на цифрите за показване. Тук цифрите от 0 до 9 се показват непрекъснато с предварително зададено времево закъснение.

7-сегментните дисплеи се предлагат в две конфигурации, които са общ анод и общ катод. Тук се използва обща анодна конфигурация, тъй като изходният ток на микроконтролера не е достатъчен за задвижване на светодиодите. 7-сегментният дисплей работи на отрицателна логика, ние трябва да осигурим логика 0 на съответния щифт, за да направи светлината на LED.

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

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

Следващата таблица показва шестнадесетичните стойности, използвани за показване на различните цифри.

7-сегментна таблица за показване

7-сегментна таблица за показване

Електрическа схема

7-сегментен дисплей взаимодействие

7-сегментен дисплей взаимодействие

Програмен код:

#include
sbit a = P3 ^ 0
void main ()
{
неподписан знак n [10] = {0x40,0xF9,0x24,0x30,0x19,0x12,0x02,0xF8,0xE00,0x10}
неподписан int i, j
a = 1
докато (1)
{
за (i = 0i<10i++)
{
P2 = n [i]
за (j = 0j<60000j++)
}
}
}

3. LCD взаимодействие с микроконтролер

LCD означава дисплей с течни кристали, който може да показва символите на ред. Тук 16 на 2 LCD дисплеят може да показва 16 символа на ред и има 2 реда. В този LCD всеки символ се показва в матрица 5 * 7 пиксела.

ЛСД дисплей

ЛСД дисплей

LCD е много важно устройство, което се използва за почти всички автоматизирани устройства като перални машини, автономен робот, системи за контрол на мощността и други устройства. Това се постига чрез показване на състоянието им на малки дисплейни модули като 7-седем сегментни дисплеи, многосегментни светодиоди и т.н. Причините са, че LCD дисплеите са на разумни цени, лесно програмируеми и нямат ограничения за показване на специални символи.

Състои се от два регистъра като регистър за команди / инструкции и регистър с данни.

Регистърът за команди / инструкции съхранява командните инструкции, дадени на LCD дисплея. Командата е инструкция, която се дава на LCD, която изпълнява набор от предварително зададени задачи като инициализиране, изчистване на екрана, настройка на позицията на курсора, управление на дисплея и т.н.

Регистърът с данни съхранява данните за показване на LCD. Данните са ASCII стойност на символите, които се показват на LCD дисплея.

Работата на LCD се контролира от две команди. Когато RS = 0, R / W = 1, той чете данните, а когато RS = 1, R / W = 0, той записва (отпечатва) данните.

LCD използва следните командни кодове:

Команди за LCD дисплей

Команди за LCD дисплей

Електрическа схема:

LCD взаимодействие с микроконтролер

LCD взаимодействие с микроконтролер

Програмен код:

#include
#define kam P0

sbit rs = P2 ^ 0
sbit rw = P2 ^ 1
sbit при = P2 ^ 2

празно lcd_initi ()
невалиден lcd_dat (неподписан знак)
void lcd_cmd (неподписан знак)
забавяне на празнотата (неподписан int)
показване на празнота (неподписани символи *, неподписани символи r)
void main ()
{

lcd_initi ()
lcd_cmd (0x80)
забавяне (100)
дисплей („EDGEFX TECHLNGS“, 15)
lcd_cmd (0xc0)
дисплей („КОМПЛЕКТИ И РЕШЕНИЯ“, 15)
докато (1)
}

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

lcd_dat (s [w])
}
}

празно lcd_initi ()
{
lcd_cmd (0x01)
забавяне (100)
lcd_cmd (0x38)
забавяне (100)
lcd_cmd (0x06)
забавяне (100)
lcd_cmd (0x0c)
забавяне (100)
}
void lcd_dat (неподписан char dat)
{
гребен = това
rs = 1
rw = 0

в = 1
забавяне (100)
в = 0
}
void lcd_cmd (неподписан знак cmd)
{
дойде = cmd
rs = 0
rw = 0

в = 1
забавяне (100)
в = 0
}
забавяне на празнотата (неподписано int n)
{

неподписан int a
за (a = 0a}

4. Свързваща верига на стъпков двигател

Видове стъпкови двигатели-1

Униполярен стъпков двигател

ДА СЕ стъпков мотор е един от най-често използваните двигатели за прецизно ъглово движение. Предимството на използването на стъпков двигател е, че ъгловото положение на двигателя може да се контролира без механизъм за обратна връзка. Стъпковите двигатели се използват широко в промишлени и търговски приложения. Те също така често се използват както в задвижващи системи като роботи, перални машини и др.

Видове стъпкови двигатели-2

Биполярен стъпков двигател

Стъпковите двигатели могат да бъдат еднополярни или биполярни и тук използваме еднополюсен стъпков двигател. Еднополюсният стъпков двигател се състои от шест проводника, от които четири са свързани към бобината на двигателя, а два са общи проводници. Всеки общ проводник е свързан към източник на напрежение, а останалите проводници са свързани към микроконтролера.

Електрическа схема:

Свързваща верига на стъпков двигател

Свързваща верига на стъпков двигател

Програмен код:

#include
sbit a = P3 ^ 0
sbit b = P3 ^ 1
sbit c = P3 ^ 2
sbit d = P3 ^ 3

забавяне на празнотата ()

void main ()
{

докато (1)
{

a = 0
b = 1
c = 1
d = 1
забавяне ()
a = 1
b = 0
c = 1
d = 1
забавяне ()
a = 1
b = 1
c = 0
d = 1
забавяне ()
a = 1
b = 1
c = 1
d = 0

}
}

забавяне на празнотата ()
{

неподписан char i, j, k
за (i = 0i<6i++)
за (j = 0j<255j++)
за (k = 0k<255k++)

}

5. Взаимодействие на матрична клавиатура с 8051

Описание:

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

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

Клавиатурата е широко използвано устройство за въвеждане с много приложения като телефон, компютър, банкомат, електронна брава и др. Клавиатурата се използва за вземане на вход от потребителя за по-нататъшна обработка. Тук е матрична клавиатура 4 на 3, състояща се от превключватели, подредени в редове и колони свързан към микроконтролера . LCD 16 на 2 също е свързан за показване на изхода.

Концепцията за взаимодействие на клавиатурата е много проста. На всеки номер на клавиатурата се присвояват два уникални параметъра, които са ред и колона (R, C). Следователно при всяко натискане на клавиш номерът се идентифицира чрез откриване на номерата на редовете и колоните на клавиатурата.

Вътрешна диаграма на клавиатурата

Вътрешна диаграма на клавиатурата

Първоначално всички редове се задават на нула (‘0’) от контролера и колоните се сканират, за да се провери дали е натиснат клавиш. В случай, че не бъде натиснат клавиш, изходът на всички колони ще бъде висок (‘1’).

Електрическа схема

Матрична клавиатура, свързана с 8051

Матрична клавиатура, свързана с 8051

Програмен код:

#include
#define kam P0
sbit rs = P2 ^ 0
sbit rw = P2 ^ 1
sbit при = 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
празно lcd_initi ()
невалиден lcd_dat (неподписан знак)
void lcd_cmd (неподписан знак)
забавяне на празнотата (неподписан int)
показване на празнота (неподписани символи *, неподписани символи r)

void main ()
{
lcd_initi ()
lcd_cmd (0x80)
забавяне (100)
дисплей (“0987654321”, 10)
докато (1)
}

показване на празнота (неподписани символи *, неподписани символи r)
{

неподписан int w
за (w = 0w{

lcd_dat (s [w])
}
}
празно lcd_initi ()
{
lcd_cmd (0x01)
забавяне (100)
lcd_cmd (0x38)
забавяне (100)
lcd_cmd (0x06)
забавяне (100)
lcd_cmd (0x0c)
забавяне (100)
}

void lcd_dat (неподписан char dat)
{
гребен = това
rs = 1
rw = 0

в = 1
забавяне (100)
в = 0
}
void lcd_cmd (неподписан знак cmd)
{
дойде = cmd
rs = 0
rw = 0

в = 1
забавяне (100)
в = 0

}
забавяне на празнотата (неподписано int n)
{

неподписан int a
за (a = 0a}
}

Надяваме се, че успяхме да предоставим достатъчно знания за основните, но важни взаимосвързващи вериги на микроконтролер 8051 . Това са най-основните схеми, изисквани във всяко вградено системно приложение и се надяваме, че сме ви предоставили добра ревизия.

Допълнително запитване или обратна връзка, свързани с тази тема, е добре дошло да бъде споменато в раздела за коментари по-долу.

Снимки Кредити