K (→Downloads) |
|||
(15 dazwischenliegende Versionen von 3 Benutzern werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
− | Wenn man mit [[AVR]]-Controllern anfängt, braucht man oft eine Binärdatei, um die | + | Wenn man mit [[AVR]]-Controllern anfängt, braucht man oft eine Binärdatei, um die Programmierumgebung zu testen oder ab man den [[Microcontroller|Controller]] richtig angeschlossen hat. Das Archiv gibt es als zip-Datei und als tar.gz. |
== Was machen die Binärdateien? == | == Was machen die Binärdateien? == | ||
− | Die Programme schalten Port B1 im Sekundentakt zwischen LOW und HIGH hin- und her. Generiert sind die Programme für eine | + | Die Programme schalten Port B1 im Sekundentakt zwischen LOW und HIGH hin- und her. Generiert sind die Programme für eine Taktfrequenz von 1 MHz. Falls dein AVR mit einem anderen Takt läuft, dann wechselt der Port entsprechend schneller bzw. langsamer. |
Eine der einfachsten Anzeigen dafür ist eine [[Leuchtdiode]] (LED). | Eine der einfachsten Anzeigen dafür ist eine [[Leuchtdiode]] (LED). | ||
Zeile 17: | Zeile 17: | ||
Die LED wird mit einem Vorwiderstand R zwischen dem AVR-Port B1 und [[GND]] angeschlossen. | Die LED wird mit einem Vorwiderstand R zwischen dem AVR-Port B1 und [[GND]] angeschlossen. | ||
− | Für jeden LED-Typ gibt es eine | + | Für jeden LED-Typ gibt es eine Vorwärtsspannung V<sub>F</sub>. Ist V<sub>CC</sub> die Betriebsspannung, dann muss der Vorwiderstand R größer sein als |
:<math> | :<math> | ||
R_\mathrm{min} = \frac{V_\mathrm{CC}-V_F}{I_F} | R_\mathrm{min} = \frac{V_\mathrm{CC}-V_F}{I_F} | ||
</math> | </math> | ||
− | I<sub>F</sub> ist der Strom durch die LED. Für | + | I<sub>F</sub> ist der Strom durch die LED. Für Standard-LEDs genügen 15 mA, für Low-Current-LEDs 2 mA. Typische V<sub>F</sub> für |
* rote LED: 1.6 V | * rote LED: 1.6 V | ||
* grüne LED: 2.3 V | * grüne LED: 2.3 V | ||
Zeile 27: | Zeile 27: | ||
I<sub>F</sub> muss kleiner sein als der Strom, den der AVR liefern kann, also kleiner als 20mA. | I<sub>F</sub> muss kleiner sein als der Strom, den der AVR liefern kann, also kleiner als 20mA. | ||
+ | |||
+ | {| {{Blauetabelle}} | ||
+ | |+'''Mindestwiderstand für verschiedene LED-Typen und<br/>V<sub>CC</sub> = 5V''' | ||
+ | |- {{Hintergrund1}} | ||
+ | !|LED-Typ || max. Strom<br/>[mA] ||Mindest-Widerstand<br/>[Ω] | ||
+ | |- | ||
+ | | Standard Rot/Gelb || 15 || 270 | ||
+ | |- | ||
+ | | Standard Grün || 15 || 220 | ||
+ | |- | ||
+ | | Low Current Rot/Gelb || 2 || 1800 | ||
+ | |- | ||
+ | | Low Current Grün || 4 || 680 | ||
+ | |- | ||
+ | | High Efficiency Rot/Gelb || 5 || 680 | ||
+ | |- | ||
+ | | High Efficiency Weiß/Blau/Grün || 5 || 300 | ||
+ | |} | ||
+ | |||
+ | High Efficiency LEDs vertragen höhere Ströme, zum Test reichen 5 mA aber dicke aus um was zu sehen. | ||
== Für welche Controller gibt es Binärdateien? == | == Für welche Controller gibt es Binärdateien? == | ||
Bislang gibt es Binärdateien für folgende AVRs: | Bislang gibt es Binärdateien für folgende AVRs: | ||
− | + | <center> | |
− | + | {| {{Blauetabelle}} | |
− | + | |- {{Hintergrund1}} | |
− | + | !|Classic AVR || Getestet | |
− | ''' | + | |- |
− | + | |[[AT90S2313]] || | |
− | + | |- | |
− | + | |[[AT90S8535]] || | |
− | + | |- | |
− | + | |[[AT90S8515]] || | |
− | + | |- {{Hintergrund1}} | |
− | + | !|megaAVR || | |
− | + | |- | |
− | + | |[[ATmega8]] ||align="center"| '''x''' | |
− | + | |- | |
− | + | |[[ATmega8515]] || | |
− | ''' | + | |- |
− | + | |[[ATmega8535]] || | |
− | + | |- | |
− | + | |[[ATmega48]] || | |
− | + | |- | |
+ | |[[ATmega88]] || | ||
+ | |- | ||
+ | |[[ATmega16]] ||align="center"| '''x''' | ||
+ | |- | ||
+ | |[[ATmega162]] || | ||
+ | |- | ||
+ | |[[ATMega168|ATmega168]] ||align="center"| '''x''' | ||
+ | |- | ||
+ | |[[ATmega32]] ||align="center"| '''x''' | ||
+ | |- | ||
+ | |[[ATmega64]] || | ||
+ | |- | ||
+ | |[[ATmega644]] ||align="center"| '''x''' | ||
+ | |- | ||
+ | |[[ATmega128]] || | ||
+ | |- {{Hintergrund1}} | ||
+ | !|LCD AVR || | ||
+ | |- | ||
+ | |[[ATmega169]] || | ||
+ | |- {{Hintergrund1}} | ||
+ | !| tinyAVR || | ||
+ | |- | ||
+ | |[[ATtiny2313]] | ||
+ | |- | ||
+ | |[[ATtiny24]] || | ||
+ | |- | ||
+ | |[[ATtiny44]] || | ||
+ | |- | ||
+ | |[[ATtiny84]] || | ||
+ | |} | ||
+ | </center> | ||
== Wo finde ich was im Archiv? == | == Wo finde ich was im Archiv? == | ||
Im Archiv gibt es für jeden AVR-Typ ein eigenes Unterverzeichnis. Für einen ATmega32 ist es | Im Archiv gibt es für jeden AVR-Typ ein eigenes Unterverzeichnis. Für einen ATmega32 ist es | ||
./blinky/atmega32 | ./blinky/atmega32 | ||
− | In diesem Unterverzeichnis liegen die Dateien für den ATmega32, die alle <tt>blinky- | + | In diesem Unterverzeichnis liegen die Dateien für den ATmega32, die alle <tt>blinky-b1_atmega32</tt> heissen und verschiedene Endungen haben: |
;*.hex: Intel-HEX Datei (binär) | ;*.hex: Intel-HEX Datei (binär) | ||
;*.bin: Binary-Datei (binär) | ;*.bin: Binary-Datei (binär) | ||
Zeile 68: | Zeile 119: | ||
== Downloads == | == Downloads == | ||
− | * [http:// | + | * [http://www.gjlay.de/pub/blinky.tar.gz blinky.tar.gz] (60 kByte) |
− | * [http:// | + | * [http://www.gjlay.de/pub/blinky.zip blinky.zip] (156 kByte) |
== Wo kommen die Binärdateien her? == | == Wo kommen die Binärdateien her? == | ||
− | Die einzelnen Dateien wurden aus [[Hallo Welt für AVR (LED blinken)# | + | Die einzelnen Dateien wurden alle aus [[Hallo Welt für AVR (LED blinken)#Quellcode|der C-Quelldatei]] |
./blinky/blinky.c | ./blinky/blinky.c | ||
erstellt, die ebenfalls im Archiv enthalten ist. Compiler ist [[avr-gcc]]. | erstellt, die ebenfalls im Archiv enthalten ist. Compiler ist [[avr-gcc]]. | ||
Zeile 87: | Zeile 138: | ||
[[Kategorie:Microcontroller]] | [[Kategorie:Microcontroller]] | ||
[[Kategorie:Praxis]] | [[Kategorie:Praxis]] | ||
+ | [[Kategorie:Projekte]] |
Aktuelle Version vom 23. Juli 2007, 17:35 Uhr
Wenn man mit AVR-Controllern anfängt, braucht man oft eine Binärdatei, um die Programmierumgebung zu testen oder ab man den Controller richtig angeschlossen hat. Das Archiv gibt es als zip-Datei und als tar.gz.
Inhaltsverzeichnis
Was machen die Binärdateien?
Die Programme schalten Port B1 im Sekundentakt zwischen LOW und HIGH hin- und her. Generiert sind die Programme für eine Taktfrequenz von 1 MHz. Falls dein AVR mit einem anderen Takt läuft, dann wechselt der Port entsprechend schneller bzw. langsamer.
Eine der einfachsten Anzeigen dafür ist eine Leuchtdiode (LED).
Welche Binärformate sind in den Archiven?
In den Archiven sind Binärdateien folgender Formate:
- Intel HEX (*.hex)
- srec (*.srec)
- elf32-avr (*.elf)
- Binary (*.bin)
Wie muss ich die LED anschliessen?
Die LED wird mit einem Vorwiderstand R zwischen dem AVR-Port B1 und GND angeschlossen.
Für jeden LED-Typ gibt es eine Vorwärtsspannung VF. Ist VCC die Betriebsspannung, dann muss der Vorwiderstand R größer sein als
- [math] R_\mathrm{min} = \frac{V_\mathrm{CC}-V_F}{I_F} [/math]
IF ist der Strom durch die LED. Für Standard-LEDs genügen 15 mA, für Low-Current-LEDs 2 mA. Typische VF für
- rote LED: 1.6 V
- grüne LED: 2.3 V
- blau: 3.5 V
IF muss kleiner sein als der Strom, den der AVR liefern kann, also kleiner als 20mA.
LED-Typ | max. Strom [mA] |
Mindest-Widerstand [Ω] |
---|---|---|
Standard Rot/Gelb | 15 | 270 |
Standard Grün | 15 | 220 |
Low Current Rot/Gelb | 2 | 1800 |
Low Current Grün | 4 | 680 |
High Efficiency Rot/Gelb | 5 | 680 |
High Efficiency Weiß/Blau/Grün | 5 | 300 |
High Efficiency LEDs vertragen höhere Ströme, zum Test reichen 5 mA aber dicke aus um was zu sehen.
Für welche Controller gibt es Binärdateien?
Bislang gibt es Binärdateien für folgende AVRs:
Classic AVR | Getestet |
---|---|
AT90S2313 | |
AT90S8535 | |
AT90S8515 | |
megaAVR | |
ATmega8 | x |
ATmega8515 | |
ATmega8535 | |
ATmega48 | |
ATmega88 | |
ATmega16 | x |
ATmega162 | |
ATmega168 | x |
ATmega32 | x |
ATmega64 | |
ATmega644 | x |
ATmega128 | |
LCD AVR | |
ATmega169 | |
tinyAVR | |
ATtiny2313 | |
ATtiny24 | |
ATtiny44 | |
ATtiny84 |
Wo finde ich was im Archiv?
Im Archiv gibt es für jeden AVR-Typ ein eigenes Unterverzeichnis. Für einen ATmega32 ist es
./blinky/atmega32
In diesem Unterverzeichnis liegen die Dateien für den ATmega32, die alle blinky-b1_atmega32 heissen und verschiedene Endungen haben:
- *.hex
- Intel-HEX Datei (binär)
- *.bin
- Binary-Datei (binär)
- *.elf
- elf-Datei (binär)
- *.srec
- srec-Datei (binär)
- *.lss
- Disassembly des Programms (Textdatei)
Die HEX-Datei für einen ATmega32 befindet sich im Archiv also in
./blinky/atmega32/blinky-b1_atmega32.hex
Für die anderen AVRs analog.
Downloads
- blinky.tar.gz (60 kByte)
- blinky.zip (156 kByte)
Wo kommen die Binärdateien her?
Die einzelnen Dateien wurden alle aus der C-Quelldatei
./blinky/blinky.c
erstellt, die ebenfalls im Archiv enthalten ist. Compiler ist avr-gcc.