Cum să interfațați un LED cu microcontrolerul 8051

Încercați Instrumentul Nostru Pentru Eliminarea Problemelor





Suntem foarte familiarizați cu „Hello world!” codul programului de bază în etapa inițială a oricărui limbaj de programare pentru a învăța câteva lucruri de bază. În mod similar, pentru a începe cu microcontrolerul 8051, interfața cu LED-uri este un lucru de bază în programarea interfeței cu microcontroler. Fiecare microcontroler este diferit în arhitectura sa, dar conceptul de interfață este aproape același pentru toate microcontrolerele. Acest tutorial vă va oferi o interfață LED cu 8051.

Interfața este o metodă care asigură comunicarea între microcontroler și dispozitivul de interfață. O interfață este fie dispozitiv de intrare, fie dispozitiv de ieșire, fie un dispozitiv de stocare, fie dispozitiv de procesare.




Dispozitive de interfață de intrare: Comutator cu buton, tastatură, senzor cu infraroșu, Senzor de temperatura , senzor de gaz etc. Aceste dispozitive furnizează unele informații microcontrolerului și acest lucru se numește date de intrare.

Dispozitive de interfață de ieșire: LED, LCD, buzzer, Șofer de releu , Driver motor DC, afișaj cu 7 segmente etc.



Dispozitive de interfață de stocare: Folosit pentru a stoca / păstra datele, de exemplu, card SD, EEPROM, DataFlash, Ceas în timp real , etc.

Model de interfață microController

Model de interfață microController

Interfațarea unui LED cu 8051

Interfața cuprinde hardware (dispozitiv de interfață) și software (cod sursă de comunicare, numit și driver). Pur și simplu, pentru a utiliza un LED ca dispozitiv de ieșire, LED-ul ar trebui să fie conectat la portul microcontrolerului, iar MC-ul trebuie să fie programat în interior să facă LED-ul ON sau OFF sau să clipească sau să se lumineze. Acest program este numit driver / firmware. Software-ul driverului poate fi dezvoltat folosind orice limbaj de programare precum Assembly , C etc.


8051 Microcontroler

Microcontrolerul 8051 a fost inventat în 1980 de Intel. Fundația sa se bazează pe arhitectura Harvard, iar acest microcontroler a fost dezvoltat în principal pentru a-l utiliza în sistemele încorporate. Am discutat anterior 8051 Istoricul și elementele de bază ale microcontrolerelor . Este un PDIP cu 40 de pini (pachet plastic dual inline).

8051 are un oscilator on-chip, dar necesită un ceas extern pentru al rula. Un cristal de cuarț este conectat între pinii XTAL ai MC. Acest cristal are nevoie de doi condensatori de aceeași valoare (33pF) pentru a genera un semnal de ceas cu frecvența dorită. Caracteristicile microcontrolerului 8051 au fost explicate în articolul nostru anterior.

Conexiuni Crystal cu microcontroler

Conexiuni Crystal cu microcontroler

LED (diodă emițătoare de lumină)

LED-ul este un dispozitiv semiconductor utilizate în multe dispozitive electronice, utilizate în principal pentru transmiterea semnalului / indicarea puterii. Este foarte ieftin și ușor disponibil într-o varietate de formă, culoare și dimensiune. LED-urile sunt, de asemenea, utilizate pentru proiectarea panourilor de afișare a mesajelor și a semnalizatoarelor de control al traficului etc.

Are două terminale pozitive și negative, așa cum se arată în figură.

Polaritate LED

Polaritate LED

Singura modalitate de a cunoaște polaritatea este fie să o testați cu un multimetru, fie observând cu atenție în interiorul LED-ului. Capătul mai mare din interiorul ledului este -ve (catod), iar cel mai scurt este + ve (anod), așa aflăm polaritatea LED-ului. O altă modalitate de a recunoaște polaritatea este, conectarea cablurilor, terminalul POSITIV are mai multă lungime decât terminalul NEGATIV.

Interfață LED la 8051

Există două moduri în care putem interfața LED-ul cu microcontrolerul 8051. Dar conexiunile și tehnicile de programare vor fi diferite. Acest articol oferă informații despre interfața LED-urilor cu codul 8051 și LED intermitent pentru microcontrolerul AT89C52 / AT89C51.

Interfața LED-ului la 8051 Metode

Interfața LED-ului la 8051 Metode

Observați cu atenție interfața LED 2 este orientată spre înainte, deoarece tensiunea de intrare de 5v conectată la terminalul pozitiv al LED-ului, deci aici pinul microcontrolerului ar trebui să fie la nivel LOW. Și invers, cu interfața 1 conexiuni.

Rezistorul este important în interfața cu LED-uri pentru a limita curentul care curge și pentru a evita deteriorarea LED-ului și / sau MCU.

  • Interfața 1 va aprinde LED-ul, numai dacă valoarea PIN a MC-ului este MARE pe măsură ce curentul curge spre sol.
  • Interfața 2 va aprinde LED-ul, numai dacă valoarea PIN-ului MC este scăzută, deoarece curentul curge către PIN datorită potențialului său mai scăzut.

Schema circuitului este prezentată mai jos. Un LED este conectat la pinul-0 al portului-1.

Circuitul de simulare Proteus

Circuitul de simulare Proteus

Voi explica în detaliu codul programului. Mai mult, consultați acest link „ Tutorial de programare încorporat C cu limbaj Keil ”. Pentru generarea ceasului este conectat un cristal de 11,0592 MHz. După cum știm că microcontrolerul 8051 execută o instrucțiune în 12 cicluri CPU [1], prin urmare, acest cristal de 11,0592Mhz face ca acest 8051 să ruleze la 0,92 MIPS (milioane de instrucțiuni pe secundă).

În codul de mai jos, LED-ul este definit ca pinul 0 al portului 1. În funcția principală, LED-ul este comutat după fiecare jumătate de secundă. Funcția „întârziere” execută instrucțiuni nule de fiecare dată când se execută.

O valoare de 60000 (compilată utilizând software-ul Keil micro-vision4) generează aproximativ 1 secundă (timp de întârziere) timp de execuție a declarației nule atunci când este utilizat cristalul de 11,0592 MHz. În acest fel, LED-ul atașat pinului P1.0 este intermitent folosind codul de mai jos.

COD

#include

LED sbit = P1 ^ 0 // pin0 al portului 1 este denumit LED

// Declarații de funcții

void cct_init (nul)

întârziere nulă (int a)

int main (nul)

{

cct_init ()

în timp ce (1)

{

LED = 0

întârziere (60000)

LED = 1

întârziere (60000)

}

}

void cct_init (nul)

{

P0 = 0x00

P1 = 0x00

P2 = 0x00

P3 = 0x00

}

întârziere nulă (int a)

{

int i

pentru (i = 0 i

}

Acest articol oferă informații despre modul în care interfața LED cu 8051. Acesta este conceptul fundamental de interfață pentru proiectele de microcontrolere 8051.

Sper că, citind acest articol, aveți cunoștințe de bază despre cum să interfațați modulul LED cu 8051. Dacă aveți întrebări cu privire la acest articol sau despre proiecte de microcontrolere , vă rugăm să nu ezitați să vă simțiți liber să comentați în secțiunea de mai jos.