Major Electronic Peripherals Interfacing sa Microcontroller 8051

Subukan Ang Aming Instrumento Para Sa Pagtanggal Ng Mga Problema





Ang interfacing ay isa sa mga mahahalagang konsepto sa microcontroller 8051 dahil ang microcontroller ay isang CPU na maaaring magsagawa ng ilang operasyon sa isang data at nagbibigay ng output. Gayunpaman upang maisagawa ang operasyon kailangan namin ng isang input na aparato upang ipasok ang data at sa turn output aparato ay nagpapakita ng mga resulta ng operasyon. Narito ginagamit namin ang keyboard at LCD display bilang mga input at output na aparato kasama ang microcontroller.

Microcontroller 8051 Peripheral na aparato

Microcontroller 8051 Peripheral na aparato



Ang Interfacing ay ang proseso ng pagkonekta ng mga aparato nang magkasama upang mapalitan nila ang impormasyon at napatunayan na mas madaling isulat ang mga programa. Mayroong iba't ibang uri ng mga aparato ng pag-input at output tulad ng para sa aming kinakailangan tulad ng mga LED, LCD, 7segment, keypad, motor at iba pang mga aparato.


Narito ang binibigyan ng ilang mahahalagang module na nakipag-interfaced sa microcontroller 8051.



1. LED Interfacing sa Microcontroller:

Paglalarawan:

Ang mga LED ay karaniwang ginagamit sa maraming mga application para sa pagpapahiwatig ng output. Nakahanap sila ng malaking saklaw ng mga aplikasyon bilang tagapagpahiwatig sa panahon ng pagsubok upang suriin ang bisa ng mga resulta sa iba't ibang yugto. Ang mga ito ay napaka-mura at madaling magagamit sa iba't ibang mga hugis, kulay at laki.

Light Emitting Diode

Light Emitting Diode

Ang prinsipyo ng pagpapatakbo ng mga LED napakadali. Ang isang simpleng mga LED ay nagsisilbi din bilang isang pangunahing mga aparato sa pagpapakita, ito ay On at OFF na nagpapahayag ng estado na nangangahulugang buong impormasyon tungkol sa isang aparato. Ang karaniwang magagamit na mga LED ay may isang 1.7v boltahe na drop na nangangahulugang kapag nag-apply kami sa itaas 1.7V, nagsasagawa ang diode. Ang diode ay nangangailangan ng 10mA kasalukuyang upang mamula sa buong kasidhian.


Inilalarawan ng sumusunod na circuit ang 'kung paano mag-glow ang LEDs'.

Ang mga LED ay maaaring ma-interfaced sa microcontroller sa alinman sa karaniwang anode o karaniwang pagsasaayos ng cathode. Dito nakakonekta ang mga LED sa karaniwang pagsasaayos ng anode sapagkat ang karaniwang pagsasaayos ng cathode ay kumokonsumo ng mas maraming lakas.

Diagram ng Circuit

LED Interfacing sa Microcontroller

LED Interfacing sa Microcontroller

Source code:

# isama
walang bisa pangunahing ()
{
unsigned int i
habang (1)
{
P0 = 0x00
para sa (i = 0i<30000i++)
P0 = 0xff
para sa (i = 0i<30000i++)
}
}

2. 7-Segment na nagpapakita ng circuit ng interfacing

Paglalarawan:
Isang pitong segment na ipinapakita ay ang pinaka pangunahing elektronikong pagpapakita. Binubuo ito ng walong LEDs na nauugnay sa isang pagkakasunud-sunod ng paraan upang maipakita ang mga digit mula 0 hanggang 9 kapag ang tamang mga kumbinasyon ng mga LED ay nakabukas. Ang isang 7-segment na display ay gumagamit ng pitong LEDs upang ipakita ang mga digit mula 0 hanggang 9 at ang 8th LED ay ginagamit para sa tuldok. Ang isang tipikal na pitong segment ay mukhang kagustuhan tulad ng ipinakita sa pigura sa ibaba.

7-Segment na Pagpapakita

7-Segment na Pagpapakita

Ang mga pagpapakita ng 7-segment ay ginagamit sa isang bilang ng mga system upang maipakita ang impormasyong bilang. Maaari silang magpakita ng isang digit nang paisa-isa. Sa gayon ang bilang ng mga segment na ginamit ay nakasalalay sa bilang ng mga digit na ipapakita. Dito ang mga digit na 0 hanggang 9 ay patuloy na ipinapakita sa isang paunang natukoy na pagkaantala ng oras.

Ang mga nagpapakita ng 7-segment ay magagamit sa dalawang mga pagsasaayos na karaniwang anode at karaniwang cathode. Dito ginagamit ang karaniwang pagsasaayos ng anode dahil ang kasalukuyang output ng microcontroller ay hindi sapat na sapat upang himukin ang mga LED. Gumagana ang display na 7-segment sa negatibong lohika, kailangan naming magbigay ng lohika 0 sa kaukulang pin upang gawin sa LED glow.

Mga Configure ng 7-Segment na Display

Mga Configure ng 7-Segment na Display

Ipinapakita ng sumusunod na talahanayan ang mga halagang hex na ginamit upang ipakita ang iba't ibang mga digit.

7-Talaan ng Talaan ng Display

7-Talaan ng Talaan ng Display

Diagram ng Circuit

7-Segment ng interface ng Display

7-Segment ng interface ng Display

Source Code:

# isama
sbit a = P3 ^ 0
walang bisa pangunahing ()
{
unsigned char n [10] = {0x40,0xF9,0x24,0x30,0x19,0x12,0x02,0xF8,0xE00,0x10}
unsigned int i, j
a = 1
habang (1)
{
para sa (i = 0i<10i++)
{
P2 = n [i]
para sa (j = 0j<60000j++)
}
}
}

3. LCD Interfacing sa Microcontroller

Ang LCD ay nangangahulugang likidong kristal na pagpapakita na maaaring ipakita ang mga character sa bawat linya. Dito 16 sa pamamagitan ng LCD display ay maaaring magpakita ng 16 mga character bawat linya at mayroong 2 mga linya. Sa LCD na ito ang bawat character ay ipinapakita sa 5 * 7 pixel matrix.

LCD Display

LCD Display

Napakahalagang aparato ng LCD na ginagamit para sa halos lahat ng mga awtomatikong aparato tulad ng mga washing machine, isang autonomous na robot, mga system ng pagkontrol sa kuryente at iba pang mga aparato. Nakamit ito sa pamamagitan ng pagpapakita ng kanilang katayuan sa maliliit na mga module ng pagpapakita tulad ng 7-pitong mga pagpapakita ng segment, mga multi segment LED atbp Ang mga kadahilanan na, ang mga LCD ay makatuwirang presyo, madaling mai-program at wala silang mga limitasyon sa pagpapakita ng mga espesyal na character.

Ito ay binubuo ng dalawang rehistro tulad ng command / instruction register at data register.

Ang rehistro ng utos / tagubilin ay nag-iimbak ng mga tagubilin sa utos na ibinigay sa LCD. Ang isang utos ay isang tagubilin na ibinibigay sa LCD na nagsasagawa ng isang hanay ng mga paunang natukoy na gawain tulad ng pagsisimula, pag-clear ng screen, pagtatakda ng pose ng cursor, pagkontrol sa pagpapakita atbp.

Ang data register ay nag-iimbak ng data na maipakita sa LCD. Ang data ay isang halaga ng ASCII ng mga character na maipapakita sa LCD.

Ang pagpapatakbo ng LCD ay kinokontrol ng dalawang mga utos. Kapag ang RS = 0, R / W = 1 binabasa nito ang data at kapag ang RS = 1, R / W = 0, isinusulat nito (naka-print) ang data.

Gumagamit ang LCD ng mga sumusunod na command code:

Mga utos sa LCD Display

Mga utos sa LCD Display

Diagram ng Circuit:

LCD Interfacing sa Microcontroller

LCD Interfacing sa Microcontroller

Source code:

# isama
#define kam P0

sbit rs = P2 ^ 0
sbit rw = P2 ^ 1
sbit sa = P2 ^ 2

walang bisa lcd_initi ()
void lcd_dat (unsigned char)
void lcd_cmd (unsigned char)
walang bisa ang pagkaantala (unsigned int)
void display (unsigned char * s, unsigned char r)
walang bisa pangunahing ()
{

lcd_initi ()
lcd_cmd (0x80)
antala (100)
display ('EDGEFX TECHLNGS', 15)
lcd_cmd (0xc0)
display ('KITS & SOLUTIONS', 15)
habang (1)
}

void display (unsigned char * s, unsigned char r)
{
unsigned int w
para sa (w = 0w{

lcd_dat (s [w])
}
}

walang bisa lcd_initi ()
{
lcd_cmd (0x01)
antala (100)
lcd_cmd (0x38)
antala (100)
lcd_cmd (0x06)
antala (100)
lcd_cmd (0x0c)
antala (100)
}
void lcd_dat (unsigned char dat)
{
suklay = yan
rs = 1
rw = 0

sa = 1
antala (100)
sa = 0
}
void lcd_cmd (unsigned char cmd)
{
dumating = cmd
rs = 0
rw = 0

sa = 1
antala (100)
sa = 0
}
walang bisa ang pagkaantala (unsigned int n)
{

unsigned int a
para sa (a = 0a}

4. Stepper motor interfacing circuit

Mga uri ng Stepper Motors-1

Unipolar Stepper Motor

SA stepper motor ay isa sa pinakakaraniwang ginagamit na motor para sa tumpak na paggalaw ng anggulo. Ang bentahe ng paggamit ng isang stepper motor ay ang angular na posisyon ng motor na maaaring kontrolin nang walang anumang mekanismo ng feedback. Ang stepper motors ay malawakang ginagamit sa pang-industriya at komersyal na aplikasyon. Karaniwang ginagamit din ang mga ito tulad ng sa mga system ng drive tulad ng mga robot, washing machine atbp.

Mga uri ng Stepper Motors-2

Bipolar Stepper Motor

Ang mga stepper motor ay maaaring unipolar o bipolar at dito gumagamit kami ng unipolar stepper motor. Ang unipolar stepper motor ay binubuo ng anim na wires kung saan apat ang konektado sa likid ng motor at dalawa ang karaniwang mga wire. Ang bawat karaniwang kawad ay konektado sa isang mapagkukunan ng boltahe at ang natitirang mga wire ay konektado sa microcontroller.

Diagram ng Circuit:

Stepper motor interfacing circuit

Stepper motor interfacing circuit

Source code:

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

walang bisa na pagkaantala ()

walang bisa pangunahing ()
{

habang (1)
{

a = 0
b = 1
c = 1
d = 1
antala ()
a = 1
b = 0
c = 1
d = 1
antala ()
a = 1
b = 1
c = 0
d = 1
antala ()
a = 1
b = 1
c = 1
d = 0

}
}

walang bisa na pagkaantala ()
{

unsigned char i, j, k
para sa (i = 0i<6i++)
para sa (j = 0j<255j++)
para sa (k = 0k<255k++)

}

5. Ang interface ng keypad ng Matrix sa 8051

Paglalarawan:

Matrix Keypad

Matrix Keypad

Ang Keypad ay isang malawakang ginagamit na input aparato na may maraming mga application tulad ng telepono, computer, ATM, electronic lock atbp Ang isang keypad ay ginagamit upang kumuha ng input mula sa gumagamit para sa karagdagang pagproseso. Narito ang isang 4 by 3 matrix keypad na binubuo ng mga switch na nakaayos sa mga hilera at haligi nag-interfaced sa microcontroller . Ang isang 16 by 2 LCD ay naka-interfaced din para sa pagpapakita ng output.

Ang konsepto ng interfacing ng keypad ay napaka-simple. Ang bawat bilang ng keypad ay nakatalaga ng dalawang natatanging mga parameter na hilera at haligi (R, C). Samakatuwid sa tuwing pinipindot ang isang susi ang numero ay nakikilala sa pamamagitan ng pagtuklas ng mga numero ng hilera at haligi ng keypad.

Panloob na Diagram sa Keypad

Panloob na Diagram sa Keypad

Sa una ang lahat ng mga hilera ay nakatakda sa zero ('0') ng controller at mga haligi ay na-scan upang suriin kung ang anumang key ay pinindot. Sa kaso ng walang susi ay pinindot ang output ng lahat ng mga haligi ay magiging mataas ('1').

Diagram ng Circuit

Ang interface ng keypad ng Matrix sa 8051

Ang interface ng keypad ng Matrix sa 8051

Source Code:

# isama
#define kam P0
sbit rs = P2 ^ 0
sbit rw = P2 ^ 1
sbit sa = 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
walang bisa lcd_initi ()
void lcd_dat (unsigned char)
void lcd_cmd (unsigned char)
walang bisa ang pagkaantala (unsigned int)
void display (unsigned char * s, unsigned char r)

walang bisa pangunahing ()
{
lcd_initi ()
lcd_cmd (0x80)
antala (100)
display ('0987654321', 10)
habang (1)
}

void display (unsigned char * s, unsigned char r)
{

unsigned int w
para sa (w = 0w{

lcd_dat (s [w])
}
}
walang bisa lcd_initi ()
{
lcd_cmd (0x01)
antala (100)
lcd_cmd (0x38)
antala (100)
lcd_cmd (0x06)
antala (100)
lcd_cmd (0x0c)
antala (100)
}

void lcd_dat (unsigned char dat)
{
suklay = yan
rs = 1
rw = 0

sa = 1
antala (100)
sa = 0
}
void lcd_cmd (unsigned char cmd)
{
dumating = cmd
rs = 0
rw = 0

sa = 1
antala (100)
sa = 0

}
walang bisa ang pagkaantala (unsigned int n)
{

unsigned int a
para sa (a = 0a}
}

Inaasahan namin na makapagbigay kami ng sapat na kaalaman tungkol sa pangunahing pa mahalagang pag-interfaces ng mga circuit microcontroller 8051 . Ito ang pinaka-pangunahing mga circuit na kinakailangan sa anumang naka-embed na application ng system at inaasahan naming binigyan ka namin ng isang mahusay na rebisyon.

Ang isang karagdagang query o puna na nauugnay sa paksang ito ay malugod na nabanggit sa seksyon ng komento sa ibaba.

Mga Kredito sa Larawan