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
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
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
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ö
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
Seuraava taulukko näyttää heksadesimaaliarvot, joita käytetään erilaisten numeroiden näyttämiseen.
7-segmenttinen näyttötaulukko
Piirikaavio
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 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
Piirikaavio:
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
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.
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
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ö
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
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: 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
- Mikrokontrolleri 8051 Oheislaitteet aninditadhikary
- 7-segmenttinen näyttö elektroninen opettaja
- 7-segmenttiset näyttökokoonpanot oppimisalusta
- LCD-näyttö bp.blogspot
- Yksinapaiset ja kaksisuuntaiset askelmat insinööritoimisto
- Matrix-näppäimistö vetco
- Näppäimistön sisäinen kaavio bp.blogspot