Institutul Politehnic Naț ional
ESIME Culhuacán
Porturi de I/O ș i afiș aj cu 7 segmente.
Cadre didactice.
Beltrán Navarro Orlando
Studenț i.
Ayala Pere Issac Tonatiuh
Navarro Arana Hazel
Reyes Martínez Mónica Daniela.
INTRODUCERE
Familia µC-8051 este variată ș i se găseș te în diverse
prezentări, selecț ia unuia sau altuia tip de
microcontrolerul va depinde în principal de nevoile
a satisface. µ c-8051 se bazează pe microprocesoarele de
8 biț i, conț ine intern un CPU de 8 biț i, 3 porturi de
intrare ș i ieș ire paralele, un port de control, care la rândul său
contine; un port serial, două intrări pentru Timer/Contor de
16 biț i, două intrări pentru întreruperi externe, semnalele de
RD ș i WR pentru preluarea sau stocarea datelor externe în
RAM, la semnalul PSEN pentru citirea instrucț iunilor
stocate în EPROM extern.
Porturi de Intrare/Ieşire
• Pines de entrada/sortie (I/O) de scop general
• Prin intermediul lor, micro PIC poate monitoriza ș i controla altele
dispozitive. • Pentru a adăuga flexibilitate microcontroller-ului, mulț i dintre pinii săi
intrare/iesire sunt multiplexate cu funcț ii alternative.
•Pentru majoritatea porturilor, direcț ia piniului I/O este controlată de
registrul de direcț ie de date, numit TRIS. TRISX controlează direcț ia
del pin n del puerto X.
• Un 1 în registrul TRIS indică faptul că pinul este intrare. Un 0 indică faptul că este
ieș ire
uso ca driver pentru un afişaj cu 7 segmente.
Valoarea RESET a registrelor TRIS este de obicei '1', astfel încât prin
defectul pinilor să fie configuraț i ca intrări pentru a evita posibile
scurtcircuite în alimentare care ar putea deteriora microprocesorul sau restul
sistem.
El registro PORT funcț ionează ca un latch pentru datele de ieș ire. Când
registrul PORT se citeș te (Ex, MOVF PORTB,W), microcontrolerul citeș te nivelurile prezente
în pinii de I/O (nu în latch-uri)
Când o funcț ie este multiplexată pe un pin de I/O de scop general
în general, funcț ionalitatea unui pin poate să se schimbe pentru a se adapta la
cerinț ele modulului periferic. De exemplu, dacă un micro are un convertor
A/D, pinul asociaț i la acest modul sunt configurate într-un RESET
ca intrări analogice pentru a evita un consum excesiv de curent
în bufferul acelui pin dacă acesta ar fi configurat ca intrare digitală
iar valoarea tensiunii pe pin era la un nivel intermediar.
DEZVOLTARE
Conjunct de componente conectate la Sistem
Putem observa că display-ul ocupat se aprinde
Aici vom controla frecvenț a cu care se repetă codul nostru
DEZVOLTARE PT 1
ÎNTREBĂRI.
Va conta 5 evenimente în registrul R0 de aceea punem 5
● Care este scopul primei etichete a programului?
locul unde voi merge de fiecare dată când spun un
evenimentul, ș i începe ciclul ș i se termină în SJMP
●Ce efect are instruirea ș i unde poate fi observat?
Indicăm că portul pe care îl vom găsi este P1 bit 0
completează valoarea portului, dacă este 1 schimbaț i-o în 0 ș i
viceversa ș i-l schimbă în ciclul următor
Programul este următorul
putem observa cu programul anterior că
afectat va fi R0
Care este obiectivul instrucț iunii de apelare a subrutinei?
Llamă eticheta întârziere ș i activăm contorul, îl decrementăm ș i sare
ș i nu a ajuns la zero
D = decremente J= sare NZ= fără zero, compară până la
ce de 0
● Cât timp consumă subrutina de întârziere ș i cum poate
a se controla?
12ms 890 us
12 ms 907 us
Putem spune că a consumat 17 us
Este timpul în care LED-ul întârzie să se aprindă ș i să se stingă
Este timpul ocupat pentru a executa programul ș i numărul de
instrucț iuni până la 0
● Ce efect are instrucț iunea de returnare?
Când se încheie subrutina ș i când se termină de executat, se întoarce.
DEZVOLTARE PT 2
● Modifică programul pentru a utiliza fiecare dintre biț ii portului 1.
● Descrie un element al hardware-ului conectat la sistem
corespunde fiecărui bit al portului.
● Modifică programul pentru ca informaț ia afiș ată să dureze cel puț in
100 microsecunde.
Fiecare ciclu de maș ină durează 1 ms, în acest program instrucț iunea de
DJNZ (2 octeț i ș i două cicluri de maș ină) durează 2 ms, avem nevoie să dureze
100, astfel încât fiecare ciclu va trebui să dureze 50, în hexadecimal este 32h, ș i
programul ne va rămâne în felul următor
Ș i aș a am aprins toț i LED-urile
Dezvoltare 3
● Observa următorul program ș i analizează-i funcț ionarea.
● Scrie programul în simulator, îl compilează, execută-l pas cu pas ș i
analiza funcț ionării sale.
● Modifică programul pentru a afiș a un număr ascendent.
Analizând func ț ionarea programului, acesta recunoa ș te doar primul
primele linii, apoi sări la „întârziere” care conț ine operaț iunea
programa, care este un contor în mod descendent:
Acest comandament ne spune ce terminal va fi folosit ș i, de asemenea, ce părț i ale
display de 7 segmente se va aprinde
Apoi, trimitem să chemăm o comandă numită întârziere, această comandă
este format din mai multe linii de comenzi. Această comandă este formată
de la următoarele linii:
Acest comandă indică de unde va începe numărătoarea
Ș i acest comandă este cea care indică o retrogradare a contorului cu câte unul.
(operaț ie de tip scădere -1)
În cele din urmă, RET face ca programul să revină
Acum ceea ce ni se cere este să facem un program de numărătoare ascendentă
de care folosim doar primele linii ale programului anterior, pentru acesta
operarea programului s-a folosit comanda INC care serve ș te pentru
a creș te bitul cu câte unul
Acest comand îi cere lui A să salveze datele din R0
Acest comandă indică faptul că datele din R0 vor fi incrementate cu câte unul.
(o operaț iune de adunare +1)
CONCLUZII
Ayala Pérez Isaac Tonatiuh: Con ceea ce am văzut anterior în ultima lecț ie unde
am învăț at ce sunt porturile sau terminalele care ne arată datele despre
interiorul microprocesorului, în acest caz folosim portul P1 care
abarca terminalele 1 până la 8, care utilizează bit cu bit sau o cuvânt cu 1
byte, asta o punem la încercare în practică trimiț ându-i instrucț iuni la
afiș aț i y vedeț i cum interacț ionează la pornire cu comenzile date. De asemenea
am învăț at mai multe comenzi noi, cum ar fi P1-P8, care oferă semnale
a terminalele, de asemenea comanda DJNZ care reduce un bit de date e
INC care adaugă bit la date.
Navarro Arna Hazel: am cunoscut mai în profunzime portul unu, ca
direcț ionarea unui bit pentru a putea aprinde o parte a afiș ajului nostru. Cu
asta elevul a înț eles ceea ce a fost discutat anterior în lecț iile de
teoria, deoarece utilizarea portului unu ca bază arată trimiterea biț ilor
necesari pentru a aprinde altceva ce am văzut a fost timpul de
durata pe care o durează ciclul nostru de aprindere ș i stingere.
Reyes Martines Daniela Monica: a concluzionat că porturile de intrare ș i
ieș irile sunt punctul de comunicare între microcontroler ș i noi, la
prin intermediul acestora realizăm procesele programabile pe dispozitiv pentru
să facă ceea ce vrem,
În ceea ce priveș te display-ul cu 7 segmente, care este cel care conț ine emulatorul
edsim, el deja men ț ionat ne ajută să reprezentăm vizual
caractere introduse prin cod în porturile de intrare, pentru
să aibă o ieș ire în forma în care dorim să fie vizualizată astfel
forma ca segmentele să se stingă sau să se aprindă individual,
men ț ionând că fiecare segment are o formă de linie individuală
vertical u orizontal.
BIBLIOGRAFIE
• [Link]
• [Link]
_8051/Continut/set_8051/Instructiuni/[Link]