Jak podłączyć klawiaturę do mikrokontrolera AVR z użyciem matrycy?

Re: AVR - pomocy!





Poprzedni Następny
Wiadomość
Spis treści
From: " " <superbeer_at_nospam_NOSPAM.gazeta.pl>
Subject: Re: AVR - pomocy!
Date: Thu, 12 Sep 2002 18:18:20 +0000 (UTC)


GG <gayosek_at_nospam_poczta.onet.pl> napisał(a):

Użytkownik "Superbeer" <superbeer_at_nospam_tlen.pl> napisał w wiadomości

/* Czytanie klawiatury */
outp(0x00, DDRB); // Port B jako wejście
outp(0xff, DDRD); // Port D jako wyjście
[...]

No ale jak jest podlaczona klawiatura - zwiera do masy, do plusa,
matryca, ile przyciskow?????

Powiedzmy, że jeden przycisk zwierający do masy i rezystor podłączony do
plusa a z drugiej strony do portu i przycisku.

---
Pozdrawiam
Superbeer

--
Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/

Poprzedni Następny
Wiadomość
Spis treści
From: "Michał Lankosz" <nie_at_nospam_lubie.spamu>
Subject: Re: AVR - pomocy!
Date: Thu, 12 Sep 2002 23:13:36 +0200


Po zmianie na PINB nadal nie działa??

ML




Poprzedni Następny
Wiadomość
Spis treści
From: "c2h5oh" <crossroads_at_nospam_go2.pl>
Subject: Re: AVR - pomocy!
Date: Fri, 13 Sep 2002 18:03:44 +0200



" Superbeer" <superbeer_at_nospam_NOSPAM.gazeta.pl> wrote in message
news:alru9q$kq0$1_at_nospam_news.gazeta.pl...
Michał Lankosz <nie_at_nospam_lubie.spamu> napisał(a):

Po zmianie na PINB nadal nie działa??

Nie działa :-(

W asemblerze również nie działa.

DEVICE AT90S2313

CSEG
start: LDI R28,$FF
LDI R29,$00
OUT $11,R28
OUT $17,R29
OUT $18,R28
jump2: IN R24,$18
COM R24
SBRS R24,0
RJMP jump1
CBI $12,5
RJMP jump2
jump1: SBI $12,5
RJMP jump2
RJMP start

Czy to jest cały program? Jeżeli tak, to:
WYŁĄCZ WATCHDOGA!
...a jeżeli jest coś jeszcze, to zamień sobie rejestry R29 i R28 na siakieś
niższe, może coś nimi jeszcze będziesz chciał adresować.
Tak czy inaczej, z watchdogiem nie ruszy bo program się resetuje co
kilka(naście, dziesiąt) milisekund.
I załatw sobie taki plik 2313.inc ze strony atmela, ciężko się połapać co
jest $18 albo inne $ ;)

pozdr.
c2h5oh


Poprzedni Następny
Wiadomość
Spis treści
From: "GG" <gayosek_at_nospam_poczta.onet.pl>
Subject: Re: AVR - pomocy!
Date: Fri, 13 Sep 2002 20:04:11 +0200


Użytkownik <superbeer_at_nospam_NOSPAM.gazeta.pl> napisał w wiadomości

Powiedzmy, że jeden przycisk zwierający do masy i rezystor podłączony
do
plusa a z drugiej strony do portu i przycisku.

Domyślam się, że do portu B
Jak już napisał "c2h5oh" wyłącz tego pieska... ;-)
No a pozatym wcale nie zmieniłeś odczytu z rejestru PORT na PIN jak już
sugerowali inni.
CSEG
start: LDI R28,$FF
LDI R29,$00
OUT $11,R28 ; port D jako wyjscie
OUT $17,R29 ; zbedne
OUT $18,R28 ; pull-up dla portu B
jump2: IN R24,$18 <===== ZLE!!!

ma być:
jump2: IN R24,$16 ; odczyt z PINB

COM R24 ; a to po co?
SBRS R24,0 ; zamiast dwoch instr. :

SBRC R24, 0 ; przycisk na PINB0
RJMP jump1
CBI $12,5 ; jesli dioda podpieta do portu i do Vcc (przez
rezystor) to zaswieci
RJMP jump2
jump1: SBI $12,5
RJMP jump2
RJMP start

--
Grzesiek Gajewski
gayos_at_nospam_interia.pl