2,439 matches
-
atenția asupra faptului că liniile portului P0 sunt de tipul "“open drain”", fiind necesară plasarea în exterior de rezistențe către sursa de alimentare, în vederea asigurării polarizării. Portul P1 este în orice situație de lucru a microcontrolerului, port de tip paralel, biții acestuia fiind configurabili atât ca ieșiri, cât și ca intrări digitale. Liniile portului sunt notate P1.0, ..., P1.7. Ultimul port (P3) are un caracter multifuncțional, funcție de modul de lucru al microcontrolerului. Pe de o parte, prin liniile acestui port
Intel MCS-51 () [Corola-website/Science/320976_a_322305]
-
dispun de extensii ce permit programatorului să specifice unde fiecare variabilă ar trebui stocată în cele șase tipuri de memorie și oferă acces la caracteristici hardware specifice 8051, cum ar fi bancurile de registre multiple și intrucțiunile de manipulare a biților. Există multe compilatoare de C comerciale. SDCC este un compilator open-source popular. Alte limbaje de nivel înalt, ca Forth, Basic, Pascal/Object Pascal, PL/M și Modula-2 sunt disponibile pentru 8051, dar sunt mai puțin folosite decât C și programarea
Intel MCS-51 () [Corola-website/Science/320976_a_322305]
-
spațiul de memorie, fie stocând metadate împreună cu pointer-ul. Setul de instrucțiuni MCS-51 oferă mai multe moduri de adresare, incluzând: Bancul registrelor, care conține registrele R0÷ R7, poate fi accesat prin anumite instrucțiuni care specifică în opcode registrul prin 3 biți. Instrucțiunile care accesează astfel registrele au codul mai eficient. Când instrucțiunea se execută, numai unul din cele 8 regiștri din bancul selectat este accesat. Bancul de regiștri cu care se lucrează la un moment dat este selectat cu ajutorul a 2
Intel MCS-51 () [Corola-website/Science/320976_a_322305]
-
Instrucțiunile care accesează astfel registrele au codul mai eficient. Când instrucțiunea se execută, numai unul din cele 8 regiștri din bancul selectat este accesat. Bancul de regiștri cu care se lucrează la un moment dat este selectat cu ajutorul a 2 biți din PSW. ex: MOV A, R7 - conținutul registrului R7 este transferat în acumulator In adresarea directă, operandul este specificat printr-un câmp de adresă de 8 biți, prin acest mod de adresare se poate accesa atât memoria RAM internă 00-7Fh
Intel MCS-51 () [Corola-website/Science/320976_a_322305]
-
cu care se lucrează la un moment dat este selectat cu ajutorul a 2 biți din PSW. ex: MOV A, R7 - conținutul registrului R7 este transferat în acumulator In adresarea directă, operandul este specificat printr-un câmp de adresă de 8 biți, prin acest mod de adresare se poate accesa atât memoria RAM internă 00-7Fh, cât și zona SFR (80-FFh). ex: MOV A, direct - conținutul memoriei interne de la adresa direct este transferat în acumulator. ADD A, direct - adună conținutul memoriei interne de la
Intel MCS-51 () [Corola-website/Science/320976_a_322305]
-
A, direct - adună conținutul memoriei interne de la adresa direct cu acumulatorul. Instrucțiunea specifică un registru care conține adresa operandului. Prin acest mod de adresare poate fi accesat atât memoria de date internă cât și cea externă, astfel: - adresare pe 8 biți cu ajutorul registrelor R0 și R1 sau al pointerului de stivă ex: MOV A,@R0 - conținutul locației de memorie internă de la adresa dată de registrul R0 este transferată în acumulator - adresare pe 16 biți utilizând registrul DPTR ex: MOVX A,@DPTR
Intel MCS-51 () [Corola-website/Science/320976_a_322305]
-
și cea externă, astfel: - adresare pe 8 biți cu ajutorul registrelor R0 și R1 sau al pointerului de stivă ex: MOV A,@R0 - conținutul locației de memorie internă de la adresa dată de registrul R0 este transferată în acumulator - adresare pe 16 biți utilizând registrul DPTR ex: MOVX A,@DPTR - conținutul locației de memorie de date externă de la adresa din registrul DPTR este transferată în acumulator Anumite instrucțiuni specifică anumite registre. De exemplu, anumite instrucțiuni operează cu acumulatorul sau DPTR, deci nu este
Intel MCS-51 () [Corola-website/Science/320976_a_322305]
-
exemplu, anumite instrucțiuni operează cu acumulatorul sau DPTR, deci nu este nevoie de o adresa pentru a le accesa. Opcod-ul instrucțiunii conține toate informațiile necesare. ex: MOV A, #100 - acumulatorul este încărcat cu constanta 100; MOV DPTR, #0A43h. SETB C - Bitul de carry devine 1 SETB P1.3 - Bitul 3 al portului P1 devine 1. Numai memoria program poate fi accesată astfel. Acest mod de adresare este folosit pentru a citi tabele memorate în memoria program. Registrul de bază pe 16
Intel MCS-51 () [Corola-website/Science/320976_a_322305]
-
deci nu este nevoie de o adresa pentru a le accesa. Opcod-ul instrucțiunii conține toate informațiile necesare. ex: MOV A, #100 - acumulatorul este încărcat cu constanta 100; MOV DPTR, #0A43h. SETB C - Bitul de carry devine 1 SETB P1.3 - Bitul 3 al portului P1 devine 1. Numai memoria program poate fi accesată astfel. Acest mod de adresare este folosit pentru a citi tabele memorate în memoria program. Registrul de bază pe 16 biți care reprezintă adresa de început al tabelului
Intel MCS-51 () [Corola-website/Science/320976_a_322305]
-
de carry devine 1 SETB P1.3 - Bitul 3 al portului P1 devine 1. Numai memoria program poate fi accesată astfel. Acest mod de adresare este folosit pentru a citi tabele memorate în memoria program. Registrul de bază pe 16 biți care reprezintă adresa de început al tabelului, poate fi registrul DPTR sau PC, iar ca registru deplasament este folosit acumulatorul. Adresa unui element din tabel accesat la un moment dat, se calculează astfel: DPTR (PC) +Acc. ex: MOVC A,@ A
Intel MCS-51 () [Corola-website/Science/320976_a_322305]
-
020h,03fh va copia valoare din locația de memorie intern RAM 0x3f în locația de memorie 0x20, aflată de asemenea în memoria internă RAM. Microcontrolerele din seria Intel 8031 au setul de instrucțiuni asemănătoare cu cele ale microprocesoarelor pe 8 biți, însă mai apar o serie de instrucțiuni specifice numai acestor tipuri de circuite. Instrucțiunile pot fi clasificate în funcție de operația pe care o realizează în: Sunt instrucțiuni noi, specifice microcontrolerelor. Cu ajutorul acestor instrucțiuni se pot realiza teste la nivel de bit
Intel MCS-51 () [Corola-website/Science/320976_a_322305]
-
biți, însă mai apar o serie de instrucțiuni specifice numai acestor tipuri de circuite. Instrucțiunile pot fi clasificate în funcție de operația pe care o realizează în: Sunt instrucțiuni noi, specifice microcontrolerelor. Cu ajutorul acestor instrucțiuni se pot realiza teste la nivel de bit, ceea ce permite un răspuns prompt al aplicației la schimbări și o dimensiune redusă a codului utilizatorului. ex: JB bit ,rel - salt relativ dacă bit este 1; ANL C, bit - SI logic între Carry și bit; SETB bit - setează direct bit
Intel MCS-51 () [Corola-website/Science/320976_a_322305]
-
operația pe care o realizează în: Sunt instrucțiuni noi, specifice microcontrolerelor. Cu ajutorul acestor instrucțiuni se pot realiza teste la nivel de bit, ceea ce permite un răspuns prompt al aplicației la schimbări și o dimensiune redusă a codului utilizatorului. ex: JB bit ,rel - salt relativ dacă bit este 1; ANL C, bit - SI logic între Carry și bit; SETB bit - setează direct bit; Deoarece 8051 are o arhitectură acumulator, toate operațiile aritmetice trebuie să folosească acumulatorul, ex: ADD A, 020h va adăuga
Intel MCS-51 () [Corola-website/Science/320976_a_322305]
-
în: Sunt instrucțiuni noi, specifice microcontrolerelor. Cu ajutorul acestor instrucțiuni se pot realiza teste la nivel de bit, ceea ce permite un răspuns prompt al aplicației la schimbări și o dimensiune redusă a codului utilizatorului. ex: JB bit ,rel - salt relativ dacă bit este 1; ANL C, bit - SI logic între Carry și bit; SETB bit - setează direct bit; Deoarece 8051 are o arhitectură acumulator, toate operațiile aritmetice trebuie să folosească acumulatorul, ex: ADD A, 020h va adăuga valoarea din locația de memorie
Intel MCS-51 () [Corola-website/Science/320976_a_322305]
-
microcontrolerelor. Cu ajutorul acestor instrucțiuni se pot realiza teste la nivel de bit, ceea ce permite un răspuns prompt al aplicației la schimbări și o dimensiune redusă a codului utilizatorului. ex: JB bit ,rel - salt relativ dacă bit este 1; ANL C, bit - SI logic între Carry și bit; SETB bit - setează direct bit; Deoarece 8051 are o arhitectură acumulator, toate operațiile aritmetice trebuie să folosească acumulatorul, ex: ADD A, 020h va adăuga valoarea din locația de memorie internă RAM 0x20 în acumulator
Intel MCS-51 () [Corola-website/Science/320976_a_322305]
-
realiza teste la nivel de bit, ceea ce permite un răspuns prompt al aplicației la schimbări și o dimensiune redusă a codului utilizatorului. ex: JB bit ,rel - salt relativ dacă bit este 1; ANL C, bit - SI logic între Carry și bit; SETB bit - setează direct bit; Deoarece 8051 are o arhitectură acumulator, toate operațiile aritmetice trebuie să folosească acumulatorul, ex: ADD A, 020h va adăuga valoarea din locația de memorie internă RAM 0x20 în acumulator. Pentru a programa 8051, nu este
Intel MCS-51 () [Corola-website/Science/320976_a_322305]
-
la nivel de bit, ceea ce permite un răspuns prompt al aplicației la schimbări și o dimensiune redusă a codului utilizatorului. ex: JB bit ,rel - salt relativ dacă bit este 1; ANL C, bit - SI logic între Carry și bit; SETB bit - setează direct bit; Deoarece 8051 are o arhitectură acumulator, toate operațiile aritmetice trebuie să folosească acumulatorul, ex: ADD A, 020h va adăuga valoarea din locația de memorie internă RAM 0x20 în acumulator. Pentru a programa 8051, nu este nevoie să
Intel MCS-51 () [Corola-website/Science/320976_a_322305]
-
bit, ceea ce permite un răspuns prompt al aplicației la schimbări și o dimensiune redusă a codului utilizatorului. ex: JB bit ,rel - salt relativ dacă bit este 1; ANL C, bit - SI logic între Carry și bit; SETB bit - setează direct bit; Deoarece 8051 are o arhitectură acumulator, toate operațiile aritmetice trebuie să folosească acumulatorul, ex: ADD A, 020h va adăuga valoarea din locația de memorie internă RAM 0x20 în acumulator. Pentru a programa 8051, nu este nevoie să se stăpânească aceste
Intel MCS-51 () [Corola-website/Science/320976_a_322305]
-
care 8031 urma să-l execute. 8052 a fost o versiune îmbunătățită a originalului 8051 care avea 256 bytes de memorie internă RAM în loc de 128 bytes, 8 KB de ROM în loc de 4 KB și un al treilea timer pe 16 biți. 8032 avea aceleași caracteristici cu excepția memoriei program interne ROM. 8052 și 8032 sunt în mare măsură considerate a fi depășite, deoarece aceste funcții și multe altele sunt incluse in aproape toate microcontrolere moderne bazate pe 8051. Intel a întrerupt linia
Intel MCS-51 () [Corola-website/Science/320976_a_322305]
-
full duplex: Nu toate transmisiile de date necesita toate aceste operații (de ex. transmisia unidirecționala) deși acestea se petrec. În mod normal, transmisia implică existența a doi "regiștri de date" de o lungime oarecare a cuvântului, cum ar fi opt biți, unul situat în dispozitivul master și celalalt în dispozitivul slave; ei sunt conectați într-o configurație de tip inel. Informația este de obicei transferată începând cu cel mai semnificativ bit (eng: "Most Significant Bit - MSB"), și continuând bit cu bit
Interfața serială SPI () [Corola-website/Science/321191_a_322520]
-
de o lungime oarecare a cuvântului, cum ar fi opt biți, unul situat în dispozitivul master și celalalt în dispozitivul slave; ei sunt conectați într-o configurație de tip inel. Informația este de obicei transferată începând cu cel mai semnificativ bit (eng: "Most Significant Bit - MSB"), și continuând bit cu bit până se transferă și cel mai nesemnificativ bit (eng: "Least Significant Bit - LSB") pentru același registru. În această fază putem afirma că cele două dispozitive master/slave și-au schimbat
Interfața serială SPI () [Corola-website/Science/321191_a_322520]
-
a cuvântului, cum ar fi opt biți, unul situat în dispozitivul master și celalalt în dispozitivul slave; ei sunt conectați într-o configurație de tip inel. Informația este de obicei transferată începând cu cel mai semnificativ bit (eng: "Most Significant Bit - MSB"), și continuând bit cu bit până se transferă și cel mai nesemnificativ bit (eng: "Least Significant Bit - LSB") pentru același registru. În această fază putem afirma că cele două dispozitive master/slave și-au schimbat valorile din regiștri. Imediat
Interfața serială SPI () [Corola-website/Science/321191_a_322520]
-
fi opt biți, unul situat în dispozitivul master și celalalt în dispozitivul slave; ei sunt conectați într-o configurație de tip inel. Informația este de obicei transferată începând cu cel mai semnificativ bit (eng: "Most Significant Bit - MSB"), și continuând bit cu bit până se transferă și cel mai nesemnificativ bit (eng: "Least Significant Bit - LSB") pentru același registru. În această fază putem afirma că cele două dispozitive master/slave și-au schimbat valorile din regiștri. Imediat după, fiecare dispozitiv citește
Interfața serială SPI () [Corola-website/Science/321191_a_322520]
-
biți, unul situat în dispozitivul master și celalalt în dispozitivul slave; ei sunt conectați într-o configurație de tip inel. Informația este de obicei transferată începând cu cel mai semnificativ bit (eng: "Most Significant Bit - MSB"), și continuând bit cu bit până se transferă și cel mai nesemnificativ bit (eng: "Least Significant Bit - LSB") pentru același registru. În această fază putem afirma că cele două dispozitive master/slave și-au schimbat valorile din regiștri. Imediat după, fiecare dispozitiv citește valoarea stocată
Interfața serială SPI () [Corola-website/Science/321191_a_322520]
-
în dispozitivul slave; ei sunt conectați într-o configurație de tip inel. Informația este de obicei transferată începând cu cel mai semnificativ bit (eng: "Most Significant Bit - MSB"), și continuând bit cu bit până se transferă și cel mai nesemnificativ bit (eng: "Least Significant Bit - LSB") pentru același registru. În această fază putem afirma că cele două dispozitive master/slave și-au schimbat valorile din regiștri. Imediat după, fiecare dispozitiv citește valoarea stocată în registrul de date și o prelucrează, cum
Interfața serială SPI () [Corola-website/Science/321191_a_322520]