Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

[AVR] Kilka pytań na temat klwiatury i przerwania

11 Mar 2009 16:34 1220 1
  • Poziom 18  
    Witam. Chciałbym zapytać o kilka spraw, szukałem trochę na elektrodzie ale nie znalazłem tego co bym chciał.

    1) Klawiaturę (przycisk) można podłączyć z zastosowaniem zewnętrznego rezystora tak jak na rysunku poniżej i bez niego(bez rezystora i bez podłączenia do +5V). Jaka jest wtedy różnica ?Czy jedno rozwiązanie jest lepsze od drugiego i dlaczego?
    [AVR] Kilka pytań na temat klwiatury i przerwania

    2) Jeśli podłączam przycisk wg schematu powyżej to muszę ustawić
    (n to numer konkretnego pinu)
    DDRBn=0 PORTBn=0,
    natomiast jeśli nie używam zewnętrznego rezystora to muszę ustawić DDRBn=0, PORTBn=1
    Czy mam rację ? Chcę się upewnić.

    3) Czy jeśli podłączam pin do plusa lub minusa, bez żadnego rezystora ograniczającego prąd, to przy jakiej konfiguracji (ustawienie pinu /podłączenie+-) mogę uszkodzić mikrokontroler? Teodor Otulak napisał w swoim tutorialu że jest ograniczenie prądu do 20mA ale może ono nie zadziałać przy jakiejś konfiguracji i wtedy mikrokontroler się spali, ale nie zrozumiałem właśnie przy jakim podłączeniu i konfiguracji.

    4)I tu jest najważniejsze pytanie. Chciałem zrobić sobie klawiaturę w ten sposób że jeśli przyciskam którykolwiek przycisk, to jednocześnie daję impuls na przerwanie (int0). Chciałem to zrobić za pomocą diod. ale niestety to nie działa. Mikrokontroler stwierdza że którykolwiek przycisk bym nie wcisnął to wszystkie są wciśnięte. Czy ten schemat poniżej jest wogóle dobry? Używałem diod szybkich. Czy jak użyję diod schottky'iego to bedzie to działać?
    [AVR] Kilka pytań na temat klwiatury i przerwania
    Darmowe szkolenie: Ethernet w przemyśle dziś i jutro. Zarejestruj się za darmo.
  • Pomocny post
    Poziom 43  
    1. Jeżeli układ ma pracować w rejonie dużych zakłóceń albo przyciski są na bardzo długich kablach to lepie dać rezystor zewnętrzny. I to taki o małej wartości (1k).
    Przy przyciskach blisko procesora nie ma większej różnicy.
    2. Mniej więcej, ale jeżeli masz zewnętrzny rezystor to takie ustawienie "DDRBn=0, PORTBn=1" nie jest błędne. Po prostu będziesz miał dwa rezystor (PORTBn=1 włącza rezystor wewnętrzny gdy DDRBn=0).
    3. Jeżeli ustawisz DDRBn=0 to nie uszkodzić procesora. Jeżeli DDRBn=1 to juz prędzej. Ale nie spali się nic, ewentualnie spali Pin a już naprawdę bardzo rzadko spali się cały procesor.
    4. Musisz wpisać DDRD2=0, PORTD2=1 żeby to działało. Diody chyba dowolne, ale najtańsze 1N4148 będą po za tym że najtańsze to i niezwykle szybkie jak na to.