B. Kainka
Basiskurs BASCOM-AVR
Elektor-Verlag, 2011
FAQ-Seite zum Buch: Hinweise und Korrekturen
Vorwort
Mikrocontroller der ATMEL AVR-Familie
sind besonders einfach und vielseitig einsetzbar und daher inzwischen weit
verbreitet. In Elektor wurden schon viele spezielle Anwendungen und Platinen
mit einem ATmega oder einem ATtiny-Controller vorgestellt. Aber meist ging es
um fertige Anwendungen. Hier nun soll die Programmierung im Mittelpunkt stehen.
BASCOM ist dazu ein ideales Werkzeug, denn die Lernkurve ist steil. Es braucht
nur wenig Vorbereitung, dann kann jeder eigene Ideen umsetzen.
AVR-Controller und BASCOM
sind ein starkes Team! Was immer man entwickeln möchte, meist hat der ATmega
schon das Wichtigste an Board. Ports, Timer, AD-Wandler, PWM-Ausgänge und
serielle Schnittstelle, RAM, Flash-ROM und EEPROM, alles ist reichlich
vorhanden. Und BASCOM macht die Anwendung zu einem Kinderspiel. Auch komplexe
Peripherie wie LCD, RC5 und I2C lassen sich mit wenigen Befehlen nutzen.
Die Hardware-Basis ist breit.
Ganz gleich, ob Sie das STK500 von ATMEL verwenden, das ATM18 aus dem
ELEKTOR/CC2-Projekt, eines der zahlreichen Boards anderer Firmen oder ein
eigenes Board, das Sie auf einer Lochrasterplatine aufbauen, mit den Beispielen
aus diesem Buch können Sie gleich loslegen. Es macht auch keinen großen
Unterschied, ob Sie einen Mega8 bzw. den Mega88 oder einen der größeren
Controller wie Mega16 oder Mega32 einsetzen. Die Controller unterscheiden sich
im Wesentlichen durch die Anzahl der verfügbaren Ports und die Größe der
internen Speicher. Für sehr kleine Projekte bieten sich auch Controller aus der
ATtiny-Serie wie der besonders preiswerte ATtiny13 an. So lassen sich eigene
Projekte mit geringen Kosten und wenig Zeitaufwand umsetzen.
Viel Spaß und guten Erfolg
wünscht
Ihr Burkhard Kainka
Inhalt:
1 Entwicklungssysteme 7
1.1 Bascom-AVR 7
1.2 ATM18 10
1.3 Das ES-M32 16 (Siehe auch: www.elexs.de/ESM32.htm )
2. Bascom-Grundlagen 22
2.1 Verwendung der seriellen Schnittstelle 22
2.2 Der AD-Wandler 24
2.3 Die serielle Software-Schnittstelle 25
2.4 Ports und ihre Anwendung 26
2.5 Schrittmotoren ansteuern 30
2.6 Timer 31
2.7 Timer-Interrupt 35
2.8 Gemittelte Messwerte 36
2.9 PWM-Ausgaben 38
2.10 RAM und EEPROM 39
2.11 Tastenabfragen 40
2.12 Tastenabfragen im Timer-Interrupt 44
3 Hardware-Erweiterungen 47
3.1 Der I2C-Bus 47
3.2 LC-Display 52
3.3 RC5-Decoder 63
3.4 Ansteuerung eines Relais-Interface 64
3.5 Encoder 57
4 LED-Controller 59
4.1 LED-Lichtsensor 59
4.2 Tiny13-Softblinker 61
4.3 LED-Steuerung mit sechs PWM-Kanälen 62
4.4 Programmierbarer LED-Controller 65
4.5 LED-Controller mit 64 Ausgängen 73
4.6 Trigger-Blitzlicht mit ATM18 79
5 Messtechnik 85
5.1 Frequenzmessung 85
5.2 Anwendungen des AD-Wandlers 86
5.3 Vermeidung von AD-Messfehlern 91
5.4 ATM18-Oszilloskop 95
5.5 ATM18 Logikanalyzer 105
5.6 Kapazitätsmessung bis 10 µF 112
5.7 Kapazitätsmessung im pF-Bereich 114
5.8 Touch-Slider 118 (Siehe auch: www.elektronik-labor.de/Projekte/Slider1.html )
5.9 NF-DDS-Generator 126
6 Mikrocontroller-Interfaces 129
6.1 Temperaturmessung mit DS1820 129
6.2 Thermoelement-Interface MAX6675 136
6.3 Mega32-Datenlogger 137
6.4 Ein universelles PC-Interface 142
7 DSP-Radio SI4735 151
7.1 ATM18 und SI4735 151
7.2 RDS-Dekodierung 158
7.3 SI4735-Potiabstimmung 162
7.4 Das Elektor-DSP-Radio 167 (siehe auch: http://www.elektronik-labor.de/ElektorDSP/ElektroDSP.html )
8 Touch-Display eDIP 240-7 179 (siehe auch: www.elexs.de/mikros/edip1.html )
8.1 Die Steuerplatine 179
8.2 Einschaltbildschirm 184
8.3 Hello World 188
8.4 Touch-Felder 191
8.5 Berührungsdauer auswerten 194
8.4 Grafische Anzeige 199
9 Anhang 202