http://sites.prenninger.com/bascom-avr/links-bascom Wels, am 2015-05-10BITTE nützen Sie doch rechts OBEN das Suchfeld [ ] [ Diese Site durchsuchen]DIN A3 oder DIN A4 quer ausdrucken ********************************************************************************** DIN A4 ausdrucken ********************************************************* BASCOM-AVR >
BASCOM & uC LINKShttp://halvar.at/elektronik/kleiner_bascom_avr_kurs/ AVR-Mikrocontrollern der Firma Atmel http://www.atmel.com/ DIL-8 ATtiny13 ATtiny45 DIL 28 ATmega8-16PU um € 1,64 programmiert mit Bascom-AVR (BASIC) *********************************************************Fa. netduino Microcontroller Board mit ARM7 - hardwareseitig kompatibel zu ARDUINO http://www.netduino.com/hardware/ Fa. NXP Semiconductord uC-Board mbeduino mit dem Cortex-M3 http://www.nxp.com/ Fa. Leaflabs einer Gruppe von MIT-Absolventen und -Studenten http://leaflabs.com/ http://leaflabs.com/store/#Maple Kompatibilität von Maple zu Arduino http://leaflabs.com/docs/arduino-compatibility.html Fa. DIGILENT Inc. ARDUINO mit Microchip-Controller "chipKIT Uno32" z.B.chipKIT-Entwicklungsboards chipKIT Uno32 und chipKIT Max32 https://www.digilentinc.com/ Fa. HW Kitchen GSM-Shield http://www.hwkitchen.com/arduino/ http://www.hwkitchen.com/products/gsm-playground/ Fa. Xduino uC Board mit Cortex-M3 in Form eines STM32 bestückt http://www.xduino.com/ ARDUINO Board's & Shield's & KIT's http://arduino.cc/en/Main/Hardware ARDUINO Clones-Liste http://www.arduino.cc/playground/Main/SimilarBoards#goArdComp ARDUINO Shield List (über 150 Shields) http://shieldlist.org/ GOOGLE-Code-Projekt (englisch) Basis für die Entwicklung der Arduino-Plattform. http://code.google.com/p/arduino/ Reference Language | Libraries | Comparison | Changes Language Reference Arduino programs can be divided in three main parts: structure, values (variables and constants), and functions. Ausführliche Zusammenfassung und Hilfe mit der Language Reference Alle ARDUINO Processing Befehle http://arduino.cc/en/Reference/HomePage Arduino und Processing http://arduino-processing.tumblr.com/ Fabian Kainka Linkliste uC http://fkainka.de/Arduino/Linkliste.html Komplett auf Deutsch mit unzähligen, strukturierten Themen - Immer eine gute Wahl, wenn es um Mikrocontroller geht http://www.mikrocontroller.net Gutes Tutorial mit vielen Erklärungen für Einsteiger http://www.arduino-tutorial.de/ Interessante Projekte mit ausführlichen Artikeln http://www.golem.de/specials/arduino/ Projekte und Hilfe http://www.arduinoforum.de/ Projekte und Code-Beispiele http://fff2.at/drupal/content/arduino-projekte mbed bezeichnet ein ARM-Mikrocontroller-Modul von NXP mit USB-Anschluss http://mbed.org/ Xduino ist eine Arduino-kompatible Software-Plattform für ARM Cortex-M3 http://www.xduino.com/ chipKIT-Entwicklungsboards chipKIT Uno32 und chipKIT Max32 http://www.digilentinc.com/ netduino bezeichnet eine Open-Source-Hardware-Plattform, die das .NET Micro Framework verwendet http://netduino.com/downloads/ Literaturverzeichnis: Brühlmann, Th - - Arduino Praxiseinstieg (mitp Professional). mitp-Verlag, 2010 Kühnel, Claus - - Arduino - Hard- und Software Open Source Plattform Skript-Verlag Kühnel, 2011 http://www.ckuehnel.ch/arduino_benchmarks.html Fa. Qiagen Instruments CH- Hombrechtikon http://www.qiagen.com/products/
Arduino Tutorials (englisch) Maple Language Reference Alle ARDUINO Processing Befehle http://leaflabs.com/docs/language.html#arduino-c-for-c-hackers ********************************************************* Die 119 Seiten können von www.schaltungen.at downgeloadet werden 300_d_BASCOM-x_Kleiner Bascom-AVR Kurs mit ATMEL ATtiny13 (Seiten-001)_1a.pdf 1
Mikrocontroller - Wie anfangen? http://halvar.at/elektronik/mikrocontroller_wie_anfangen/ 2 Hier sind die Links zu den ausführlichen Datenblättern der für uns wichtigsten AVR-Mikrocontroller:
Aber es ist doch recht aufschlussreich, mal die ersten Seiten durchzublättern um sich über die Leistungsfähigkeit der einzelnen Mikrocontroller ein Bild zu machen. Und zum Abrunden noch Links zu AVR-Vergleichslisten:
3 Spannungsregler 7805 http://www.strippenstrolch.de/1-2-11-der-spannungsregler-78xx.html Elektronik FAQ Das KFZ-Bordnetz http://www.dse-faq.elektronik-kompendium.de/dse-faq.htm#F.23 AVR Checkliste http://www.mikrocontroller.net/articles/AVR_Checkliste#Spannungsversorgung_richtig_angeschlossen.3F 4 Du brauchst das AVR - Mikrocontroller Lehrbuch von Roland Walter und das
zugehörige Experimentierboard. Beides bekommst du bei Segor: http://cgi.segor.de/user-cgi-bin/sidestep2.pl?foto=1&Q=rowalt&M=1 Dann brauchst du noch ein paar Bauteile, Mikrocontroller und einen Programmer (=Gerät um das Programm zum µC zu übertragen). Absolute Mindestausstattung:
Es wäre nicht schlecht ein paar dieser Dinger auf Vorrat zu haben:
Ideal aber nicht unbedingt notwendig:
Motorsteuerung mit PC und ATtiny13 http://halvar.at/elektronik/motorsteuerung_mit_attiny13/
6 Parallelport-Programmer bauen STK200 Programmer mit 74HC244 http://www.mikrocontroller.net/articles/STK200 STK200 Programmer http://halvar.at/elektronik/kleiner_bascom_avr_kurs/stk200_programmer/ Die folgenden Links führen dich zu Seiten, die dir mehr über über ein paar dieser einfachen Programmer erzählen und wie man sich selbst so einen Programmer basteln kann.
10-poliger und 6-poliger ISP-Stecker (ATMEL): Natürlich liefert Atmel auch eigene, fertige Programmiergeräte (AVRISP mk 1 ( LPT1), AVRISP mk 2 (USB) ![]() AVR In System Programmer http://www.mikrocontroller.net/articles/AVR_In_System_Programmer6-poliger, einreihiger Stecker den Roland Walter verwendet: ![]() http://rowalt.de/mc/avr/avrbuch/AvrBoard.pdf 7 Im Bascom muss man als Programmer den STK200 einstellen. Auf die anderen Bascom-Einstellungen werde ich in den nächsten Beiträgen eingehen. Also, für alle mit Parallelport: Ich würde diesen Programmer auf jeden Fall einmal ausprobieren.
8 Programmer mySmartUSB http://shop.myavr.de/index.php?sp=download.sp.php Die zugehörigen Treiber, Programme und Informationen kann man unter dieser URL herunterladen: http://shop.myavr.de/index.php?sp=download.sp.php Suche auf der Download-Seite nach diesen Dateien: USB-Treiber für das myAVR Board 2 USB und mySmartUSB Dieser Treiber erstellt einen virtuellen COM-Port, über den auf den mySmartUSB zugegriffen werden kann. 9 BASCOM-AVRBascom ist das Programm mit dem die Programme für den µC geschrieben werden. Die Vollversion kostet 80 Euro und ermöglicht es dir, auch Programme über 4 kByte Größe zu schreiben. Aber für den Anfang genügt die Demo-Version. Damit kann man schon einiges anstellen. Erst recht, wenn man bedenkt, dass der Flash-Speicher eines ATtiny45 auch nur 4 kByte groß ist.Das Programm Bascom-AVR kann man sich bei MCS-Electronics unter http://mcselec.com/index.php?option=com_content&task=view&id=14&Itemid=41 herunterladen. 10 11 12 13 Und so kann man auch größere Last an den µC anschließen: Relais mit kleinem Strom ansteuern http://www.strippenstrolch.de/1-6-8-relais-mit-kleinem-strom-ansteuern.html 14 15
Das Binärsystem und die Umrechnung von Binär nach Dezimal und umgekehrt erkläre ich hier nicht. Das wird sowiso in vielen Computerbüchern erklärt und Wikipedia hat dazu auch noch etwas zu sagen: http://de.wikipedia.org/wiki/Dualsystem Umrechnung von Zahlensystemen: http://www.arndt-bruenner.de/mathe/scripts/Zahlensysteme.htm Der Windows-Taschenrechner kann verschiedene Zahlensysteme umwanden. Man muss ihn dafür nur in die wissenschaftliche Darstellung umschaltet. BASCOM-AVR HELP Characters from the BASCOM character set are put together to form labels, keywords, variables and operators. http://avrhelp.mcselec.com/index.html?language_fundamentals.htm 16 17 18 Basom Hilfe BASCOM Language Reference zu GOTO: http://avrhelp.mcselec.com/index.html?goto.htm Basom Hilfe zu GOSUB: http://avrhelp.mcselec.com/index.html?gosub.htm Links zur Bascom-Hilfe:
19 20 Das sollte man sich zu diesem Thema unbedingt durchlesen: Das KFZ-Bordnetz http://www.dse-faq.elektronik-kompendium.de/dse-faq.htm#F.23 21 Für diese Fälle gibt es eine in Bascom eingebaute High-Level-Prozedur: DEBOUNCE Bascom Hilfe zu DEBOUNCE: http://avrhelp.mcselec.com/index.html?debounce.htm 22 23 Zum mySmartUSB gehört auch das Programm "myAVR ProgTool Version 1.01". Damit kann man die Fuse-Bits einstellen.Zuerst holt man sich die aktuelle Demo Version die man unter der Adresse http://myavr.de/download.php herunterladen kann. Suche dort einfach nach "myAVR Workpad PLUS". Während ich diesen Beitrag schreibe ist dort die "myAVR Workpad PLUS, Demo Version 1.4" aktuell. Nach dem Herunterladen kann das Programm wie üblich installiert werden. 24 CKOPTDiese Einstellung wurde im vorherigen Beitrag erklärt.Damit kann man, je nach CKSEL-Einstellung einen oder zwei eingebaute Kondensatoren für den Oszillator aktivieren. Für Frequenzen ab 8 MHz muss diese Einstellung gesetzt werden. Weiterführende Links: 25 26 UART = Universal Asynchronous Receiver Transmitter http://de.wikipedia.org/wiki/UART Frequenzen und damit machbare Baudraten http://halvar.at/elektronik/kleiner_bascom_avr_kurs/uart_rs232_zum_computer/Leitungen/AnschlüsseEinfache Verbindungen in beide Richtungen können schon mit drei Leitungen
aufgebaut werden. Braucht man nur Daten in eine Richtung zu schicken, genügen sogar schon zwei Leitungen. Computer µC =================== TX ---------> RX RX <--------- TX GND ---------- GND Interessante Seiten zu diesem Thema:
27 Stichworte: RS-232, Nullmodem Nullmodemkabel, gekreuztes Kabel rs232_max232_atmega8_nullmodem_v04.spl 28 ATmega8 für Analogmessungenrs232_max232_atmega8_v03.spl 29 $baudDamit stellt man die gewünschte Übertragungsgeschwindigkeit ein.Diese ist von der Frequenz abhängig, mit der der µC getaktet wird. Diese muss Bascom mit $crystal bekannt gegeben werden. Beispiel: $baud = 9600 Bascom Hilfe zu diesem Befehl: http://avrhelp.mcselec.com/index.html?baud_1.htm Will man die Zahl 1 ohne Umwandlung in ein Zeichen übermitteln, dann nimmt man dafür den Befehl PRINTBIN. Bascom Hilfe zu diesem Befehl: http://avrhelp.mcselec.com/index.html?print.htm So können reine Daten, ohne umwandeln, übermittelt werden.Diese lassen sich aber dafür nicht mehr in einem normalen Terminalprogramm anzeigen. Dafür bräuchte man einen Anzeigemodus der die empfangenen Daten in Hex oder Dezimal anzeigt. Bascom Hilfe zu diesem Befehl: http://avrhelp.mcselec.com/index.html?printbin.htm Mit CONFIG INPUT kann man einstellen, welches unsichtbare Zeichen oder
welche unsichtbare Zeichenfolge einen Empfang abschließt. Und mit ECHO OFF kann man einstellen, dass in ein Terminal eingegebene Zeichen nicht sofort wieder zurück geschickt werden. Bascom Hilfe zu diesem Befehl: http://avrhelp.mcselec.com/index.html?input.htm Bascom Hilfe zu diesem Befehl INPUTBIN http://avrhelp.mcselec.com/index.html?inputbin.htmBascom Hilfe zu diesem Befehl WAITKEY: http://avrhelp.mcselec.com/index.html?waitkey.htm Bascom Hilfe zu diesem Befehl INKEY: http://avrhelp.mcselec.com/index.html?inkey.htm Bascom Hilfe zu diesem Befehl ISCHARWAITTING: http://avrhelp.mcselec.com/index.html?ischarwaiting.htm Bascom Hilfe zu diesem Befehl ECHO: http://avrhelp.mcselec.com/index.html?echo.htm 30 Bascom Hilfe zu diesem Befehl CONFIG SERIALIN: http://avrhelp.mcselec.com/index.html?config_serialin.htm Bascom Hilfe zu diesem Befehl CONFIG SERIALOUT: http://avrhelp.mcselec.com/index.html?config_serialout.htm31 32 33 Und was den zweiten Puntk betrifft, kann ich dir keine Erklärung dazu bieten. Man kann die Textlänge beim Deklarieren nicht einstellen. Macht man es, dann bekommt man einen Fehler beim Kompilieren des Programms. Mehr weiß ich auch nicht darüber. Hilfe findest du unter:
Die Bascom-Hilfe zu diesem Befehl FOR-NEXT: http://avrhelp.mcselec.com/index.html?for_next.htm 34 Das Datenblatt dieses 3x4-Tastenfeldes kann man sich bei Conrad herunterladen Bascom Hilfe zu diesem Befehl CONFIG KBD: http://avrhelp.mcselec.com/index.html?config_kbd.htm Bascom Hilfe zu diesem Befehl GETKBD: http://avrhelp.mcselec.com/index.html?getkbd.htm MID beginnt mit der Zählung bei 1 und nicht bei 0. Deshalb muss man die
Rückgabe des Befehls GETKBD zuerst um 1 erhöhen. Bascom Hilfe zu diesem Befehl MID: http://avrhelp.mcselec.com/index.html?mid.htm CHR gibt ein Zeichen zurück wenn man es mit ASCII-Code füttert.
34 ist der ASCII-Code für das doppelte Anführungszeichen ("). Bascom Hilfe zu diesem BefehlCHR: http://avrhelp.mcselec.com/index.html?chr.htm 35 "Powertip PC 1602-F"LCD (PC 1602-F von Pollin) an ATmega8 Ziemlich gute Informationen bekommt man unter http://www.sprut.de/electronic/lcd/index.htm. Also wenn dein Display nicht so funktioniert wie es funktionieren sollte, dann lohnt es sich, dort mal vorbei zu schauen und sich geballtes Wissen über die LCDs rein zu ziehen. Und zum Erstellen der evt. benötigten negativen Spannung, hat sprut.de auch etwas zu sagen: http://www.sprut.de/electronic/switch/minus.html 36 Kann man mit Bascom auch 2 LCDs ansteuern? Die Zusatzbibliothek lcd4e2.lib kann zwei LCD-Controller durch Umschalten zwischen zwei E-Leitungen ansprechen. Diese Bibliothek ist eigentlich dafür gedacht, große LCDs anzusprechen welche mehr als 80 Zeichen darstellen können. Aber ich denke, dass man damit auch schlicht ein zweites Display ansprechen kann. Ausprobiert habe ich es nicht. Siehe: Roboternetz - LCDs mit mehr als 80 Zeichen Vielleicht interessanter Link: http://www.roboternetz.de/phpBB2/viewtopic.php?p=471872#471872 Die Hilfe zu CONFIG ADC findest du hier: http://avrhelp.mcselec.com/index.html?config_adc.htm Die Hilfe zu START ADC findest du hier: http://avrhelp.mcselec.com/index.html?start.htm Die Hilfe zu GETADC findest du hier: http://avrhelp.mcselec.com/index.html?getadc.htm Weiters sollte man darauf achten, dass während einer Messung kein Pin des Analogteiles umgeschaltet wird. Jede Zustandsänderung an einem der Analog-Pins kann das Ergebnis verfälschen. Das ist auch der Grund dafür, dass ich die Analog-Pins nur dann für digitale Operationen verwende, wenn ansonsten keine anderen Pins mehr zur Verfügung stehen. Die Pins PC4 (ADC4/SDA) und PC5 (ADC5/SCL) sind Sonderfälle. Da diese Pins auch für I²C-Verbindungen zuständig sind, werden diese Pins nicht von AVCC sondern von VCC versorgt. Diese beiden Pins werden also mit der Stromversorgung für den digitalen Bereich des Mikrocontrollers versorgt. Und nicht wie die restlichen ADC-Pins mit AVCC. Dadurch sind Messungen an diesen Pins nie so genau, wie an den anderen ADC-Pins. Das sollte man beim Zeichnen eines Schaltplanes beachten. Kenndaten des ADC
Die genauen Daten findest du im Datenblatt im Kapitel "ADC Characteristics". Links38 Die Hilfe zu START AC findest du hier: http://avrhelp.mcselec.com/index.html?start.htm
Die Hilfe zu STOP AC findest du hier: http://avrhelp.mcselec.com/index.html?stop.htm
Die Hilfe zu diesem Befehl findest du hier: http://avrhelp.mcselec.com/index.html?config_aci.htm 39 40 41 42 Wer einen kleinen µC braucht, aber zu wenig SRAM hat, der sollte bei den ATtiny-Controllern auf den ATtiny45 setzen. Der ATtiny45 hat 256 Byte SRAM. Je kleiner der SRAM, desto mehr muss man bei der Vergabe der Speicherbereiche aufpassen. Ab dem ATmega8 ist das nicht mehr so ein großes Problem, da man mehr Speicher zur Verfügung hat. Lesestoff:
DIN A4 ausdrucken ********************************************************* Impressum: Fritz Prenninger, Haidestr. 11A, A-4600 Wels, Ober-Österreich, mailto:schaltungen@schaltungen.at ENDE |