Fórum témák

» Több friss téma
Cikkek » AVR-Doper, USB-s ISP programozó
AVR-Doper, USB-s ISP programozó
Szerző: Topi, idő: Aug 24, 2008, Olvasva: 122802, Oldal olvasási idő: kb. 1 perc
Lapozás: OK   8 / 11

Először is szerezzünk be egy ATtiny45-ös processzort. Olcsó, nyolc lábú kis jószág.

Majd tanulmányozzuk a következő apró kis teszt programot:

  1. #ifndef F_CPU
  2. #define F_CPU 8000000
  3. #endif
  4.  
  5. #include <avr/io.h>
  6. #include <util/delay.h>
  7.  
  8. //-------------------------------------
  9. void m_delay_10ms(unsigned char val) {
  10. //-------------------------------------
  11. //a _delay_ms max 65.535 ms-et képes sleepelni,
  12. // tehát nagyobb időzítést többből lehet "összerakni"
  13.     unsigned char i;
  14.     for(i=0;i<val;i++) {
  15.         _delay_ms(10);
  16.     }
  17. }
  18.  
  19. //-------------------------------------
  20. int main(void) {
  21. //-------------------------------------
  22.     DDRB = (1<<PINB3)|(1<<PINB4); //csak a PB3 és a PB4 kimenet
  23.     PORTB = 0x00;    //mindent kikapcsol
  24.     while(1) {
  25.         if(PORTB & (1<<PINB3)) PORTB &= ~(1<<PINB3);
  26.                           else PORTB |=  (1<<PINB3);
  27.         if(PORTB & (1<<PINB4)) PORTB &= ~(1<<PINB4);
  28.                           else PORTB |=  (1<<PINB4);
  29.         m_delay_10ms(100); //100*10ms = 1s
  30.     }
  31.    
  32.     return 0;
  33. }

A lefordításhoz AVR-GCC szükséges. Windows esetén telepítendő a WinAVR csomag, mely beleintegrálja magát az AVR-Studióba. WinAVR használata és egy AVR Studio alternatíva:  WinAVR telepítése és használata

Lefordított HEX letölthető: ledvillog.hex

Majd építsük meg próbapanelon ezt a rettenet mód bonyolult áramkört:

A programozót a neki megfelelő lábakra kell majd rákötni.

Programozó MOSI -> 5-ös láb
Programozó MISO -> 6-os láb
Programozó SCK -> 7-es láb
Programozó RESET -> 1-es láb
Programozó GND -> 4-es láb, pontosabban a GND.
Programozó TVCC -> 8-as láb, pontosabban VCC.

Drótozzuk össze, majd vágjunk bele a beprogramozásba. Ám, előbb bizonyosodjunk meg róla, hogy a "TARGET_VCC" tüskét felhelyeztük-e, tehát kap-e egyáltalán áramot a cél hardver.


Fontos: Sok processzorban van a CLKDIV8 fuse, mely alapból be van pipálva. Ezt azt jelenti, hogy a proci órajelét HW-esen osztja 8-al. Így a belső 8MHz-es oszcillátorból 1MHz lesz. Sokszor, írtam már ezt le a fórumba, de ennek ellenére vissza-visszatérő dolog. A programozónál, az AVR Studióban vissza kell venni az órajelet. 1MHz-re, tipikusan ~100KHz környékére, különben nem fog működni az ilyen processzorok programozása, ugyanis ezeknek, túl gyors a programozó. (Hogyan kell visszavenni: 9. oldal, videó - képre kattintva)
A programozó vezetéke maximum 20 cm legyen, ez a garantált, hogy nem lesz gond!


A cikk még nem ért véget, lapozz!
Következő: »»   8 / 11
Értékeléshez bejelentkezés szükséges!
Bejelentkezés

Belépés

Hirdetés
XDT.hu
Az oldalon sütiket használunk a helyes működéshez. Bővebb információt az adatvédelmi szabályzatban olvashatsz. Megértettem