Sari la conținut
ELFORUM - Forumul electronistilor

Keypad and PIC


Vizitator navaru

Postări Recomandate

Vizitator navaru

Am cumparat un keypad 4x4 si vreau sa-l interceptez cu un 16F877A.Am cautat ceva info pe net si pana acum ce am realizat concret e: ; RB4 RB5 RB6 RB7 ; COL1 COL2 COL3 COL4 ; RB0 ROW1 1 2 3 A ; ; RB1 ROW2 4 5 6 B ; ; RB2 ROW3 7 8 9 C ; ; RB3 ROW4 * 0 # D Acum am nishte nelamuriri, unii pun RB0 - RB3 input si RB4 - RB7 output altii pun tot PORTB-ul input, why?Cum as putea sa fac in asa fel incat sa-mi scaneze si sa imi arate ce tasta a fost apasata ca sa pot face un decoder?Din ce am citit am cam inteles ca este in modul urmator, se scaneaza Coloanele (se gaseste COL2) si apoi se scaneaza randurile (s-a gasit ROW2) deci este '5', apoi un goto la aprinde led-ul 5. (aici setez actiunea pt. fiecare tasta). Ceva sugestii si idei, source code, documentatie mai explicita? Nu stiu sa scriu codul in ASM, m-am chinuit cu ce am gasit pe net dar nu prea mi-a iesit. Multumesc!

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

Top autori în acest subiect

  • Liviu M

    2

  • crispus

    1

Top autori în acest subiect

La uChip pe site exista mai multe documente, grupate sub denumirea de Application Notes. Acolo am gasit o AN care trateaza, printre altele, exact ce-ti trebuie tie.

In principiu liniile (sa zicem) sunt iesiri, iar coloanele (ca astea au mai ramas) sunt intrari. Intrarile le legi prin rezistente la, sa zicem, plus, iar pe iesiri trimiti, pe rand, zero (tat pentru ca asta a mai ramas).

Avand o iesire zero, testezi pe rand intrarile. Daca gasesti vreuna zero, din intersectia intrare-iesire deduci care tasta a fost apasata. Daca nu, faci urmatoarea iesire zero si testezi iarasi liniile.

Mai bagi si ceva intarzieri pentru debouncing si... gata tastatura.

Link spre comentariu

Tot prin aplications notes gasisem o modalitate de a citi un keypad folosind doar un singur pin. Keypad-ul era conectat cu o retea de rezistoare (pentru fiecare tasta, datorita unui divizor rezistiv ai alta tensiune) si folosesti convertorul AD. Ar merita incercat.

Gasisem candva chiar pe site la microchip. Nu mai gasesc acuma.

Un exemplu e asta: http://www.avr-asm-tutorial.net/avr_en/keypad/keyboard.html#adc

 

LE: am gasit si linkul de pe microchip.com. E vorba de AN234.

http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1824&appnote=en012090

Link spre comentariu
Vizitator navaru

Am gasit info destul de detaliat si am reusit sa ma descurc sa codez keypad-ul sa functioneze cum doream. Dupa ce ma acomodez cu codul mai bine si-l inteleg in totalitate o sa postez un tutorial in romana pt. cei doritori. Intradevar este multa documentatie pe net despre 4x4 matris sau 4x3 matrix, dar pentru un incepator sunt mai greu de digerat pt. ca nu este precizat si "minimum of knowledge required".Multumesc celor care mi-au dat reply pe forum si prv! O zi placuta!

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