Tärkeimmät elektroniset oheislaitteet, jotka liitetään mikro-ohjaimeen 8051

Tärkeimmät elektroniset oheislaitteet, jotka liitetään mikro-ohjaimeen 8051

Liitäntä on yksi tärkeistä käsitteistä mikro-ohjain 8051 koska mikrokontrolleri on CPU, joka voi suorittaa jonkin datan toimintaa ja antaa ulostulon. Toiminnan suorittamiseksi tarvitsemme kuitenkin syöttölaitteen tietojen syöttämiseksi ja vuorostaan ​​tulostuslaite näyttää toiminnan tulokset. Tässä käytämme näppäimistöä ja LCD-näyttöä tulo- ja lähtölaitteina yhdessä mikrokontrollerin kanssa.



Mikrokontrolleri 8051 Oheislaitteet

Mikrokontrolleri 8051 Oheislaitteet

Liitäntä on prosessi, jossa laitteet yhdistetään toisiinsa siten, että ne voivat vaihtaa tietoja ja mikä osoittautuu helpommaksi kirjoittaa ohjelmia. Vaatimuksemme mukaan on erilaisia ​​tulo- ja lähtölaitteita, kuten LEDit, LCD: t, 7 segmenttiä, näppäimistö, moottorit ja muut laitteet.






Tässä annetaan joitain tärkeitä moduuleja, jotka on liitetty mikro-ohjaimeen 8051.

1. LED-liitäntä mikrokontrolleriin:

Kuvaus:



LEDejä käytetään yleisimmin monissa sovelluksissa osoittamaan lähtö. He löytävät valtavan määrän sovelluksia indikaattoreina testin aikana tulosten oikeellisuuden tarkistamiseksi eri vaiheissa. Ne ovat erittäin halpoja ja helposti saatavilla eri muodoissa, väreissä ja kooissa.

Valodiodi

Valodiodi

Periaate LEDien toiminta on erittäin helppoa. Yksinkertainen LED-merkkivalo palvelee myös perusnäyttölaitteina, se on päällä ja pois -tilassa ilmaista tarkkaa tietoa laitteesta. Yleisillä käytettävissä olevilla LEDeillä on 1,7 V: n jännitehäviö, mikä tarkoittaa, että kun käytämme yli 1,7 V, diodi johtaa. Diodi tarvitsee 10 mA: n virran hehkua täydellä voimalla.


Seuraava piiri kuvaa 'kuinka LED-valoja hehkutetaan'.

LEDit voidaan liittää mikrokontrolleriin joko yhteisellä anodilla tai yhteisellä katodilla. Tässä LEDit on kytketty yhteiseen anodikokoonpanoon, koska yhteinen katodikokoonpano kuluttaa enemmän virtaa.

Piirikaavio

LED-liitäntä mikrokontrolleriin

LED-liitäntä mikrokontrolleriin

Lähdekoodi:

#sisältää
void main ()
{
allekirjoittamaton int
kun taas (1)
{
P0 = 0x00
(i = 0i<30000i++)
P0 = 0xff
(i = 0i<30000i++)
}
}

2. 7-segmenttinen näytön liitäntäpiiri

Kuvaus:
Seitsemän segmentin näyttö on yksinkertaisin elektroninen näyttö. Se koostuu kahdeksasta LEDistä, jotka on yhdistetty peräkkäin siten, että numerot näytetään välillä 0-9, kun asianmukaiset LED-yhdistelmät kytketään päälle. 7-segmenttinen näyttö käyttää seitsemää LED-valoa lukujen 0 - 9 näyttämiseen ja 8. LEDiä käytetään pisteeseen. Tyypillinen seitsemän segmentti näyttää tykkäävältä alla olevan kuvan mukaisesti.

7-segmenttinen näyttö

7-segmenttinen näyttö

Seitsemän segmentin näyttöjä käytetään useissa järjestelmissä numeeristen tietojen näyttämiseen. He voivat näyttää yhden numeron kerrallaan. Siten käytettyjen segmenttien määrä riippuu näytettävien numeroiden määrästä. Tässä numerot 0–9 näytetään jatkuvasti ennalta määrätyllä viiveellä.

7-segmenttisiä näyttöjä on saatavana kahtena kokoonpanona, jotka ovat yhteinen anodi ja yhteinen katodi. Tässä käytetään yleistä anodikonfiguraatiota, koska mikro-ohjaimen lähtövirta ei riitä LEDien ohjaamiseen. 7-segmenttinen näyttö toimii negatiivisella logiikalla, meidän on annettava logiikka 0 vastaavalle nastalle, jotta LED palaa.

7-segmenttiset näyttökokoonpanot

7-segmenttiset näyttökokoonpanot

Seuraava taulukko näyttää heksadesimaaliarvot, joita käytetään erilaisten numeroiden näyttämiseen.

7-segmenttinen näyttötaulukko

7-segmenttinen näyttötaulukko

Piirikaavio

7-segmenttinen näytön liitäntä

7-segmenttinen näytön liitäntä

Lähdekoodi:

#sisältää
sbit a = P3 ^ 0
void main ()
{
allekirjoittamaton merkki n [10] = {0x40,0xF9,0x24,0x30,0x19,0x12,0x02,0xF8,0xE00,0x10}
allekirjoittamaton int i, j
a = 1
kun taas (1)
{
(i = 0i<10i++)
{
P2 = n [i]
(j = 0j<60000j++)
}
}
}

3. LCD-liitäntä mikrokontrolleriin

LCD tarkoittaa nestekidenäyttöä, joka voi näyttää merkit riviä kohden. Tässä 16 x 2 LCD-näyttö voi näyttää 16 merkkiä riviä kohden ja on 2 riviä. Tässä nestekidenäytössä kukin merkki näkyy 5 * 7 pikselin matriisina.

LCD-näyttö

LCD-näyttö

LCD on erittäin tärkeä laite, jota käytetään melkein kaikissa automaattisissa laitteissa, kuten pesukoneissa, itsenäisessä robotissa, tehonohjausjärjestelmät ja muut laitteet. Tämä saavutetaan näyttämällä niiden tila pienissä näyttömoduuleissa, kuten seitsemän seitsemän segmentin näytössä, monisegmenttisessä LEDissä jne. Syynä tähän on, että LCD-näytöt ovat kohtuuhintaisia, helposti ohjelmoitavia eikä niillä ole rajoituksia erikoismerkkien näyttämiselle.

Se koostuu kahdesta rekisteristä, kuten komento- / käskyrekisteri ja tietorekisteri.

Komento- / käskyrekisteri tallentaa nestekidenäytölle annetut komento-ohjeet. Komento on LCD-näytölle annettu käsky, joka suorittaa joukon ennalta määritettyjä tehtäviä, kuten alustaminen, näytön tyhjentäminen, kohdistimen asettamisen asettaminen, näytön hallinta jne.

Tietorekisteri tallentaa LCD-näytöllä näytettävät tiedot. Tiedot ovat nestekidenäytössä näytettävien merkkien ASCII-arvo.

LCD-näytön toimintaa ohjataan kahdella komennolla. Kun RS = 0, R / W = 1, se lukee tiedot ja kun RS = 1, R / W = 0, se kirjoittaa (tulostaa) tiedot.

LCD käyttää seuraavia komentokoodeja:

LCD-näytön komennot

LCD-näytön komennot

Piirikaavio:

LCD-liitäntä mikrokontrolleriin

LCD-liitäntä mikrokontrolleriin

Lähdekoodi:

#sisältää
#define kam P0

sbit rs = P2 ^ 0
sbit rw = P2 ^ 1
sbit: ssä = P2 ^ 2

void lcd_initi ()
void lcd_dat (allekirjoittamaton merkki)
void lcd_cmd (allekirjoittamaton merkki)
void delay (allekirjoittamaton int)
mitätön näyttö (allekirjoittamattomat merkit * s, allekirjoittamattomat merkit)
void main ()
{

lcd_initi ()
lcd_cmd (0x80)
viive (100)
näyttö (“EDGEFX TECHLNGS”, 15)
lcd_cmd (0xc0)
näyttö (“KITS & SOLTIONS”, 15)
kun taas (1)
}

mitätön näyttö (allekirjoittamattomat merkit * s, allekirjoittamattomat merkit)
{
allekirjoittamaton int w
(w = 0w{

lcd_dat (s [w])
}
}

void lcd_initi ()
{
lcd_cmd (0x01)
viive (100)
lcd_cmd (0x38)
viive (100)
lcd_cmd (0x06)
viive (100)
lcd_cmd (0x0c)
viive (100)
}
void lcd_dat (allekirjoittamaton char dat)
{
kampa = se
rs = 1
rw = 0

sisään = 1
viive (100)
sisään = 0
}
void lcd_cmd (allekirjoittamaton char cmd)
{
tuli = cmd
rs = 0
rw = 0

sisään = 1
viive (100)
sisään = 0
}
void delay (allekirjoittamaton int n)
{

allekirjoittamaton int
(a = 0a}

4. Askelmoottorin liitäntäpiiri

Askelmoottoreiden tyypit-1

Unipolar-askelmoottori

TO askelmoottori on yksi yleisimmin käytetyistä moottoreista tarkkaan kulmaliikkeeseen. Askelmoottorin käytön etuna on, että moottorin kulma-asemaa voidaan ohjata ilman takaisinkytkentämekanismia. Askelmoottoreita käytetään laajalti teollisissa ja kaupallisissa sovelluksissa. Niitä käytetään myös yleisesti kuten käyttöjärjestelmissä, kuten robotit, pesukoneet jne.

Askelmoottoreiden tyypit-2

Bipolaarinen askelmoottori

Askelmoottorit voivat olla yksi- tai kaksisuuntaisia, ja tässä käytämme yksipolaarista askelmoottoria. Yksinapainen askelmoottori koostuu kuudesta johtimesta, joista neljä on kytketty moottorin kelaan ja kaksi ovat yhteisiä johtoja. Jokainen yhteinen johto on kytketty jännitelähteeseen ja loput johdot on kytketty mikrokontrolleriin.

Piirikaavio:

Askelmoottorin liitäntäpiiri

Askelmoottorin liitäntäpiiri

Lähdekoodi:

#sisältää
sbit a = P3 ^ 0
sbit b = P3 ^ 1
sbit c = P3 ^ 2
sbit d = P3 ^ 3

mitätön viive ()

void main ()
{

kun taas (1)
{

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

}
}

mitätön viive ()
{

allekirjoittamaton merkki i, j, k
(i = 0i<6i++)
(j = 0j<255j++)
(k = 0k<255k++)

}

5. Matriisinäppäimistö liitetään 8051: een

Kuvaus:

Matrix-näppäimistö

Matrix-näppäimistö

Näppäimistö on laajalti käytetty syöttölaite, jolla on paljon sovelluksia, kuten puhelin, tietokone, pankkiautomaatti, elektroninen lukitus jne. Näppäimistöä käytetään ottamaan käyttäjältä tuloa jatkokäsittelyä varten. Tässä on 4 x 3 -matriisinäppäimistö, joka koostuu riveihin ja sarakkeisiin järjestetyistä kytkimistä liitetty mikro-ohjaimeen . 16 x 2 nestekidenäyttö on myös liitetty tuloksen näyttämiseen.

Näppäimistön käyttöliittymä on hyvin yksinkertainen. Jokaiselle näppäimistön numerolle on annettu kaksi ainutlaatuista parametria, jotka ovat rivi ja sarake (R, C). Siksi joka kerta kun näppäintä painetaan, numero tunnistetaan tunnistamalla näppäimistön rivi- ja sarakenumerot.

Näppäimistön sisäinen kaavio

Näppäimistön sisäinen kaavio

Aluksi ohjain asettaa kaikki rivit nollaan (‘0’) ja sarakkeet skannataan tarkistamaan, painetaanko mitään näppäintä. Jos mitään näppäintä ei paineta, kaikkien sarakkeiden tulos on suuri (‘1’).

Piirikaavio

Matriisinäppäimistö liitetään 8051: ään

Matriisinäppäimistö liitetään 8051: een

Lähdekoodi:

#sisältää
#define kam P0
sbit rs = P2 ^ 0
sbit rw = P2 ^ 1
sbit: ssä = 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 (allekirjoittamaton merkki)
void lcd_cmd (allekirjoittamaton merkki)
void delay (allekirjoittamaton int)
mitätön näyttö (allekirjoittamattomat merkit * s, allekirjoittamattomat merkit)

void main ()
{
lcd_initi ()
lcd_cmd (0x80)
viive (100)
näyttö (“0987654321”, 10)
kun taas (1)
}

mitätön näyttö (allekirjoittamattomat merkit * s, allekirjoittamattomat merkit)
{

allekirjoittamaton int w
(w = 0w{

lcd_dat (s [w])
}
}
void lcd_initi ()
{
lcd_cmd (0x01)
viive (100)
lcd_cmd (0x38)
viive (100)
lcd_cmd (0x06)
viive (100)
lcd_cmd (0x0c)
viive (100)
}

void lcd_dat (allekirjoittamaton char dat)
{
kampa = se
rs = 1
rw = 0

sisään = 1
viive (100)
sisään = 0
}
void lcd_cmd (allekirjoittamaton char cmd)
{
tuli = cmd
rs = 0
rw = 0

sisään = 1
viive (100)
sisään = 0

}
void delay (allekirjoittamaton int n)
{

allekirjoittamaton int
(a = 0a}
}

Toivomme, että olemme pystyneet tarjoamaan runsaasti tietoa perusominaisuuksista, mutta tärkeistä liitäntäpiireistä mikro-ohjain 8051 . Nämä ovat kaikkein peruspiirejä, joita vaaditaan sulautetuissa järjestelmäsovelluksissa, ja toivomme, että olemme toimittaneet sinulle hyvän version.

Seuraava aiheeseen liittyvä kysely tai palaute on tervetullut mainitsemaan alla olevassa kommenttiosassa.

Valokuvahyvitykset