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

[Rozwiązano] Jak podłączyć piny klawiatury i diód LED na ATmega32

forest_89 25 Kwi 2012 20:55 1833 8
  • #1 25 Kwi 2012 20:55
    forest_89
    Poziom 10  

    Witam, jestem początkujący w dziedzinie mikrokontrolerów. Moja zasada działania mikrokontrolera polega na tym, że po naciśnięciu przycisku mam zapalić diode led

    Znalazłem przykładowy kod:

    Kod: c
    Zaloguj się, aby zobaczyć kod


    Moja ATmega32 wygląda tak:

    Jak podłączyć piny klawiatury i diód LED na ATmega32

    Dodano po 2 [minuty]:

    Jak mam podłączyć piny klawiatury i LED aby program działał?

    0 8
  • Pomocny post
    #2 25 Kwi 2012 22:20
    dominon
    Poziom 18  

    Po pierwsze używaj znaczników SYNTAX dla łatwiejszego czytania składni.

    Druga sprawa, w twoim przykładowym programie źle ustawiony jest parametr F_CPU gdyż twoja atmega nie jest taktowana z 40MHz! Wpisz tam taka wartość w Hz jaka jest taktowana twoja Atmega.

    Podłączenie...
    Dioda przewodem do PC5 przy mikrokontrolerze.
    Przycisk przewodem do PB0 przy mikrokontrolerze.

    Nie mam schematu tej płytki uruchomieniowej więc nie wiem czy jeszcze nie trzeba zrobić jakiegoś połączenia w klawiaturze.

    0
  • Pomocny post
    #3 25 Kwi 2012 22:24
    tasiorski
    Poziom 11  

    Witam
    W pierwszej kolejności zamień #define F_CPU 4000000UL na #define F_CPU 16000000UL. Na płytce jest kwarc 16MHz.

    Do zapalania diody przyciskiem będzie następujący kod

    Code:
    #include <avr/io.h>
    
    #include <util/delay.h>

    #define F_CPU 4000000UL

    int main( void )
    {
    DDRC |= _BV(0);     //port C.0 jako wyjscie
    DDRB &= ~_BV(0); //port B.0 jako wejscie

    while(1)
    {
    if(PINB==0)
    PORTC&=~_BV(0);
    else
    PORTC|=_BV(0);

    }
    }


    a odnosnie podłączenia to W1 do GND, K1 do PB0, D0 do PC0

    0
  • #4 26 Kwi 2012 12:58
    forest_89
    Poziom 10  

    OK, ale gdy podłącze D0 do Portu C czyli PC0 to dioda cały czas się pali i nie reaguje na przycisk. Co jest nie tak ?

    0
  • Pomocny post
    #5 26 Kwi 2012 13:14
    gaskoin
    Poziom 38  

    A wyłączyłeś JTAGa ?

    Poza tym, co z tego, że na płycie jest kwarc 16MHz. Może tam być nawet generator 50GHz i jak autor nie ustawi tego fusebitami to będzie chodził na 1 MHz :)

    0
  • #6 26 Kwi 2012 13:22
    forest_89
    Poziom 10  

    Programator odłączyłem i dalej to samo

    0
  • Pomocny post
    #7 26 Kwi 2012 13:23
    gaskoin
    Poziom 38  

    Ale mi nie chodzi o odłączanie programatora tylko ustawienie fusebitów tak, żeby wyłączyć JTAG.

    0
  • #8 26 Kwi 2012 13:25
    forest_89
    Poziom 10  

    nie ustawiałem nic w fusebitach, nie wiem jak

    0
  • #9 25 Maj 2018 12:37
    forest_89
    Poziom 10  

    TEMAT ZAMYKAM ZE WZGLĘDU NA PRZEDAWNIENIE. DZIĘKI ZA POMOC.

    0
  Szukaj w 5mln produktów