Sari la conținut
ELFORUM - Forumul electronistilor

Configurare registri


Postări Recomandate

Va salut....cum am intampinat o problema de curand, rog a se detalia modul de configurare a registrilor unui uC...m-am referit strict la PIC, limbaj C, insa nu este obligatorie...probabil ca sunt la fel ...nu ma intereseaza comenzile din librarii gen define sau TRISA.F1 = 1;

sau TRISA1_bit = 1;

Atasez mai jos cateva exemple, un uC oarecare ...de exemplu PortulA, sa fie definit ca intrare

Tabelul 3 : Registri asociati portului PORTA
image020.gif

 

Cum se va scrie in binar aceasta comanda?

Dar in HEX?

 

Astept cu nerabdare explicatiile dvs.multumesc

 

Link spre comentariu
  • Răspunsuri 25
  • Creat
  • Ultimul Răspuns

Top autori în acest subiect

Zile populare

Top autori în acest subiect

Imagini postate

Registrul care defineste directia portului este TRIS (0 = intrare, 1 = iesire)

Valoarea atribuita portului (re)seteaza latch-urile, adica, in ipoteza in care portul X este iesire, starea lui poate fi 0 sau 1

In exemplul anterior am gresit (nu sunt familiarizat cu PIC-urile) si am facut corectia.

In exemplul tau:

PORTA= 0B0000000 -> daca portul este definit ca iesire (cu TRISA = 0b0001111), atunci nivelul logic pe cei 4 pini ai acestui port este "0"

PORTA =0x7F = 0111111 -> daca portul este definit ca iesire (cu TRISA = 0b0001111), atunci nivelul logic pe cei 4 pini ai acestui port este "1" (0111111 -> ce este inrosit nu are niciun efect si nici nu este recomandat, conform tabelului postat de tine)

Link spre comentariu

Registrul care defineste directia portului este TRIS (0 = intrare, 1 = iesire)

Valoarea atribuita portului (re)seteaza latch-urile, adica, in ipoteza in care portul X este iesire, starea lui poate fi 0 sau 1

In exemplul anterior am gresit (nu sunt familiarizat cu PIC-urile) si am facut corectia.

In exemplul tau:

PORTA= 0B0000000 -> daca portul este definit ca iesire (cu TRISA = 0b0001111), atunci nivelul logic pe cei 4 pini ai acestui port este "0"

PORTA =0x7F = 0111111 -> daca portul este definit ca iesire (cu TRISA = 0b0001111), atunci nivelul logic pe cei 4 pini ai acestui port este "1" (0111111 -> ce este inrosit nu are niciun efect si nici nu este recomandat, conform tabelului postat de tine)

Aici nu este acelasi lucru.

Link spre comentariu

Ok...am inteles perfect...Acum avem mai jos un alt exemplu:PIC16F877

Pentru selectia pe RA3 a unei tensiuni de referinta pozitica si tensiune de referinta negativa ground-ul selectia registrilor va fi:

 

ADCON1 = 0b00000001; ?

 

 

 

 


Cand portul A este definit ca iesire valoarea lui TRISA este TRISA = 0b0000000. 1 este asociat ci I de la input si 0 cu O de la output.

Rog un exemplu....

post-218154-0-41307900-1511856948_thumb.png

Link spre comentariu

Creează un cont sau autentifică-te pentru a adăuga comentariu

Trebuie să fi un membru pentru a putea lăsa un comentariu.

Creează un cont

Înregistrează-te pentru un nou cont în comunitatea nostră. Este simplu!

Înregistrează un nou cont

Autentificare

Ai deja un cont? Autentifică-te aici.

Autentifică-te acum



×
×
  • Creează nouă...

Informații Importante

Am plasat cookie-uri pe dispozitivul tău pentru a îmbunătății navigarea pe acest site. Poți modifica setările cookie, altfel considerăm că ești de acord să continui.Termeni de Utilizare si Ghidări