Die Entwicklungsumgebung
- STK200 Board mit ATtiny2313
- 10 Pol-Flachbandkabel mit unterbrochener Leitung 4
- USB-Kabel
- Netzteil >8V (Gleichrichter und Spannungsregler 5V ist auf dem Board)
Programmer: Orginal AVRISP mkII
Es wird eine Adapterplatine von 6 Pol auf 10 Pol benötigt:
Die richtige Reihenfolge beim Anschließen an den PC und Verbinden mit dem Board
Achtung: Zuerst muss eine Verbindung des Programmers mit dem PC bestehen und erst dann darf der Programmer mit dem STK200-Board verbunden werden. Sonst wird der Programmer nicht richtig initialisiert.
Programmer an PC anschließen
Programmer wird mit USB-Kabel an PC angeschlossen, blaue LED leuchtet. Im AVR-Studio den Programmer auswählen. Bei Erfolg mit Netzteil verbundenes und eingeschaltetes Board mittels 10 Pol. Flachbandkabel mit dem Programmer verbinden.
Überprüfen der Einstellungen
Der zu programmierende Controller muss richtig eingestellt sein.
Wir programmieren im ISP mode, die Daten werden seriell auf den im System steckenden Controller übertragen (In System Programing). Dabei darf die Übertragungsgeschwindigkeit (ISP Frequency) zu dem Controller nicht schneller als 1/4 seines Systemtaktes sein, sonst kommt er nicht mehr mit und es gibt eine Fehlermeldung:
ISP Frequency auf 125.0 kHz einstellen:
Fuses (Sicherungen)
Besondere Hardwareparameter werden mittels Fuses eingestellt.
Eine genaue Beschreibung ist in der jeweiligen Dokumentation des Controllers zu finden.
Warnung: Eine unbedachte Änderung kann dazu führen, daß eine Programmierung des Controllers nicht mehr möglich ist. Z.B. bei falscher Takteinstellung.
Bei Auslieferung bekommt der ATtiny2313 von einem internen 8MHz RC-Oszillator einen durch 8 geteilten Systemtakt, wird also mit 1 MHz betrieben.
Programmierung eines Controllers
Das richtige HEX-File auswählen!
Das Experimentierboard STK200
An PortB sind 8 Leuchtdioden (LED) über jeweils einen Widerstand gegen VCC (5V) angeschlossen. Sie leuchten wenn der jeweilige Pin PB7..PB0 eine logische Null (0V) führt.An PortD sind 8 Taster mit GND (0V) verbunden. Wenn ein Taster gedrückt wird wird der jeweilige Pin PD7..PD0 auf Masse (0V) gezogen.
Befehle, die mit Ports zu tun haben
Befehl | Operand | Beschreibung | Beispiel |
---|---|---|---|
IN | Rd,P | Einlesen eines Port in Register | in R16,PIND |
OUT | P, Rd | Ausgeben eines Register in Port | out PORTB,R16 |
SBI | P, b | Setze Bit b in Port P | sbi PORTB,2 |
CBI | P, b | Lösche Bit b in Port P | cbi PORTB,2 |
SBIC | P, b | Überspringe, wenn Bit b in Port P gelöscht | sbic PIND,4 |
SBIS | p, b | Überspringe, wenn Bit b in Port P gesetzt | sbis PIND,4 rjmp testmode |
Weitere Möglichkeiten des Entwicklungs-Boards
Einsetzbare Bausteine
Sockel | Bausteine | Bemerkung |
---|---|---|
20 Pol | AT90S2313 ATtiny2313 |
AT90S2313 läßt sich mit unserem Programmer nicht programmieren |
28 Pol | ATmega8 ATmega48 |
|
40 Pol Analog | AT90S8535 ATmega16 ATmega32 |
AT90S8535 läßt sich mit unserem Programmer nicht programmieren |
40 Pol Digital |
Belegung der I/O Ports
D0 | 1 | 2 | D1 |
D2 | 3 | 4 | D3 |
D4 | 5 | 6 | D5 |
D6 | 7 | 8 | D7 |
GND | 9 | 10 | VCC |
Hinweis zu den Ausgängen an PORTB: Weil an PB7..5 die Programmierschnittstelle angeschlossen ist wurden Schottky-Dioden zwischen dem µC und den Anschlüssen eingefügt. Diese Pins können dadurch nur Ströme aufnehmen aber keinen Strom liefern, eine gegen GND angeschlossene LED bleibt dunkel.
20Pol
Sockel | AT90S2313 | ATtiny2313 |
---|
28Pol
Sockel | ATmega8 | ATmega48 |
---|
40Pol Analog
Sockel | AT90S8535 | ATmega16 |
---|