logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

[atmega16] Układ teoretycznie zaprogramowany - nie działa

patyk12343 27 Lut 2010 13:41 1476 10
REKLAMA
  • #1 7758024
    patyk12343
    Poziom 10  
    Witam!

    Mam problem, który powoli zaczyna mnie męczyć. Próbowałem chyba wszystkiego, ale jestem początkujący, więc postanowiłem zwrócić się do kogoś, kto zna się na rzeczy. Otóż jestem szczęśliwym posiadaczem mikrokontrolera atmega16. Podłączyłem go w następujący sposób:

    Pin 10 (VCC) => 100 nF => VCC programatora
    Pin 11 (GND) => 100 nF => GND programatora
    Pin 30 (AVCC) => VCC programatora
    Pin 31 (GND) => 100nF => GND programatora

    Następnie podpiąłem pod to programator (USBasp):

    Pin 6 (MOSI) => MOSI programatora
    Pin 7 (MISO) => MISO programatora
    Pin 8 (SCK) => SCK programatora
    Pin 9 (RESET) => RST programatora

    VCC programatora podłączyłem do VCC układu, to samo z GND.

    Potem dołożyłem diodę (sprawdzałem osobno - działa):

    PA0 (krótsza nóżka diody) => 1kOhm => VCC układu.

    Program w C:
    
    #define F_CPU 1000000L
    #include <avr/io.h>
    #include <util/delay.h>
    
    int main(void)
    {
     DDRA = 0xFF;
     
     
    
     while(1)
     {
      
      PORTA = 0xFF;
    
     }
     
    }


    Wysyłanie programu przez WinAVR bez błędu:

    > "make.exe" program
    avrdude -p atmega16 -P usb -c USBasp    -U flash:w:led.hex 
    
    avrdude: AVR device initialized and ready to accept instructions
    
    Reading | ################################################## | 100% 0.02s
    
    avrdude: Device signature = 0x1e9403
    avrdude: NOTE: FLASH memory has been specified, an erase cycle will be performed
             To disable this feature, specify the -D option.
    avrdude: erasing chip
    avrdude: reading input file "led.hex"
    avrdude: input file led.hex auto detected as Intel Hex
    avrdude: writing flash (140 bytes):
    
    Writing | ################################################## | 100% 1.04s
    
    avrdude: 140 bytes of flash written
    avrdude: verifying flash memory against led.hex:
    avrdude: load data flash data from input file led.hex:
    avrdude: input file led.hex auto detected as Intel Hex
    avrdude: input file led.hex contains 140 bytes
    avrdude: reading on-chip flash data:
    
    Reading | ################################################## | 100% 0.82s
    
    avrdude: verifying ...
    avrdude: 140 bytes of flash verified
    
    avrdude done.  Thank you.
    
    
    > Process Exit Code: 0
    > Time Taken: 00:03
    



    Jednak dioda się nie świeci... Docelowo chciałem sterować uC wyświetlaczem LED, jednak skoro nie mogę zapalić jednej diody to raczej będzie trudne. Dlatego proszę o pomoc.


    Programator działa, ponieważ wcześniej programowałem nim atmegę8 i działała.

    Z góry dziękuję za odpowiedzi
    Patyk12343
  • REKLAMA
  • #2 7758071
    Krauser
    Poziom 26  
    Jak ustawisz 1 na wyjściu to nie ma żadnej różnicy napięć.
  • REKLAMA
  • #3 7758121
    patyk12343
    Poziom 10  
    #define F_CPU 1000000L
    #include <avr/io.h>
    #include <util/delay.h>
    
    int main(void)
    {
     DDRA = 0xFF;
     
     
    
     while(1)
     {
      
      PORTA = 0x00;
    
     }
     
    }


    Również nie świeci się.
  • #4 7758204
    Krauser
    Poziom 26  
    patyk12343 napisał:

    Pin 10 (VCC) => 100 nF => VCC programatora
    Pin 11 (GND) => 100 nF => GND programatora
    Patyk12343

    1. Mam nadzieje, że to pomyłka i nie podłączasz zasilania przez szeregowe kondensatory.
    2. Spróbuj dołączyć LED odwrotnie, albo sprawdź napięcie miernikiem.
  • #5 7758236
    patyk12343
    Poziom 10  
    [atmega16] Układ teoretycznie zaprogramowany - nie działa

    Tak to u mnie wygląda. Diodę obróciłem, dalej to samo. Miernika nie posiadam.
  • #6 7758294
    revolt
    Poziom 34  
    A reset przez jakiś rezystor podpiąłeś do VCC? Teoretycznie nie trzeba, ale ostatnio przez brak tego miałem problemy z działaniem uP.
  • REKLAMA
  • #7 7758303
    patyk12343
    Poziom 10  
    Reset w układzie jest podłączony tylko do programatora. Powinien być podłączony do VCC?
  • #9 7758369
    patyk12343
    Poziom 10  
    A czy przez niepodlaczenie resetu i zasilanie uklad mogl ulec zniszczeniu? (Przepraszam za brak PL znakow,ale pisze teraz z telefonu.)
  • REKLAMA
  • #11 7759142
    patyk12343
    Poziom 10  
    Reset podłączony zgodnie ze schematem. Gdy wciskam przycisk resetu dioda na programatorze gaśnie. Układ dalej nie działa.

    Dodano po 3 [godziny] 30 [minuty]:

    Rozłożyłem wszystko i złożyłem ponownie. Wszystko tak samo, tylko dioda programatora już nie gaśnie, gdy wciskam przycisk RESET.
REKLAMA