Sari la conținut
ELFORUM - Forumul electronistilor

Port de intrare la PIC16F84A


Vizitator carst_razvan

Postări Recomandate

Vizitator carst_razvan

Daca declar un port de intrare in TRISB,1, de exemplu, el este setat din prima pe 1, adica cand testezi starea portului btfsc PORTB,1 imi dau seama ca el e pe 1 (cu toate ca dau un clrf PORTB). Adica el din start este activat (are o tensiune la intrare)?

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

Top autori în acest subiect

Daca declar un port de intrare in TRISB,1, de exemplu, el este setat din prima pe 1, adica cand testezi starea portului btfsc PORTB,1 imi dau seama ca el e pe 1 (cu toate ca dau un clrf PORTB). Adica el din start este activat (are o tensiune la intrare)?

Da, poti sa spui ca "are o tensiune la intrare",datorita configuratiei portului de intrare. Un port de intrare "in aer" va fi citit ca 1. Daca vrei sa-l tii normal in zero si sa mearga in 1 doar cand se intampla ceva cu un semnal extern pune-i un pulldown.
Link spre comentariu
Vizitator carst_razvan

In documentatia pe care o am eu imi scrie numai de pull-up si ca acesta este activat in registrul OPTION_REG (bit 7 - ultimul bit). Cum pot sa-l pun in starea pull-down? (programul il fac pentru o tastatura)

Link spre comentariu

Stai nitel, ca le incurci. Pullup/pulldown sunt denumiri pentru rezistente (cu valori in general de 4k7, 10k sau mai mari) care se conecteaza de la portul configurat ca intrare la +5V (pentru pullup) sau la masa (pentru pulldown). In acest fel te asiguri ca tii tensiunea de la intrare la o valoare cunoscuta. Atunci cand vii cu +5v pe un port de intrare care are un pulldown la intrare vei citi 1. La fel, daca pui la masa un port de intrare care are un pullup, o sa citesti de acolo 0. Pic-ul are incluse doar rezistente de pullup, nu si de pulldown (cel putin asa imi amintesc, sper sa nu vorbesc tampenii. Verifica si manualul ca sa fii sigur). Daca ai nevoie de pulldown poti sa le pui in exterior. Sau poti sa reproiectezi tastatura astfel incat o tasta sa fie activa pe 0 logic in loc de 1 logic. In felul asta poti folosi pullup-urile din PIC.

Link spre comentariu
Vizitator carst_razvan

Tastatura am facut-o cu diode. Ca sa schimb logica ar trebui sa le pun pe toate dupa logica noua , adica sa le activez cu 0 logic. Varianta pe care as folosi-o ar fi cea cu obtinerea unei stari de pull-down.

Link spre comentariu
Vizitator carst_razvan

am pus rezistenta de 10 k la masa si in momentul in care se testeaza bitul cu pricina(port de intrare) programul se blochiaza. Este prea mare rezistenta?

Link spre comentariu

Se poate ca in acelasi timp sa am porturi de intrare cu pull-up si altele cu pull-down? (e exact ce apare si in programul meu)

Se poate sa ai orice combinatie. Se poate sa ai pullup si pulldown in acelasi timp pe acelasi pin. Cu exceptia faptului ca atunci nu s-ar mai numi pullup si pulldown :) Si ca nu are nici un sens in situatia de fata. Oricum, e cam incalcit ce faci tu. Revin la o idee anterioara: nu poti sa ai DIN PROGRAM pulldown-uri, trebuie sa le pui in exterior, FIZIC. De ce ai nevoie de ambele? Pentru o tastatura ar trebui sa fie suficient un singur tip...
Link spre comentariu
Vizitator carst_razvan

In programul meu am declarat RA3,RB1,RB2 ca iesire, RB3,RB4,...RB7 ca intrare. La RB4,...,RB7 am legat o tastatura de la care primesc semnal intr-o logica binara (tasta 5 semnal 0101, adica 1 logic pe RB4 si RB6). Ieri cautam eroarea in program si am crezut ca trebuie obligatoriu sa -l pun si pe RB3 la o rezistenta de 10K.

Link spre comentariu

Ok ... probabil ca nu reusesc eu sa iti explic, sau ultimul meu post mai rau te-a incurcat. Imi cer scuze daca am aberat prea rau :) Ideea e urmatoarea: daca pe un port configurat ca intrare iti pui o rezistenta la masa pentru ca vrei ca atunci cand portul este "in aer" (adica la el nu e conectat semnalul pe care vrei sa il citesti) sa fie in 0 logic, acea rezistenta se cheama pulldown. Daca pui rezistenta in conditiile enuntate mai sus si totusi nu reusesti sa citesti 0 inseamna ca ai ori o problema de program (asigura-te ca porturile sunt configurate ca intrari si ca pullup-urile sunt dezactivate), ori o rezistenta arsa, ori pur si simplu un PIC busit. Cate taste vrei sa conectezi? Oricum, daca RB4...RB7 sunt configurate ca intrari, pune-le la masa cu o rezistenta, care in cazul asta va avea rolul de pulldown. Restul (conectarea switch-urilor si scanarea) presupun ca stii cum se face.

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