Home
Benutzerhandbuch - inShop.hu webáruház
Contents
1. ieee cle 0046 sbis PINE O Die Oe dy cote 4 2 eee SES HJA preg Taster an PornB gedruckt 0048 cle shit PINTBE gt 201234567 JA breg Objektbibliothe Abbrechen OK t Abbildung 23 Codevorlage Bedingung Abbildung 22 Quellcode einer Bedingung Rahmen Laser amp Co Solutions GmbH Benutzerhandbuch SiSy AVR Seite 50 84 Code Vorlsgen Definition Skip Repor Abbildung 24 Vorlagen fur IN OUT Entwicklung eines Programmablaufplans mit SiSy AVR Auch das Element IN OUT verf gt Uber spezi fische Vorlagen Diese sind gegebenenfalls mit zu erg nzen Dazu sind spitze Klammern als Platzhalter in den Vorlagen eingef gt Erg nzen Sie den Quellcode der gezeigten Elemente i 0050 Ausgabe Bit PORTE x 1 O 5 20 nn non 0052 shi PORTB 1 Bit 0 1 2 3 4 5 6 7 Objektbibliothe i 0046 Ausgabe Bit FORTB x O ee 0048 chi PORTE 1 Bit 0 1 2 3 4 5 6 7 00493 0050 OO51 Objektbibliothe 9 7 bersetzen Brennen und Test Sind alle betreffenden Elemente mit Quellcode hinterlegt kann aus dem Programmab laufplan der komplette Quellcode generiert kompiliert gelinkt und auf den Mikrocontrol ler bertragen werden Die gew nschte Funktion kann aus dem Aktionsmen ausge w hlt werden Abbildung 25 Hinweis Beachten Sie dass f r das Brennen des Controllers das Programmierkabel ange Ist Benutzerhandbuch SiSy AVR
2. Laser amp Co Solutions GmbH Benutzerhandbuch SiSy AVR Seite 58 84 Entwicklung eines Struktogramms mit SiSy AVR 10 Entwicklung eines Struktogramms mit SiSy AVR 10 1 Einleitung Struktogramme SG oder auch Nassi Shneiderman Diagramme sind ein Entwurfsmittel der strukturierten Programmierung Strukturiert meint in dem Fall dass zur Realisierung eines Algorithmus auf das Verwenden von Sprunganweisungen Goto Jump verzichtet wird Fur das Formulieren eines Algorithmus stehen dem Entwickler drei normierte Grundstrukturen zur Verfugung Sequenz Folge von Anweisungen Alternative Aus wahl bzw bedingte Anweisung Iteration Schleife wiederholte Anweisung Grundelemente Text Programmablaufplan Struktogramm F hre erst A Sequenz aan Bdanne OB aus Wiederhole lt i Iteration A solange Bedingung B wahr ist Wenn JA lt B gt NEIN Bedingung B AB Ein Alternative wahr st f hre A aus Sonst f hre C aus Struktogramme werden als Darstellungsmittel f r strukturierte Sprachen wie C oder PASCAL ver wendet da hier im Gegensatz zu Assembler in der Regel auf Sorunganweisungen verzichtet wird 10 2 Aufgabenstellung Um die Arbeitsweise und den Umgang mit dem Struktogrammeditor in SiSy zu erlernen realisieren Sie bitte das folgende Beispiel Es soll eine Mikrocontrollerl sung entwickelt wer den bei der auf Tastendruck eine LED eingeschal tet wird Dabei soll der Taster an Port BO und die LED a
3. 34 B BASCOM eu 161 BASCOM Befehlssatz 165 BAUD ac nee 115 BefehlSgruppen c scccsseeeeees 47 Brennen ars 32 166 C CISC ProZeSSOl ccccsseeesseeeeees 20 Comparator 18 131 158 176 Compilieren esse 32 166 C Programm ccccseeceeeeeeeeeeeees 155 D Daten bertragung 113 PoNaeSlghalea een 21 Doppelbelegung 50 E FEPBOM eana 20 127 Eingabe analog Siehe Comparator amp Analog Digital Wandler Eingabe Aldil lzssusseneeseneenee 58 Eingaben in BASCOM 170 EiNnsprungpunkt u2erueneee nenn 44 ENDE I e 96 F PEA Ea E E E N 122 Frequenzen uessesseneenenennennenenne 100 H EO ANG een 12 Hauptschleife Betriebssystem 46 I In System Programming ISP 26 Initialisierungssequenz 45 Interrupt n 19 44 88 92 Interruptserviceroutine 46 90 Interrupt Steuerung 86 88 Interruptvektor 44 88 159 Laser amp Co Solutions GmbH K Kommunikation mit einem PC 114 Konstanten im Programmspeicher1 21 L Bg E nee 32 38 M myAVR Controlcenter 29 N Neues Projekt anlegen 30 36 P P ON a ee 41 PGC E 96 Programmkopf ee 44 Programmvariable 119 156 166 PUA e 58 Pulsweitenmodulation 145 R ROOSTE ae 19 41 119 RISG PIOZ
4. Start Power ON Reset main ldi r16 108 RAMEND out SPL r16 ldi r16 hi8 RAMEND out SPH r16 ldi r16 0b00011100 Bit 2 4 auf HIGH out DDRD r16 Port D 2 4 auf OUT mainloop wdr ldi r16 0b00011100 Bit 2 4 auf HIGH out PORTD r16 Port D 2 4 auf HIGH rjmp mainloop Hardware anschlie en und brennen Das myAVR Board verf gt ber eine ISP In System Programming Schnittstelle Der Prozessor muss also nicht f r die Programmierung aus dem System entfernt werden um ihn in einem gesonderten Programmierger t zu brennen sondern kann im myAVR Board direkt programmiert werden Dazu schlie en Sie das Pro grammierkabel an den LPT oder USB Port Ihres Rechners MYAVR Workpad Neues Projekt Standard LPT Verlangerungskabel ggf Nullmodemkabel Standard USB Kabel A B Kleines Programm Sprache AVR Assembler myAVR Board 1 LPT myAVR Board 2 USB Compilieren Linken und Brennen Der eingegebene Quellcode muss nun in Maschinencode f r den AVR Prozessor bersetzt werden W hlen Sie dazu die Schaltfl che Brennen Bei fehlerfreier bersetzung liegt das Programm als Alle_Lichter _An hex vor und kann auf den FLASH Programmspeicher des Prozessors gebrannt werden Bei erfolgreichem Brennvorgang erhalten Sie im Ausgabefenster eine entsprechende Meldung Der Umfang der Informationen variiert bei Verwendung des LPT bzw USB Boards myAVR Lehrbuch Mikrocontrollerprogrammierung Laser amp Co Solutions
5. Wie m chten Sie vorgehen Software von einer Liste oder bestimmten Quelle installieren fur fortgeschrittene Benutzer Klicken Sie auf Weiter um den Vorgang fortzusetzen Im folgenden Dialog w hlen Sie Nicht suchen Assistent f r das Suchen neuer Hardware Wahlen Sie die Such und Installationsoptionen N S Diese Quellen nach dem zutreffendsten Treiber durchsuchen Verwenden Sie die Kontrollk stchen um die Standardsuche zu erweitern oder einzuschr nken Lokale Pfade und Wechselmedien sind in der Standardsuche mit einbegriffen Der zutreffendste Treiber wird installiert Verwenden Sie diese Option um einen Geratetreiber aus einer Liste zu w hlen Es wird nicht garantiert dass der von Ihnen gew hlte Treiber der Hardware am besten entspricht Assistent f r das Suchen neuer Hardware Hardwaretyp Wahlen Sie einen Hardwaretyp und klicken Sie aur Weiter Allgemeine Hardwaretopen a Smartcard Leser Speichervolumes Speicher Yolumeschattenkopien 4 Spstennger te Tastaturen ei Tragbare Windows Ber te USB Controller ee Windows CE USB Gerate Laser amp Co Solutions GmbH Rev 5 Stand 11 06 Technische Beschreibung mySmartUSB Seite 8 8 Der Treiber wird nicht automatisch gefunden sondern muss ber die Schaltfl che Daten tr ger gesucht werden Assistent f r das Suchen neuer Hardware Wahlen Sie den fur diese Hardware zu inst llierenden Ger tetreib
6. Benutzerhandbuch SiSy AVR Laser amp Co Solutions GmbH Arbeiten mit SiSy AVR allgemein Seite 15 84 3 4 3 Nur Quellcodes drucken F r das Ausdrucken von Quellcodes bietet SiSy einen speziellen Quellcode Druckassistenten Damit ist es m glich Quellcodes formatiert in Syntaxfarben und mit Zeilennummern auszudrucken kleines Programm e kleines Programm Quellcode drucken o kleines Programm selektieren o rechte Maustaste Definieren o Dialogseite Quellcode o Schaltfl che gt gt ffnen e Programmablaufplan Quellcode drucken o PAP ffnen o Ampelm nchen aktivieren o Quellcodedatei ffnen drucken POWER ON RESET Int O Inte rrupt Int l Interrupt TCZ Compare Match TCZ Overflow TCl Capture TCL Compare Match A TCL Compare Match B TCL Overt low TCO Overt low SFI STC Serial Transfer Complete UART Bx Complete UART Data Register Empty UART Tx complete AbC Conversion Complete EEPROM Ready Analog Comparator IWI I2C Serial Interface Store Program Memory Ready NT IR 0 PT ROUT IN IN on Res et rj mp mis mis Initalisierung STACK T16 lo3 RAMEN SPL cl rl i 3 RAMEN IU Laser amp Co Solutions GmbH Benutzerhandbuch SiSy AVR Seite 16 84 Arbeiten mit SiSy AVR allgemein 3 4 4 Nutzen der Zwischenablage Oft ist es erforderlich in Projektdokumentationen die Diagramme als Bilder einzuf
7. Lokale Deklarationen DORE Ox02 B O IN B o PORTE Oxi PullUp WHILE true Funktionsprototyp Kopf in Taste E Header Def Datei PINBSOxUT erg f f LED ON f i LED Abbrechen Hilfe Beschreibung Parameterliste FORTE Ux03 PORTE 3 Verschieben Sie per Drag amp Drop die Aktion Initialisierung in die Funktion init Den Funktionsaufruf erzeugen Sie ebenfalls per Drag amp Drop Selektieren Sie den Funktionskopf und ziehen Sie diesen an die gew nschte Aufrufstelle DDRB Ox02 B O IN B 1 OUT FORTE Ox01 PullUp in ts rata eer ari WHILE true BEE l PINB amp Os0 1 l en LED ON LED OFF ff LED ON ff LED OFF FORTE UOxlU3 FORTE x FORTE 0x03 PORTE 0x01 Mit der Tastenfolge F8 und F3 k nnen Sie sich das Ergebnis der Umstrukturierung im Quellcode ansehen Benutzerhandbuch SiSy AVR Laser amp Co Solutions GmbH Entwicklung eines Struktogramms mit SiSy AVR Seite 65 84 10 7 Interrupt Service Routinen ISR im Struktogramm Interrupt Service Routinen im Weiteren ISR werden in AVR C durch das Schlussel wort ISR gekennzeichnet Sie bilden eigenst ndige Funktionen Die Besonderheit bei der Realisierung einer ISR liegt darin dass es sich hier um ein C Makro handelt und nicht um eine echte Funktion Um eine ISR im Struktogramm zu entwerfen gehen Sie wie folgt vor Erweiterung des Beispiels um die ISR TimerO Overflow 1 Selektieren Sie das Mo
8. ro F8 F9 ESC Num Num Enter Entf mn d g DUH U X O gt L Cursortasten ffnet den Quelltext startet das Programm bei SiSy AVR das myAVR Controlcenter Codegenerierung des aktuellen Struktogramms bersetzt das Struktogramm Ebene nach oben selektiertes Objekt wird vergr ert selektiertes Objekt wird verkleinert erm glicht die Bearbeitung des Quelltextes im Struktogramm Editor l schen erm glicht die Bearbeitung des Titels erm glicht die Bearbeitung des Kommentars Begin neue Funktion einf gen Sequenz einf gen Folge Block Do einf gen elementare Aktion While Schleife einf gen kopfgesteuerte Schleife Repeat Schleife einf gen fuBgesteuerte Schleife For Schleife einf gen Z hlschleife Alternative einf gen Case einf gen Fallunterscheidung lf Zweig einf gen Exit einf gen Loop einf gen Bewegung im Struktogramm Benutzerhandbuch SiSy AVR Laser amp Co Solutions GmbH Anhang Mausoperationen Seite 83 84 Anhang Mausoperationen Die Maus hat in SiSy eine Anzahl von nutzlichen Funktionen welche die Arbeit in Pro jekten erleichtern Selektion Selektion aufheben Mehrfachselektion Verschieben Fensterinhalt schieben Objekt kopieren Referenz erzeugen Laser amp Co Solutions GmbH Klick auf Objekt Objekt ist markiert und kann separat weiterbearbeitet werden Klick auf Fensterhintergrund Aufhebung der Objektmarkierung Umscha
9. 5E SPH SP10 SP9 3D 50 SPL SPP SP6 SPS SPA SP3 SP2 SP Der Stack wird haupts chlich zum Speichern von tempor rer Daten lokaler Vanablen und R cksprungadressen nach Unterprogrammaufrufen oder Interrupts benutzt Das Stackpointer Register zeigt immer auf das obere Ende des Stacks Beachten Sie dass der Stack von der h heren zur niedrigeren Speicher Adresse w chst Das bedeutet das bei einem PUSH Befehl der Stackpointer kleiner wird Beispiel Start Power ON Reset main ldi 16 lo iRanzzn out SPL ric Init Stackpointer Low Bit Hilfe Wenn fur ein Register detaillierte Informationen zu der Bedeutung Funktion der einzel nen Bits vorliegen wird zusatzlich im Pop Up eine Kurzreferenz der Bits angezeigt Die Schaltfl che gt gt ffnet eine Hilfedatei mit dem entsprechenden ausf hrlichen Hilfe thema acsH ACSE Analog Comparator Control and Status Register 08 28 7 6 5 4 3 Z l O ACD ACBG ACO ACI ACIE ACIC ACIS1l ACIs0 gt gt Benutzerhandbuch SiSy AVR Laser amp Co Solutions GmbH Die Hilfefunktionen in SiSy Seite 19 84 Befehlshilfe Bei der Eingabe von Befehlen wird in der Regel die Bedeutung bzw Funktion des Be fehls und ein kurzes Syntaxbeispiel eingeblendet Die Schaltfl che gt gt ffnet eine Hilfedatei mit dem entsprechenden ausf hrlichen Hilfethema Skip brne marke Branch if Not Equal if 2 0 then FC PO E 1 4 3 Die allgemeine Hilfe
10. Einstellungen Fuse und Lock Bits mit SiSy Seite 79 84 3 in der Liste der Optionen nach unten scrollen und Int RC Osc 8MHz aus w hlen Vergleichen Sie dazu die Beschreibung im Datenblatt des ATmega C Ext Clock Startup time 6 CK 4 ms CKSEL 0000 SUT D1 C Ext Clock Startup time 6 CK 64 ms CKSEL 0000 SUT 1 0 C Int RC Osc 1 MHz Startup time 6 CK 0 ms CKSEL 0001 SUT 00 C Int RC Ose 1 MHz Startup time 6 CK 4 ms CKSEL 0001 SUT D1 int RC Osc 1 MHz Startup time 6 CK 64 ms CKSEL 0001 SUT 1 0 default value C Int RC Osc 2 MHz Startup time 6 CK 0 ms CKSEL 0010 SUT 00 C Int RC Osc 2 MHz Startup time 6 CK 4 ms CKSEL 0010 SUT 01 C Int RC Osc 2 MHz Startup time 6 CK 64 ms CKSEL 001 0 SUT 1 0 C int RC Osc 4 MHz Startup time 6 CK 0 ms CKSEL 0011 SUT 00 C Int RC Osc 4 MHz Startup time 6 CK 4 ms CKSEL 0011 SUT 01 C Int RC Osc 4 MHz Startup time 6 CK 64 ms CKSEL 001 1 SUT 1 0 C Int RC Osc 8 MHz Start up time 6 CK 0 ms CKSEL 01 00 SUT 00 C Int RC Osc 8 MHz Startup time 6 CK 4 ms CKSEL 0100 SUT D1 C Et RC Osc 0 9 MHz Startup time 18 CK 0 ms CKSEL 0101 SUT 00 C Ext RC Ose 0 9 MHz Startup time 18 CK 4 ms CKSEL 0101 SUT 01 C Ext RC Osc 0 9 MHz Startup time 18 CK 64 ms CKSEL 0101 SUT 10 C Ext RC Ose 0 9 MHz Startup time 6 CK 4 ms CKSEL 0101 SUT 11 C Ext RC Osc 0 9 MHz 3 0 MHz Startup time 18
11. danach wieder Standardeinstellung an d paa gt x Enable Power DIP 1 ON Standard erlaubt das Ein und Ausschalten der Boardspannung per Firmware Zielsystem wird ber USB gespeist Achtung lt 80 mA DIP 1 OFF unterdr ckt das Ein und Ausschalten der Boardspannung per Firmware Zielsystem ben tigt eine eigene Stromversorgung Datenmodus erzwingen UART USB Brigde DIP2ON DIP 3 OFF Er DIP 4 OFF m i AN N rot gr n gr n A ii LI AUR ISP 10 D ow N Firmware Update DIP2ON DIP3ZON DIP 4 kurz ON OFF RESET startet den Bootloader und erwartet die myAVR Updatekennung AUR ISP 18 oleae m jaa i E CP2182 Laser amp Co Solutions GmbH Rev 5 Stand 11 06 Technische Beschreibung mySmartUSB Seite 7 7 Treiberinstallation Laden Sie den Treiber f r mySmartUSB CP2102 von www myAVR de Bereich Downlo ads Entpacken Sie den Treiber in einem temporaren Verzeichnis oder auf dem Desktop USB Adapter an den PC Notebook anschlie en Danach erscheint folgender Dialog und w hlen Sie Software von einer Liste oder bestimmten Quelle installieren Assistent f r das Suchen neuer Hardware Willkommen Mit diesem Assistenten k nnen Sie Software f r die folgende Hardwarekomponente installieren CP2102 USB to UART Bridge Controller A Falls die Hardwarekomponente mit einer CD oder Diskette geliefert wurde legen Sie diese s jetzt ein
12. Revision 4 Stand 10 06 Laser amp Co Solutions GmbH www myAVR de Technische Beschreibung myAUR myAVR LCD Add On 2 2 Eigenschaften e 16x2 LC Display mit Hintergrundbeleuchtung e Industriestandard Controller e Kontrastregler e Jumper f r das Schalten der Hintergrundbeleuchtung und des RW Signals Leiterplattenmaterial FR4 1 5 mm 0 35 um Cu e Industriefertigung gebohrt verzinnt Lotstoppmaske Bestuckungsdruck robust e Steckerleiste f r den Anschluss an das myAVR Board e Buchsenleise f r den Anschluss weiterer Module Allgemeine Beschreibung Das myAVR LCD Add On ist ein anschlussfertiges LCD Modul f r das myAVR Board 1 LPT oder das myAVR Board 2 USB Es ist mit einem hochwertigen LC Display mit 2 Zeilen je 16 Zeichen ausgestattet Die Hintergrundbeleuchtung kann per Jumper geschaltet oder per Software vom Controller geregelt werden Zus tzlich verf gt das Board ber eine Kontrastreglung und Anschl sse f r das myAVR Board und weitere Add Ons Das LCD Add On ist robust und auf die myAVR Produktreihe abgestimmt Technische Daten Maximalwerte Maximalstrom 150 mA bei eingeschalteter Hintergrundbeleuchtung Maximalspannung 5 5 V Minimalspannung 4 5 V Lagertemperatur 10 C bis 40 C Beachte Beim Betrieb von zus tzlichen Verbrauchern am myAVR Board ist auf die Gesamtleistung der Stromversorgung maximal 1000 mA nur mit K hlk rper zu achten Die Betriebstemperatur des Spannungsreglers 7806
13. UBRRH uint8_t F_CPU BAUD 16L 1 gt gt 8 Baudrate festlegen Benutzerhandbuch SiSy AVR Laser amp Co Solutions GmbH Das myAVR Controlcenter Seite 31 84 6 3 3 Daten empfangen vom myAVR Borad Das myAVR Controlcenter empf ngt Daten uber den gew hlten COM Port und stellt diese im Protokollfenster dar Damit k nnen Statusmeldungen Fehlermeldungen oder auch Messwerte erfasst werden Die Voraussetzung ist dass die serielle Verbindung hergestellt Nullmodemkabel oder USB Kabel korrekt konfiguriert und aktiviert wurde Die Kommunikation beginnt mit dem Bet tigen der Schaltfl che Start und endet mit dem Bet tigen der Schaltfl che Stopp Der Zustand in Betrieb Halt wird ber das Symbol rot gr n EIN AUS rechts neben der Schaltfl che angezeigt f serielle Verbindung com4 9600 N 8 1 Daten Senden mYAVre Gontroles BE J a b Z o E YAVER Guntrolssnter j com4 9600 N 8 1 ee Daten Senden 6 3 4 Darstellung der empfangen Daten Die empfangenen Daten werden fortlaufend im Protokollfenster dargestellt Der Darstel lungsmodus kann w hrend der Kommunikation umgeschaltet werden Das Controlcen ter bietet folgende Darstellungsmodi e Text e Zahl o Dezimal o Hexadezimal e Grafik Oszi Die Daten des folgenden Programmbeispiels sollen als Testdaten dienen je ge nee ne u a nee a Sea ee a ee E T a Ze main uint8_t a Zeichen initUART Initialis
14. 1 lt A icai cal irec Cam TPC aL SB aji Abbildung 3 SiSy AVR Assembler Hilfe Laser amp Co Solutions GmbH Benutzerhandbuch SiSy AVR Seite 20 84 Entwicklung eines kleinen Programms mit SiSy AVR 5 Entwicklung eines kleinen Programms mit SiSy AVR schauen wir uns als nachstes kurz in der Entwicklungsumgebung SiSy AVR um Fur die Entwicklung von Mikrocontrollerl sungen bietet sich fur den Einstieg die einfache Programmierung kleines Programm an 5 1 Voraussetzungen F r die Bearbeitung der folgenden Aufgaben ben tigen Sie die aufgef hrte Software und Hardware Software e SiSy AVR ab Version 2 17 oder e SiSy Ausgabe Developer Professional oder BS und das installierte Add On AVR Hardware e Ein best cktes myAVR Board Programmierkabel USB bzw LPT eventuell Nullmodemkabel f r die COM Schnittstelle 9 V Batterie bei Bedarf z B autonomer Einsatz Patchkabel 5 2 Zielstellung Der Schnelleinstieg zur Mikrocontroller Programmierung soll Ihnen helfen Sisy AVR kennen zu lernen und erste Schritte in der hardwarenahen Programmierung mit SiSy ZU gehen Zielstellung f r das erste Beispielprogramm Die drei LED s auf dem myAVR Board sol len nacheinander aufleuchten und damit ein Lauflicht erzeugen 5 3 Vorgehen Ein neues Projekt anlegen Starten Sie SiSy w hlen Sie Assistent ffnen und best tigen Sie mit OK W hlen Sie den Men punkt Neues Projekt anlegen vergeben Sie den Projektnamen Lauflicht W
15. 1 Z C X Rr Store Indirect and Post Inc XR XX 41 None ann een BRANCH INSTRUCTIONS X Rr Store Indirect and Pre Dec X X 4 X Rr None a l a ee k Relative Jump PC PC k 1 None Y Rr Store Indirect Y Rr None it Indirect Jump to Z PC Z None Y Rr Store Indirect and Post Inc NY R r Y Y 1 None m Moo err vector VNr Beschreibung Relative Subroutine Call PC PC k 1 None Y Rr Store Indirect and Pre Dec Y Y 1 N Rr None Be main a Indirect Call to Z PC Z None Y q Rr Store Indirect with Displacement Y q lt Rr None reti 73 Intl Interrupt Subroutine Return PC lt STACK None Z Rr Store Indirect Z Rr None de 7 Be a Interrupt Return PC STACK l Z Rr Store Indirect and Post Inc Z Rr Z lt Z 1 None reti 76 TC1 Capture Compare Rd Rr Z N V C H Z Rr Store Indirect and Pre Dec Z lt Z 1 Z lt Rr None me o nn A Compare with Carry Rd Rr C Z N V C H Z q Rr Store Indirect with Displacement Z q lt Rr None ace a A m Compare Register with Immediate Rd K Z N V C H k Rr Store Direct to SRAM Data Mem k Rr None reti SPI STC Serial Transfer Complete Compare Skip if Equal if Rd Rr PC PC 2o0r3 None Load Program Memory RO lt Z None i oe an musty Skip if Bit in Register Cleared if Rr b 0 PC PC 2o0r3 None Rd Z Load Program Memory Rd lt Z None ater A ee R Skip if Bit in Register is Set if Rr b 1 PC PC 2o0r3 None Rd Z Load Program Memory and Post Inc Rd lt Z
16. Aufruf 100 4 ps 7 3 Projektdaten Der letzte Punkt im Code Wizard ist die Eingabe der Projektdaten Aus diesen wird eine Programmkopfdokumentation generiert und dem kompletten Quellcode vorangestellt myAVR Code Wizard ATmegaX3 Assembler Fortschritt Projektdaten willkommen Prozessor Programmkopfdefinitionen Ports digital UAR Timer P raitaa n Abbrechen Benutzerhandbuch SiSy AVR Laser amp Co Solutions GmbH Der myAVR Code Wizard Seite 39 84 7 6 Codegenerierung Der vollst ndige Quellcode wird zur Kontrolle dem Anwender angezeigt Es k nnen jetzt noch nderungen vorgenommen werden indem man die betreffenden Punkte im Navi gationsbereich ausw hlt und die Parameter ndert Mit Best tigung des Quellcodes wird dieser als komplettes Programm eingef gt a m CodeWizard myAVR Code Wizard ATmegaX3 Assembler Fortschritt Code Vorschau willkommen Prozessor Ports digital UART Timer Schaltung Prozessor ATmegas Projektdaten Takt 3686400 Hz Sprache Assembler Datum 13 6 2006 Abbrechen Version 1 0 Autor Dipl Ing P d Alexander Huwaldt Programmer Port Autor Dipl Ing P d Alexander Huwaldt include avr h begin rjmp main 1 POWER OW RESET reti 2 Int0 Iaterrupt reti 3 Tati Taterrunt Funktion empf ngt und sendet Daten per UART 9600 8 n 1 Schaltung Nullmodemkabel anschlie en Prozessor ATmega8 Takt 368640
17. Auswahl des einfachen Vorgehensmodells Programmierung stehen dann zum Beispiel keine grafischen Werkzeuge wie der Pro grammablaufplan zur Verf gung Damit sind die Men s und Objektbibliotheken ent sprechend bersichtlicher Bitte w hlen Sie ein Vorgehensmode ee Verf gbare Werkzeuge um mm ef SE oder LTPICOM kleines Programm ASM AVR Struktogramm i kleines Programm C gro es Programm ASM gro es Programm C Programmablaufplan ASM Struktogramm C Klassendiagramm C HAMA EFT EEE AP FF AH IS IH HH E Progr ana Taschenrechner Version L Stand 05 12 2002 hator Dipl Ing Pad Alexander Fuvald letzter Bearbeiter Ren Plarzk DJICPP HETTER ERBE SH HH HE printti Se2eeseeseeee s Taschenrec ne f ee eee eeeeeeee s n SH II TA HS l l Etch ei be AIALA FF EL ERA do print t mBingsbe der i Zahl ds seamt i a 3 printt Pechenart lt i 2 Sceant s cart prinkfi B ngabe der 2 Zahl ja seam c ta abba switch art case aueh braai oan TS Verfugbare Werkzeuge ss erty teste m kleines Programm ASM X kleines Programm C gro es Programm ASM gro es Programm C Das Vorgehensmodell Programmierung bietet die Moglichkeit der Erstellung und Generierung von Programmen Im weiteren Verlauf werden entsprechend der Auswahl des Vorgehensmodells unter schiedliche Hilfen zum Erstellen eines Programms angeboten F r Einsteiger emp
18. BSP 211 In Out BSP 221 In Out BSP 222 In Out BSP 223 Blinklicht BSP 212 Lauflicht BSP 224 Beep BSP 213 Komparator BSP 214 Timer BSP 218 keine Vorlage verwenden den Assistenten benutzen Info Abbrechen Abbildung 15 Diagrammvorlagen Abbildung 14 Grundger st Benutzerhandbuch SiSy AVR Laser amp Co Solutions GmbH Entwicklung eines Programmablaufplans mit SiSy AVR Seite 47 84 9 5 Logik entwerfen Um die Programmlogik im PAP abzubilden muss die Vorlage um die fehlenden Ele mente erganzt werden Des Weiteren sind die Elemente durch gerichtete Verbindungen Kanten in der Reihenfolge ihrer Abarbeitung zu verbinden Um ein Objekt im Diagramm zu erganzen wird der entsprechende Objekttyp in der Ob jektbibliothek mit der Maus ausgew hlt und per Drag amp Drop an die entsprechende Po sition im Diagramm gezogen Objekte k nnen mit dem Mauscursor per Click selektiert und mittels Drag amp Drop auch verschoben werden Selektierte Objekte lassen sich mit der Taste Entf l schen Verbindungen zwischen den Objekten k nnen ber den rot markierten Verteiler von selektierten Objekten hergestellt werden Dazu ist das Aus gangsobjekt zu selektieren mit dem Mauscursor auf den roten Verteiler zu klicken und bei gedr ckter linker Maustaste eine Verbindung zum Zielobjekt zu ziehen Um Objekte zu benennen k nnen Sie einen Doppelklick auf dem betreffenden Objekt durchf hren oder ber rechte Maustaste in
19. Beispiel ausf hrlich beschrie ben Auf die Grundlagen der Mikroprozessorprogrammierung wird im Rahmen dieses Handbuches nicht eingegangen Dazu dienen die myAVR Lehrb cher Dem Nutzer wird in diesem Handbuch der Einstieg in das Programm erleichtert und die umfangreichen Funktionen von SiSy kurz und verst ndlich beschrieben Bei der Arbeit mit SiSy erstellt der Anwender Modelle in Form von Diagrammen und in ihnen enthalte ne Symbole Die Grundlagen der Entstehung und Bearbeitung solcher Diagramme sind Gegenstand der Betrachtung dieses Handbuchs Folgende Darstellungs und Gestaltungsmittel sind f r den Nutzer bei der Arbeit mit SiSy besonders wichtig e die Diagramme als Fenster zur Ansicht und Bearbeitung von Modellen e der Navigator als Fenster zur Steuerung und Bewegung in Modellen e der Assistent mit Hilfestellungen zum jeweils ge ffneten Diagramm und mit Dia grammvorlagen wenn vorhanden e die Men s und Schalter f r Befehle an Navigator Diagramm und Objekt im Kontext mit der Modellierung Zu den Bezeichnungen im Text e Falls ein Men befehl nur ber Untermen s zu erreichen ist werden die einzel nen Men bezeichnungen kursiv geschrieben und durch Schr gstriche voneinan der getrennt Beispiel Men Hilfe ber SiSy e Titel von Dialogboxen Schaltfl chen und Men punkten werden in Anf hrungs zeichen gesetzt Beispiel Dialogbox Definition Schaltfl che OK Laser amp Co Solutions GmbH
20. Build 1370 Dieses Workpad ist speziell f r die einfache Handhabung und schnellen Einstieg in die i AVR Programmierung konzipiert So k nnen Sie ohne komplizierte Einstellungen vorzunehmen sofort starten Schaltfl che Neue Datei w hlen Fenster zum Bearbeiten des Quellcodes nune gAV myAVR Lehrbuch Mikrocontrollerprogrammierung Laser amp Co Solutions GmbH Leseprobe Assembler Programm anlegen Wahlen Sie ber den Assistenten unter Grundger ste den Punkt Grundgeruste Hauptprogramm Laden Sie die Vorlage f r das Programmger st oder erstellen Sie den entsprechenden Quellcode Titel Programmvorlage f r myAVR Board Prozessor ATmega8 mit 3 6864 MHz Schaltung ehe Datum 15 03 2004 Autor Dipl Ing P d Alexander Huwaldt include avr h Reset and Interruptvectoren VNr Beschreibung begin rjmp main 1 POWER ON RESET reti 2 Int0 Interrupt reti 3 Int1 Interrupt reti 4 TC2 Compare Match reti 5 TC2 Overflow reti 6 TC1 Capture reti 7 TC1 Compare Match A reti 8 TC1 Compare Match B reti 9 TC1 Overflow 7 7 7 7 7 7 7 7 7 7 reti 10 TCO Overflow 7 7 7 7 7 7 7 7 7 reti 11 SPI STC Serial Transfer Complete reti 12 UART Rx Complete reti 13 UART Data Register Empty reti 14 UART Tx Complete reti 15 ADC Conversion Complete reti 16 EEPROM Ready reti 17 Analog Comparator reti 18 TWI I2C Serial Interface reti 19 Store Program Memory Ready
21. C C BASCOM sind nicht Inhalt dieses Handbuches Weiterf hrende Erkl rungen dazu sind im myAVR Lehrbuch Mikrocontrollerprogrammierung enthalten Abbildung 1 myAVR Board mit USB bzw LPT Port Benutzerhandbuch SiSy AVR Laser amp Co Solutions GmbH Arbeiten mit SiSy AVR allgemein Seite 9 84 3 Arbeiten mit SiSy AVR allgemein Um dem Nutzer zu erlautern wie er in SiSy modellieren kann werden zweckentspre chende Definitionen der Begriffe gegeben 3 1 Projektarbeit 3 1 1 Was ist ein SiSy Projekt Ein SiSy Projekt ist eine abgegrenzte Menge von verkn pften Elementen f r ein zu be arbeitendes Problem Alle aktuellen Daten sind in einer Projektdatenbank gespeichert Die Projektdatenbank besteht aus einer Anzahl von Dateien im Projektverzeichnis wo bei jedes Projekt sein eigenes Verzeichnis hat Durch das Anlegen eines Projektarchivs k nnen diese in einer Datei komprimiert werden 3 1 2 Neues Projekt erstellen Ein neues Projekt wird eingerichtet und f r die Bearbeitung bereitgestellt Die Definition Erstellung eines neuen Projektes erfolgt durch Vergabe eines Projektdateinamens und oder durch berschreiben eines alten Projektes gleichen Namens Uber die Schalt fl che Verzeichnis kann die vorgeschlagene Pfadangabe ge ndert werden Hinweis Falls ein bereits vorhandener Projekt oder Verzeichnisname gew hlt wird erfolgt eine berschreibwarnung Nach der Vergabe eines Projektnamens kann im nachfolge
22. CK 64 ms CKSEL 0001 SUT 1 0 default value C int RC Osc 2 MHz Startup time 6 CK 0 ms CKSEL 0010 SUT 00 5 Die Schaltfl che setzen w hlen und die Sicherheitsabfrage best tigen Danach sollten die Einstellungen berpr ft werden durch das Bet tigen der Schaltfl che neu einlesen ber die Schaltfl che verlassen kann die Sitzung zum Ver ndern der Fuse und Lock bits beendet werden Die Verbindung zum Controller und Programmer wird dann ge schlossen Laser amp Co Solutions GmbH Benutzerhandbuch SiSy AVR Seite 80 84 Anhang Tastaturbelegung allgemein Anhang Tastaturbelegung allgemein Die Tastenbelegung ist abh ngig vom jeweiligen Diagramm und der verwendeten Aus gabe F1 Hilfe wird ge ffnet F2 Zoomen F3 Objekt wird dem Layer zugef gt F4 Objekt wird vom Layer entfernt F5 Farbe bei Rahmen wird ge ndert Form am Anfang einer Verbin dung ndert sich F6 Bei Rahmen und Verbindungen ndert sich die Form F7 Bei Rahmen und Verbindungen ndert sich der Linientyp F8 Form am Ende einer Verbindung ndert sich F9 Bewirkt dass der Mittelpunkt einer Kante auf Null gesetzt wird ESC Im Diagramm Nach oben Im Text Editormodus Beendet ihn mit R ckspeichern Im Dialog Bricht ihn ab ohne zur ckzuspeichern Tab In der Reihenfolge in der die Objekte erstellt wurden werden sie markiert Umschalttaste Objektbeschreibung wird ge ffnet Enter Leertaste Objektbeschreibung wir
23. GmbH Mach unten ffnen Definieren in neuem Fenster ffnen Hierarchie ffnen L schen Laversteuerung Jo Jo b Marker Objekttyp aus Rahmen entfernen Yerkn pfung mit Datei b Tipps gerist Repot Tipp Benutzerhandbuch SiSy AVR Seite 42 84 Entwicklung eines gro en Programms mit SiSy AVR 8 5 Units Unterprogramme anlegen und verknupfen Zur Gliederung des gro en Programms wird dieses in mehrere kleine Einheiten Units Module zerlegt Diese Einheiten werden nach fachlichen inhaltlichen Gesichtspunkten gebildet So kann man alle Initialisierungsaufgaben in der Unit init zusammenfassen Eine Unit kann aus einer Funktion Unterprogramm oder mehreren Funktio nen Unterprogrammen bestehen Im einfachsten Fall enth lt jede Unit ein Unterpro gramm Legen Sie zus tzlich zur Haupt Unit main die Unit init an Unit Unit Quelcode Pragrarmger st Report Tipp Dateimname nit init s Doppelklick Die Hauptunit benutzt die Unit init Daher ist eine Verbindung von der Hauptunit main zur Unit init zu ziehen Selektieren Sie die Unit main und ziehen vom Verteiler rot eine Ver bindung auf die Unit init Dabei wird in der Hauptunit main ein Include Eintrag f r die Unit init erzeugt Erstellen Sie die Initialisierungsroutine f r die ben tigten digitalen Ein und Ausg nge init push ag sbi DDRB
24. GmbH Arbeiten mit SiSy AVR allgemein Seite 11 84 3 3 Die Fenster fur die Modellierung SLT le eee ERT TE EAEL o a Fa u Sehne 15 06 04 im i Version 1 6 Luter E Dipl Ind Pad Alexander Hussalde Oo PE a A a BET include AVR H scm mmm ln icp ec le mi Reset and Interrupt v cip VHE Beach less timp main reri Beschreibungsfenster revi gt mi Quellcode Editor rer 4 Tez reti 5 Tot OFS 6 TCl Capture 7 TCl Compare Match A E TCi Compare Match Online Hilfe nefer Complete ART senden de Fi iit ile aunals aller F ree a m r Abbildung 2 Navigator Dieser befindet sich im linken oberen Teil des Fensters Er erm glicht dem Anwender die Orientierung ber die in der Projektdatenbank gespeicherten Objekte sowie deren Bereitstellung f r die weitere Verwendung Nach dem Start von SiSy werden neben dem Vorgehensmodell eine Reihe leicht zu handhabender Schaltfl chen Men s und weitere Hilfsmittel angezeigt SiSy Assistent Am linken unteren Bildschirmrand befindet sich diese Nutzerunterstutzung e Er begleitet den Anwender durch das gesamte Projekt und halt immer passende Informationen zur aktuellen Sicht parat e Er ist auf die jeweilige Ausgabe von SiSy bezogen e Oft k nnen Beispiele als Vorlagen vom Assistenten geladen werden Diagrammfenster Am oberen Bildrand befinden sich das Hauptmen das hilfreiche Funktio
25. GmbH Revision 3 Stand 06 06 Dipl Ing Toralf Riedel Dipl Ing Pad Alexander Huwaldt myTinyProg Projektbeschreibung zum AVR910 Tiny Programmer fur das myAVR Board Seite 2 14 Die Informationen in diesem Produkt werden ohne R cksicht auf einen eventuellen Patentschutz ver ffentlicht Warennamen werden ohne Gew hrleistung der freien Verwendbarkeit benutzt Bei der Zusammenstellung von Texten und Abbildungen wurde mit gr ter Sorgfalt vorgegangen Trotzdem k nnen Fehler nicht vollst ndig ausgeschlossen werden Die Autoren k nnen f r fehlerhafte Angaben und deren Folgen weder eine juristische Verantwortung noch irgendeine Haftung bernehmen F r Verbesserungsvorschl ge und Hinweise auf Fehler sind die Autoren dankbar Alle Rechte vorbehalten auch die der fotomechanischen Wiedergabe und der Speicherung in elektronischen Medien Die gewerbliche Nutzung der in diesem Produkt gezeigten Modelle und Arbeiten ist nicht zul ssig Fast alle Hardware und Softwarebezeichnungen die in diesem Dokument erw hnt werden sind gleichzeitig auch eingetragene Warenzeichen und sollten als solche betrachtet werden 4 Auflage Mai 2006 Laser amp Co Solutions GmbH www laser co de www myavr de info myavr de de Tel 49 0 3585 470 222 Fax 49 0 3585 470 233 Laser amp Co Solutions GmbH Projektbeschreibung zu myTinyProg Inhalt Seite 3 14 Inhalt 1 EINE HUNG ee ee een 5 2 UNdaAgEN ee eae eee te fcr eat
26. HEX oder BIN gibt es grunds tzlich zwei M glichkeiten e Zum Einen kann man ein Programmierger t verwenden in das man den Chip einsetzt und programmiert Dazu muss das Programmierger t zum Beispiel ber die serielle Schnittstelle oder USB an den PC angeschlossen werden Der Mikro controller ist aus dem Zielsystem zu entfernen und auf dem entsprechenden Sockel des Programmierger tes zu stecken Dann kann das Programm in den FLASH Speicher des Controllers bertragen werden War dieser Vorgang erfolg reich kann der Controller aus dem Programmierger t entnommen und wieder in das Zielsystem eingebaut werden e Eine weitere L sung f r die Programmierung des Mikrocontrollers ist das soge nannte In System Programming ISP Dabei muss der Controller nicht aus dem Zielsystem ausgebaut werden sondern kann direkt im System programmiert wer den Daf r muss das Zielsystem jedoch eine ISP Schnittstelle bereitstellen Mit einer zus tzlichen Hardware dem sogenannten ISP Programmer der an den LPT Port die COM Schnittstelle oder den USB Port angeschlossen wird kann aus der Entwicklungsumgebung heraus das Programm direkt in das Zielsystem bertragen werden Reset MOSI Vec Gnd Gnd Gnd MOSI Vcc Vec Reset Gnd SCK MISO SCK SCK Gnd Reset Gnd MISO MISO Gnd MOSI Abbildung ISP Anschl sse ISP Standards Atmel 10 polig 6 polig TwinAVR Die folgende Tabelle zeigt die Bedeutungen der einzelnen Signalle
27. Higth Der Mega liefert zum Beispiel 0x93 Aus Herstellercode Grup pencode und Teilcode ergibt sich die Controllersignatur Mega8 0x1e9307 Einige Kommandos erfordern controllerspezifische Ausf hrungszeiten Diese k nnen den Datenbl ttern der Controller entnommen werden Laser amp Co Solutions GmbH Projektbeschreibung zu myTinyProg Hardware myAVR Board und myTinyProg Seite 9 14 3 Hardware myAVR Board und myTinyProg 3 1 Hardware berblick Das myAVR Board besitzt folgende Struktur LPT oder USB Programmer RS232 Interface ATmega 8 Controller Peripherie Erwei terungsbuchse Bei diesem Projekt soll das Board als AVR910 Programmer arbeiten ISP Port LPT USB Externe Spannungs versorgung Schallwandler Frequenzen Anschluss ber SB oder LTP COM uTaster Schalter wear digital Potentiometer analog eXe oo An 00 003 CT F FEOEO 8 18 y oo Am SEE 5 5 5 I 0 2 2 2 2 2 20 vor r LED s digital analog eXe Da 15 amp AAAANANA Eingabeger te O Ausgabeger te ATtiny12 PDIP SOIC RESET PB5 I 1 8p VCC XTAL1 PB3 2 7 O PB2 SCK TO XTAL2 PB4 3 6 1 PB1 MISO INTO AIN1 GND 4 5 1 PBO MOSI AINO AT90S2323 RESET LI 1 8LIVvcc XTAL1 12 7 O PB2 SCK TO XTAL2 I 3 6 O PB1 MISO INTO GND 14 511 PBO MOSI ATtiny1 3 PDIP SOIC RESET ADCO PB5 O 1 8 VCC ADC3 PB4 2 7 D PB2 ADC
28. Klassendiagramm beschreibt also die Struktur der Klassen Baupl ne der Ob jekte und die Beziehungen zwischen den Klassen In unserer Aufgabenstellung finden wir die Objekte des Systems als Substantive deren Beziehungen und Verhalten als Verbalphrasen Es soll eine Mikrocontrollerl sung entwickelt werden bei der durch dr cken eines Tasters eine LED eingeschaltet wird Dabei soll der Taster an Port BO und die LED an Port B 1 angeschlossen werden Daraus l sst sich folgende Klassenstruktur ableiten Controller v id void main run angeschlossen angeschlossen LED init on ori gt Woud void r void Taster init pressed lt oid bool Abbildung 35 Klassenstruktur Systementwurf mit dem UML Klassendiagramm Zum Erstellen dieses Klassenmodells sind folgende Arbeitsschritte notig 1 Klassen einf gen und definieren ziehen Sie dazu das Objekt vom Typ Klas se per Drag amp Drop aus der Objektbibliothek in das Diagramm Definieren Sie den Namen der Klasse und setzen die Option diese Klasse generieren Definition Kon Destruktor Deklatation mpementation Klassenname T aster Dateiname Tasterco bjektbibliothek Controller main void runt void Operation tse Doppelklick Laser amp Co Solutions GmbH Benutzerhandbuch SiSy AVR Seite 70 84 Entwicklung eines Kl
29. L sus Write data a into DD or CG RAM READDATA aa dd ir reat fom DCO X Don t care Laser amp Co Solutions GmbH Revision 3 Stand 06 06 Seite 6 6 LCD Add On 2 2 Displayzeichensatz BEE EH Bee m HH BBBBBEB Display Adressorganisation Laser amp Co Solutions GmbH Li a T 5 td Ls Ww Characters Revision 3 Stand 06 06 LCD Add On 2 2 Seite 7 7 Programmierung des Displays Beispiele und Vorlagen fur die Programmierung des myAVR LCD Add On finden Sie im Downloadbereich von www myAVR de I Das myAVR LCD Add On ist f r den 4Bit Modus ber Port D konfiguriert Warte mindestens 50 ms nach Power ON Das Display wird durch das dreimalige senden von 0b001 1xxxx Soft Reset eee in den Initialisierungsmodus versetzt PowerUp dabei muss RS 0 sein too _enabie mf wat ms 00 enable gt waittoous Tenenan to enabie o warms coena p toot p 160 ear uco era on Betriebsmodus 4 Bit 0600100000 2 Zeilen 5x7 Punktmatrix 0000101000 Einf gemodus 0b00000110 OFF 0600001000 CLEAR 0600000001 ON 0600001110 BASCOM Beispiel Sregfile m8def dat Scrystal 3686400 Config Lcdpin Pin Db4 Portd 4 Db5 Portd 5 Db6 Portd 6 Db7 Portd 7 E Portd 3 Rs Portd 2 Config Led 16 2 Config Portd Output Do Waitms 1000 Cls Led myAVR mit LCD Loop End Laser amp Co Solutions
30. Nutzen Sie dieses Vorgehensmodell zum Programmieren von AVR Progsammen mit Hille von verschiedenen Modellierungs und Quelltextdiagrammen Benutzerhandbuch SiSy AVR Laser amp Co Solutions GmbH Entwicklung eines Programmablaufplans mit Sisy AVR projektweite Einstellungen f r AVR Extras AVR Danach offnet sich die typische Benutzer verwendeter Microconiroler oberflache von SiSy mit einem leeren Vorge ote matten z hensmodell und Sie k nnen mit der Arbeit be heme ginnen Falls Sie noch die Option Men bei Doppelklick und Direkthilfe eingeschaltet ha verwendeter Programmer ben k nnen Sie diese ber den Men punkt 17 Einstellungen im Hauptmen abschalten Ziehen Sie als nachstes aus der Objektbiblio thek ein Objekt vom Typ PAP in das leere Diagramm Benennen Sie den PAP mit Aufga be 1 Beachten Sie die Einstellungen zum Controllertyo und Programmieradapter unter extras AVR vgl Abbildung 12 Den Dialog Abbrechen Definieren erreichen Sie ber das Rechte Maustasten Men auf dem Objekt SiSy f r Windows projekt1 spr Projekt Werkzeug Bearbeiten Ausf hren Ansicht Einstellungen Fenster Hilfe OCH Ai i CN will La Definition Erweiterte Einstellungen Extras AVR into F Norgaben benutzen verwendeter Microcontroller ATmega8 l verwendete T aktrate Speicherort C DOKUME T USER EIGENE 1 SISY P 1 Projekte
31. Veranschaulichung dieser Funktion E EEE EEE EEE EEE main uint8_t zeichen initUART Initialisierungen while true Mainloop Begin zeichen getChar f Zeichen abholen putChar zeichen Zeichen zur cksenden Mainloop Ende PP PAI A A A Ann SS Zn PO I OD PILI AALS DALI ul TOT Text senden Es k nnen einzelne Zeichen aber auch Zeichenketten gesendet werden Mit der zuge h rigen Schaltfl che Senden wird immer der gesamte Inhalt der Eingabezeile Text gesendet Daten Senden Text Hallo RR Zahl Daten Aufzeichnen 7 aktivieren Daten Empfangen Text Zahl Oszi Hallo myAVR Hallo myAVR Hallo myAVR Hervorgehobener Text Zahlen senden Zahlenwerte von 0 bis 255 1 Byte k nnen einzeln oder als Zahlenfolge gesendet wer den Zwischen den Werten ist ein Leerzeichen als Trennzeichen einzuf gen Zahlen die gr er sind als 255 werden auf den niederwertigen Teil gek rzt Es ist m glich Zahlen im Hexadezimalformat zu schreiben Pr fix Ox Mit der zugeh rigen Schaltfl che Senden wird immer der gesamte Inhalt der Eingabezeile Zahl gesendet Daten Senden e Zahl 10123 0xFF Daten Aufzeichnen F aktivieren Daten Empfangen Text Zahl Oszi DLO gr Hervorgehobene Werte Laser amp Co Solutions GmbH Benutzerhandbuch SiSy AVR Seite 36 84 Der myAVR Code Wizard 7 Der myAVR Code Wizard 7 1 Einf hrung Der myAVR Code Wiz
32. Wenn der freie Speicherplatz nicht ausreichend ist erfolgt eine Warnung und Sie sollten den erforderlichen Speicherplatz zur Verf gung stellen Hinweis In SiSy sind 2 Dateien enthalten die Makros beinhalten handbuch doc multi doc Von einigen Virenscannern werden diese Makros als Virus erkannt und entsprechend behandelt In den Heuristik Einstellungen des Virenscanners kann diese Behandlung unterdr ckt werden Laser amp Co Solutions GmbH Benutzerhandbuch SiSy AVR Seite 8 84 Vorbereitung Abschluss der Installation Die Installation ist erst nach dem ersten Start von SiSy abgeschlossen Dieser sollte im Anschluss an das Setup ausgefuhrt werden Der Vorgang kann einige Minuten dauern Erster Start E SiSy wird f r den ersten Start vorbereitet Die verf gbaren Add Ons werden konfiguriert Dieser Yorgang kann einige Minuten dauern Mit Beendigung dieses Vorgangs erscheint auf Ihren Bildschirm der Dialog Willkom men in SiSy Folgen Sie dann den Hinweisen des Assistenten Willkommen in Sisy 2 2 Beschaffen bzw Herstellen der Hardware Alle Ausf hrungen bungen und Aufgabenstellungen beziehen sich auf das myAVR Board als Referenzhardware Wenn Sie Spa an Elektronik haben k nnen Sie die Hardware auch selbst fertigen Die Komponenten erhalten Sie als Bausatz oder fer tig best ckt inklusive Schaltplan etc unter www myAVR de Ausf hrliche Beschreibungen zur Programmierung mit Assembler
33. X Load Indirect and Pre Dec X lt X 1 Rd X None Set Twos Complement Overflow Vel V Rd Increment Rd Rd 1 Z N V Rd Y Load Indirect Rd lt Y None Clear Twos Complement Overflow V lt 0O V Rd Decrement Rd Rd 1 Z N V Rd Y Load Indirect and Post Inc Rd Y Y Y 1 None Set Tin SREG T lt 1 T Rd Test for Zero or Minus Rd Rd Rd Z N V Rd Y Load Indirect and Pre Dec Y Y 1 Rd Y None Clear T in SREG T 0 T Rd Clear Register Rd Rd Rd Z N V Rd Y q Load Indirect with Displacement Rd Y q None Set Half Carry Flag in SREG H 1 H Rd Set Register Rd lt OxFF None Rd Z Load Indirect Rd Z None Clear Half Carry Flag in SREG H 0 H Rd Rr Multiply Unsigned R1 RO Rd x Rr Z C Rd Z Load Indirect and Post Inc Rd Z Z Z 1 None MCU CONTROL INSTRUCTIONS Rd Rr Multiply Signed R1 RO Rd x Rr Z C Rd Z Load Indirect and Pre Dec Z lt Z 1 Rd lt Z None NOP No Operation None Rd Rr Multiply Signed with Unsigned R1 RO lt Rd x Rr Z C Rd Z q Load Indirect with Displacement Rd Z q None SLEEP Sleep see specific descr for Sleep function None Rd Rr Fractional Multiply Unsigned R1 RO Rd x Rr lt lt 1 Z C Rd k Load Direct from SRAM Data Mem Rd lt k None WDR WatchdogReset see specific descr for WDR timer None Rd Rr Fractional Multiply Signed R1 RO Rd x Rr lt lt 1 Z C X Rr Store Indirect X Rr None Rd Rr Fractional Multiply Signed wiTh Unsigned R1 R0 lt Rd x Rr lt lt
34. Z Z 1 None reti gt 16 EEPROM Ready Skip if Bit in O Register Cleared if P b 0 PC PC 20r 3 None Store Program Memory Z R1 RO None ae i ee ee ae Sh ieee ees Skip if Bit in I O Register is Set if P b 1 PC PC 20r3 None Rd P InPort Rd P None reti 719 Store Program Memory Ready Branch if Status Flag Set if SREG s 1 then PC PC k 1 None P Rr Out Port PeRr None c E eae Chae ieirik Branch if Status Flag Cleared if SREG s 0 then PC PC k 1 None PUSH Rr Push Register on Stack STACK lt Rr None nr 7 y A a Branch if Equal if Z 1 then PC PC k 1 None POP Rd Pop Register from Stack Rd STACK None out SPL r16 o Branch if Not Equal if Z 0 then PC PC k 1 None BIT AND BIT TEST INSTRUCTIONS p nn an oo Branch if Carry Set if C 1 then PC PC k 1 None SBI Pb Set Bit in I O Register O P b 1 None l sbi DDRB 0 PORTBO auf Ausgang Branch if Carry Cleared if C 0 then PC PC k 1 None CBI P b Clear Bit in O Register O P b 0 None ELE Id r16 0 Wert bei Taste nicht gedr ckt Branch if Same or Higher if C 0 then PC PC k 1 None LSL Rd Logical Shift Left Rd n 1 Rd n Rd 0 0 Z C N V ra en ee Branch if Lower if C 1 then PC PC k 1 None LSR Rd Logical Shift Right Rd n Rd n 1 Rd 7 0 Z C N V em nen LED an aus Branch if Minus if N 1 then PC PC k 1 None ROL Rd Rotate Left Through Carry Rd 0 lt C Rd n 1 lt Rd n C lt Rd 7 Z C N V i
35. amp Co Solutions GmbH Benutzerhandbuch SiSy AVR Seite 34 84 Das myAVR Controlcenter 6 3 5 Empfangene Daten speichern Bei der Erfassung von Messdaten die vom Mikrocontroller an den PC gesendet werden ist es oft wichtig diese in eine Datei Zu speichern Damit wird eine Weiterverarbeitung der Daten in entsprechenden Programmen z B EXCEL m glich Das myAVR Controlcenter erm glicht es Protokolldaten aufzuzeichnen Log Datei Rekorder funktion Um diese Funktion zu aktivieren w hlen Sie die Option Daten aufzeichnen Daten Aufzeichnen Text Zahl Os ABCUDERFPGHIJELMNOPORSTUVMEY a4 Uber die Schaltfl che Einstellungen muss der Dateiname und Pfad der Log Datei an gegeben werden Zus tzlich ist es m glich das Format und die Blockgr e Zeilenum bruch festzulegen Die Weiterverarbeitung der Daten erfolgt entsprechend der M g lichkeiten der Zielanwendung z B ffnen Importieren oder Zwischenablage Einstellen der Datena ERIS Pree ECE og txt Ansicht Einf gen Format Extras Diagramm fenster 2 8 Diagrammfl che So Ds EM 100 80 60 a Reinet 20 0 13 6 7 amp 11 13 15 17 19 21 23 25 Benutzerhandbuch SiSy AVR Laser amp Co Solutions GmbH Das myAVR Controlcenter Seite 35 84 6 3 6 Daten an das myAVR Board senden Uber das Controlcenter k nnen Daten im Text oder Zahlenformat an den Mikrocontrol ler gesendet werden Das folgende Programm dient als
36. and Constant Rd 2 Register eor eor 12425 Exclusive OR Registers Rd Rd A Rr Z a E L mr Mig MEER t Ar thmetik Logik und Bit Befehle 5 Programmsteuerungs Befehle n neg r24 Two s Complement Rd 00 Rd ZCN S sbr r24 0x01 Set Bit s in Register Rd Rd v K Z N V 6 Eingabe und Ausgabe Befehle Eingabe cbr cbr r24 0x01 Clear Bi s in Register Ra Ra SFF H Ausgabeadressen inc ine r24 Increment RA Rd 1 ZN V 7 Befehlssatz x86 bersicht dec dec 124 Decrement Rd Rd 1 ZN V 8 ASM Kurzreferenz tst tst r24 Test for Zero or Minus Rd Rd Rd Z N i ch clr r24 lear Register Rd Rd A Rd Z N V Bu ser ser 124 Set Register Rd FF AB rimp rimp marke Relative Jump PC PC k 1 sB ijmp imp Indirect Jump to Z PC Z SB rcall rcall up Relative Subroutine Call PC PC k 1 sB icall ical Indirect Callto Z PC Z sB ret ret Subroutine Return PC STACK sB ai Abbildung SiSy AVR Assembler gt Dictionary und Hilfe Laser amp Co Solutions GmbH myAVR Lehrbuch Mikrocontrollerprogrammierung Leseprobe 4 3 Schnellstart mit SiSy AVR Voraussetzungen Fur die Bearbeitung der folgenden Aufgaben ben tigen Sie die aufgef hrte Soft ware und Hardware Software e SiSy AVR ab Version 2 17 e SiSy Ausgabe AVR Developer Professional oder BS und das installierte Add On AVR Hardware e Ein best cktes myAVR Board e LPT Verl ngerungskabel oder USB Kabel A B e 9V Batterie 9 V Netzteil bei Bedarf z B autonomer Einsatz e evtl Nullmodemk
37. angeschlossen von der Software erkannt und das Pro gramm erfolgreich auf den Programmspeicher des Mikrocontrollers bertragen wurde muss die letzte Ausschrift folgenden Inhalt haben Hinweis Es wird die im Quelltext angegebene Einstellung des Prozessors verwendet ATmega8 assemblieren linken brennen Found programmer Die Inbetriebnahme Test und Datenkommunikation mit der Mikrocontrollerl sung erfolgen ber das myAVR Controlcenter Dabei wird Uber die Schaltfl che Start das Testboard mit der n tigen Betriebsspannung versorgt und der Controller ge startet myAVR Lehrbuch Mikrocontrollerprogrammierung Laser amp Co Solutions GmbH Leseprobe Der Datenaustausch mit dem myAVR Board ist m glich wenn das Null Modemkabel oder USB Kabel an Rechner und Testboard angeschlossen ist sowie die Mikrocontrollerl sung daf r vorgesehen ist Es k nnen Texte und Bytes vorzeichenlose ganzzahlige Werte bis 255 an das Board gesendet und Text empfangen werden Die empfangenen Daten werden im Protokollfenster ange zeigt t myAVR Controlcenter Build 698 Start Stopp sh las ds Sepipolespcse Schaltfl che E im Auswahl COM Port Eee N m mm m sn ng See SS Text oder Byte Protokollfenster fur Daten als Text Zahlen oder grafischer Dartstellung Abbildung myAVR Controlcenter Nutzen Sie die zahlreichen Hilfen und Vorlagen die das myAVR Workpad dem Entwickler bietet bersicht Befeh
38. aufgef hrten Grund prinzipien Problemstellungen Fallstudien und L sungsans tze gelten prinzipiell f r eingebettete Prozessoren in kleinen und kleinsten Ger ten und wenigen Ein und Ausgabeger ten ber Personalcomputern bis hin zu Gro rechnern Die Auf gaben die sie zu l sen haben werden in gr eren Systemen durch das entspre chende Betriebsystem oder aufw ndige Hardware erledigt Bei Mikro controllerl sungen in Embedded Systems wie in Waschmaschinen Autos Tele fonen Steuerung von Anlagen und Robotern usw finden Sie oftmals kein stan dardisiertes Betriebssystem Dort m ssen diese Aufgaben vom Entwickler selbst gel st werden Daf r sind diese eingebetteten Systeme hochspezialisiert sowie bauteil und energieeffizient bei geringstem Platzbedarf Bedenkt man die weite Verbreitung von Mikrocontrollern erkennt man schnell dass hardwarenahe Pro grammierung keine Aufgabe von wenigen Betriebssystementwicklern sondern ein weitverbreitetes Aufgabenspektrum in unterschiedlichsten Branchen und Berufs bildern ist Automatisierungstechnik Mechatronik Kommunikationstechnik Medi zintechnik Automobilindustrie Elektrotechnik Maschinenbau usw kaum eine Branche kann heute noch auf die Anwendung von Mikrocontrollern verzichten Der PC auf unserem Arbeitsplatz ist nur die ber hmte Spitze des Eisberges bei der Anwendung von Prozessoren und der dazu notwendigen Software In diesem Lehrbuch wird die hardwarenahe Programmierung a
39. den Dialog Definieren gelangen SiSy f r Windows Aufgabe 1 a meen al aieka es CS lo w SlAl Taste Fi f r Hilfe zum aktuellen Fenster Abbildung 16 Objekte in das Diagramm einf gen und verbinden Zeichnen Sie den folgenden Programmablaufplan vgl Abbildung 17 Laser amp Co Solutions GmbH Benutzerhandbuch SiSy AVR Seite 48 84 Entwicklung eines Programmablaufplans mit Sisy AVR Abbildung 17 Logikentwurf im PAP 9 6 Befehle eingeben Nachfolgend soll aus dem Programmablaufplan Assemblerquellcode generiert werden Dazu ist es notig die einzelnen Elemente des PAP mit den entsprechenden Assemb leranweisungen zu versehen Daf r gibt es mehrere M glichkeiten Konfiguration PORTE OUT Initalisierung STACK Konfiguration PORT C OUT Senna igur ai ATD Idi 116 bo RAMEN Koniguration PORTD OUT IA idi Abbildung 19 Definition PAP Element ates Abbildung 18 Codevorlage PAP Benutzerhandbuch SiSy AVR Laser amp Co Solutions GmbH Entwicklung eines Programmablaufplans mit SiSy AVR Seite 49 84 Zum einen bietet SiSy beim ersten ffnen eines jeden Elementes typische Code Vorlagen an die ber die Schaltfl che Laden dem Element zugewiesen werden k n nen Wird der Definieren Dialog mit der Schaltfl che OK beendet so wird die Auswahl im Objekt gespeichert und beim n chsten Aufruf des Dialoges Definieren erscheinen die Code Vorlagen nicht mehr sondern das
40. diesem Assistenten konnen Sie Software f r die folgende Hardwarekomponente installieren CP2102 USB to UART Bridge Controller 4 oder Diskette geliefert wurde legen Sie diese gt jetzt ein C Falls die Hardwarekomponente mit einer CD Wie mochten Sie vorgehen Software automatisch installieren empfohlen Software von einer Liste oder bestimmten Quelle installieren fur fortgeschrittene Benutzer i Klicken Sie auf Weiter um den Yorgang fortzusetzen uruck Abbrechen Die Treiberquelle ist bereits voreingestellt Assistent fiir das Suchen neuer Hardware Wahlen Sie die Such und Installationsoptionen Pha as S verwenden Sie die Kontrollkastchen um die Standardsuche zu erweitern oder einzuschranken Lokale Pfade und Wechselmedien sind in der Standardsuche mit einbegriffen Der zutreffendste Treiber wird installiert Wechselmedien durchsuchen Diskette CO Folgende Quelle ebenfalls durchzuchen C gt Dokumente und EinstellungenshuwitDesktopicp Nicht suchen sondern den zu installierenden Treiber selbst w hlen Yemenden Sie diese Option um einen Geratetreiber aus einer Liste zu w hlen Es wird nicht garantiert dass der von Ihnen gew hlte Treiber der Hardware am besten entspricht Laser amp Co Solutions GmbH Rev 5 Stand 11 06 Technische Beschreibung mySmartUSB Seite 10 10 Assistent f r das Suchen neuer Hardware Fertigstellen des Assis
41. es die Klasse Timer mit der Methode overflow Die Initialisierung des Timers muss entsprechend erfolgen Cont roller Timer led_rot LED taster_1 Taster O init void overflow void main void match v id run woid verbunden verbunden Taster LED init amp void ian t void pressed bool Font void See void 2 Den Dialog Diagrammeinstellungen ffnen Sie erreichen diesen Dialog Uber das Ampelm nnchen Men punkt Diagrammeinstellungen ffnen 4 a Definition Main Funktion Erweiterte Einstellungen Extras AVR My O Aktionsmen 1 gt gt gt Erstellen Brennen amp Ausf hren 2 Ausfuhren JA Alles neu erstelle Diagrammeinstellungen offnen EDR f r QD Standard 00 Klassendhagramm Arbeitspaket erstellen 0D Klassendhagramm bersicht mit Quelltexten er DD Klassendiagramm bersicht ohne Quelltexten Name des Diagrammas Kommentar EEE Verwendetes UML Dialoglapout IW Fast UML ist aktiviert Sprache AVR C es erstellen Die Einstellungen auf dieser Seite betreffen die F ast UML ERSTELLEN amp AUSFUHREN Quellcode Offnen Erstellen Debug starten Ausf hren Benutzerhandbuch SiSy AVR Laser amp Co Solutions GmbH Entwicklung eines Klassendiagramms mit SiSy AVR Seite 75 84 3 Wahlen Sie in diesem Dialog das Dialogfeld
42. hlen Sie das Vorgehensmodell Programmierung W hlen Sie aus dem Dialog der Diagrammvorlagen keine Vorlage verwenden oder brechen Sie den Dialog ab Neues Projekt erstellen EIGER IGGL Seam mit Yorlagen Verzeichnis Projektverzeichnis CAGokumente und EinstellungeniUsenEigene DateientSisy Projpekte 3 Hite Abbrechen d Hinweis In SiSy legen Sie stets ein Projekt an In dieses Projekt integrieren Sie Ihr Programm bzw mehrere Programme Unabh ngig vom Programmnamen ben tigt jedes Projekt einen Namen Benutzerhandbuch SiSy AVR Laser amp Co Solutions GmbH Entwicklung eines kleinen Programms mit SiSy AVR Seite 21 84 Wenn in ihrer Sisy Ausgabe mehrere Vorgehensmodelle Hauptebenen zur Verfugung stehen wird eine Auswahl der Hauptebene angeboten Mit der Auswahl des Vorge hensmodells VGM entscheiden Sie uber das Profil des Projektes Wenn ein Projekt klein und die Modellierung von Programmablaufplanen nicht erforderlich ist wahlt man das einfachere Vorgehensmodell in dem gezeigten Beispiel Programmierung Bei komplexen Projekten f r die neben kleinen Programmen auch Programmablaufplane Struktogramme oder Klassendiagramme n tig sind wird das komplexere Vorgehens modell AVR Vorgehensmodell ausgew hlt Die Auswahl des Vorgehensmodells bestimmt im weiteren Projektverlauf die von SiSy zur Verf gung gestellten Werkzeuge Bei
43. in Assembler C und BASCOM Leseprobe Leseprobe Inhalt 1 CEU ING een ee 7 2 ie FEIN A A A E ee ee 12 2 1 Hard und Softwarevoraussetzungen u anne 12 2 2 Beschaffen bzw Herstellen der Hardware ccccccccssseeeeeeeeeeseceeeseeeeeeeeeeaeeeeeeeessaeeeees 12 2 3 Beschaffung und Installation der Software ccccccsseececscceeeeeeessceseneeecsceseneeeseceeeeees 15 23 1 Nnstallalor OV VAN nee een 15 2 3 2 Installation myAVR Workpad ccccsececccsseeeeeceeeeeecaeeeeeseeeseeeseaeeeessaeeesseeeeesaeeeeeeas 15 3 Gr undagen 2U Mikrocontroller ee ee ee ee 16 31 B ardwarogundiagol crsstesinwensrtatscdrensercivenetaedviudncaaintiedvannaiuavanebsedvnintsneexaeubelnaitoysnciaiaierben 16 3 1 1 Prozessorkern Zentraleinneit ccccccccssseececeeeeeeseeeeeeeeeeseeeseeseeeeseneeeeseeseeeseeeeesens 17 3 1 2 Peripherie Bausteine een anced ier ee eier nee 18 3 1 3 Speicherarten und Speicherarchitektur s s 00000400 Rennens 19 3 1 4 Prozessoren en nennen 20 315 SONE am AY R een ae 21 3 2 Experimentierhardware myAVR Board 4uus040000ennnnnnnnnennnnnennnn nennen nnennnn nennen nenne 22 4 Programmierung von Mikrocontrollern 4400044440BRnnnnnennennnn nennen nnennnnnennnnnn nennen nennen 24 4 1 Programmiersprachen Programmierger te Schnittstellen uu nn 24 4 2 Mikrocontroller Entwicklungsumgebung SiSy AVR uuessssnsssssnnnnnennnnn
44. ist w hrend des Betriebes zu berpr fen und gegebenenfalls ein K hlk rper nachzur sten Die Belastung des Spannungsreglers kann vor allem durch den Anschluss einer geeigneten Spannungsquelle verringert werden Umso h her die Spannung an der Spannungsquelle ist umso mehr W rme muss vom Spannungsregler abgef hrt werden Die Spannungsquelle darf 12V nicht berschreiten Das Optimum ist ein 9V Gleichspannung Diese erhalten Sie zum Beispiel aus einem stabilisierten 9V Netzteil mit max 1000mA Betriebsdaten Betriebsstrom ca 120 mA bei eingeschalteter Hintergrundbeleuchtung Betriebsstrom ca 5 mA ohne Hintergrundbeleuchtung Betriebsspannung typisch 4 8 5 3 V Betriebstemperatur 0 C bis 30 C Laser amp Co Solutions GmbH Revision 3 Stand 05 06 LCD Add On 2 2 Seite 2 2 Schnittstellendaten steckerleiste fur den Anschluss an das myAVR Board PIN Belegung Port D ajajaja aja a i da 1 Port D 2 7 Port B O 13 5V 15 Port C 0 2 PortD 3 8 Port B 1 14 Masse 16 Port C 1 3 Port D 4 9 Port B 2 17 Port C 2 4 Port D 5 10 Port B 3 18 Port C 3 5 Port D 6 11 Port B 4 19 Port C 4 6 Port D 7 12 Port B 5 20 Port C 5 5V Port B PortC N OOF SFT LO N m SY LOT NOT AY CO II O SS Sy Sy Sy SY SIN 162C n 14 DB m e Eo N A al D TN T LO SO NI O D SO ANI 7 T LO o NI o oo S as Eas Eas Ea Ea Eao o SI Of a SY I Da Da Daa Daa Daa baa SIN aJ 0
45. myAVR Lehrbuch Mikrocontrollerprogrammierung Leseprobe entwickelte dieses innovative Konzept weiter Hartn ckig halt sich das Ger cht dass die Abk rzung AVR etwas mit den Vornamen der beiden inzwischen nicht mehr Studenten Alf Egil Bogen und Vegard Wollan zu tun hat die diesen RISC Prozessor entwickelt haben Wer wei Welche Programmiersprache benutzen Assembler C oder BASIC Assembler ist f r den Einstieg in die Programmierung von Mikrocontrollern zwar recht schwierig aber am besten geeignet Da Assemblerprogramme auf Maschi nencodeebene angesiedelt sind lernt man den Aufbau und Funktionsweise eines Prozessors richtig kennen und kann ihn dadurch optimal ausnutzen Zudem st t man bei jedem Compiler irgendwann einmal auf Problemstellungen die sich nur durch das Verwenden von Assemblercode l sen lassen Die zunehmende Leis tungsf higkeit und immer mehr Speicher auf den Mikrocontrollern erlauben inzwi schen auch die Anwendung von h heren Programmiersprachen Die Sprachen C C bieten sich auf Grund ihrer Effizienz und Hardwaren he f r die Program mierung von komplexen Mikrocontrollerl sungen an Der AVR Assembler wird Ihnen Schritt f r Schritt und verst ndlich vermittelt Mit den so erworbenen Kenntnissen ist die Programmierung von AVR Controllern mit jeder anderen Sprache noch effizienter Die Auseinandersetzung mit den Maschi nenbefehlen und der Programmierung in Assembler f hrt zum besseren Ver st ndnis de
46. und Ausgabeports Jedes Bit repr sentiert eine I O Line Pin und ist einzeln als Eingang oder Ausgang konfigurierbar e PORTB 0x18 Port B O bis Port B 7 e PORTC 0x15 Port C O bis Port C 7 e PORTD 0x12 Port D O bis Port D 7 Es ist zu beachten dass die einzelnen Ports des Controllers f r spezielle Aufga ben vorgesehen sind und dass die meisten O Lines Pins doppelt belegt sind Diese Doppelbelegung sorgt zwar daf r dass die Baugr e des Controllers gering ist aber f hrt auch dazu dass nicht alle Bits der Ports f r die Anwendung uneinge schr nkt zur Verf gung stehen Wichtige Besonderheiten ePort B Port B 6 und Port B 7 sind f r den externen Quarz vorge sehen Port B 5 Port B 4 und Port B 3 sind gleichzeitig die SPI Schnittstelle zur Programmierung e Port C Port C 7 istnicht als O Line verf gbar Port C 6 ist mit RESET belegt nie umprogrammieren Port C O bis Port C 5 sind gleichzeitig die Eing nge f r den A D Wandler ePort D Port D O und Port D 1 sind die Leitungen f r den UART Kommunikationsbaustein Daraus ergeben sich wichtige Besonderheiten f r die konkrete Nutzung der Ports auf dem myAVR Board e ie Port sind 6 Lines frei nutzbar o Port D 2 bis Port D 7 o Port B O bis Port B 5 o Beachte f r Port B 3 bis Port B 5 bei LPT Version unter Umst nden das Programmierkabel abziehen o Port C 0 bis Port C 5 bevorzugt als ADC 3 RESET PC6 PC5 ADC5 SCL Ansch i uss ber RXD PDO PC4 ADC4 SD
47. zwar m glich die RESET Leitung abzu schalten und damit Port C 6 nutzbar zu machen aber von dem Augenblick an l sst sich der Controller nicht mehr umprogrammieren denn daf r ben tigt er ein RESET Signal Der A D Wandler an Port C ben tigt eine eigenst ndige Versor gungsspannung Dies muss bei der Nutzung des Port C beachtet werden Jede einzelne Leitung der digitalen Ports ist geeignet eine bestimmte Last anzu steuern Eine besondere Eigenschaft von Mikrocontrollern ist dass deren Aus g nge eine verh ltnism ig gro e Leistung abgeben k nnen Je nach Control lertyp k nnen das je Pin 3 bis 20 mA bei 5 V Hl Pegel sein Mit 3 mA kann man eine kleine LED oder einen hochohmigen Schallwandler problemlos ansteuern Der Widerstand des so angesteuerten Ger tes sollte nur nicht 250 Q unterschrei ten Bei einer LED ist es notwendig den Strom durch einen Vorschaltwiderstand von 1 2 kQ zu begrenzen und schon kann man die LED mit dem gew nschten Port verbinden und ansteuern Die Programmierung der Ports erfolgt bei allen AVR Mikrocontrollern ber jeweils drei I O Register Jedem Port ist ein Steuerre gister ein Ausgaberegister und ein Eingaberegister zugeordnet Das Steuerregis ter hat die Bezeichnung DDRx Data Direction Register Port B C D Es legt also die Richtung des Datenflusses fest Der Programmier ist ber dieses Register in der Lage jeden einzelnem Pin der digitalen Ports getrennt als Eingang oder als Ausgang zu konfigurie
48. 0 Hz Sprache C 7 Dakum 8 7 200 Version 1 0 Autor Dipl Ing P d Huwaldt Programmer SP12 Port LPT1 define F_CPU 3686400 include lt avr io h gt include lt avr interrupt h gt Woe iniet 77 Ports initialiseren Laser amp Co Solutions GmbH Benutzerhandbuch SiSy AVR Seite 40 84 Entwicklung eines groBen Programms mit SiSy AVR 8 Entwicklung eines groBen Programms mit SiSy AVR 8 1 Einleitung F r die Entwicklung eines gr eren Programms ist es unzweckm ig alle Befehle in eine Datei Unit zu schreiben Der Grund daf r ist dass bei mehr als 60 bis 80 Zeilen Quellcode die bersicht ber die Programmstruktur verloren geht Selbst die Untertei lung in Unterprogramme reicht ab einer bestimmten Gr e von Programmen nicht mehr aus SiSy erlaubt zwar in kleinen Programmen bzw je Unit 10 Kilobyte Code Das sind in Assembler zum Beispiel ber 1000 Zeilen Ein kleines Programm bzw eine einzelne Unit sollte jedoch nie mehr als 80 bis 120 Zeilen haben Wird diese Grenze erreicht sollte das Programm in logische Einheiten Units Module gegliedert werden Dabei fasst man alles zusammen was zu einer bestimmten Funktionalit t oder einer bestimm ten Baugruppe wie zum Beispiel dem AD Wandler geh rt Physisch entstehen dabei mehrere Dateien die f r sich genommen wieder bersichtlich sind da diese dann nur 80 bis 120 Zeilen Code enthalten Das bersetzungsprogramm Assembler Compiler L
49. 1 06 Technische Beschreibung mySmartUSB Seite 4 4 Das mySmartUSB Protokoll Die Firmware des mySmartUSB verf gt neben den AVR910 und AVR911 spezifischen Protokollen ber ein eigenes Protokoll um die zus tzlichen Funktionen des mySmartUSB anzusprechen Das mySmartUSB Protokoll wird ber eine Kennung aktiviert die den ei gentlichen Kommandos als Pr fix vorangestellt werden muss mySmartUSB Kommandos Baudrate 19200 8 n 1 Pr fix Format eeuo 23 Kommando als ASCIl Zeichen OxE6 0xB5 OxBA OxB9 0xB2 0xB3 0xA9 Reset Board Reset Programmer Board Power On Board Power Off Programmier Modus Daten Bypass Durchreich Modus RS232 Quite Modus Status wird zur ckgegeben Kommandos a a0 D7 Das Kommandozeilen Tool myavr_progswitch Im Downloadbereich von www myAVR de steht Ihnen das Programm my avr_progswitch exe zur Verf gung Mit diesem Programm kann zwischen den einzelnen Arbeitsmodi des mySmartUSB Programmers gewechselt werden Das Umschalten der Modi kann per Aufruf Parameter und ber einen Dialog gesteuert werden Das Programm erm glicht des Weiteren das Brennen von HEX Dateien und kann ber Make Dateien auf gerufen werden Hinweis Verwenden Sie die aktuelle Firmware des mySmartUSB Kommandos Parameter m lt MODE gt Angabe des Arbeitsmodus p d q Programming DatalQuiet p lt onloff gt Angabe ob Stromversorgung de aktiviert werden soll f Reset des Boards b Dateiname Brennen einer HEX
50. 1 SCK TOANTO ADC2 PB3 O 3 6 D PB1 AIN1 MISO OC1A GND J4 5 D PBO AINO AREF MOSI Projektbeschreibung zu myTinyProg Laser amp Co Solutions GmbH Seite 10 14 Hardware myAVR Board und myTinyProg 3 2 Schaltplan myTinyProg Die Schaltung soll die Programmierung der Atmel Controller AT90S2323 ATtiny12 13 und 15 erm glichen Dabei sind die ISP Leitungen entsprechend der PIN Belegung der Controller und der Erweiterungsbuchse des myAVR Boards zu verbinden Die SPI Sig nale sind am Mega8 auf Port B 3 4 und 5 verf gbar XTAL1 RESET K PCO PC1 PC3 PC4 PC5 myAVR Board Auszug Qe of OD P Ce Laborkarte A XTAL2 lt MOSIDPBA XTAL1L UCC GND 3 3 Stuckliste IC1 ATtiny12 13 15 DIP 1 St ck J1 IC Sockel 8 DIP 1 St ck Ci C2 KERKO 33p 2 St ck Q1 Quarz 3 6864 MHz 1 St ck X1 Laborkarte A Platine 1 St ck SV1 Stiftleiste 20polig 1 St ck Schaltdraht ca 20 Zentimeter Farbsortiment Laser amp Co Solutions GmbH Projektbeschreibung zu myTinyProg Hardware myAVR Board und myTinyProg Seite 11 14 3 4 Realisierung auf einer myAVR Laborkarte A 1 L ten Sie Buchsenleiste und IC Sockel auf die Laborkarte Achten Sie darauf dass die paarigen Lotaugen der Laborkarte einen einfachen Anschluss gewahrleisten ES ES ES ES EE ES ES ES ES SS ES ES E E E E a a a i G seetceepeeeeeeepeepeeeer 4 io i 4 7 2 Verbinden Sie die PINs 5 6 und 7 des IC Sockels mit Port B 3 4 und 5 an der Ste ckerleiste
51. 2 ER Pran ssir Stellen Sie hier Ihren verwendeten Controller sowie die Frequenz des Quarzes ein Ports digital Sollten Sie keinen Quarz verwenden oder den internen Takt benutzen so geben Sie bitte den dann typischen UART Takt an Timer verwendeter Mikrocontroller 7 3 Ger teeinstellungen ber den Dialogbereich k nnen Schritt f r Schritt die Komponenten des gew hlten Controllertyps konfiguriert werden a h CodeWizard myAVR Code Wizard ATmegaX8 Assembler Prozessortakt Prozessortakt 8 Prozessortakt 64 aktuelle Prozessortakt 256 Projektdaten Abbrechen C Prozessortakt 1024 C Extern PinTD fallende Flanke C Extern PinTO steigende Flanke Deklat ation interrupt tjnp onTimer00v 10 Timer Interrupt bei Uberlauf Init Timer A initialicieren Laser amp Co Solutions GmbH Benutzerhandbuch SiSy AVR Seite 38 84 Der myAVR Code Wizard 7 4 Unterprogramme Neben der Moglichkeit die Hardwarekomponenten des gewunschten Controllers zu kon figurieren bietet der Code Wizard auch eine Reihe typischer Unterprogramme So ver fugt er Uber einen Warteroutinen Rechner zum generieren praziser Wartefunktionen o CodeWizard myAVR Code Wizard ATmegaX8 Assembler Fortschritt Warte Routinen Let willkommen Millis i Vait_us Warte x Mikrosekunden wae ft een a Projektdaten gosoesa saas Abbrechen Tunnaneunnd FREE f r 100 us die Routine wartet inclusive
52. 2 TWA TWAO R31 ZH 0x1F TWSR TWS7 TWS6 TWS5 TWS4 TwS3 TWPS1 TWPSO TWBR Two wire Serial Interface Bit Rate Register 168 rtfunktionen Externe Interrupts D2 3 Pinbelegung Analog Digital Wandler C0 5 ADCO 5 RESET PC6 L 1 28 PC5 ADC5 SCL PCINT14 RESET PC6 PC5 ADC5 SCL PCINT13 Analog Komparator D6 7 AINO 1 RXD PDO C 2 27 O PC4 ADC4 SDA PCINT16 RXD PDO PC4 ADC4 SDA PCINT12 ve PCINT17 TXD PD 3 ADNC3 PCINT11 nable TXD PD1 13 26 1 PC3 ADC3 PCINT17 TXD PD 1 PCS ADC3 PCINT11 myAVR LCD DE DB47 INTO PD2 C 4 25 1 PC2 ADC2 PCINT18 INTO PD2 PC2 ADC2 PCINT10 BO optional R W INT1 PD3 O0 5 24 1 PC1 ADC1 PCINT19 OC2B INT1 PD3 PC1 ADC1 PCINTS B1 optional Backlight XCK TO PD4 16 23 1 PCO ADCO PCINT20 XCK TO PD4 PCO ADCO PCINTS8 TWI PC C5 SOR SoL vec 47 22 I GND bia Po SPI Bus B4 MISO GND 8 21 O AREF GND AREF AVR ISP B5 SCK XTAL1 TOSC1 PB6 O 9 20 O AVCC PCINT6 XTAL1 TOSC1 PB6 AVCC B2 optional SS XTAL2 TOSC2 PB7 10 19 PBS SCK PCINT7 XTAL2 TOSC2 PB7 PB5 SCK PCINTS UART RS232 A ea nxp TxD PCINT21 OCOB T1 PD5 C 7 PB4 MISO PCINT4 DE SyNE MESE T1 PD5 O 11 18 1 PB4 MISO PCINT21 0C0B D a MISC Reset C6 RST AINO PD6 C 12 17 O PB3 MOSI OC2 PCINT22 OCOA AINO PD6 PB3 MOSI OC2A PCINT3 Quarz Resonator Takt
53. 3 2 Einstellungen fur die seriellen Verbindung F r eine erfolgreiche Kommunikation mit dem myAVR Board ist es wichtig dass Sender und Empf nger von seriellen Daten die gleichen Parameter f r die Daten bertragung konfiguriert haben Auf der PC Seite werden die Kommunikationsparameter im Control center ber die Schaltfl che f r die Einstellungen der Verbindung konfiguriert Testen renter IV serielle Verbindung com4 9600 N 8 1 Daten Senden Workpad Sprache AYR Board Lizenz Beenden Legen Sie hier die Einstellungen Fir die serielle Kommunikation mit dem myAYR Board fest s Einstellung der Kommunikationsverbi COM Verbindung Computerver waltung patei akion Ansicht Eenster 2o ee omga 2 a xaa ga HPO SB bo L T Bridge Controller i Be EON a Audio video und Gamecortroller MB Batterien Bildbearbeitungsger ate ai 4 Computer ae fl BB Creehogettn tar tasie Dover Beil Im Mikrocontrollerprogramm sind die gleichen Parameter bei der Initialisierung der UART zu w hlen Beachten Sie die eingestellte Taktquelle hier Quarz mit 3 6 MHz define F_CPU 3686400 define BAUD 9600 include lt avr io h gt ff FES ea sa ae ae sm 7 500 LLL 74 UART initialisieren void initUART sbi UCSRB 3 If TX aktiv sbi UCSRB 4 RX aktivieren UBRRL uint8_t F_CPU BAUD 16L 1 Baudrate festlegen
54. 5 983 Unsaubere Quellen prellen ana ac e ae 96 5 9 4 Beispiel Lichtumschaltung mit Interrupt uus0444400 Rennen nnennn nennen 97 5 10 Fequenzen und TIMer ssasu nenne 100 5 10 1 ES iSt Zeit t r menr RAYIMMUS are n aae Eae EEES 100 Oe BEIEDIEL SIO ALOUD sareni n egi aaa E Eai a E AE EET ENANS 101 5 10 3 Es geht auch eleganter nn 105 5 10 4 Beispiel Signalton mit WATCHIN nes 108 5 11 Serielle Kommunikation WAR T ssid acnsensvcweaned na anna nennen he 113 5 11 1 UART initialisieren 2 0 0 0 cecccccsseeecccseeecceeseeeceaececeeaeceessaseeesseseeesaeeesssageesssageees 115 511 2 VART Daten emPpRangen nee een 116 5 113 UART Daten SSNG CI sissies anecenrcintactuinnoiaduindiuduaaerenesdubacdveweteedvatadiuduiwutsaasaiabnednaantee 117 5 11 4 Beispiel Ich sende uuesnnsssnneennnsnnnnennnnnnnnnnnnnnnnnnennnnnnnnnnnnnnnnnnnnnnnnnnnnennnnennnnnn 117 5 12 Konstanten Variablen Speicher und EEPROM uus02222200sssnsnnnnnennnnnnneeennenn 119 5 12 1 Variablennamen f r Register u a 120 5 12 2 Konstanten im Programmspeicher ccccccccccseseeeceeeeceeceeeeeeeseeeeeeseeeeesseeeeesaeees 121 5 12 3 Variablen und Daten im SRAM nee 124 9124 Daten IM EEPROM ee 127 Laser amp Co Solutions GmbH myAVR Lehrbuch Mikrocontrollerprogrammierung Leseprobe 5 13 Verarbeitung analoger Signale Anna und der UC uuesssnnsssssnnnneennnnnnnnnnnnnnennnnnnnnnnnnn 131 5 13 1 Der Co
55. A ot TXD PD1 PC3 ADC3 USB oder LTP COM INTO PD2 PC2 ADC2 INT1 PD3 PC1 ADC1 O EEI aa XCK TO PD4 PCO ADCO ae vec 7 22 1 GND te GND C 8 21 D AREF D XTAL1 TOSC1 PB6 20 j Avcc ame XTAL2 TOSC2 PB7 PB5 SCK e o T1 PD5 PB4 MISO ds AINO PD6 PB3 MOSI OC2 AIN1 PD7 PB2 SS OC1B II ICP1 PBO PB1 OC1A 000000 OOoC0900 000000 Abbildung Digitale O Ports auf dem myAVR Board myAVR Lehrbuch Mikrocontrollerprogrammierung Laser amp Co Solutions GmbH Leseprobe Auf dem myAVR Board ist die RS232 Schnittstelle fur das Verbinden mit dem COM Port eines PC bereits fest installiert Daf r ist ein 9 poliger SUB D Stecker und ein Treiberbaustein MAX232 implementiert Die UART Leitungen zum Emp fang und fur das Senden von Daten RxD und TxD sind fest mit dem Treiberbau stein verbunden Damit stehen die Leitungen f r Port D O und Port D 1 fur die freie Verwendung nicht zur Verf gung Die SPI Schnittstelle ist ebenfalls vollst ndig auf dem Board realisiert und mit dem 25 poligen SUB D Stecker f r den Anschluss an den Parallelport eines PC verbunden Dadurch ist ein zus tzlicher Programmer nicht mehr erforderlich Zu Beachten ist dass unter Umst nden die SPl Leitungen Port B 3 bis Port B 5 nur dann benutzt werden k nnen wenn das LPT Kabel abgezogen ist Die Dop pelbelegung des Port C 6 mit der RESET Leitung f hrt dazu dass diese ebenfalls nicht zur Verf gung steht Es ist
56. Assembler Datum 28 02 2006 Autor Dipl Ing P d Alexander Huwaldt a ne Pu Zu er ra a ara ar aa a a en T include avr h Reset and Interrupt vector VNr Beschreibung rjmp main He POWER ON RESET reti 2 Int0O Interrupt reti po Int1 Interrupt reti 4 TC2 Compare Match reti 75 TC2 Overflow reti 6 TC1 Capture reti 77 TC1 Compare Match A reti 8 TC1 Compare Match B reti 9 TC1 Overflow reti LO TCO Overflow reti PLI SPI STC Serial Transfer Complete Laser amp Co Solutions GmbH myAVR Lehrbuch Mikrocontrollerprogrammierung Leseprobe reti 12 UART Rx Complete reti 13 UART Data Register Empty reti 14 UART Tx Complete reti 18 ADC Conversion Complete reti 16 EEPROM Ready reti 17 Analog Comparator reti 18 TWI IC Serial Interface reti 19 Store Program Memory Ready 4 Start Power ON Reset main ldi r16 108 RAMEND out SPL r16 ldi r16 hi8 RAMEND out SPH r16 ldi r16 0b00011100 Bit 2 4 auf HIGH out DDRD r16 Port D 2 4 auf OUT mainloop wdr ldi r16 0b00011100 Bit 2 4 auf HIGH out PORTD r16 Port D 2 4 auf HIGH rjmp mainloop Compilieren und Linken Der eingegebene Quellcode muss nun in Maschinencode f r den AVR Prozessor bersetzt werden Wahlen Sie dazu die Schaltfl chen Compilieren und Linken Bei fehlerfreier bersetzung liegt das Programm als Alle_Lichter_An hex vor und kann auf den FLASH Programmspeicher des Prozessors gebrannt we
57. B6 B7 XTAL1 XTAL2 AIN1 PD7 O 13 16 O PB2 SS OC1B PCINT23 AIN1 PD7 PB2 SS OC1B PCINT2 Timer Counter Output B1 B2 B3 OC1A OC1B OC2 ICP1 PBO C 14 15 O PB1 OC1A PCINTO CLKO ICP1 PBO PB1 OC1A PCINT1 AM area ICP1 ui Timer Counter Input Clock D4 D5 10 71 Timer Counter InputCapture BO ICP1 Revision 4 Stand 10 06 www myAVR de Laser amp Co Solutions GmbH Referenzkarte myAVR Board 2 0 USB mit ATmega8 Seite 2 Befehlssatz Mnem Oper Clo Mnem Oper Mnem Oper Clo onics ands Description Operation Flags cks onics ands Description Operation onics ands Description Operation Flags cks ARITHMETIC AND LOGIC INSTRUCTIONS Branch if Plus i None Rotate Right Through Carry Rd 7 C Rd n Rd n 1 C lt Rd 0 Z C N V ADD Rd Rr Add two Registers Rd Rd Rr Z C N V H Branch if Greater or Equal Signed i None Arithmetic Shift Right Rd n Rd n 1 n 0 6 Z C N V Rd Rr Add with Carry two Registers Rd Rd Rr C Z C N V H Branch if Less Than Zero Signed i None Swap Nibbles Rd 3 0 Rd 7 4 Rd 7 4 Rd 3 0 None Rdl K Add Immediate to Word Rdh Rdl Rdh Rdl K Z C N V S Branch if Half Carry Flag Set i None Flag Set SREG s 1 SREG s Rd Rr Subtract two Registers Rd lt Rd Rr Z C N V H Branch if Half Carry Flag Cleared i None Flag Clear SREG s 0 SREG s Rd K Subtract Constant from Regist
58. Beispiels ffnete sich ein Ausgabefenster und zeigte Protokollausgaben der Aktionen an Wenn die Hard ware ordnungsgem angeschlossen von der Software erkannt und das Pro gramm erfolgreich auf den Programmspeicher des Mikrocontrollers Ubertragen wurde muss die letzte Ausschrift folgenden Inhalt haben avrdude xxx bytes of flash written avrdude verifying avrdude xxx bytes of flash verified avrdude done Thank you EM Auspabefenster Das AVR Gera itis und beret Lese Daten 0444 Ger te Signatur Oxte9307 L sche die Daten auf dem Flash Einlesen der Datei Vorlage hex Schreibe die Daten ar den Flash nice Schreibe Daten EX tt tee 50 Bytes wurden in den Flash pechier Lese die SEER ON GUN Abbildung Ausgabefenster mit Brenn Protokoll myAVR Lehrbuch Mikrocontrollerprogrammierung Laser amp Co Solutions GmbH Leseprobe Die Inbetriebnahme Test und Datenkommunikation mit der Mikrocontrollerlosung erfolgen ber das myAVR Controlcenter Dabei wird ber die Schaltfl che Start das Testboard mit der n tigen Betriebsspannung versorgt und der Controller ge startet Der Datenaustausch mit dem myAVR Board ist m glich wenn das Null Modemkabel oder USB Kabel an Rechner und Testboard angeschlossen ist sowie die Mikrocontrollerl sung daf r vorgesehen ist Es k nnen Texte und Bytes vorzeichenlose ganzzahlige Werte bis 255 an das Board gesendet und Text empfangen werden Die empfangenen D
59. Benutzerhandbuch SiSy AVR Seite 6 84 Vorbereitung 2 Vorbereitung In diesem Kapitel werden Sie Uber notwendige Schritte zur Beschaffung Installation Konfiguration und Aufbau einer funktionsfahigen Entwicklungsumgebung informiert 2 1 Beschaffung und Installation der Software F r die Bearbeitung der bungen und Aufgaben steht Ihnen die AVR Entwicklungs umgebung SiSy AVR zur Verf gung Sollten Sie SiSy AVR bereits installiert haben k nnen Sie dieses Kapitel berspringen 2 1 1 Voraussetzungen F r die Installation ben tigen Sie einen Freischaltcode Lizenzangaben Falls Sie diese Angaben nicht mit der Software erhalten haben k nnen Sie diese online abrufen von www myAVR de Service oder fordern Sie diese beim Hersteller an Tel 03585 470222 Fax 03585 470233 e Mail hotline myAVR de Au erdem sollten Sie pr fen ob die Systemvoraussetzungen f r die Installation und die Arbeit mit Sisy AVR gew hrleistet sind e fur das Board 1 x einen PC Arbeitsplatz oder Notebook mit LPT Port und mindes tens einem COM Port f r das Board 2 x einen PC Arbeitsplatz oder Notebook mit USB Anschluss Prozessor ab 800 MHz 330 MB freier Speicherplatz auf der Festplatte Windows 2000 XP oder 2003 mindestens 64 MB RAM empfohlen 256 MB RAM Microsoft Internet Explorer ab Version 6 0 Maus oder hnliches Zeigeger t Assembler Entwicklungsumgebung in SiSy bereits integriert myAVR Board LPT Verl ngerung Board 1 x bzw USB Kabel
60. Beschreibung Abbildung 12 Anlegen des Objektes PAP und Einstellungen Programm Aufgabel hex gt gt ffnen 3 6864 MHz Seite 45 84 Laser amp Co Solutions GmbH Benutzerhandbuch SiSy AVR Seite 46 84 Entwicklung eines Programmablaufplans mit SiSy AVR Der nachste Schritt ist das Aufstellen des Programmab laufplanes Dazu muss das Diagramm unter dem Symbol ge ffnet werden W hlen Sie rechte Maustaste nach un Definieren in neuem Fenster ffnen ten ffnen um n dieses Diag ramm zu gelangen f Aufa Hierarchie ffnen H L schen Layersteuerung d Jo Jo gt Marker b Objekttyp Verkn pfung mit Datei gt Tipps Abbildung 13 PAP offnen 9 3 Aufgabenstellung Es ist im ersten Schritt eine einfache Mikrocontroller Anwendung mit der Technik des Programmablaufplanes zu entwerfen und in der Sprache Assembler zu realisieren Aufgabe Entwickeln Sie eine Mikrocontrollerl sung bei der ein Taster eine LED schaltet Schaltung Port B O Taster 1 Port B 1 LED 9 4 Grundstruktur laden Wenn ein Diagramm leer ist bietet SiSy typische Vorla gen zum Importieren an siehe Abbildung 15 Diese k n nen dann weiterbearbeitet werden W hlen Sie die Dia grammvorlage Mainprogramm Grundger st Abbildung 14 zeigt den PAP zu diesem Grundger st Diagrammvorlagen Grundgerust Mainprogramm Grundgerust Mainprogramm mit INT Routine EGG 201 n Outs In Out
61. Board 2 x Null Modemkabel bei Board 1 x Bei Bedarf z B autonomer Einsatz des myAVR Boards geeignete Spannungsver sorgung z B 9 V Batterie stabilisiertes 9 V Netzteil Des Weiteren sollten Sie Grundkenntnisse in einer beliebigen Programmiersprache be sitzen Die Installation und der erste Start m ssen mit Administratorrechten durchge f hrt werden 2 1 2 Setup von der SiSy CD Legen Sie die CD SiSy in Ihr CD ROM Laufwerk ein Falls die CD nicht automatisch startet w hlen Sie bitte im Explorer das CD ROM Laufwerk und starten die exe Datel aus der Wurzel des Laufwerks Auf dem Startbildschirm stehen Schaltfl chen zur Verf gung zum Installieren der Soft ware und zum ffnen von Begleitdokumenten F r die Installation der Software bet tigen Sie die entsprechende Schaltfl che In Ab h ngigkeit Ihrer Rechnerkonfiguration kann der Start des Setup Programms einige Se kunden dauern Das gestartete Setup Programm wird Sie durch die weitere Installation f hren Benutzerhandbuch SiSy AVR Laser amp Co Solutions GmbH Vorbereitung Seite 7 84 Beginn der Installation Bet tigen Sie im Setup Programm die Schaltfl che Weiter Sie erhalten die Lizenz bestimmungen Bitte lesen Sie diese sorgfaltig durch Wenn Sie sich mit diesen Be stimmungen einverstanden erklaren bestatigen Sie die Lizenzbestimmungen Sie werden im folgenden Dialog dazu aufgefordert Ihre Lizenzangaben einzugeben Lizenzeingabe x Bitte ge
62. CK 0 ms CKSEL 0110 SUT 00 C Ext RC Ose 0 9 MHz 3 0 MHz Startup time 18 CK 4 ms CKSEL 0110 SUT 01 C Ext RC Ose 0 9 MHz 3 0 MHz Startup time 18 CK 64 ms CKSEL 01 10 SUT 10 C Ext RC Osc 0 9 MHz 3 0 MHz Start up time 6 CK 4 ms CKSEL 0110 SUT 11 C Ext RC Osc 3 0 MHz 8 0 MHz Startup time 18 CK 0 ms CKSEL 0111 SUT 00 C Ext RC Ose 3 0 MHz 8 0 MHz Startup time 18 CK 4 ms CKSEL 0111 SUT 01 C Ext RC Ose 3 0 MHz 8 0 MHz Start up time 18 CK 64 ms CKSEL 0111 SUT 10 C Ext RC Ose 3 0 MHz 8 0 MHz Startup time 6 CK 4 ms CKSEL 0111 SUT 11 4 Die Optionsseite wieder zur ckscrollen und die ver nderten Fusebits berpr fen und Lock Bits Fuse amp Lock Bits f r ATmega8 neu einlesen setzen q Ar Mung das ver ndern der Fuse Bits kann dazu f hren dass der verlassen Prozessor nicht mehr programmierbar bzw berhaupt erreichbar wird DOD OOROO DRORRoOn E In a a C Brown out detection level at VCC 4 0 V BODLEVEL 0 Brown out detection level at VCC 2 7 V BODLEVEL 1 l Brown out detection enabled BODEN 0 C Ext Clock Startup time 6 CK 0 ms CKSEL 0000 SUT 00 C Ext Clock Startup time 6 CK 4 ms CKSEL 0000 SUT D1 C Ext Clock Startup time 6 CK 64 ms CKSEL 0000 SUT 1 0 C Int RC Osc 1 MHz Startup time 6 CK 0 ms CKSEL 0001 SUT 00 C Int RC Osc 1 MHz Startup time 6 CK 4 ms CKSEL 0001 SUT 01 C Int RC Osc 1 MHz Startup time 6
63. Datei Ohne Parameter startet das Programm im Dialog Modus Hier kann beliebig zwischen den Modi hin und hergeschaltet werden c C Dokumente und Einstellungen Desktop myavr_progswitch exe of x myAUR ProgSwitch Version 1 1 wuu myAlR de l mySmartlSB an COM4 gefunden Bitte Modus eingeben d Daten Modus p Frogrammier Modus ug Quiet Modus Laser amp Co Solutions GmbH Rev 5 Stand 11 06 Technische Beschreibung mySmartUSB Seite 5 5 DIP Schalter und Betriebsmodi Standardeinstellung der DIP Schalter 4 I N i f S Soft Mode per Software einstellbar ajojo z o Programmiermodus AVR910 rot gr n gr n gt o Datenmodus UART USB Bridge o stumm Hinweis Die beschrieben Modi funktionieren nur im Zusammenhang mit dem myAVR Board 2 Fur Fremdsysteme kann mySmartUSB als AVR 910 kompatibler Programmer verwendet werden AVR ISP Anschluss 10polig LED Statusanzeige Programmiermodus AVR910 o rote LED ON i NIN _ o gr ne LEDs flackern bei Ez Daten bertragung rot gr n gr n Programmierung Hoa 4321 AUR ISP 10 Ci O Boo O Datenmodus UART USB Bridge for grin grin o grune LEDs ON o rote LED flackert bei Datenubertragung AUR ISP 18 stumm o alle LEDs OFF AUR ISP 18 Laser amp Co Solutions GmbH Rev 5 Stand 11 06 Technische Beschreibung mySmartUSB Seite 6 6 RESET des Adapters N Nr DIP 4 kurz ON OFF schalten TE Bi
64. Diagramms k nnen in anderen Diagrammen wiederverwendet wer den Durch das Hineinziehen aus dem Navigator oder aus einem offenen Diagramm wird eine Referenz vom Originalobjekt erzeugt Die Referenz ist nur ein Verweis auf das Original alle angezeigten Informationen wie Kurzname Langname und Beschreibung werden vom Original bezogen Somit sind die Informationen in allen Referenzen eines Objektes identisch mit dem Original Dadurch werden nderungen dieser Informationen automatisch auf alle Referenzen bertragen Weiterhin ist es m glich diese Referenzie rung ber einen sogenannten Report auszuwerten Kanten Kanten sind Verbindungselemente zwischen Objekten Eine Verbindung wird durch Ziehen mit der Maus linke Maustaste vom Verteiler des selektierten Objektes auf das gew nschte Objekt erreicht Nach Loslassen der Maustaste und Pr fung der Verbin dungszul ssigkeit durch SiSy erscheint ein Kanten Dialog in dem das Element definiert und individuelle Einstellungen getroffen werden k nnen Hinweis Bei Verbindung mit gehaltener STRG Taste wird die Pr fung vernachl ssigt und eine Zwangsverbindung erreicht Rahmen Ein Rahmen fasst ausgew hlte Objekte des Diagramms optisch zusammen Er besitzt einen Kurz sowie Langnamen und eine Objektbeschreibung kann also als Objekt auf gefasst werden Hinweis Inhalte von Rahmen sind in Reports oder einer Dokumentengenerierung auswertbar Benutzerhandbuch SiSy AVR Laser amp Co Solutions
65. Dipl Ing Toralf Riedel Dipl Ing Pad Alexander Huwaldt Benutzerhandbuch SiSy AVR Mikrocontroller g ltig ab SiSy Version 2 17 j E Die Informationen in diesem Produkt werden ohne R cksicht auf einen eventuellen Patentschutz ver ffentlicht Warennamen werden ohne Gew hrleistung der freien Verwendbarkeit benutzt Bei der Zusammenstellung von Texten und Abbildungen wurde mit gr ter Sorgfalt vorgegangen Trotzdem k nnen Fehler nicht vollst ndig ausgeschlossen werden Die Autoren k nnen f r fehlerhafte Angaben und deren Folgen weder eine juristische Verantwortung noch irgendeine Haftung bernehmen F r Verbesserungsvorschl ge und Hinweise auf Fehler sind die Autoren dankbar Alle Rechte vorbehalten auch die der fotomechanischen Wiedergabe und der Speicherung in elektronischen Medien Die gewerbliche Nutzung der in diesem Produkt gezeigten Modelle und Arbeiten ist nicht zul ssig Fast alle Hardware und Softwarebezeichnungen die in diesem Dokument erw hnt werden sind gleichzeitig auch eingetragene Warenzeichen und sollten als solche betrachtet werden 3 Auflage Juni 2006 Laser amp Co Solutions GmbH www laser co de www myavr de info myavr de de Tel 49 0 3585 470 222 Fax 49 0 3585 470 233 Benutzerhandbuch SiSy AVR Laser amp Co Solutions GmbH Inhalt Seite 3 84 Inhalt 1 Ei E ee ee ee ee ee 5 2 NODEN ee ee ee ee 6 2 1 Beschaffung und Installation der Software ccccc
66. E Settings Windows Help Chip Clock 3 686400 EA MH TT amp A fz telal E p shift F2 a ee Navigator Code Templates BE K SE Start 0 h End FFF h Start 0 h End FF h s Chip Programmer ShiFE F4 UT m CodeVision amp aA a uae ShiFE FS A Project test Checksum EOOOR Checksum FEOOR ao EA Motes F Chip Programming Option u testi c a FLASH Lock Bits W Program Fuse Bitfs FE Other Files i1 Mo Protection l CKSEL1 0 Programming disabled z A C 3UTO 0 TL suT1 0 C BODEN 0 Boot Lock Bit Boot Lock Bit 1 z a a B01 1 B02 1 B11 1 B121 paote gt 0 0 B0 0 B02 1 C 811 0812 1 M BOOTS21 0 EESAVE 0 B0 0B02 0 B11 0B12 0 CKOPT 0 E BOl 1 Boz 0 B11 1 B12 0 ee Programming and Verification disabled IM Check Signature Check Erasure Preserve EEPROM WM Verify Laser amp Co Solutions GmbH Rev 5 Stand 11 06 Technische Beschreibung mySmartUSB Seite 14 14 Sicherheitshinweise Bei vorschriftsmaBigem Anschluss und Betrieb treten keine lebensgefahrlichen Spannun gen auf Beachten Sie trotzdem die Vorschriften die beim Betrieb elektrischer Ger te und Anlagen G ltigkeit haben Wir versichern dass die Leiterplatte durch den Hersteller getes tet wurde F r fehlerhaften und oder vorschriftswidrigen Einsatz des Board bernehmen wir keine Garantie Zum Anschluss des Boards an den PC ist eine Standard USB Kabel A B zu verwenden Der Einsatz anderer Kabel f hrt zu Fe
67. ESSOM nn anne 20 S SoftWare ee 15 SDE DOT een 19 43 Sprunganweisung 2eceeeeeeeeees 70 SMA M eerie nakna EE EA 124 T WAT Ol ee 105 VO Siehe Frequenz U UART ran 113 157 173 URTETDIOGLANIN ee 46 Unterprogramme 79 165 171 Unterprogrammtechnik 79 V Variablennamen f r Register 120 von Neumann Architektur 7 W Watchdog Timer 151 Z Z ANIENIOFNIAl Seen 40 ZEN enge Siehe Timer myAVR Lehrbuch Mikrocontrollerprogrammierung
68. Element kann ganz normal bearbeitet wer den In Abbildung 18 und Abbildung 19 sind beide Varianten des Dialoges Definieren zu sehen Die zweite M glichkeit besteht beim Selektieren von Elementen ber den Quellcodeedi tor oberhalb des Diagrammfensters vgl Abbildung 21 und Abbildung 20 D027 Initalisierung STACK 0028 0034 Konfiguration PORTB BEitX OUT 0029 ldi ri 1loS RAMEND 0045 0030 out SPL r16 ON o Sone ee Coa 0031 ldi r16 hiS RAMEND A ee Dee 0032 out SPH ri 0039 chi DDRE 1 Bit O24 2 9549 5 6 9 0033 0040 shi PORTE 1 Bit 0 1 2 3 4 5 6 7 0034 0041 Abbildung 20 Quellcodeeingabe PAP Abbildung 21 Quellcodefenster im PAP Geben Sie die gezeigten Quellcodes in die Objekte ein Bedingungen haben spezielle Vorlagen die eine Codegenerierung bei Ubersichtlichem Programma blaufplan vereinfachen Jede Bedingungsvorlage ist so konstruiert dass eine JA NEIN Entscheidung erzeugt werden kann Findet der Codegenerator das Bedingung A Schl sselwort JA an einer der folgenden Ver Cote Vorlagen Deinkion Skip Repot bindungen setzt er diese in eine Sprungan weisung breq um Das Schl sselwort NEIN wird in borne umgewandelt Alternativ k nnen l statt dieser Schl sselworte auch der Sprung I Conguntes HULI befehl selber an eine der Kanten geschrie ben werden breq brne brge brio usw Taster an PortE s gedruckt Ze
69. Funktion wird beim Betatigen der Schaltflache START STOPP die rechnerseitige Spannungsversorgung des myAVR Boards und die RESET Leitung angesteuert bi CIS Imyavr Board 1 anLPT1 myAVR Board 1 an LPT2 myAVR Board 1 an LPT3 PER Bei einer externen Spannungsversorgung zum Beispiel durch einen 9V Block oder das myAVR Netzteil hat die Power Control Funktion keine Wirkung auf die Boardspannung In diesem Fall bezieht sich die Wirkung ausschlie lich auf die RESET Leitung um den Controller zu starten bzw zu stoppen Beachten Sie dass beim myAVR Board 1 LPT die Spannungsversorgung ber den LPT Port f r eine serielle Kommunikation und den Betrieb des LC Displays nicht ausreicht daf r wird die Verwendung eines myAVR Netz teils empfohlen 6 3 Kommunikation mit dem myAVR Board 6 3 1 Grundlagen LPT USB Variante Die zwei myAVR Boardversionen unterscheiden sich grunds tzlich in der technischen Realisierung der seriellen Kommunikation Das myAVR Board 1 LPT verf gt ber eine gesonderte RS232 Schnittstelle COM Port und wird ber ein Nullmodemkabel an ei nen physisch vorhandenen COM Anschluss des PC angeschlossen Das myAVR Board 2 USB verf gt ber den USB Programmer mySmartUSB Dieser stellt gleichzeitig einen virtuellen COM Port f r die Kommunikation zur Verf gung USB Kabel A B Laser amp Co Solutions GmbH Benutzerhandbuch SiSy AVR Seite 30 84 Das myAVR Controlcenter 6
70. GmbH Leseprobe Mikrocontrollerlosung testen Um das Programm zu testen ist es n tig den Port D mit den Ausgabegeraten LED zu verbinden e Ziehen Sie ggf die Batterie das Netzteil und das Programmierkabel ab e Verbinden Sie die LEDs mit dem Prozessorport D entsprechend dem folgen den Schema Nutzen Sie die Patchkabel e Pr fen Sie die Verbindungen und schlie en Sie die Batterie das Netzteil oder das Pro grammierkabel wieder an und nehmen die Mikrocontrollerl sung in Betrieb e Es sind jetzt alle LED s an e Gratulation Das ist Ihre erste Mikrocontrollerlosung mit dem myAVR Board ihi O O 000000 000000 0000000 Hh myAVR myAVYR Gontrolcenter vzo seriele Verbind er Build 696 Abbildung myAVR Controlcenter Laser amp Co Solutions GmbH myAVR Lehrbuch Mikrocontrollerprogrammierung Leseprobe myAVR Lehrbuch Mikrocontrollerprogrammierung Laser amp Co Solutions GmbH Leseprobe 5 4 Das seltsame Hallo Welt eines Mikrocontrollers Der Anfang aller Programmierung ist das ber hmte Hallo Welt auf dem Bild schirm Die Zielstellung dieses Programms ist es den minimalen Grundaufbau ei nes Programms und den Erstellungszyklus Programmieren Kompilieren Linken und Starten Testen des Programms zu erlernen Dabei soll nat rlich etwas zu se hen sein Also beginnt man mit einer einfachen Textausgabe auf dem Bildschirm Mikrocontrollerprogramme sind aber auf dem PC nicht ausf hrba
71. Idi r16 hiB RAMEND Konstante RAMEND Adresse Ende SRAM out SPH r16 Initialize Stackpointer mit RAMEND HIGH sbi DDRB O konfiguriere Port B O 1 auf Ausgang mainloop Idi r16 Ob00000001 Ausgabedaten in allgemeines Register out PORTB r16 Ausgabe der Daten rjmp mainloop Laser amp Co Solutions GmbH myAVR Lehrbuch Mikrocontrollerprogrammierung Leseprobe bung alle Lichter an L sen Sie die folgende Aufgabe selbst ndig Es sollen die rote gelbe und gr ne LED eingeschaltet werden Legen Sie dazu ein neues kleines Programm in Ih rem Projekt an Gehen Sie wie oben beschrieben vor und protokollieren Sie die bung aay Foo Ve g si u us 50 Qi re a k r Z ww Din 4 on fret 2O00e at n 4 t z x i p gt L Ss pn e 53 4 Dm Oderer is i d 200000 i mat zul E 00 oog o oO si Rote LED ON gt Gelbe LED ON o00000 000000 l E 2 2 2 ee ee ve O O se ee Se Se eS eS eS eS eS S EB RER RR LE RL RE DL RR LE EUR myAVR Lehrbuch Mikrocontrollerprogrammierung Laser amp Co Solutions GmbH Leseprobe Sachwortverzeichnis A AIQOritNMUS c ccccseeeceeeeeeeeneees 70 Analog Digital Wandler 137 177 Analoge Signale ccssscssecee 21 Applikationen ccccccseesseeeseees 14 Assemblerbefehlszeile 48 AVR Controlcenter
72. LEDI PB7 XTAL2 TOSC2 PD6 AINO T 33pF 45V PD7 AIN1 af T2K E PBO ICP T 99 R2 LED2 PB1 OC1A T ee ES PB2 SS OC1B 1E 1 2K We Oo Te PB3 MOSVOC2 A PB4 MISO PBS SCK 99 R3 LEDS 72k Ww Der USB Programmer ist in SMD Bauweise ausgefuhrt Alle SMD Bauelemente sind bestuckt Der Programmer wird als Tochterplatine uber zwei Buchsenleisten auf dem myAVR Board integriert Rev 1 Stand 02 2006 Laser amp Co Solutions GmbH Technische Beschreibung myAVR Board 2 0 Layout Bestuckungsplan pin2 1 819 O Ho i Speaker 188nF OFO 90 O magg Oa JO n2109 oL 1009 PIN6 1 000000 oe 3 20 000000 0000900 ALi ee Laser amp Co Solutions GmbH STROMSTECKER 47 725V Seite 4 5 Rev 1 Stand 02 2006 Technische Beschreibung myAVR Board 2 0 USB Seite 5 5 Stuckliste Material Benennung Bestellnummer Stuckzahl Prozessor ATmegasgL 8PI 1 Spannungsregler UA 7806 1 Gleichrichter B80C800DIP 1 Diode 1A 1N 4001 gr ne LED 2mA gelbe LED 2mA rote LED 2mA LED 3MM 2MA GN LED 3MM 2MA GE LED 3MM 2MA RT nl Kondensator 100nF FOLIE MKS 2 100N 4 Kondensator 47uF ELKO RAD 47 25V 2 Kondensator 33pF KERKO 33P 2 Widerstand 1 2 KOhm METALL 1 20K 4 Widerstand 10 KOhm METALL 10K 1 Drosselspule 10uF SMCC 0 10u 1 Potentiometer RT 10 L 47K 2 Miniaturtaster TASTER 3301B 2 IC Sockel GS 28 1 Sockelleiste SPL 20 2 5 Piezoschallwandler SUMMER EPM121 1 Pri
73. Laser amp Co Solutions GmbH Leseprobe Titel Programmvorlage f r myAVR Board Prozessor ATmega8 mit 3 6864 MHz Schaltung TPE Datum 15 03 2004 Autor Dipl Ing P d Alexander Huwaldt include avr h Reset and Interruptvectoren 5 r Beschreibung VN begin rjmp main A POWER ON RESET reti 2 Int0 Interrupt reti Int1 Interrupt reti 4 TC2 Compare Match reti S TC2 Overflow reti 6 TC1 Capture reti 7 TC1 Compare Match A reti 8 TC1 Compare Match B reti 9 TC1 Overflow reti 10 TCO Overflow reti al SPI STC Serial Transfer Complete reti 12 UART Rx Complete reti 13 UART Data Register Empty reti 14 UART Tx Complete reti 15 ADC Conversion Complete reti 16 EEPROM Ready reti 17 Analog Comparator reti 18 TWI I 2C Serial Interface reti 19 Store Program Memory Ready Start Power ON Reset main ldi rl 108 RAMEND out SPL r16 Init Stackpointer LO ldi r16 hi8 RAMEND out SPH r16 Hier den Init Code eintragen mainloop wdr Hier den Quellcode eintragen rjmp mainloop Abbildung Grundger st AVR Assembler Programm Quellcode in Assembler erstellen Die Ausgabeger te LED sollen vom Prozessorport D gesteuert werden Die Reali sierung erfolgt ber Bits im Register R16 Geben Sie folgenden Quellcode ein bzw erg nzen Sie die Programmvorlage a a a aaa ea m ve Titel bung alle Lichter an l SS E Prozessor ATmega8 3 6864 MHz Sprache
74. Main Funktion und erg nzen im Eingabefeld Deklarationen das ISR Makro Klassendiapramm Definition Main Funktion Erweiterte Einstellungen Extras AVR Timer T inner JISR TIMERO_OVF_vect Beispiel include lt io h gt Instanz der interruptfahigen Klasse anlegen Timer TimerO Interuptmakro mit aufruf der betreffenden Methode ISR TIMERO_OVF_vect TimerO overflow In der Interrupt Service Routine rufen Sie einfach die Methode der betreffenden Klasse auf Laser amp Co Solutions GmbH Benutzerhandbuch SiSy AVR Seite 76 84 Einstellungen Fuse und Lock Bits mit SiSy 12 Einstellungen Fuse und Lock Bits mit SiSy 12 1 Einleitung Fuse und Lockbits engl fuse Sicherung engl lock Schloss nennt man die Bits in bestimmten Registern des AVR zum Konfigurieren des Controllers Die Fusebits mus sen ber ein entsprechendes Interface Software eingestellt werden Der normale Pro grammiermodus ver ndert die Fuse und Lockbits nicht Je nach Controllertyp sind un terschiedliche Fuse und Lockbits verf gbar Die verbindliche und exakte Beschreibung findet man im jeweiligen Datenblatt des Controllers Das falsche Setzen der Fuse und Lockbits z hlt zu den h ufigsten Problemen bei der Programmierung von AVR Controllern daher sollte hier mit Umsicht vorgegangen werden Das Ver ndern der Fu sebits sollte man nicht als Anf nger vornehmen Das ge ffnete Datenblatt zur Uber
75. Mio Befehle pro Sekunde brig 1 MIPS Million Instructions per Second Dieser Sachverhalt trifft besonders auf Prozessoren zu die eine ClSC Architektur besitzen Complex Instruction Set Computer Betrachten wir dazu im Gegensatz eine RISC Architektur Reduced Instruction Set Computer finden wir hier kaum interne Taktteilungen und f r die Ausf hrung eines Befehls wird oft nur ein Taktzyklus ben tigt Ein moderner RISC Mikrocontroller der ungeteilt mit 8 MHz arbeitet und f r viele Befehle nur ei nen Prozessorzyklus braucht schafft gegen ber dem mit 24 MHz getakteten CISC Controller fast 8 Mio Befehle pro Sekunde 8 MIPS Ein RISC Prozessor hat da f r einen geringeren Befehlssatz Komplexe Befehle wie eine Division m ssen deshalb algorithmisch umgesetzt werden Wozu ist ein Mikrocontroller gut Welche Aufgaben Mikrocontroller haben und warum sie eine zunehmende Bedeu tung erlangen soll folgender Einsatzfall verdeutlichen Uns allen sind Detektoren unterschiedlichster Art bekannt Am auff lligsten sind die Portalmetalldetektoren in Flugh fen oder wichtigen ffentlichen Geb uden aber auch der station re Blitzer um die Ecke verf gt als Sensor ber einen Metalldetektor in der Fahrbahn Ein anderer Anwendungsfall ist zum Beispiel die Lebensmittelindustrie Es ist sehr wichtig f r den Hersteller von Backmischungen dass keine N gel Schrauben Metallsplitter oder hnliches w hrend des Produktionsprozesses in das Nahrungs mitt
76. NT _ TWEA TWSTA TWSTO TWWC TWEN TWE 0x005F 0x34 0x54 MCUCSR _ WDRE BORF EXTRF PORF 0x0060 0x33 0x53 TCCRO l Ol 1 0802 cso csoo 0x32 0x52 TCNTO Timer CounterO 8 Bits 0x31 0x51 OSCCAL Oscillator Calibration Register Festwertspeicher 1024 Byte SRAM 0x30 0x50 SFIOR o ACME PUD PSR2 PSR10 0x2E 0x4E TCCR1B ICNC1 ICESI WGM13_ WGMi2 Cs12 Cs11 CS10 DUE Interruptvektoren Timer Counter1 Output Compare Register B High byte 1 0x000 RESET Eaieinal Pin Powerd MESELBIOWNE OUl est ae alee ee 0x25 0x45 TCCR2 FOC2 WGM20 COM21 COM20 WGM21 CS22 CS21 CS20 2 0x001 INTO External Interrupt Request 0 0x24 0x44 TCNT2 Timer Counter2 8 Bits 3 0x002 INTI External Interrupt Request 1 4 0x003 TIMER2 COMP Timer Counter2 Compare Match 0x22 0x42 ASSR AS2 TCN2UB OCR2UB TCR2UB 5 0x004 TIMER2 OVF Timer Counter2 Overflow 0x21 0x41 WDTCR WDCE WDE WDP2 WDP1 WDPO 6 0x005 TIMER1 CAPT Timer Counter1 Capture Event oxo oao He et mer un ur ale RSEL se a 7 0x006 TIMER1 COMPA Timer Counter1 Compare MatchA 8 0x007 TIMER1 COMPB Timer Counter1 Compare MatchB Ox1F 0x3F_ EEARH Se ee ee N ee ei ee 9 0x008 TIMER1 OVE Timer Counter1 Overflow 10 0x009 TIMERO OVE C E Overlion EEPROM Dala Degi
77. O B O Ausgang cbi PORTB 0 B O LED aus een DDRD 2 D 2 Eingang sbi PORTD 2 7 Dez PullUp pop ELG ret rcall inic mainloop sbic PIND 2 rymp led_aus led_an sbi PORTB 0 rimo mainloop led_aus cpi PORTB 0 Imp mainloop include init s Benutzerhandbuch SiSy AVR Laser amp Co Solutions GmbH Entwicklung eines gro en Programms mit SiSy AVR Seite 43 84 8 6 bersetzen Brennen und Test Zum bersetzen Brennen und Testen w hlen Sie im Aktionsmen Ampelm nnchen den entsprechenden Men punkt Im Ausgabefenster erscheint das Protokoll der ausge f hrten Aktionen N Fi 4 K pee E Aktionsmen 1 gt gt gt Erstellen amp Ausfuhren 42 8 13 ber das myAVR Controlcenter k nnen Sie das myAVR Board Starten und Stoppen um die Mikrocontrollerl sung zu testen berpr fen Sie gegebenenfalls die Einstellungen entsprechend Absatz 6 Das myAVR Controlcenter mYAVre Cortrolesriter VW serielle Verbindung com4 9600 N 8 1 aten Senden Daten Empfangen Text Zahl Oszi Hervorgehobener Text 8 7 Interrupt Service Routine ISR im gro en Programm Interrupt Service Routinen im weiteren ISR sind besondere Formen von Unterpro grammen Diese werden von einer Interruptquelle des Mikrocontrollers Timer ADC UART usw bei entsprechenden Ereignissen automatisch an beliebiger Stelle im Pro grammfluss aufgerufen Unterbrechung engl Interrupt Es ist n tig die Interruptquelle entsp
78. OM Ready reti 17 Analog Comparator reti gt 18 TWI I2C Serial Interface reti 19 Store Program Memory Redy Start Power ON Reset main ldi rie 108 RAMEND out SPL 16 Init Stackpointer LO ldi ri hi8 RAMEND OUT Sen 216 Init Stackpointer HI ldi rie ObLl1111111 PORT D auf Ausgang Sur DDRD y rile idi r16 0b00000000 Alle Bits auf LOW out PORTD rile ldi r17 0600000000 rai r18 Ob00000001 1 Lauf lichtr Bie Bela Nei nen A nah neuen ai nee an raten nun nee neuen nn u le ne nn mainloop wdr Iing r16 Wait brne skip ENC ri Wait brne skip rcall upl Dauflichte Ski rjmp mainloop 7 upi rol rie Bit Rotal sn out PORTD rig rert Laser amp Co Solutions GmbH Benutzerhandbuch SiSy AVR Seite 26 84 Entwicklung eines kleinen Programms mit SiSy AVR Compilieren und Linken Der eingegebene Quellcode muss nun in Maschinencode fur den AVR Prozessor Uber setzt werden Wahlen Sie dazu die Schaltfl chen Kompilieren und Linken Bei fehler freier bersetzung liegt das Programm als Lauflicht hex vor und kann auf den FLASH Programmspeicher des Prozessors gebrannt werden Hardware anschlieBen und brennen Das myAVR Board verf gt ber eine ISP In System Programming Schnittstelle Der Prozessor muss also nicht f r die Programmierung aus dem System entfernt werden um ihn in einem gesonderten Programmierger t zu brennen sondern kann im myAVR Board direkt progra
79. OSI Pin 6 GND Pin2 VCC Pin 7 SCK Pin 3 GND Pin 8 GND Pin 4 GND Pin9 MISO Pin 5 RESET Pin 10 GND Programmierkabe 10polig 1 1 Buchse Buchse 10poliger Standard Atmel ISP Anschluss Pin10 Pin 9 Pin 8 Pin 7 Pin 6 Pin 5 Pin 4 Pin 3 Pin 2 Pin 1 Mechanische Daten Abma e L x B x H Gewicht Rasterma Leiterplattenmateri Flachbandkabel Masse VCC f r Board schaltbar maximale Belastung USB Port beachten RxD PC USB UART Bridge TxD PC USB UART Bridge Reset fur Board SPI MOSI SPI MISO SPI SCK SPI SS Reset f r mySmartUSB nicht benutzen offen lassen ca 60 mm x 30 mm x 12 mm ca 12g 2 04 mm al FR8 1 5 mm Dicke 0 35 um Cu Auflage zweiseitig Lotstopp maske verzinnt durchkontaktiert Laser amp Co Solutions GmbH Rev 5 Stand 11 06 Technische Beschreibung mySmartUSB Seite 3 3 Funktionsschema aoe myAVR o gt BRE rot grun grun TWI UART CP2182 USB Anschluss en gr i ISP Port Interface zum myAVR Board 2 USB Anwendungsbeispiele auf dem myAVR Board als COM USB Adapter und auf dem myMultiProg USB f r weitere Module Wale wn Na 8 Ce lal a mySmarUSB RESET _ IE mySmartUSB ee gt USB Anschluss A zum Verbinden mit dem PC oder Notebook 7 am verscenhleden Sockel f r AVR 8 14 20 28 40 Pin USB Port Ay yy yy y mySmartUSB Laser amp Co Solutions GmbH Rev 5 Stand 1
80. Qo q ControlCenter INYA Gortrolesrter IV serielle Verbindung com4 9600 N 8 1 Daten Senden Anschluss ber USB oder i Daten Empfangen Text Zahl Oszi Herargenobener Text Laser amp Co Solutions GmbH Benutzerhandbuch SiSy AVR Seite 64 84 Entwicklung eines Struktogramms mit SiSy AVR 10 6 Funktionen Unterprogramme im Struktogramm Funktionen sind in der Sprache C das wichtigste Instrument zur Ubersichtlichen und wartungsfreundlichen Gestaltung von Programmen Es gibt Standardfunktionen wie itoa oder sprintf die durch die Verwendung von Bibliotheken wichtige immer wie der ben tigte Algorithmen zur Verf gung stellen Fur den C Programmierer ist die Ent wicklung eigener Funktionen genauso wichtig wie die Verwendung von Bibliotheksfunk tionen Um eine Funktion im Struktogramm zu entwerfen gehen Sie wie folgt vor Erweiterung des Beispiels durch die Funktion void init Auslagern der Initialisie rung 1 Selektieren Sie das Modul mit der Maus oder den Cursortasten Modull gt DDRB Ox02 B O IN B 1 OUT PORTE Ox01 PullUp WHILE true I PINB amp U xUL LED OFF FORTE UxUl 2 F gen Sie durch Bet tigen der Taste B Begin Funktion eine neue Funktion ein Mit ENTER oder Doppelklick auf der Funktion k nnen Sie Name Typ und Parameter bearbeiten Modull oy ge yee oie i oe ale 131er Ur Cf R ckgabevar Typ Kurzname Langname aus main Hauptprogramm
81. S st Laser amp Co Solutions GmbH Revision 3 Stand 06 06 LCD Add On 2 2 Seite 4 4 Displaydaten Contents y 64 5 x 148 Number of characters characters lt l nes Character matrix WH Character size WxH 2 95 x 5 55 Dot size WxH 0 55 x 0 65 Dot pitch WH 0 60 x 0 70 80 00 0 50 719 20 0 50 LOW POWER BACKLIGHT A 0 50 10 90 050 5 90 0 50 2 50 0 5 ur E3 250 05 75 00 0 30 AdS Seas PITCH2 54x15 38 10 1 00 16PL 250 HEH T i le LL POO A a amp 5 4 N En un 250 4PL 4 4 32 HHHH 11 9020 50 56 20 3 00 MAX LP BACKLIGHT 1754050 6450 030 9 00 MAX 8 50 MAX 3152050 73 100 30 Mika ij ALALIO B or EQUIV i u ONTROLLER KS00 BACKLIGHT Description EE N N M O ZZ Supply voltage for logic a vo pt voltage for LCD u H Data L Instruction code 5 RW HL H Readmode L Write mode o p o e e UUU OO Bl a D J O Data bit 2 ie sk Back ight cathode Laser amp Co Solutions GmbH Revision 3 Stand 06 06 LCD Add On 2 2 Seite 5 5 Displaykommandos Execution Time comma ms ww on pee vs oo pe oe oei opa mm ek fea a L LA A LA LA A A LA a Me 17 t EE aco SET CG RAM CG RAM Data is sent and ADDRESS received after this setting SET DD RAM DD RAM Data is sent and ADDRESS received after thus setting both DD amp CG RAM address WRITEDATA H
82. SiSy bietet neben der direkten Hilfe bei der Eingabe von Schl sselworten auch allge meine Hilfen an Hilfe Suchen nach Hilfe zur Hilfe Tagestipp anzeigen m k Board AVR Assembler AYR CIC H ber SiSy Support Analyse In SiSy AVR sind das zum Beispiel die allgemeine Hilfe zum Modellierungstool SiSy und die Hilfen zum myAVR Board dem AVR Assembler und AVR C Die Hilfedateien verfugen Uber einen Index sowie die Moglichkeit der Volltextsuche E i Anweisung Syntax Beispiel kurre Erlawterung ad add 124 25 Aa two Register Rd RR Thersicht Befehlssatz und Add with Carry two Registers F _ ay ui uch ZCHVM Rechnerarchitektur f r AVR adr ai r24 DFF Aad kireks te Vora Pai Fall N Aikrocontroller sub sub rid 25 Subtract two Registers Pid gt Ad J ta Boni Siib Subi rA Chole Suitract Constard ron Regstei FR Subtract immediate fram Yaon F eine shige r24 Dr ICMVS Subtract wih Carry ta Regati zbe she raras ZCHVM gt D Subtract with Carry Gorsstant tr abi sro ICHVN ste 1240001 Sat Bis in Register Fa Fia w chr 24 DTi Clear Bibi a in Register Rod Fo inc 124 Incresmar Rd Ra 1 ZMW der rad Decrement Ari d 1 INMY tat a Test tor Zero or Minus Pid Ra L ck rie jew Register Pd Re Rd ZN Y AB se ser rH Sel Regisier Rd BF AB time ime make Relative Jump PC PC h 1 B i win harec Aump to 21 PC Z 3B reall all upi Relative Subrouine Cal PC PC k
83. Start Power ON Reset main ldi rl 108 RAMEND out SPL r16 Init Stackpointer LO ldi r16 hi8 RAMEND out SPH r16 Hier den Init Code eintragen mainloop wdr Hier den Quellcode eintragen rjmp mainloop Abbildung Grundger st AVR Assembler Programm Quellcode in Assembler erstellen Die Ausgabeger te LED sollen vom Prozessorport D gesteuert werden Die Reali sierung erfolgt ber Bits im Register R16 Geben Sie folgenden Quellcode ein bzw erg nzen Sie die Programmvorlage SS a F Titel bung alle Lichter an a VE DPI EEE Te are ans er as ar Dr ve a Prozessor ATmega8 3 6864 MHz Sprache Assembler Datum 28 02 2006 Autor Dipl Ing P d Alexander Huwaldt a a a a a a u include AVR H Reset and Interrupt vector VNr Beschreibung rjmp main ji POWER ON RESET reti 2 IntO Interrupt reti 2 Int1 Interrupt reti 4 TC2 Compare Match Laser amp Co Solutions GmbH myAVR Lehrbuch Mikrocontrollerprogrammierung Leseprobe TC2 Overflow reti 5 reti 6 TC1 Capture reti TC1 Compare Match A reti 8 TC1 Compare Match B reti 9 TC1 Overflow reti 10 TCO Overflow reti IL SPI STC Serial Transfer Complete reti 12 UART Rx Complete reti 13 UART Data Register Empty reti 14 UART Tx Complete reti 15 ADC Conversion Complete reti 16 EEPROM Ready reti re Analog Comparator reti 18 TWI IC Serial Interface reti 29 Store Program Memory Ready
84. Unterprogramme mehrmals benutzen Ein wesentliches Merkmal von Unterprogrammen ist dass diese von verschiedenen Stellen im Programm aufgerufen call werden k nnen und auch dorthin zur ckkehren return Um diese M glichkeit zu nutzen bietet Sisy das Anlegen von Referenzen an Vergleichen Sie dazu Absatz 3 2 Die Modellierungselemente von SiSy Um ein Unter programm zu referenzieren wiederholend zeigen und einbinden gehen Sie wie folgt vor 1 zeigen Sie im Navigator das gew nschte Unterprogramm an a ber den Schnellzugriff dort l sst sich das Original per Drag amp Drop ablegen oder b ber die Navigatorsortierung Unterprogramme Navigator gt rechte Maustaste gt Kontextmen gt Unterprogramme 2 das gew nschte Zieldiagramm in dem das Unterprogramm verwendet werden soll ffnen 3 per Drag und Drop das Unterprogramm in das Zieldiagramm ziehen dabei wird nur eine Referenz Link auf das Original angelegt 4 Referenz wie oben beschrieben in den Programmfluss integrieren 515y f r Windows test spr Na v pator Schnellzugriff Haupbebene Vorgehensmodell kleine Programme Strultograr n Hierarchie RRI up1 inersrtren I 7 EL AN x AVR Vorgehensmodelll Vorge Klassendiagr amme Klassen Methoden Benutzerdefiniert b Abbildung 31 Unterprogramme im Navigator anzeigen Sisy f T Winde HA tesi 4 spr 5 Ma vigator a Schnelizyp gg Pi Ab
85. a8 Seite 1 ISP Interface Externe Spannungsversorgung Experimentierplattform USB Anschluss RISC uController uTaster Schalter digital Potentiometer analog Eingabeger te Erweiterungsbuchse _o 5 j Bo o 0 0 0 0 e Kokolo Ko itiiti wD eCCCEC CSTE oo mi a u u Du Gl eg Mu zu miva X a S 4 S v Schallwandler Frequenzen LED s digital analog Nd8 718V9IWLY 10 S0 iy eXe 220200086000 ee Em ll 2 GE B bie d Port B 1 IT Zu D 00 00000 290000 290000 010 peeeeetoooeoeh an eooe Pr er Nr er Ausgabeger te I O Register Speicheraufbau VO MEM Name Bi Bite Bis Bis Bis Bme Bm Bo Programmspeicher Arbeitsspeicher EOSE 0x5F_ SREG 1 SV N Z C 0x0000 0x0000 Ox3E Ox5E SPH z Z SP10 SP9 SP8 Interrupt Vektoren 32 Regist 0x3D Ox5D SPL SP7 SP6 SP5 SP4 SP3 SP2 SP1 SPO egister OxSC _0x5B___ Reserved Ox001F Ox3B 0x5B GER INT NO SEL ICE 0x0020 Ox3A 0x5A_ GER _INTF1 NO EEE ET 0x39 0x59 TIMSK OCIE2 TOIE2 _TICIE1 OCIEIA OCIE1B TOIEI TOIEO 8K Program Flash 0x38 0x58 TIER _ OCF2 _TOV2 ICFi_ OCFIA OCF1B TOVI TOVO 4 K x 16 64 I O Register 0x37 0x57 SPMCR SPMIE RWWSB RWWSRE BLBSET PGWRT PGERS SPMEN 0x36 0x56 TWER TWI
86. abel f r die COM Schnittstelle Zielstellung Der Schnelleinstieg zur Mikrocontroller Programmierung soll Ihnen helfen das Add On AVR kennen zu lernen und erste Schritte in der hardwarenahen Pro grammierung mit Sisy AVR zu gehen Die Funktion des nachfolgenden Pro gramms ist es bei Programmstart alle optischen Ausgabeger te LED auf dem myAVR Board zum leuchten zu bringen Ein neues Projekt anlegen Starten Sie SiSy AVR und w hlen Sie Assistent ffnen Wahlen Sie den Men punkt Neues Projekt anlegen vergeben Sie den Projektnamen Alle _Lichter_an und best tigen Sie mit OK W hlen Sie das Vorgehensmodell Programmierung und laden Sie keine Diagrammvorlage Kleines Assembler Programm anlegen Erstellen Sie ein Programm f r den AVR Mikro m tn pret ia mi controller in dem Sie per Drag amp Drop aus der Ob RR jektbibliothek ein kleines Programm in das Dia Pasma grammfenster ziehen In dem aufgeblendeten Dia Sy aa logfenster vergeben Sie den Namen AI Programm lle Lichter An hex gt gt offnen l le_Lichter_an Der Datei und Programmname wird dabei automatisch vergeben W hlen Sie die Spra che AVR Assembler Uber die Registerkarte Programmger st k nnen Sie die Vorlage Grundger st f r ein AVR Assemb ERSTELLEN LK AUSF HREN lerprogramm laden Erstellen Debug starten Ausfuhren Abbildung Dialog kleines Programm myAVR Lehrbuch Mikrocontrollerprogrammierung
87. ard an COM4 gefunden wergen myAVR Board suchen Driekramne ng lan Hinveeis Mit einem Eintrag Programmer im Dateikopf 9 Ih kann diese Einstellung auch vorgenommen werden Programmer 34910 PraaranimerPon COM4 Hinweis Mit einem Eintrag Port im Dateikopf kann diese g Einstellung auch vorgenommen werden Die mit gekennzeichneten Optionen sind im myAVR Workpad SE nicht verf gbar Abbrechen Standard laden a gt Mey SUB Workpad U 1 0 Sie k nnen den Programmer auch automatisch suchen lassen el Laser amp Co Solutions GmbH Rev 5 Stand 11 06 Technische Beschreibung mySmartUSB Seite 12 12 Anwendung mit dem AVR Studio Bei Verwendung mit dem AVR Studio benutzen Sie AVR Prog unter dem Men punkt Tools Der Programmer muss bei Aufruf des Men punktes angesteckt sein AVR Prog fin det mySmartUSB automatisch AVRStudio C Dokumente und Einstellungen Edit Debug Window a AVR Prog r I_ES0 Upgrade ICES0 Selftest IT STF mbktT inarade File Dei Project AVRprog Hex file test hex Program Yerty Read EEPROM Program Verity Head Device AT megad Advanced AVR Prog sucht standardm ig nur an den COM Ports 1 bis 4 Sollte der virtuelle COM Port des mySmartUSB h her liegen findet das AVR Studio den Programmer nicht In dem Fall muss Uber die Systemsteuerung ein fur das AVR St
88. ard ist ein Assistent zum Erstellen von Assembler und C Codes f r die Konfiguration und Anwendungsentwicklung von AVR Mikrocontrollern Dabei w hlt der Nutzer Schritt f r Schritt im Dialog mit dem Assistenten die gew nschten Kon figurationen und Programmbausteine aus Der Code Wizard generiert kompilierungsf higen Quellcode in der gew nschten Programmiersprache AVR C oder AVR Assemb ler der als komplette Anwendung geladen wird Der Entwickler muss nur noch die pro jektspezifische individuelle Logik erg nzen Der gesamte Programmrahmen in Form von Hauptprogramm fertige Initialisierungssequenz Unterprogramme und Interruptrou tinen wird von Code Wizard generiert kleines Programm x emeiterte Einstellungen Extras AVR Repot Tipp Definition Quellcode Progammgeriist Hame Sprache test_Code wid AVR Assembler CODE WIZARD Seadwrtung ERSTELLEN amp AUSFUHREN myAVR Code Wizard ATmegaX8 Assembler Fortschritt Willkommen weiter VAaltrenmen LCD Projektdaten Abbrechen Benutzerhandbuch SiSy AVR Laser amp Co Solutions GmbH Der myAVR Code Wizard Seite 37 84 7 2 Grundeinstellungen Die Zielsprache wurde vor dem Start des Code Wizards ausgew hlt F r die Generie rung von korrektem Quellcode ist es notwendig den Controllertyo und die Takt geschwindigkeit festzulegen myAVR Code Wizard ATmegaX8 Assembler Fortschritt Prozessor Leer Willkommen IB
89. ardisierte Beschreibungssprache UML Unified Modeling Language SiSy AVR bietet dem Entwickler das UML Klassendiagramm mit Codegenerierung f r AVR C Der folgende Abschnitt beschreibt die Handhabung des Klassendiagramms in SISy AVR Die Abbildung 33 zeigt Ihnen eine Kurz bersicht der Modellierungsele mente des UML Klassendiagramms Klasse Sichtbarkeit Me privat ne I Zusicherung Merkmal Assoziation Spezielle Assoziationen 0 1 Multiplizit t z Vererbung Kardinalitat gt Navigation Komposition amp I nn Abbildung 33 Kurz bersicht Elemente des UML Klassendiagramms Schreibweise von Attributen Attribute beginnen mit einem Kleinbuchstaben Sichtbarkeit name Typ Initialwert Merkmal Zusicherung temperatur uint8_t 25 temeratur gt 0 Schreibweise von Operationen Operationen beginnen mit einem Kleinbuchstaben Sichtbarkeit name Parameter Typ Standardwert R ckgabe typ Merkmal Zusicherung setTemperatur t integer 25 BOOL t gt 0 Benutzerhandbuch SiSy AVR Laser amp Co Solutions GmbH Entwicklung eines Klassendiagramms mit SiSy AVR Seite 67 84 11 2 Aufgabenstellung Um die Arbeitsweise und den Umgang mit dem Klas sendiagramm in SiSy zu erlernen realisieren Sie bit te das folgende einfache Beispiel Es soll eine Mikrocontrollerl sung entwickelt werden bei der auf Tastendruck eine LED eingeschaltet wird Dabei soll der Taster an Port B 0 u
90. as Klassenmodell zu entwickeln muss das Klassendiagramm geoffnet werden Wahlen Sie dazu auf dem Objekt rechte Maustaste gt Kontextmen gt nach unten ff nen Nach unten ffnen Definieren in neuem Fenster ffnen Diagrammvorlagen Hierarchie ffnen L schen Layersteuerung Jo Jo Marker Objekttyp aus Rahmen entfernen Yerkn pfurg mit Datei d Tipps Controller Eingabe Verarbeitung Ausgabe while true Die Struktur einer objektorientierten Mikrocontrollerl sung in SiSy erfordert im Klassen modell eine Applikationsklasse Hauptklasse die sich dadurch auszeichnet dass diese ber eine Methode Operation mit dem Namen main verf gt Der Codegenerator er zeugt eine Instanz diese Klasse und ruft die Main Methode auf define cpp_Test_UML define F_CPU 3686400 include lt io h include C main void Controller MyApp MyApp main Benutzerhandbuch SiSy AVR Laser amp Co Solutions GmbH Entwicklung eines Klassendiagramms mit SiSy AVR Seite 69 84 11 5 Systemstruktur entwerfen Die Systemstruktur einer objektorientierten Anwendung bildet die Objekte und deren Beziehungen im Programm ab welche im realen System als physische Elemente vor handen sind Als Bauplan der Objekte dienen Klassendeklarationen welche die Eigen schaften Attribute und das Verhalten Methoden Operationen der Objekte beschrei ben Das
91. assendiagramms mit SiSy AVR 2 Klassen verbinden selektieren Sie die Klasse von der aus eine Verbindung gezogen werden soll Ziehen Sie per Drag amp Drop ausgehend vom roten Vertei ler eine Verbindung auf die gewunschte Klasse Wahlen Sie den Verbindungstyp zum Beispiel Assoziation gerichtet und beschriften Sie die Verbindung Gontroller maint void runt void Kante Defintion Beschreibung Vererbung Diese Klasse vererbt ary Agsoziation genchtet Diese Klasse kennt Assoziation ungerichtet Die Klassen kennen sich Aggregation Die Klasse enthalt Koraposition Die Klasse besteht existenziell aus BealisierungYerfeinerung Diese Klasse wurd realisiert durch C Abh ngigkeit Diese Klasse ist abh ngig van verbinden mit gt Controler verbunderi Taster maint void rund void verbunden 3 Operationen und Attribute einf gen und definieren ziehen Sie dazu ein Ob jekt vom Typ Operation oder Attribut aus der Objektbibliothek auf die Klasse in die das Attribut oder die Operation eingef gt werden soll Best tigen Sie die Sicherheitsabfrage zum Einf gen des Elementes Ibjektbibliothek El maing void runt void verbunden Klasse zur Taster Zuordnung zu Klasse M chten Sie das Element einf gen Operation ves RRS oo Paket Benutzerha
92. aten werden im Protokollfenster ange zeigt lo m fi myAVR Controlcenter Build 698 Start Stopp x myAYR Gontrolcenter vzo Schaltfl che ser Auswahl serielle Verbindung w COM Port Einstellungen Text oder Byte senden Protokollfenster f r Text Zahlen oder Grafik Mir Einstellungen f r die Darstellung j nn anne ath LP m PU es dc En Abbildung myAVR Controlcenter Nutzen Sie die zahlreichen Hilfen und Vorlagen die SiSy AVR bietet SiSy Hilfe Ausblenden Zur ck Dicken Optionen bersicht AVR Assembler Befehle Syntax Beispiel kurze Erl uterung amp SiSy Befehlssatz fiir Assembles add add 24 725 Add two Registers Rd Rd Rr Z CN V a adc adc 124725 Add with Carry two Registers Rd Rd f ms an ara bersicht Befehlssatz und sub sub 124725 Subtract two Registers Rad rrzch Rechnerarchitektur f r AVR subi subi r24 0x0F Subtract Constant trom Register RaRo Mikrocontroller sbiw sbiw 124 OxOF Subtract immediate tram Word Rah Ral LCNVS sbc sbc r24725 Subtract with Carry two Registers Rd sbci sbei r24 0xOF Subtract with Carry Constant from Reg ZCNVH Inhaltsverzeichnis and and 124725 Logical AND Registers Rd Rd Rr ZN andi andi 124 0x08 Logical AND Register and Constant Rd or or 124925 Logical OR Registers Rd Rd v Rr Z NY ori ori r24 0x0F Logical OR Register
93. aus dem Kontextmenu rechte Maustaste Definieren Auf der Registerkarte Definition tragen Sie den Programmnamen ein im Beispiel Lauflicht und w hlen die Programmier sprache aus hier AVR Assembler siehe Abbildung 4 Abbildung 4 Definition kleines Programm Zielplattform und Programmer einstellen Kontrollieren Sie auf der Registerkarte Extras AVR den ausgew hlten Mikro controller siehe Abbildung 5 Die Option Vorgaben benutzen bertr gt automa tisch die Grundeinstellungen Mikrocont rollertyp Taktrate Programmer und lO Port des Projektes in die lokalen Einstel lungen Sollen die lokalen Einstellungen unter Extras AVR von den Projektein stellungen abweichen muss die Option Vorgaben benutzen abgeschaltet wer den Beachte folgende Einstellungen e myAVR Board 1 LPT o Programmer SP12 o Port LPTx z B LPT1 e myAVR Board 2 USB mySmartUSB Abbildung 5 Einstellungen Extras AVR o Programmer AVR910 o Port COM x z B COM3 e mySmartUSB mit Firmware ab 1 5 o Programmer AVR911 o Port COM x z B COM3 Laser amp Co Solutions GmbH Benutzerhandbuch SiSy AVR Seite 24 84 Entwicklung eines kleinen Programms mit SiSy AVR Programmgerust laden Quellcode erstellen Uber die Registerkarte Programmger st k nnen Sie das folgende Grundger st f r ein AVR Assemblerprogramm laden in der Re gisterkarte Quellcode k nnen Sie den Qu
94. ben Sie hier Ihre Lizenzangaben ein Achten Sie dabei bitte auf die genaue Schreibweise Leerzeichen Gro Kleinschreibung Name In Name CD Nr Ihre CD Nummer IA FS Code In Freischaltcode lt Zur ck Abbrechen Danach erscheint folgende Dialogbox Im unteren Teil wird der Pfad verwaltet in dem SiSy zu installieren ist Wenn ein anderer Pfad bzw ein anderes Laufwerk gew nscht wird ist die Schaltfl che Durchsuchen zu bet tigen Eine Dialogbox erscheint in den Feldern Laufwerke und Verzeichnisse k nnen Laufwerk und Verzeichnis festgelegt werden x ordner ots x Setup wird SiSy Avt in folgendem Ordner installieren Bitte w hlen Sie den Ordner fur die Installation aus Klicken Sie auf Weiter zur Installation in diesem Ordner auf Pfad Durchsuchen zur Auswahl eines anderen Ordners 5 C Programme s lay W hlen Sie Abbrechen um Setup zu beenden wenn SiSy Avt nicht installiert werden soll Verzeichnisse ci E gt Programme Cg Directs Abbrechen Gemeinsame Datei Internet Explorer C3 Microsoft Office Laufwerke E c Netzwerk Wahlen Sie danach den Programmordner in dem die Verkn pfungen von SiSy einge f gt werden Sie k nnen den Zielordner ndern Setzen Sie die Installation mit Weiter fort Der f r die Installation erforderliche Spei cherplatz wird angezeigt und mit dem auf dem Laufwerk freien Speicherplatz vergli chen
95. bildung 30 Unterprogramm referenzieren Laser amp Co Solutions GmbH Benutzerhandbuch SiSy AVR Seite 56 84 Entwicklung eines Programmablaufplans mit SiSy AVR 9 9 Interrupt Service Routinen ISR im PAP Interrupt Service Routinen im weiteren ISR sind besondere Formen von Unterpro grammen Diese werden von einer Interruptquelle des Mikrocontrollers Timer ADC UART usw bei entsprechenden Ereignissen automatisch an beliebiger Stelle im Pro grammfluss aufgerufen Unterbrechung engl Interrupt Es ist demzufolge nicht vorge sehen eine ISR in den Programmfluss zu integrieren Um eine ISR zu erzeugen ziehen Sie ein Objekt vom Typ INT Routine aus der Objekt bibliothek in das Diagramm des Hauptprogramms und definieren einen Namen Objektbibliothe ee ISR f r Timer 2 Doppelklick berlauf Dat INT Routine INT Routine ber rechte Maustaste gt Kontextmen gt vemten Resor Definieren legen Sie die Sprungmarke und Name Sprungmarke selbst benannt den Typ des Interrupt fest Damit erfolgt durch fon Tier den Codegenerator die Zuordnung der ISR 3 zum entsprechenden Interruptvektor Beachten un eens Sie dass die Liste der Interrupts abh ngig ist Beschreibung Bite ausw hlen vom gew hlten Controllertyp Zum Entwerfen der ISR Logik w hlen Sie auf dem Objekt rechte Maustaste gt Kontextmen gt nach unten Ihnen wird das Grundger st einer ISR als Diagrammvorlage ang
96. blau und PIN 8 des IC Sockels mit der Versorgungsspannung rot 3 Erganzen Sie Quarz und Kondensator und verbinden Sie PIN 1 des IC Sockels mit Port B 1 an der Steckerleiste gelb und PIN 2 und 3 des IC Sockels mit dem Quarz aaa aaa eng gt O QOG ts coel 7 m v AY 8 ba s Ld DA Ara gt E Pepp i a4 e O MTSE 4 Stellen Sie alle Verbindungen entsprechend des Schaltplanes her Danach kann der Controller z B ATtiny13 in den IC Sockel eingesetzt werden Projektbeschreibung zu myTinyProg Laser amp Co Solutions GmbH Seite 12 14 myTinyProg Firmware 4 myTinyProg Firmware Die AVR910 Firmware fur dieses Projekt ist als HEX Datei myTinyProg hex im Downlo adbereich von www myAVR de verf gbar Diese unterst tzt unteranderem die Control ler AT90S2323 ATtiny12 ATtiny13 ATtiny15 aber auch eine Reihe Mega AVR und setzt die oben beschriebene Schaltung voraus Port B 1 RST Port C 0 rote LED per Patchkabel auf dem myAVR Board Port C 2 gr ne LED per Patchkabel auf dem myAVR Board Port B 3 MISO Port B 4 MOSI Port B 5 SCK 4 1 Beschreibung der Firmware Es werden unter anderem folgende AVR910 Kommandos unterstutzt Enter programming mode P Set address A Write program memory low byte Write program memory high byte C Read program memory rt Write data memory D Read data memory d Chip erase e Leave pro
97. cccssseeccccceeseeeeeeceeeseceeeseeeeeceesssaaeeeesssaegeeeeseaas 6 eM Mt Voraussetzung ee Eee 6 2 12 Getup vonder Ny ee ee er ee 6 2 2 Beschaffen bzw Herstellen der Hardware ccccccsssescecccseseeceecceeeececeesauseceesseaaeeeeeseuneeeeseaas 8 3 Arbeiten mit SiSy AVR allgemein 222000sss00200snnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn 9 3 1 ed 62 51 4 fo 1g 6 ee ee ee are eee eee ee 9 3 1 1 Was ist ein SISy Projekt cccccccccccceseeeeeeceeeeeceeecseeeceeeseaaeeeeessseaeeeesseeseeeeesseaeeeeesesaaess 9 3 1 2 Neues Projekt erstellen cccccccssssecccccesseceeccseeeceeeceeeeeeeeseeaeeceeeeseaseeeeesaaaeeeeesseeseeesssaaess 9 3 1 38 Vorhandenes Projekt OffM N ccc ccccccceeeecceeeseeeeeeeeeeeeeeeeeesaeaeeeeeeeseeseeeeeseeaeeesesseeseeeessaaess 9 3 1 4 Projekt APCHIVICLEN cccccseeeececceeesseeecceeeseeeeecaeeseceeeeeaaseeeeesseaeceeessaaeeeeessuaaeeeeessaaeeeeessagess 9 3 1 5 Projektarchiv einlesen ccccccccccseseeceeeceeeeeceeeceeseceeecaeeseeeeesseaseceessseaseeeesssaeeeeesssageeeeeeaas 10 3 2 Die Modellierungselemente von SISy uuessssessnnssnnnennnnnennnennnnnnnnnnnnnnnnnnnennnnnnnnnennnnnnnnnennnnnnnnnennn 10 3 3 Die Fenster f r die Modellierung uss02222400000020000nnRnnnnnnnn nn nnennnnnnnnnennnnnnnnnennnnnnennennn 11 3 4 Druckfunktionen in SISY cccccccssssececccsesececcceeuseeeecceauseceecssuuseeecesseuee
98. ce Die Programmierumgebung sendet ber den COM Port an den Programmer Kommandos entsprechend dem AVR910 Protokoll Diese werden durch die Firmware in ISP Kommandos ISP Protokoll umgesetzt Da der AT90S1200 ber kein SPI Serial Processor Interface verf gt ist in der Firmware eine Software l sung daf r zu finden Soft SPI z P r NSYSTEN TARGET AVR MCU 1 IT BT Ce nai AVR910 Hardware Die originale Hardwarelosung sieht im Detail wie folgt aus Sie besitzt eine einfache Pegelanpassung fur die COM Schnittstelle des PC RS232 und einen AT90S1200 Die Firmware f r den AT90S1200 welche das AVR910 Proto Koll realisiert stellt Atmel auch bereit J100 i BC857C Q100 2 2 TRANSMIT 7 l 3 RECEIVE a 4 a R Ausgehend von diesem Schema liegt der Schluss nahe dass ein myAVR Board ja e benfalls uber diese Komponenten verf gt Die Pegelanpassung fur die serielle Schnittstelle Ubernimmt beim myAVR Board 1 LPT ein RS232 Treiber und f r die Firmware haben wir einen ATmega 8 der be reits ber ein SPI verf gt Bei dem myAVR Board 2 USB erfolgt die serielle Verbindung ber den bereits in stallierten COM Port Treiber Also beste Vorraussetzungen daraus einen AVR910 Programmer zu machen Projektbeschreibung zu myTinyProg Laser amp Co Solutions GmbH Seite 8 14 Grundlagen AVR910 Firmware Wichtiger als die eigentliche AVR910 Hardware ist die Softwarekomponente die das Kommunikatio
99. d ge ffnet Alt Enter Dialog Definieren Strg Enter Diagramm nach unten Strg R Report f r selektiertes Objekt Strg A Executebefehl ausfuhren nur in bestimmten Ausgaben Strg D Diagrammreport wird aufgerufen Strg I Import von Diagrammen Strg T Tokensteuerung starten beenden Strg X Export von Diagrammen Strg Selektiertes Objekt wird vergr ert nur in bestimmten Ausgaben Benutzerhandbuch SiSy AVR Laser amp Co Solutions GmbH Anhang Tastaturbelegung allgemein Seite 81 84 Strg Selektiertes Objekt wird verkleinert nur in bestimmten Ausgaben Strg Urspr ngliche Objektgr e wird wiederhergestellt Strg Maustaste Selektiertes Objekt wird innerhalb des Diagramms kopiert Strg Cursortasten Cursor nach links Selektiertes Objekt wird in X Richtung verkleinert Cursor nach rechts Selektiertes Objekt wird in X Richtung vergr ert Cursor nach oben Selektiertes Objekt wird in Y Richtung vergr ert Cursor nach unten Selektiertes Objekt wird in Y Richtung verkleinert Enter Editormodus zum Definieren der Objekte Entf L schen Cursortasten Selektiertes Objekt wird verschoben in Verbindung mit der Um schalttaste sind gr ere Schritte m glich E3 Diagramm vergr ern E Diagramm verkleinern Einpassen des Diagramms Laser amp Co Solutions GmbH Benutzerhandbuch SiSy AVR Seite 82 84 Anhang Tastenbelegung im Struktogramm Anhang Tastenbelegung im Struktogramm F3
100. dul mit der Maus oder den Cursortasten Modull La DDRB Ox02 B O IN B 1 OUT FORTE 0x01 PullUp main Hauptprogramm init In tialis erung WHILE true Pasties I EINE amp U xULl LED ON ji LED OFF FORTE UxU3 FORTE UxUl 2 F gen Sie mit der Taste B eine neue Funktion ein Per Doppelklick oder Taste ENTER k nnen Sie Name Typ und Parameter definieren Typ Leerzeichen Kurzname ISR Parametertyp TIMERO OVF_vect Parametername Leer zeichen Moduli TS3R TimerO Over vect Tee x F f 7 i i 1 R ckgabevar Typ Kurzname Langname Se e MERO DVF vea mim vot a as meee Lokale Deklarationen P ORT I Parameterliste F Typ Name Beschreibung Mma lr TIMERO_OVF_vect n WHIL ga Anfugen Einfugen Bearbeiten Loschen i Fi Be zu Beschreibung Parameterliste PORTE 0x03 F 3 Fugen Sie entsprechende Elemente Do Alternative While usw fur die ISR Logik ein Tah TIMERO OVF veet ale Laser amp Co Solutions GmbH Benutzerhandbuch SiSy AVR Seite 66 84 Entwicklung eines Klassendiagramms mit SiSy AVR 11 Entwicklung eines Klassendiagramms mit SiSy AVR 11 1 Einleitung Mit objektorientierten Programmiersprachen hat der Entwickler m chtige Sprachmittel um komplexe Systeme realisieren zu k nnen C ist eine weit verbreitete objektorien tierte Standardsprache Als Visualisierungsmittel objektorientierter Programme gilt die international stand
101. e ein DIP8 Sockel ein Quarz und zwei Keramikkondensatoren Dar ber hinaus soll das Projekt Anregungen geben diesen Einsatzfall zum Beispiel auch f r Controller der AVR Mega Serie weiter zu entwickeln Dieses Projekt ist geeignet f r das myAVR Board 1 LPT und das myAVR Board 2 USB Entwicklungsumgebung Port COMx Programmer AVR910 Programm f r Tiny Controller b ER es F THY Oumm oo E H OTR saz ooo k 2 2 BE Soo pz E i mun 00 a Beg o ae rk 00 E Adh ua foe gt i ee ABD Ae ay pap eA pier piu i uG a amp O0u pen a u amp CU a 7 s B al AN sp ti e H rt TIIE 5 i moo ER T E F pE H Rome a Pouer I s 000000 _ m 4 Se iR AVR 910 m c O 6 Bes 5 do D i Taster x a b 2 N Fi gt z lt a af umme Irmware i a ae t Taster a b gt 4 a Be C 5 lt 00 4 3 gt FS ap al A 3E oe 875 gs TLED Ro F EPIN v bay OO E p ass s D Gel 4 bD po 4 D 7 i 4 o 00 gt A 4 9 0 Ke e L gt a p 4 i oX M 11 ar Port D Port B oo A TIIE Kl EEA O O EEEE eee ae zu brennender AVR Tiny Controller Wir w nschen Ihnen viel Erfolg und Spa beim Lernen und Experimentieren Ihr myAVR Team Projektbeschreibung zu myTinyProg Laser amp Co Solutions GmbH Seite 6 14 Grundlagen 2 Grundlagen Fur das Brennen Programmieren Flashen des fertigen Mikrocontrollerprogramms
102. e erreicht indem die Steuerung des Detektors von einem Mikrocontroller und der entsprechenden Soft ware darauf bernommen wurde 4 4 i t 4 4 zZ 3 a a u E a a a 2 Ad Abbildung PI Metalldetektor mit Mikrocontroller Endstufe Pulsgenerator Spannungsversorgung Tongenerator Die rot markierten Elemente s nd jetzt per Software gel st Sekund r folger Zz v E Tonschwelle Signalverstarker Abbildung Funktionsverlagerung von der Hardware in die Software Die zuvor diskret mit analogen Bauelementen realisierten Funktionen des Detek tors werden in der mikrocontrollerbasierenden L sung in die Software verlagert Damit reduziert sich die Anzahl der aktiven und passiven analogen Bauelemente Die Komplexit t und Gr e der Leiterplatte konnte reduziert werden In der Ge samtheit konnten die Kosten f r die Herstellung eines Detektors auf ein Drittel re duziert werden Die wirtschaftliche Bedeutung der Reduzierung der St ckkosten In diesem Fall um 60 braucht man nicht weiter zu betonen Aber selbst wenn die Kostenreduzierung durch den Mikrocontrollereinsatz pro System nur einige myAVR Lehrbuch Mikrocontrollerprogrammierung Laser amp Co Solutions GmbH Leseprobe Cent betr gt liegt der Kostenreduzierungseffekt in der Massenfertigung schnell bei Millionen Euro Ganz klar die Softwarel sung f r den Tongenerator l sst sich auf jedes einzelne System kopieren und v
103. eboten 13 UART Data Rogeter Empty Laden Sie die Diagrammvorlage 18 ADC Conversion Comoe Vervollstandigen Sie danach die ISR Logik Die ISR wird nicht in den Programmfluss integriert ISR fiir Timer P Uberlauf NEIN Benutzerhandbuch SiSy AVR Laser amp Co Solutions GmbH Entwicklung eines Programmablaufplans mit SiSy AVR Seite 57 84 9 10 Daten im PAP Konstante Daten die im Programmspeicher FLASH des Mikrocontrollers abgelegt werden k nnen als Datenobjekt deklariert werden Die im Datenobjekt deklarierten Daten werden durch den Codegenerator immer ans Ende des Quellcodes gestellt Die zu generierende Marke Marken fur die Datenelemente k nnen vom Entwickler frei ge w hlt werden 9 10 1 Anlegen eines Datenobjektes Zum Anlegen eines Datenobjektes ziehen Sie das betreffende Objekt per Drag amp Drop aus der Objektbibliothek in das gew nschte Diagramm Per Doppelklick k nnen Sie einen Namen vergeben Beachte Men folge Einstellungen Men bei Doppelklick INT Routine Die Marke und die Daten selbst k nnen ber rechte Maustaste gt Kontextmen gt Defi nieren festgelegt werden Definition Quelltext Report byte string Kennedy 1 1 9 10 2 Datenobjekt benutzen Im Quellcode werden die Daten ber die vergebenen Markennamen angesprochen JUL Eennfelddaten in Adressgerister Laden 0002 ldi r30 lo iKennliniel ic ldi 31 hi8 Kennliniel
104. ecceeseecseeseeessasseesseueeesseaes 30 6 3 3 Daten empfangen vom myAVR Borad eisen 31 6 3 4 Darstellung der empfangen Daten cccccccssseececceeeseeeecceeeseeeeeseaaeeeesseauseeeesseagseeessnas 31 6 3 5 Empfangene Daten SOCICM SM vircivacduninupesuamtsnedoundiiss ee 34 6 3 6 Daten an das myAVR Board senden ccccccccssseeeeeceeeeeeeeseeeuseceeeceeeeceesseaaeeeeesesaeeeeeeeeas 35 E Bei miei ads O OOE WIZA EEE EEE eee entree ee are ee ae eee 36 2 EUN UNG Serena 36 7 2 Grundeinstellungen 240000002000000RRnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnennnennnnnnnnnennnnnnsnnennn 37 7 3 GeEratESINStEllUNGEN ccccceecccccccceeccsseseeeceeeeeceaeeeeeeeeeeeessaeesseeeeeesssaeeeeeeeeeeeessuaaageeeeeeessaaaaeses 37 7 4 UTS OPO GF AMUN Sissi cinneetcanewesirssandoedwoncwsinsieneeioanencsarheandnianontasdnatenuniaimiengnhsanielivanustnsumentaunmucots 38 5 POER ea nee een 38 7 9 Codegen rN rer re a ee een eier ee ee ee 39 8 Entwicklung eines gro en Programms mit SiSy AVR unuuusssnssssnnennnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn 40 3 1 TEILT ee en cea Sm rnd aie ae eet ea dks nee 40 8 2 WOIBERE 1101 9 6 te ee ee ee ee eee eee 40 Seite 4 84 Einleitung 8 3 Aufgabenstellung cccccccccssssececccaeesececccseueeeesssaseeeescuaueeeeesseaaseeessesauseeeesseaeeeesssaageeessssaaass 41 8 4 Hauptprogramm erstellen ccccccccccsssecccceescccceeseeccsaseeeceaeeeeseseeeseaseeessaseeess
105. ee ene Oy ee er eo ee ee eee 6 2 1 Atmel Application Note 910 cc ccccecccccsseseeeseeseceeseeeeeeseeeeeeseaueeeseaueeesaeeeesseeeeessaueeesseeeeseaeeees 7 3 Hardware myAVR Board und my TInyPi99 n ne 9 EL HSCWarEUBEIDIICK nee ee en 9 9 2 gt SchallDlan My TO oessa tee een ee see 10 33 ST CKE ee ee ee 10 3 4 Realisierung auf einer myAVR Laborkarte us 2004uusssnnennnneennnnnnnnnnnnnnnnnnnnnnnennnnnnnnnennnneeennennn 11 A myTlinyProg FIMMWAVS ern nennen nee ernennen 12 4 1 Beschreibung der Firmware ccccccccssssscccccceesseececceeeceeeseeeseeeeeeseaeceesesaaeeeeessaseeeesseageeeeeeaas 12 4 2 Brennen der Firmware cccccccccsssseccccceseeceecceeeceeeceeeeeceeesseeseeeeessauseeeesssaageceeessaseeesssaageeeeeeaas 12 4 3 Brennen Programmieren des Tiny S ccccccsssscccecceeseceeceeeseceeeseeeeeceeeeseeeeceeeseaeseeeesseageeeeeseas 13 44 VIA OOM a VF ee ee ee ee ae 13 4 5 myTinyProg mit myAVR Workpad PLUS u 00000 rennen et rare 13 5 Quelen zerei See ee ee 14 Projektbeschreibung zu myTinyProg Laser amp Co Solutions GmbH Seite 4 14 Laser amp Co Solutions GmbH Projektbeschreibung zu myTinyProg Einleitung Seite 5 14 1 Einleitung Das vorliegende Projekt myTinyProg beschreibt eine Moglichkeit das Lern und Expe rimentiersystem myAVR als einen komfortablen seriellen AVR910 Programmer fur AVR Tiny Controller zu nutzen Die Basis ist daf r ist eine Laborkarte A und wenige Bauteile wi
106. eessaaaeeeesssaseeeesssaeeeees 12 3 4 1 Diagramme drucken ccccccccccsseeeeecceeseceeccsesseeeccssauseeeecseaueeeesssauseeeesssagseeeesseaseeeessaas 12 3 4 2 Grafiken und Inhalte drucken QUICKDOK ccsseessseeeeeeeeeeeceeeeeeeeeeaaeaeeseeeeeeeeeeeeeeeeess 14 3 4 3 Nur Quellcodes dr cken sii cess nctnnnecdseseneensssannneesecannnsesscecauegesaxaabennenersesehedeoseceaaadaeeseasmncsenetes 15 3 4 4 Nutzen der Zwischenablage uu0s00000400nnnnnnnnnnnnnnnnnnnnnnennnnnnnnnnnnnnnnnnnennnnnnnnnnnnnnnn 16 4 DIE Milf tunkionen I ee ee ee 17 4 1 E o E E E N E A E A N A T 17 42 Die ORDENS ee ee 18 23 MIDIS ANOS MEINE FANN anne 19 5 Entwicklung eines kleinen Programms mit SISy AVR uuuuessnssssnnennennnnnnennnnnnnnnnnnnnnnnnnnn nennen 20 5 1 Voraussetzungen uuusesssnsnennennnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnennnnnnnnnnnnnnnnnsnnennnnnnnnnnnnnnnennsnnnennn 20 5 2 Zielstellung uuu0000000000nnnnnnnnnnnnn neuen ennnnnnnnnnnnnnennnnnnnnnnnnnnnnnnnnennnnnnnnsnnnnnnennnnnnennnnnnnnnnnnnennn 20 S VO NE ee ee 20 0 Das MyAVYR COMTO eM E ee nee een ren re ee 28 oA EEU eae ti eta Waa E ta Gn E ca 28 6 2 Das myAVR Board starten und stoppen Power Control cccccccsseeeeeeeeeeeeeeeeeseeeeeeeeeeeaeeaeees 28 6 3 Kommunikation mit dem myAVR Boat 29 631 Grundlagen LP IUSB Variante zes ee 29 6 3 2 Einstellungen f r die seriellen VerbiINGUnng c csssccccssseeeceessc
107. egeeeesseseesssaeeeenes 41 8 5 Units Unterprogramme anlegen und verkn pfen cccccccseeeeeeeseeeseeeeeceeeeseeeesseaeeeeessaeaees 42 8 6 bersetzen Brennen und Test uanneannsnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn 43 8 7 Interrupt Service Routine ISR im gro en Programm cccccccesccceeeeeeeceeeeeeeeseeeeeseeeeeeesenaaees 43 9 Entwicklung eines Programmablaufplans mit SISY AVR uuussssssseneesnnensnnennnnennnnnnnnnennnnnn een 44 IL EINIG ee a Een une Tale era engere 44 92 6 81 gt 21110 9 0 een nee nee er ee ee ee een euere 44 9 3 Aufgabenstellung ccccccccsssseceecceeeeeceecceeeeeceeccaaueeeessuaaeeeessaeaeceeesseauceeessuaaeeeeessaaeeeeessaaaees 46 9 4 Grundstuk irladene ee ee 46 29 COOK Enw Eee anne ee ee 47 9 8 SPINS CU DO UM ed ee ne ne Men 48 9 7 bersetzen brennen und Test c cccccccesscceescccsccceccccssseccsssecsseccssuccesuecsauccetsucesstesersueeetsesensees 50 9 8 Unterprogrammtechnik im PAP een 52 9 8 1 Anlegen eines UINTEK DFO QIANG ae en a 52 98 2 Ein CAS FOI ANNUM aufrufen cme aes al emai sel abil Wide nian eat tet 54 9 8 3 Unterprogramme mehrmals DeNnutZen cccccccsssseeceeseeeseeeeeceeeecececseeueeeeessaaseeeesssaaeeeess 55 9 9 Interrupt Service Routinen ISR im PAP cccc cs0s0 seeccceesnsceeseeeeaeeestnceeeeeeeeneeesscteeeeseeeeensncs 56 9 10 TO QTCM MAA ee ee ee ee ee ee ee 57 9 10 1 Anlegen eines Datenobjekte
108. eiten und das Ergebnis kann ebenfalls nicht gr er als 255 sein sonst liegt ein Ergebnis Uberlauf vor Zur Bearbeitung von gr eren Zahlen werden dann mehrere Befehle hintereinander ben tigt was bei diesem Prozessor nat rlich l nger dauert Ein Prozessor ben tigt eine meist extern eingespeiste Taktfrequenz Dieses Takt signal gibt dem Prozessor vor wann der n chste Befehlsschritt ausgef hrt werden soll Da die Baugruppen innerhalb des Prozessors weder unendlich schnell noch gleich schnell arbeiten ist dieses Synchronisationssignal f r die Zusammenarbeit von Steuerwerk Rechenwerk Ein und Ausgabeger ten notwendig Die maximale Frequenz mit der ein Prozessor betrieben werden kann reicht heute von 1 MHz bis hin zu ber 3 GHz Laser amp Co Solutions GmbH myAVR Lehrbuch Microcontrollerprogrammierung Leseprobe Bei Mikrocontrollern sind im Moment Taktfrequenzen von 1 bis 300 MHz ublich Stand Februar 2004 Diese Taktfrequenz sagt jedoch noch nichts uber die tat sachliche Geschwindigkeit eines Prozessors aus Es ist auch entscheidend ob fur den oben beschriebenen Befehlszyklus viele wenig oder gar nur ein Taktzyklus benotigt wird Bei vielen Prozessoren wird die Frequenz intern geteilt ein mit 24 MHz getakteter Mikrocontroller der Intel Reine 8051 arbeitet eigentlich nur mit 2 MHz da der ex terne Takt durch 12 geteilt wird Ben tigt dieser dann f r einen Befehl durch schnittlich 2 Taktzyklen so bleiben nur noch 1
109. el gelangt Auf der Verpackungsstrecke werden alle Packungen in denen der Metalldetektor Metallteile ortet automatisch ausgesondert Metalldetektoren wer den in gro en St ckzahlen f r unterschiedlichste Anwendungsf lle ben tigt Das folgende Schema zeigt die Funktionseinheiten eines Metalldetektors nach dem Pulsinduktionsverfahren PI Endstufe Pulsgenerator Spannungsversorgung Tongenerator Sekund r folger BE A A Tonschwelle Integrator Signalverstarker gt Sample Generator Abbildung Funktionsschema eines Pl Metalldetektors Laser amp Co Solutions GmbH myAVR Lehrbuch Mikrocontrollerprogrammierung Leseprobe Der klassische Aufbau eines solchen Detektors als diskrete analoge Schaltung er fordert trotz Verwendung integrierter Schaltungen einen bestimmten kaum weiter reduzierbaren Materialaufwand an aktiven und passiven Bauelementen Die Materialkosten fur diesen konkreten Metalldetektor belaufen sich auf ca 25 Stand Februar 2004 Abbildung vollst ndig analoger PI Metalldetektor Einen nicht unerheblichen Teil dieser diskreten Schaltung macht die Realisierung des Timings also der Steuerung der verschiedenen Komponenten f r den De tektor aus Der folgende Detektor hat das gleiche Arbeitsprinzip und die gleiche Leistungsf higkeit wie der oben gezeigte Detektor Der Materialaufwand ist jedoch um ein vielfaches geringer Materialkosten ca 8 Dies wurd
110. elen fur von Grundgerusten den pemr same men rare der gew hlten Programmuersprache Programm Definition emeiterte Einstellungen Extras AV Repot Tipp ERSTELLEN amp AUSFUHREN Laser amp Co Solutions GmbH Entwicklung eines groBen Programms mit SiSy AVR 8 3 Aufgabenstellung Seite 41 84 Es ist eine Mikrocontroller Anwendung mit der Technik des gro en Programms Zerle gen in mehrere Units zu entwerfen und in der Sprache Assembler zu realisieren Aufgabe Entwickeln Sie eine Mikrocontrollerl sung bei der ein Taster eine LED schaltet Schaltung Port B O Taster 1 Port B 1 LED 8 4 Hauptprogramm erstellen Offnen Sie das Diagrammfenster f r ein gro es Programm indem Sie auf dem Symbol rechte Maustaste gt Kontextmen gt nach unten ffnen w hlen Legen Sie eine Unit an Diese Unit bildet das Hauptprogramm Nennen Sie die Unit main und w hlen die Sprache Assembler Damit wird durch die Entwicklungsumgebung erkannt dass es sich hierbei um das Hauptmodul handelt Erstellen Sie hier das Hauptprogramm nutzen Sie die angebotene Vorlage Grundger st Doppelklick Hotizen include AVR H Reset and Interrupt vectoren begin rjmp main reti reti reti reti main tgi ri 108 RAMEND out SPL LLG vdi r16 hi8 RAMEND out SPH ELO Hier Init Code eintragen mainloop war Hier Quellcode eintragen rjmp mainloop Laser amp Co Solutions
111. ell code eigenst ndig eintragen kleines Programm citete Einstellungen Extras AVR Report Tipp Hinweis Den Quellcode k nnen Sie auch im Beschrei bungsfenster Editorfenster der SiSy Benutzer oberflache eintragen bzw korrigieren Laden Sie die Vorlage fur das Programmge rust oder erstellen Sie den folgenden Quell code Vergleichen Sie dazu auch den Abschnitt zum myAVR Code Wizard Abschnitt 7 Das Pro grammgerust darf erst geladen werden wenn der Zielcontroller ausgew hlt wurde die Vor lagen sind controllerspezifisch Titel Programmvorlage fur myAVR Board Prozessor ATmega8 mit 3 6864 MHz Schaltung ana Datum 1503 2004 Autor Dipl Ing P d Alexander Huwaldt see nei en include Taye Reset and Interruptvectoren VNr Beschreibung l begin rjmp main al POWER ON RESET reti 2 Ine0 Interropt reti 7 2 Inel Interrupt reti 4 TC2 Compare Match reti 5 TC2 Overflow reti TC1 Capture reti u TC1 Compare Match A reti amp TC1 Compare Match B reti 2 TCl Overflow reti 7 10 TCO Overflow reti gt 11 SPI STC Serial Transfer Complete reti gt 12 UART Rx Complete reti 5 13 UART Data Register Empty reti 14 UART Tx complete reti is ADC Conversion Complete reti 16 EEPROM Ready reti 7 Analog Comparator reti 18 TWI I2C Serial Interface l reti L9 Store Program Memory Redy Start Power ON Reset main Lan rlo 108 RAMEND 7 out GPL p BLS Init Stack
112. en programmierbar Update Optimierung Wartung flexible Schnittstellen vielf ltig integriert standardisiert Selbstdiagnose Fehlerkorrektur Debuginterface Echtzeitf higkeit schnelle Reaktionszeiten Timer Interruptf higkeit deterministisch bestimmbares berechenbares Verhalten geringe Kosten geringer Leistungsverbrauch Die Anwendungsgebiete von Mikrocontrollern sind schier unendlich In allen Be reichen unseres Lebens lassen sich heute versteckte Mikrocontroller finden Welchen Mikrocontroller verwenden Mikrocontroller werden von unterschiedlichen Firmen angeboten Weit verbreitete Mikrocontroller sind die der Intel Reihe 8051 der Zilog Reihe Z80 Z86 die PIC Controller der Firma Microsystems und die AVR Controller der Firma Atmel Die AVR Reihen von Atmel haben eine innovative RISC Architektur die schnell und einfach zu erlernen ist Sie sind inzwischen sehr weit verbreitet Sie sind elektrisch robust und bis zu 10 000 mal programmierbar Da die AVR Prozessoren zu den modernsten Controllern am Markt geh ren und enorme Zuwachsraten aufweisen sollen sich alle Ausf hrungen und die Experimentierhardware auf diese Controller beziehen Prinzipiell lassen sich jedoch alle Aussagen auf alle anderen Mikrocont roller bertragen Ein pikanter Hintergrund ist dass der AVR Kern eine Entwicklung von zwei Stu denten der Universit t Trontheim in Norwegen ist Atmel kaufte die Lizenz und Laser amp Co Solutions GmbH
113. en AVR910 oder AVR911 COMx siehe Ger temanager kleines Programm Definition Quellcode Frogrammgerust ermeiterte Einstellungen Extras AMA Report Tipp mo Lauflicht Vorgaben benutzen verwendeter Microcontroller Al megan versendete Taktrate 13 6964 MHz verwendeter Programmer avrd10 verwendeter O Port mo Lauflicht oat gt Mya Board suchen eh dh Fuse amp Lock Bits AJR m _Lauflicht Abbrechen Sie k nnen den Programmer auch automatisch suchen lassen Anwendung mit dem myAVR Workpad Im myAVR Workpad finden Sie die Einstellungen des Programmers unter dem Men punkt Extras Einstellungen Es ist der Programmertyp AVR910 und der entsprechende COM Port einzustellen d myAVR Workpad unbenannt s Datei Bearbeiten Extras Hilfe 2 3 Workpad Assembler AYR Board Lizenz Beenden Optionen myAVR Workpad SE Programmeinstellungen Anzahl der Eintr ge in Zuletzt ge ffnete Dateien Schrift im Editor Punkt sehrfet v Compiler Linker Brenner Einstellungen Prozessor Atmegea v Hinweis Mit einem Eintrag Prozessor im Dateikopf p a Mikrocontrollertyp MCU kann diese Einstellung auch vorgenommen werden Ergebnis der Suche x Der Programmer Port sowie der Programmer Typ werden f r automatisch Suchen M das myAVR Board automatisch beim Brennen ermittelt 1 Es wurde ein myAyrEo
114. er SS Wahlen Sie den Hersteller und das Modell der Hardwarekomponente und klicken Sie auf Weiter Klicken Sie auf Datentr ger wenn Sie uber einen Datentr ger verf gen der den erforderlichen Treiber enthalt Es wurden keine Treiber f r dieses Ger t gefunden m N Datentr ger Instal Datentr ger een sie den Installationsdatentrager des Herstellers ee ein und stellen Sie sicher dass weiter unten das nchtige Laufwerk ausgew hlt ist Abbrechen Dateien des Herstellers kopieren von Datei suchen BP 5 cp210 Driver Suchen ire eee eee eee terete eee ee Datel suchen Suchen in O cp210 Driver wih wi E mir a siabbus inf Dateiname slabbus inf slabyxd int en slabw k inf tetyp se slabwdm inf Dateiname slabysd int a Abbrechen Dateityp Laser amp Co Solutions GmbH Rev 5 Stand 11 06 Technische Beschreibung mySmartUSB Seite 9 9 Assistent f r das Suchen neuer Hardware Fertigstellen des Assistenten Die Software fur die folgende Hardware wurde installiert F CP2101 USE Composite Device Klicken Ste auf Fertig stellen um den Yorgang abzuschlieben Abbrechen Danach muss ein zweiter aber verk rzter Durchlauf der Treiberinstallation erfolgen um den virtuellen COM Port zu installieren USB UART Bridge Assistent f r das Suchen neuer Hardware Willkommen Mit
115. er Rd Rd K Z C N V H Branch if T Flag Set i None Bit Store from Register to T T Rr b Rd Rr Subtract with Carry two Registers Rd Rd Rr C Z C N V H Branch if T Flag Cleared i None Bit load from T to Register Rd b T Rd K Subtract with Carry Constant from Reg Rd lt Rd K C Z C N V H Branch if Overflow Flag is Set i None Set Carry Ce i Rdl K Subtract Immediate from Word Rdh Rdl Rdh Rdl K Z C N V S Branch if Overflow Flag is Cleared i None Clear Carry C O Rd Rr Logical AND Registers Rd Rd Rr Z N V Branch if Interrupt Enabled None Set Negative Flag N 1 Rd K Logical AND Register and Constant Rd Rd K Z N V Branch if Interrupt Disabled None Clear Negative Flag N 0 Rd Rr Logical OR Registers Rd Rd v Rr Z N V DATA TRANSFER INSTRUCTIONS Set Zero Flag Z lt 1 Rd K Logical OR Register and Constant Rd Rd v K Z N V MOV Rd Rr Move Between Registers Rd Rr None Clear Zero Flag Z lt 0 Rd Rr Exclusive OR Registers Rd Rd Rr Z N V MOVW Rd Rr Copy Register Word Rd 1 Rd lt Rr 1 Rr None Global Interrupt Enable l 1 Rd One s Complement Rd OxFF Rd Z C N V Rd K Load Immediate Rd K None Global Interrupt Disable 1 0 Rd Two s Complement Rd lt 0x00 Rd Z C N V H Rd X Load Indirect Rd X None Set Signed Test Flag S lt 1 S Set Bit s in Register Rd Rdv K K Z N V Rd X Load Indirect and Post Inc Rd X X X 1 None Clear Signed Test Flag S 0 S Clear Bit s in Register Rd Rd OxFF K Z N V Rd
116. er Unterst tzung und F hrung des Nutzers im Umgang mit SiSy Er befindet sich standardm ig im linken unteren Bildschirmbereich Der As sistent kann entweder Uber das Menu Ansicht Assistent oder ber die Werkzeugleiste ge ffnet werden falls dies nicht beim Programmstart erfolgte Der Assistenten begleitet Sie im gesamten Projekt Sie erhalten immer passende Informationen zum aktuellen Diagrammtyp und haben die M glichkeit durch Links weitere Hilfethemen aufzurufen oder Vorlagen in Ihr Projekt zu laden Beachte Der Assistent ist auf die jeweilige Ausgabe von SiSy die verf gbaren Add Ons und das gew hlte Modell bezogen Bedeutung der verwendeten Symboliken im Assistenten SiSy Assistent amp weitere Informationen anzeigen ffnet eine Hilfedatei chm hlp htm Demovideo zur Handhabung zeigen ffnet eine Animation oder Videomitschnitt der Bildschirmarbeit AVI ScreenCam oder FLASH Film entsprechendes Diagramm offnen das so ge ffnete Diagramm kann Uber die Schlie en Schaltfl che des Diagramms wieder geschlossen werden Beispiel 1 eine Diagrammvorlage laden is auf den Standardas gt Vorschau zur Diagrammvorlage paue Set wre Ste s man zur ck zur Startseite des Assistenten 4 ein kleines Skript zu Arbeitsschritten anzeigen 2 n chster Schritt Arbeitsschritt Verweis auf den Standardassistenten dieser Sicht blaue Schrift und blaue Symbole sind mit Links hinterlegt und k nnen per Mausklick aktiv
117. erursacht keine Beschaffungskosten mehr Die diskrete L sung ben tigt eine integrierte Schaltung IC 3 Widerst nde und einen Kondensa tor mehr und diese m ssen f r jedes zu produzierende Ger t neu beschafft wer den Und das ist noch nicht alles Die Mikrocontrollerl sung k nnte sogar beliebige Melodien abspielen die der Hersteller im Internet zum herunterladen anbieten kann Solche zus tzlichen Eigenschaften werden von den Anwendern der L sun gen gern angenommen wie der aktuelle Trend bei Klingelt nen und Handylogos zeigt Es werden nicht nur Kosten Platz und Gewicht gespart sondern zus tzliche M glichkeiten er ffnet Daher auch der ungebrochene Trend selbst einfache Ge r te wie eine Kaffeemaschine mit einem Mikrocontroller auszustatten Hier ein paar Beispiele f r welche Aufgaben Mikrocontroller verwendet werden k nnen Roboter CD MP3 und DVD Player Temperaturregler F llstandsregler Motorsteuerungen Signaldecoder f r Satellitenempfang Fernbedienung Alarm anlagen Schaltuhren Ladeger te Waschmaschinen Geschirrsp ler Fernseher Radio Wecker Uhr Messwerterfassung z B Drehzahlmessung im Auto intelli gente Ger te in der Automatisierungstechnik intelligente Sensoren intelligente Aktoren z B die Airbags im PKW Handy alle Formen von Heimelektronik Ger te der Medizintechnik Spielzeug P Abbildung Internetfahiger TOASTER Anforderungen und M glichkeiten von Mikrocontrollerl sung
118. fiehlt Laser amp Co Solutions GmbH Benutzerhandbuch SiSy AVR Seite 22 84 Entwicklung eines kleinen Programms mit SiSy AVR sich zuerst die Nutzung des Vorgehensmodells Programmierung Bei jedem neuen Projekt m ssen die Grundeinstellungen zur verwendeten Zielplattform vorgenommen werden Mikrocontrollertyp Taktrate Programmer und IO Port Information projektweite Einste ngen tur AYR i xiras AVR Hier k nnen Sie fur dieses Projekt die von Ihnen genutzte nme ET a Im Dialog der bjekte kleines Programm AE und a nord etaeap una he A VR zu finde Hier ne Einstellungen Wenn ein myAVR Board verwendet wird kann dieses automatisch gesucht werden Die Grundeinstellungen f r das gefundene Board werden dann automatisch bernommen ara jektweite Kissiellunmen f r AVR hare AVR Werden keine Einstellungen vorgenommen legt SiSy folgende Standardwerte fest e Mikrocontroller ATmegad e Taktrate 3 6864 MHz e Programmer SP12 e Port LPT1 Benutzerhandbuch SiSy AVR Laser amp Co Solutions GmbH Entwicklung eines kleinen Programms mit SiSy AVR Seite 23 84 Kleines Assembler Programm anlegen Erstellen Sie ein Programm fur den AVR Mikrocontroller indem Sie per Drag amp Drop nu aus der Objektbibliothek ein kleines Pro Ten on Bas Bn Teo efiition Quelicode Progiarmmgeriist gramm in das Diagrammfenster ziehen Markieren Sie das Objekt und wahlen Sie
119. funktionen in SiSy Sie haben in SiSy verschieden M glichkeiten Projektinhalte wie Grafiken bersichten Quellcodes oder ganze Projektdokumentationen zu drucken Dabei ist zu ber cksichti gen dass in SiSy bestimmte Informationen wie zum Beispiel die Darstellung eines Pro grammablaufplanes sichtbare Elemente eines Diagramms sind und andere Teile wie zum Beispiel der Quellcode eines Elementes nur ber Dialoge oder bei Selektierung des Elementes sichtbar sind Je nachdem welchen Inhalt Sie dokumentieren wollen richtet sich die Auswahl der betreffenden Druckfunktion 3 4 1 Diagramme drucken Wenn Sie ein einzelnes Diagramm also den sichtbaren Inhalt eines Diagrammfensters drucken wollen gehen Sie wie folgt vor e ggf Projekt ffnen e das gew nschte Diagramm ffnen e die Men folge Projekt Drucken w hlen oder das Druckersymbol in der Werkzeug leiste aktivieren HA ERRE Pee ee waa a ca oj E DEV Programmablaufplanf testPAP Tel _ Ausdruck des aktiven Fensters en mere Teils davon NUM i Benutzerhandbuch SiSy AVR Laser amp Co Solutions GmbH Arbeiten mit SiSy AVR allgemein Seite 13 84 e Sie erhalten den Dialog zum Einrichten der Druckseite w hlen Sie die gew nschten Optionen aus Druckseitenanpassung k Sichtbarer Rahmen um das Diagramm Eingerahmtes Info Feld f r das Diagramm Erweiterung des Info Feldes um eine Legende f r die Marker im Dia gramm Marker si
120. gen durch unerfahrene Entwickler sind Reset disable gt f hrt dazu dass kein ISP mehr m glich ist ISP enable ausgeschaltet gt f hrt dazu dass kein ISP mehr m glich ist Taktquelle umgeschaltet gt f hrt u U dazu dass der Controller nicht arbeitet Im Folgenden wird die Vorgehensweise beschrieben wie die Taktquelle eines ATmega8 vom internen 1 MHz Oszillator auf intern 8 MHz umgeschaltet wird 1 Das Board und den Programmer anschie en 2 Benutzeroberfl che f r das Ver ndern der Fuse amp Lockbits starten Fuse und Lock Bits Fuse amp Lock Bits fur ATmega8 neu einlesen rhtung das ver ndern der Fuse Bits kann dazu f hren dass der varlassen Prozessor nicht mehr programmierbar bzw berhaupt erreichbar wird C Brown out detection level at VCC 4 0 BODLEVEL 0 Brown out detection level at VCC 2 7 Y BODLEVEL 1 l Brown out detection enabled BODEN 0 C Ext Clock Startup time 6 CK 0 ms CKSEL 0000 SUT 00 C Ext Clock Startup time 6 CK 4 ms CKSEL 0000 SUT 01 lC Ext Clock Startup time 6 CK 64 ms CKSEL 0000 SUT 10 nt RC Osc 1 MHz Startup time 6 CK 0 ms CKSEL 0001 SUT 00 C int RE Osc 1 MHz Startup time 6 CK 4 ms CKSEL 0001 SUT 01 Int RC Osc 1 MHz Startup time 6 CK 64 ms CKSEL 0001 SUT 10 default value Int RC Osc 2 MHz Startup time 6 CK 0 ms ICKSEL 0010 SUT 00 e Benutzerhandbuch SiSy AVR Laser amp Co Solutions GmbH
121. gramming mode L Read signature bytes s Return supported device codes t Return software identifier Ss Return sofware version V Return hardware version y Return programmer type p Set LED x Clear LED y Der Betriebszustand des myTinyProg wird uber zwei LEDs angezeigt rote LED betriebsbereit grune LED Brennvorgang Die Einstellungen fur den COM Port des PC s m ssen sein 19200 Baud 8 Datenbits 1 Stoppbit keine Paritat sein 4 2 Brennen der Firmware Die Firmware muss zuerst wie bisher Uber den LPT Port oder mySmartUSB auf den Megas des myAVR Boards gebrannt werden Laser amp Co Solutions GmbH Projektbeschreibung zu myTinyProg myTinyProg Firmware Seite 13 14 4 3 Brennen Programmieren des Tiny s myTinyProg wird mittels der Buchsenleiste mit dem myAVR Board verbunden myAVR Board 1 LPT Das LPT Kabel ist abzuziehen und der serielle Anschluss wird zum Programmieren des Tiny s benutzt myAVR Board 2 USB Zum Brennen ber die USB Schnittstelle ist der Datenmodus zu erzwingen vgl Abbil dung Das erfolgt mit dem Setzen der DIP Schalter auf der USB Platine mySmartUSB Datenmodus erzwingen i i DIP2ZON On DIP3OFF MB DIPAOFF 4 4 myTinyProg mit SiSy AVR In SiSy AVR k nnen Sie myTinyProg jetzt als AVR910 Programmer an sprechen Dazu sind auf dem entsprechenden Pro grammmodul im Dialog Definieren unter Extras AVR die Eintrag
122. guration Uber schrieben wird Beim Befehl sbi wird gezielt nur ein Bit gesetzt Eventuell vorher gesetzte Konfi gurationen anderer I O Lines bleiben unber hrt Dieser Befehl ist in der Regel vor zuziehen Die Ausgabe selbst kann wiederum mit den oben besprochenen Befehlen erfol gen da programmiertechnisch der reale Ausgabeport genauso gehandhabt wird wie die Steuerregister Das Ausgaberegister ist entsprechend Port x 1 Ausgabe per out Befehl a allgemeines Register Ausgabedaten laden z B 1d b Ausgabe an den Port mittels out senden Beachten Sie Nur die als Ausgang konfigurierten Bits werden durchgelassen Beispiel Port B O High ldi r16 000000001 out PORTB r16 Beispiel Port B O Low ldi r16 000000000 out PORTB r16 2 Ausgabe per sbi Befehl Beispiel Port B O High sbi PORTB 0 Beispiel Port B O Low cbi PORTB 0 Hinweis Die Angabe der Bit auf Lines die nicht auf Ausgabe geschaltet sind ist ohne Effekt Register DDRx PORTx Register DDRx PINx al A elejo oO OOO0OCQO O Abbildung schematische Wirkung des Steuerregisters DDRx bei out und in Laser amp Co Solutions GmbH myAVR Lehrbuch Mikrocontrollerprogrammierung Leseprobe Schaltung Um die rote LED einz
123. hlern F r die ISP Programmierung ist nur ein daf r vorgesehenes Kabel zu verwenden Es d rfen keine Zielsysteme ange schlossen werden die mehr als 80 mA Stromaufnahme aufweisen Laser amp Co Solutions GmbH Rev 5 Stand 11 06 Technische Beschreibung myAVR Board 2 0 USB myAUR e Lern und Experimentierboard f r Er ATMEL Mikrocontroller ATmega8 48 88 168 te ne e Mit Controller und typischen Ein und Kos Pak sc Ausgabeger ten Taster LEDs usw A Material FR4 1 5 mm 0 35 um Cu Leiterplatte gebohrt verzinnt Industriefertigung robust bedruckt e Buchsenleiste fur den Anschluss von weiteren Add Ons e Integrierter USB Programmer kompatibel zum Atmel AN910 Protokoll und zus tzlichem RS232 Interface ber die selbe Verbindung e Duale Spannungsversorgung ber USB oder externe Spannungsversorgung e Besonders als Bausatz geeignet da alle SMD Teile bereits best ckt sind Einfache Handhabung keine Spezialkabel n tig Programmierbar in Assembler C C in S gt va Blockbild Ubersicht USB Anschluss RISC uController u Taster Schalter digital i Orinin y o az 177 ER F 53 Pitti see o tuun Externe Spannungsversorgung wer u lt E Pouer lt r i I 3 gt D gt Su Schallwandler L NE Frequenzen a 00 Doo A i BE o LED s oietenis NEE oo wm amp digital analog Ausgabeger te gecersecce ai
124. hre erste Mikrocontrollerl sung mit dem myAVR Board er w P er oO 0 e o00500 000000 00000 O ab myAVR myAVYRGontrolcenter vzo seriele Verbind erp 696 Abbildung myAVR Controlcenter Laser amp Co Solutions GmbH myAVR Lehrbuch Mikrocontrollerprogrammierung Leseprobe 4 4 Entwicklungsumgebung myAVR Workpad Diesen und den folgenden Abschnitt k nnen Sie berspringen wenn Sie nicht das myAVR Workpad als Entwicklungsumgebung verwenden Schauen wir uns als n chstes kurz in der Entwicklungsumgebung myAVR Work pad um Das myAVR Workpad ist ein einfaches Entwicklungswerkzeug mit dem man schnell und unkompliziert Mikrocontrollerl sungen programmieren kann Irt Interrupt Int l1 Interrupt Zeileneditor CZ Compare Match Overflow Cl Capture Cl Compare Match A Cl Compare Match E Navigator mit zuletzt 19 Te eg ge ffneten Dateien inana Vorlagen und T6 An Programmbausteinen T s N g LOD 33 reti a4 reti 35 reti 36 en COEF Strg Klick f r Hilfe FS Ersteller und bei Ertalg Testen 7 Start Power ON Reset F F Start Stop im Testfenster ldi rig lo PAMINT out SPL ELES ldi rl kiSiRAMENT out SPH ELE Hier Init Code eintragen er den Quellcode eintragen msinloop une JENE Beim Compilieren Linken und Brennen des Schnellstart Beispiels ffnete sich ein Ausgabefenster und zeigte Protokollausgaben der Aktionen an Wenn die Hard ware ordnungsgem
125. iert werden Beispiele f r Assistenten SiSy Assistent SiSy Assistent Sisy Assistent Wissenswertes ber SiSy Zur SiSy Add Ons f r SiSy Laser amp Co Solutions GmbH Benutzerhandbuch SiSy AVR Seite 18 84 Die Hilfefunktionen in SiSy 4 2 Die Online Hilfe Bei der Eingabe von Quellcodes im daf r vorgesehenen Editorfenster werden reservier te Worte Bezeichner Schl sselworte der gew hlten Programmiersprache durch ver schiedenfarbiges Einf rben Syntaxfarben hervorgehoben Zu den hervorgehobenen Bezeichnern existiert in der Regel auch eine kurze Online Hilfe und eine ausf hrlichere Hilfe Die Online Hilfe ist ein Pop Up Fenster welches bei der Eingabe des Bezeichners automatisch eingeblendet wird In dem Pop Up ist eine kurze Hilfestellung zu dem Be zeichner eingeblendet Die Online Hilfe ist auch durch Doppelklick auf dem Bezeichner erreichbar Steht eine Hilfe mit ausf hrlicheren Informationen zur Verf gung wird in dem Pop Up eine Schaltfl che gt gt zum Offnen des Hilfethemas angeboten Register Hilfe Bei der Eingabe von bekannten Registernamen wird die Bezeichnung des Registers und dessen Adresse eingeblendet Die Schaltfl che gt gt ffnet eine Hilfedatei mit dem entsprechenden Hilfethema zu dem eingegeben Register main ldi r1l6 los RAMEND out Bf ri Oo Le ldi out ldi SiSy Hilfe SP SPL SPH Stackregister Beschreibung Address Name Bt Bt6 BtS Bt4 Bt Bt2 Bit 3E
126. ierungen while true Mainloop Begin putChar a Zeichen senden a nachstes Zeichen myWait_1000ns Pause Mainloop Ende ee ee me a en ee SE ne Laser amp Co Solutions GmbH Benutzerhandbuch SiSy AVR Seite 32 84 Das myAVR Controlcenter Der Textmodus Der Textmodus dient zur Visualisierung alohanumerischer Werte im ASCII Format Zei chenketten Zahlen die mit Zeichenketten gesendet werden mussen vom Mikrocont rollerprogramm zuvor ins ASCIl Format gewandelt werden siehe itoa und sprintf Daten Empfangen Text Zahl Oszi ABCDEFGSHIJELMNOPORSTUVWEY d Einstellungen der Textanzeige DR Zeilenumbruch Fensterrand feste Breite ber die Schaltfl che Anpassen l sst sich das Protokollfenster weiter konfigurieren Die Zeilenbreite und das Zeichen f r einen Zeilenumbruch lassen sich ausw hlen Es k nnen wichtige gesuchte Textstellen im Protokollfenster hervorgehoben werden Daten Empfangen Text Zahl Oszi ABCDEFGHI TKLMNOPRIRSTUYWXY Herorgehobener Text Q Der Zahlenmodus Der Zahlenmodus visualisiert die empfangenen Datenbytes 8 Bit Werte von 0 bis 255 als Dezimal oder Hexadezimalzahlen Dezimalzahlen werden dreistellig mit f hrender Null dargestellt Daten Empfangen Text zahl Oszi O65 O66 O67 Oses O69 0970 071 Oa OFS a 075 076 077 078 079 050 051 Use 083 th imeieliunpen der Zahlenanzeige ER 055 086 087 088 059 Benutzerhandbuch SiS
127. iese Informationen auszudrucken stellt SiSy f r jeden Diagrammtyp eine Reportfunktion zur Verf gung mit der die wesentlichen Informatio nen Inhalte und Attribute des Diagramms und der Objekte in einem Diagramm als Word Dokument generiert werden F r das Generieren des Word Dokumentes mu auf dem PC MS Word installiert sein Unterst tzt werden die Versionen Word 2000 XP 2003 Die Dokumentengenerierung basiert auf Makros deshalb ist in Word der Makroviren schutz auf mittel zu stellen Vorgehensweise in Word e Wahlen Sie die Men folge Extras Makro Sicherheit e Aktivieren Sie auf der Registerkarte Sicherheitsstufe mittel e Auf der Registerkarte Vertrauensw rdige Quellen setzen Sie die H kchen bei Allen Vorlagen und Add Ins vertrauen und wenn vorhanden bei Zugriff auf Visual Basic Projekte vertrauen Die Reportfunktion zum Generieren des Word Dokumentes aktivieren Sie ber das Symbol QuickDok in der Werkzeugleiste w LI CELL i wla e Symbol QuickDok in der Py Q Werkzeugleiste wahlen e Aus der Liste der angebotenen Reportfunktionen auswahlen e Dateinamen f r den Report vergeben e Makros aktivieren Datei Bearbeiten Ansicht Einf gen Format Extras Tabele fenster 7 Oebeau 6AY 2A HoOmeagris D AM Standard Schwarz Arial 0 gt FK u BIS Se EE O 4 Aa 3 Be whreibung und Darstellung der Un ferpro gramme wet x Lumo F EREL E Bei Sson mt 23 MAK AND ERW LE
128. igste Aspekt der hier ange sprochen werden muss ist dass im Gegensatz zur Pro grammierung eines PC Programms das fertige Programm nicht auf der Entwicklungsplattform also unserem PC Arbeitsplatz gestartet ausgef hrt und getestet werden kann F r das Ausf hren der entwickelten Controllersoftware ist es notwendig das ausf hrbare Programm in geeigneter Weise auf den Controller und diesen in das Zielsystem zu bringen Neben dem blichen Ubersetzungslauf des Quellcodes ist ein weiterer Arbeitsschritt notwendig Dabei wird das ber setzte Controllerorogramm in den Programmspeicher FLASH des Mikrocontrollers bertragen Dieser Vorgang wird Programmieren oder Brennen genannt und erfordert eine spezielle Schnittstelle f r das Programmieren des Cont een rollers Diese zus tzliche Hardware wird Programmer ge PER nannt Eine Ausnahme bilden Simulatoren der Zielhardware Bei diesen ist es m glich ohne den Brennvorgang das fertige Programm auf den PC zu testen Tea ME ie At H Die am weitesten verbreiteten Sprachen f r die Programmierung von AVR Mikrocontrollern sind e Assembler e C C e BASIC BASCOM Eine Entwicklungsumgebung enth lt typischerweise folgende Komponenten e Quellcode Editor e Ubersetzungsprogramm Assembler Compiler e Programmier Brenn Programm e Testwerkzeuge Terminal Simulator Debugger Folgende Dateitypen finden Verwendung bei der Programmierung von Mikr
129. in ker sorgt dann daf r dass alle einzelnen Units zu einem vollst ndigen Programm zu sammengef gt werden Das folgende Kapitel erl utert an einem sehr kleinen Beispiel die Handhabung der Komponenten eines gro en Programms welches in mehrere Units zerlegt wird 8 2 Vorbereitung Starten Sie SiSy und legen Sie ein neues Projekt an W hlen Sie das Vorgehensmodell Programmierung Nehmen Sie die Grund einstellungen f r die verwendete AVR Hardware vor oder lassen Sie die myAVR Hardware au tomatisch suchen Erstellen Sie ein leeres Diagramm Ziehen Sie aus der Objektbibliothek ein Objekt vom Typ Programm Objektbibliothek grossesProgramm Hatizen Doppelklick Legen Sie Name und Sprache f r das Programm fest berpr fen Sie gegebenenfalls die Einstellungen unter Extras AVR Benutzerhandbuch SiSy AVR Ein ainis Diagramm wird goitinet ber die Objektbibliothek k nnen neue kleine Prograrame Prograrame angelegt werden Sie konnen auch den Assistenten nutzen um komplette Grundgeruste oder Beispiele zu laden Leere Datei Ein kleines Programm mit dem Name Ihrer Wahl wird erstellt Es hat au er dem Namen und der ammuietsprache noch keine weiteren Einstellungen Vorgefertigte Codebausteine k nnen eingef gt werden CodeWizard rae Larada Aen Ania vr Ga enden aus em Oeminschten Pesarvetet ein und erhaten komplett queatatan Quellcode amp Vorlagenausw aR Sie erhalten eine und kompletten Beispi
130. ird nicht berschrieben Ein Projektstand kann in einer neuen Archivdatei abgelegt werden Laser amp Co Solutions GmbH Benutzerhandbuch SiSy AVR Seite 10 84 Arbeiten mit SiSy AVR allgemein 3 1 5 Projektarchiv einlesen Men Projekt Archiv Einlesen Hierunter versteht man das Einlesen eines Archivs zum Zweck der Rekonstruktion des Projektes Einlesen bedeutet Entpacken eines archivierten Projektes Dazu sind der Archivpfad und der Dateiname des Archivs sowie das Zielverzeichnis anzugeben Hinweis i Wenn im Zielpfad des Entpackens bereits ein Projekt existiert erscheint eine Uber schreibwarnung 3 2 Die Modellierungselemente von SiSy Werkzeug SiSy stellt f r die Bearbeitung der Modelle und Teilmodelle Werkzeuge der entspre chenden Methodik bereit Werkzeuge sind Editoren mit denen in einem Fenster die grafische Darstellung Diagramme der Modelle bearbeitet werden kann Diagramme Diagramme sind grafische Darstellungen von Modellen oder Teilmodellen die mit ei nem bestimmten Werkzeug erstellt werden Die Modellierungselemente werden als Ob jekte in den Diagrammen unter Einhaltung von Regeln zusammengestellt Objekte Objekte sind m gliche Modellelemente in Diagrammen z B kleines Programm in der Programmierung Objekttypen sind konkrete Auspr gungen von Objekten die in ei nem Diagramm angelegt wurden z B Objekttyp Lauflicht vom Objekt kleines Pro gramm Referenzen Die Objekte eines
131. itungen der ISP Schnittstelle Diese sind die Leitungen des SPI Serial Processor Interface sox Serial Clock Programming clock generated by the In System programmer master Master Out Slave In Communication line from In System programmer master to target AVR being programmed slave Master In Slave Out Communication line from target AVR slave to In System programmer master ee RESET Target AVR MCU Reset To enable In System programming the target AVA Reset must be kept active To simplify this the In System programmer should control the target AVR Reset To allow simple programming of targets operating at any voltage the In System programmer can draw power from the target Alternatively the target can have power supplied through the In System programming connector for the duration of the programming cycle F r die Programmer Hardware gibt es eine Reihe von konkreten L sungen Atmel selbst stellt im Application Note AVR910 eine Programmerl sung vor die inzwischen von den meisten Programmierumgebungen unterst tzt wird Laser amp Co Solutions GmbH Projektbeschreibung zu myTinyProg Grundlagen Seite 7 14 2 1 Atmel Application Note 910 Atmels Application Note AVR910 stellt zwei Aspekte einer einfachen Programmer l sung dar Zum Einen eine Hardwarel sung und zum Anderen ein Softwareprotokoll Die Hardware basiert auf einem RS232 Interface einem AVR Controller und dem ei gentlichen ISP Interfa
132. j ci ci ci oi 0 o ai ci o 004a aiajajajaja LCD Belegung 4 Bit Modus 1 Port D 2 LCD PIN 4 RS Enable 2 Port D 3 LCD PIN 6 E Enable 3 Port D 4 LCD PIN 11 DB4 Datenbit 4 4 Port D 5 LCD PIN 12 DB5 Datenbit 5 5 Port D 6 LCD PIN 13 DB6 Datenbit 6 6 Port D 7 LCD PIN 14 DB7 Datenbit 7 7 Port B O Jumper R W LCD PIN 5 R W Read Write oder fest auf Low 8 Port B 1 Jumper PWM LCD PIN 15 Hintergrundbeleuchtung Anode Kontrastreglung LCD PIN 3 Vo 13 5V LCD PIN 1 Vss 14 Masse LCD PIN 2 Vdd LCD PIN 7 DBO Datenbit 0 LCD PIN 8 DB1 Datenbit 1 LCD PIN 9 DB2 Datenbit 2 LCD PIN 10 DB3 Datenbit 3 LCD PIN 15 Hintergrundbeleuchtung Kathode Laser amp Co Solutions GmbH Revision 3 Stand 06 06 LCD Add On 2 2 Seite 3 3 Mechanische Daten Material FR4 0 35 um Cu Abma e L x B 90 mm x 60 mm Dicke 1 5 mm Rasterma 2 54 mm Gewicht ca 55g S SV G9 AVAUm 60 mm sb AVAUm Wu R W TEL ELELELELELELELEL AE eee aus 8 Deo Kloof lolol Iolo Se eTS So i e E fey fe 873 I Cm fe te fe fe fe fe m m o Q ma ie Em EE m KOJ DE myAVR LCD V2 2 X e Ans WuW myAUR de TO 8666888666668868 LCD Modul 16x2 Stuckliste LCD Add On Leiterplatte LCD 16x2 mit BL Buchsenleiste 1x20W Steckerleiste 1x20W Jumper 1x3 Potentiometer 5K Widerstand 10K Widerstand 220 Transistor st st i OD S
133. k led rot LED taster 1 Taster led_rot init taster 1l1 init run Controller do if taster_l pressed led_rot on else led_rot off f while true led_rot LED taster_1 Taster main void run void verbunden verbunden Taster LED init void init void P g pressed bool on void sbi DDRB 1 4 Ausgang off LED off cbi DDRB 0 Eingang sbi PORTB 0 PullUp sbi PORTB 1 LED on if PINB amp Ox01 return true cbi PORTB 1 LED off else return false Benutzerhandbuch SiSy AVR Laser amp Co Solutions GmbH Entwicklung eines Klassendiagramms mit SiSy AVR Seite 73 84 11 7 Ubersetzen Brennen und Testen Die Codegenerierung aus dem UML Klassendiagramm das Kompilieren Linken und Brennen kann uber das Ampelmannchen gestartet werden LE Aktionsmen x Controller gt gt gt Erstellen Brennen amp Ausfuhren TEF led cot LED taster 1 Taster zain void runi void Taster initi void init void pressed j bool on void off void Sie erhalten im Ausgabefenster ein Protokoll der ausgef hrten Aktionen Generiere Quelltexte Suche Diagramme ok L sche Dateien in C DOKUME 1 TEST_UML Beispiel_ UML Pr fe Diagramme 1 von 1 Pakete
134. kollausgaben der Aktionen an Wenn die Hardware ord nungsgem angeschlossen von der Software erkannt und das Programm erfolgreich auf den Programmspeicher des Mikrocontrollers bertragen wurde muss die letzte Ausschrift folgenden Inhalt haben brenne Daten neu Das AVR Ger t ist initalisiert und bereit Ger te Signatur 0x0793le L sche die Daten auf dem Flash Schreibe die Daten auf den Flash xxx bytes xxx Bytes wurden in den Flash geschrieben Lese die Daten auf dem Flash Vergleiche xxx Bytes erfolgreich verglichen keine Fehler Ende Abbildung 9 Ausgabefenster mit Brenn Protokoll Inbetriebnahme Test und Datenkommunikation mit der Mikrocontrollerl sung erfolgen ber das myAVR Controlcenter Dabei wird ber die Schaltfl che Start das Board mit der n tigen Betriebsspannung versorgt und der Controller gestartet Der Datenaus tausch mit dem myAVR Board ist m glich wenn das Null Modemkabel an Rechner und Board angeschlossen ist sowie die Mikrocontrollerl sung daf r vorgesehen ist Es k n nen Texte und Bytes vorzeichenlose ganzzahlige Werte bis 255 an das Board gesen det und Text empfangen werden Die empfangenen Daten werden im Protokollfenster angezeigt Vergleichen Sie dazu den folgenden Abschnitt zum myAVR Controlcenter Laser amp Co Solutions GmbH Benutzerhandbuch SiSy AVR Seite 28 84 Das myAVR Controlcenter 6 Das myAVR Controlcenter 6 1 Einleitung Das myAVR Controlcenter is
135. lssatz und rzch Rechnerarchitektur f r AVR Clear Bit s in Register Rd Rd FF K Increment Rd Rd 1 ZN V lear Register Rd Rd ARG Z N V Set Register Rd FF Relative Jump PC PC k 1 Indirect Jump to Z PC Z Relative Subroutine Call PC PC k 1 Indirect Calltto Z PC Z Subroutine Return PC STACK Abbildung AVR Assembler gt Dictionary und Hilfe Laser amp Co Solutions GmbH myAVR Lehrbuch Mikrocontrollerprogrammierung Leseprobe 4 5 Schnellstart mit dem myAVR Workpad Voraussetzungen F r die Bearbeitung der folgenden Aufgaben ben tigen Sie die aufgef hrte Soft ware und Hardware Software e myAVR Workpad Hardware e Ein best cktes myAVR Board LPT Verl ngerungskabel oder USB Kabel A B 9 V Batterie Netzteil bei Bedarf z B autonomer Einsatz evtl Nullmodemkabel fur die COM Schnittstelle Zielstellung Der Schnelleinstieg zur Mikrocontroller Programmierung soll Ihnen helfen myAVR Workpad kennen zu lernen und erste Schritte in der hardwarenahen Pro grammierung mit diesem Programm zu gehen Die Funktion des nachfolgenden Programms ist es beim Start alle optischen Ausgabeger te rote gr ne und gelbe LED auf dem myAVR Board zum leuchten zu bringen Ein neues Projekt anlegen Starten Sie das myAVR Workpad und w hlen Sie Neue Datei Speichern Sie die Datei unter dem Namen Alle _ Lichter _ an d SiSy Windows Application mit SVL Willkommen im myAVR Workpad SE
136. lsystem lg T o virtual COM 4 WI Allgemeine Beschreibung mySmartUSB ist ein kompakter USB Programmer und Kommunikationsinterface f r Atmel AVR Mikrocontroller Sie k nnen mit Hilfe dieses Boards eine Vielzahl von AVR Systemen ganz einfach Uber die vorhandene USB Schnittstelle programmieren oder mit den Syste men ber eine UART USB Bridge kommunizieren Es ist ein anschlussfertiges Modul in SMD Bauweise Er verf gt ber spezielle Anschlussoptionen f r das myAVR Board 2 USB und Standard ISP Die Kommunikation mit dem PC l uft v llig transparent ber einen vir tuellen COM Port Das Board wird per USB Schnittstelle mit dem PC verbunden und mit Spannung versorgt Es ist kein Parallel oder COM Port n tig was gerade f r Notebook besitzer von Vorteil ist Hersteller Laser amp Co Solutions GmbH Promenadenring 8 02708 L bau Deutschland Laser amp Co Solutions GmbH Rev 5 Stand 11 06 Technische Beschre lbung mySmartUSB Seite 2 2 Technische Daten Hardwareversion 2 06 Maximalwerte Maximalspannung Maximalstrom Lagertemperatur Betriebsdaten 5 3 V ber den USB Bus 100 mA Uber den USB Bus 20 bis 70 Versorgungsspannung 5 V ber den USB Bus Betriebsstrom Betriebsspannung Betriebstemperatur 10 20 mA typisch ohne weitere Verbraucher bis 100 mA bei Anschluss an Zielsysteme 5V 0 bis 380 Schnittstellendaten Pinbelegung ISP Standard ISP 10polig Wannenstecker Pin 1 M
137. lttaste Klick auf Objekt Selektion Markierung von mehreren Objekten zur Weiterbe arbeitung Markise Mit gedr ckter linker Maustaste auf Fensterhintergrund und Ziehen eines Rechtecks ber zu markierende Objekte Drag amp Drop im Diagramm Objekt mit linker Maustaste anfassen und verschieben Ob jekte werden am Raster verschoben Umschalttaste Drag amp Drop im Diagramm Verschieben von Objekten ohne Raster Linke und rechte Maustaste dr cken Verschieben der Maus im Diagramm Der komplette Diagramminhalt wird geschoben STRG Drag amp Drop Maustaste gedr ckt halten und Mauszeiger vom Objekt auf den Fensterhintergrund f hren Eine Originalkopie des Objektes wird im aktuellen oder in ei nem anderen Diagramm erzeugt Drag amp Drop aus Navigator Ziehen des gew nschten Objektes aus dem Navigator in das Diagramm Es wird eine Referenz des gew hlten Objektes erzeugt Drag amp Drop aus Objektbibliothek Rot beschriftete Objekte k nnen nur als Referenz erzeugt werden Eine Liste zur Auswahl des gew nschten Typs erscheint Strg Drag amp Drop aus Objektbibliothek Eine Liste zur Auswahl der gew nschten Referenz des Ori ginalobjektes erscheint Benutzerhandbuch SiSy AVR Seite 84 84 Anhang Mausoperationen Drag amp Drop aus anderem Diagramm Objekt anlegen Objekt anhangen Objekte verbinden Verbindung anordnen Verbindung andern Objekt definieren Kontextmen ffnen Fenster ne
138. m Beispiel einer Mikrocontrollerl sung Referenzhardware erarbeitet Das hat nicht nur den Grund dass Mikrocontrollern eine zunehmende Bedeutung zukommt sondern auch dass eine solche L sung im Vergleich zu einem PC eine berschaubare und im Detail leicht verst ndliche Hardware besitzt Weitere Informationen und Beispiele finden Sie unter www myAVR de Mit Ihren Fragen k nnen Sie sich direkt an die SiSy Hotline wenden hotline myAVR de Beim Lernen wunschen wir Ihnen viel Erfolg Ihr myAVR Team Laser amp Co Solutions GmbH myAVR Lehrbuch Mikrocontrollerprogrammierung Leseprobe 1 Einleitung Mikrocontroller oder Mikrorechner Ein Mikrocontroller ist ein Prozessor bei dem im Unterschied zu PC Prozessoren Mikrorechnern Speicher wichtige Baugruppen wie Zeitgeber digitale sowie ana loge Ein und Ausgabeger te auf einem einzigen Chip integriert sind so dass ei ne Mikrocontroller L sung oft mit einigen wenigen externen Bauteilen auskommt Ein PC Prozessor verf gt nicht ber eigene Eingabe und Ausgabekomponenten sondern ber eine Verbindung zu einem externen Systembus an dem die Ein und Ausgabeger te zum Beispiel als Steckkarten angeschlossen sind In immer mehr Ger ten des Alltags werden die Aufgaben von analogen Schaltungen durch Mikrocontroller realisiert Damit lassen sich vor allem die Produktionskosten der Hardware drastisch senken Prinzipiell kann die Struktur und Arbeitsweise von Mikrorechnern und Mikr
139. mmiert werden Dazu schlie en Sie entsprechend Ihrer Boardvari ante das Programmierkabel an den LPT oder USB Port Ihres Rechners an SiSy AVR Neues Projekt Kleines Programm Sprache AVR Assembler Standard LPT Verl ngerungskabel Standard USB Kabel A B myAVR Board 2 USB myAVR Board 1 LPT Zum Brennen w hlen Sie die Schaltfl che Brennen Bei erfolgreichem Brennvorgang erhalten Sie im Ausgabefenster folgende Meldung E Ausegabefenster Abbildung 7 Ausgabefenster Benutzerhandbuch SiSy AVR Laser amp Co Solutions GmbH Entwicklung eines kleinen Programms mit SiSy AVR Seite 27 84 Mikrocontrollerlosung testen Um das Programm zu testen ist es notig den Port D mit den Ausgabegeraten LED zu verbinden e Wenn vorhanden ziehen Sie die Batterie bzw das Netzteil und das Programmierkabel ab e Verbinden Sie die LEDs mit dem Prozessorport D entsprechend dem folgenden Schema Nutzen Sie Patchkabel e Pr fen Sie die Verbindungen und schlie en Sie die Batterie das Netzteil oder das Programmier amp arm Aue kabel wieder an und nehmen Sie die Mikrocont BB ae rollerl sung in Betrieb 50 u a e Es ist jetzt an den LED s ein Lauflicht zu sehen EI OED Srp BR e Gratulation Das ist Ihre erste Mikrocontrollerl sung mit dem myAVR Board Abbildung 8 Verkablung Beim Compilieren Linken und Brennen des Schnellstart Beispiels ffnete sich ein Aus gabefenster und zeigte Proto
140. mparator een reed 131 5 13 2 Der Analog Digital Wandler neasessnensnsnnnnnnnnnnnnnnnnnnnnn nennen nenne neuen nnnnnnn neuen nnnnnnenn 137 5 13 3 Pulsweitenmodulation PWM ee ee ee 145 5 14 Watchdog Timer den Hund an die Leine legen 444444444444Rnnnnnn non nnnnn nn 151 6 Kurzeinfuhrung in die AVR Programmierung Mit C ccccccceesssssseceeeeeeseeesseeeeeeeeseseassseeeeees 155 6 1 Grundstruktur eines AVR C Programms en 155 6 2 Ausgaben in C ussssssssssenneneennnnnnnnnnnnnnnnnnnnennnnnnnnnnnnnnennnnnnnnnnnnernnnnnnnnnnnssnnnnnnnnnnnnnnnnnn 155 Ca 2 218 2 in e ee 156 04 EINS DAN Inserate een 156 6 5 Beispiel Ein und Ausgabe in C uunessssnnnsssnnnnnnennnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnennnnnnnnnnnnennnnn 156 eo BART IMG ee ee ee een 157 Bet Der CO ni AOIG rroen trai tesesannenedvian phone eA Eiai 158 6 8 Interrupts TAG nn een 159 7 Einf hrung in die AVR Programmierung mit BASCOM uuussssssssssnenennnnnnnnnnnnnnn nenn 161 7 1 Installation und VOrbereitUng cccccccccssseeccecceeseecececaeueeeeeeeeeuseceeeeeaaeceeeesaaseeeesssaaseeess 161 7 2 Grundstruktur eines AVR BASCOM Programms ccccccsseeeeeeeeeeeeeeaeeeeeeeeeeeeeeaeaseeeeeeees 165 7 3 BASCOM BefehISSaIZ ccccesceeeeeeeeeeeeeeeeeeaaaaaessseeeeeeceeeeeeeeeeeeeeaaaaaaaaseeeeeeeeeeeeeeeeees 165 7 4 Compilieren und Brennen mit BASCOM uuuussssnnsennnnnnnnnnnnnnnnnnnnnnnnnnnnnnn
141. n Bearbeite Diagramme Speichere Beispiel _UML cc Speichere Controller cc Speichere Controller h Speichere Taster cc Speichere Taster h Speichere LED cc Speichere LED h Kompiliere die Datei Beispiel_UML cc Linke Datei Beispiel_UML hex Brenne Daten aus Datei Beispiel_UML hex Das AVR Ger t ist initalisiert und bereit Ger te Signatur 0x07931e L sche die Daten auf dem Flash Einlesen der Datei Beispiel UML hex Schreibe die Daten auf den Flash 1078 bytes 1078 Bytes wurden in den Flash geschrieben Lese die Daten auf dem Flash Vergleiche 1078 Bytes erfolgreich verglichen keine Fehler Laser amp Co Solutions GmbH Benutzerhandbuch SiSy AVR Seite 74 84 Entwicklung eines Klassendiagramms mit SiSy AVR 11 8 Interrupt Service Routinen ISR im Klassendiagramm Interrupt Service Routinen im weiteren ISR werden in AVR C durch das Schlussel wort ISR gekennzeichnet Sie bilden eigenst ndige Funktionen Die Besonderheit bei der Realisierung einer ISR liegt darin dass es sich hier um ein C Makro handelt und nicht um eine echte Funktion Diese k nnen also keine Methode einer Klasse sein Um eine ISR im Klassendiagramm zu realisieren gehen Sie wie folgt vor Erweiterung des Beispiels um die Klasser Timer und der ISR Timer0 Overflow 1 Die Klasse f r die interruptf hige Komponente modellieren und die Methode ein f gen welche beim Interrupt ausgef hrt werden soll In unserem Beispiel ist
142. n Port B 1 angeschlossen werden Benutzerhandbuch SiSy AVR i 5 en Ve iS der 4 u y Ih u 50 gt ud oO Fo O me slelelelele e222 4284424228226 4246 46 0 IOVI V oo S e 000000 10000 000000 Oo e fe eeceeettaenaan BEEEEEE b Abbildung 32 Beispiel f r SG Laser amp Co Solutions GmbH Entwicklung eines Struktogramms mit SiSy AVR Seite 59 84 10 3 Vorbereitung Das Struktogramm kann je SiSy Projekt ein Hauptprogramm verwalten Es ist also no tig f r jedes neue Struktogramm Projekt auch ein neues SiSy Projekt zu erzeugen Starten Sie ggf SiSy Erstellen Sie ein neues SiSy Projekt Hauptmenu gt Projekt gt Neu mit dem Namen lest_SG W hlen Sie das Vorgehensmodell AVR Vorgehensmodell kompilieren linken Brennen Ausf hren f iR rc lade AVE a BER ne nn nn nn nnn nn nn nnn nn nn ee ee nn nn en nent en nn nn nn nn vol Deret and Intereupt vector Mir Burchreibun wor rjmp main POWER ON RESET _ 0013 reti Inti Inte rrept Neues Projekt erstelle bo aai m vtl reti 5 Tl Overt lon reti 6 Tel Capture oot reti TCL Compare Mate oo reti TCL Compare Mate ors reti J TTL Overflow oor acti 10 Tre flu oor reti u SPI Serial an Compl wore reti 1 UART Complet rs AVR PAP Nutzen Sie dieses Vorgehensmodell zum Programmieren von AVR Prograrimen mit Hilfe von verschiedenen Modellierungs und Quelltex
143. n Verbindungen auf dem Board zu stecken Uber die Schaltfl che Start Stopp kann das myAVR Board ein und ausgeschaltet werden 9 8 Unterprogrammtechnik im PAP Unterprogramme sind ein wichtiges Gestaltungsmittel f r bersichtliche Mikrocontroller programme Sie werden f r in sich abgeschlossene Aufgaben Verarbeitungsschritte benutzt die auch mehrfach im Gesamtprogramm genutzt werden k nnen 9 8 1 Anlegen eines Unterprogramms Ziehen Sie den Objekttyp Unterprogramm aus der Objektbibliothek in das gew nschte Diagramm Mit Doppelklick oder ber rechte Maustaste gt Kontextmen gt Definieren auf dem Element k nnen Sie dem Unterprogramm einen Namen geben Beachte Men folge Einstellungen Men bei Doppelklick Benutzerhandbuch SiSy AVR Laser amp Co Solutions GmbH Entwicklung eines Programmablaufplans mit SiSy AVR Objektbibliothe Unterprogrammi Sy Ey Seite 53 84 Damit ist ein Objekt angelegt welches im aktuellen Diagramm als Aufruf call des Un terprogramms zu verstehen ist Die Funktionalit t des Unterprogramms wird in einem gesonderten Programmablaufplan f r das Unterprogramm entworfen Dazu ist das Dia gramm unter bzw hinter Unterprogramm zu ffnen Um das zum Unterprogramm zugeh rige Diagramm zu ffnen w hlen Sie auf dem Objekt rechte Maustaste gt Kon gt Nach unten ffnen textmen Nach unten ffnen Definieren in neuem Fens
144. nd Sym bole an den Dia grammelementen zum Bearbeitungs stand werden F r bestimmte Druckertypen kann die F llfarbe der Objekte abgeschaltet werden Das Gr enverh ltnis zwischen Druckseite und Diagramm kann manuell oder immer automatisch angepasst werden e Zum Drucken w hlen Sie die Schaltfl che OK UMS Der Ausdruck erfolgt auf dem Standarddrucker N DEV Progranmnablautplant toni des Systems ee e m Hintergrund ist die Druckvorschau zu sehen Der Druckvorgang kann hier abgebrochen werden um die Einstellun gen zu berarbeiten Dabei kann die rela tive Position und das Gr enverh ltnis der Druckseite zum Diagramm ver ndert werden Der Dialog zum Ver ndern der Einstellungen l sst sich per Doppelklick auf den Selektierungsmarken der Druck seite ffnen e Die Druckseitenansicht l sst sich ber die Men folge Ansicht Druckseite ein und ausblenden e Der Druckvorgang kann ber das Dru ckersymbol in der Werkzeugleiste jeder zeit gestartet werden Laser amp Co Solutions GmbH Benutzerhandbuch SiSy AVR Gro e Diagramme k nnen auf mehrere Bl tter verteilt Seite 14 84 Arbeiten mit SiSy AVR allgemein 3 4 2 Grafiken und Inhalte drucken QuickDok Viele Projektinformationen sind kein sichtbarer Teil von erstellten Diagrammen Diese wurden ber Dialoge und Masken eingegeben und stehen als Attribute in der Projektda tenbank zur Verf gung Um d
145. nd die LED an Port B 1 angeschlossen werden oe Wu 117 oo u fe 000000 0000 000000 0 o 9 11 3 Vorbereitung Abbildung 34 UML Beispiel Starten Sie ggf SiSy Erstellen Sie ein neues SiSy Projekt Hauptmenu gt Projekt gt Neu mit dem Namen Test UML W hlen Sie das Vorgehensmodell AVR Vorgehensmodell iMeues P rojekt erstellen x ANR PAP Nutzen Sie dieses Vorgehensmodell zum Programmieren von AVR Prograramen mit Hilfe von verschiedenen Modellierungs und Quelltextdiagrammen Cx Legen Sie im weiteren Verlauf die AVR Grundeinstellungen fur das Projekt fest Ziehen Sie ein Objekt vom Typ Klassendiagramm per Drag amp Drop in das Diagrammfenster Legen Sie den Namen fur das Klassendiagramm fest Sy f r Windows test_UML spr REQ MAnRAGEaca ABAOE EFRELTEEMP WIDE Klassendiagramm x Definition Main Funktion Erweiterte Einstellungen Extras AVR Name des Diagsarnms Beispiel_UML Kommentar Verwendetes UML Dialoglapout I Fast UML ist aktiviert Sprache AVR C hd Die Einstellungen auf dieser Seite betreffen die Fast LIML ERSTELLEN amp AUSF HREN Quellcode Offnen Erstellen Debug starten Ausfuhren Doppelklick Taste F1 f r Hilte zum aktuellen Fenster Laser amp Co Solutions GmbH Benutzerhandbuch SiSy AVR Seite 68 84 Entwicklung eines Klassendiagramms mit SiSy AVR 11 4 Grundstruktur laden Um d
146. ndbuch SiSy AVR Laser amp Co Solutions GmbH Entwicklung eines Klassendiagramms mit SiSy AVR Seite 71 84 Definieren Sie Zugriff Sichtbarkeit Name Typ und Parameter der Operation bzw Zugriff Sichtbarkeit Name Typ und Initialwert des Attributes init word Definition Statements Into Controller EEE maint void rund void F verbunden Saas init word verbunden Vervollst ndigen Sie das Klassenmodell entsprechend der Abbildung 36 Controller led_rot LED taster 1 Taster main void Fun amp void verbunden verbunden Taster LED init void init void pressed bool ont 2 void off void Abbildung 36 endg ltiger Systementwurf mit dem UML Klassendiagramm Laser amp Co Solutions GmbH Benutzerhandbuch SiSy AVR Seite 72 84 Entwicklung eines Klassendiagramms mit SiSy AVR 11 6 Systemverhalten programmieren Die Operationen m ssen mit der entsprechenden Logik versehen werden Sie k nnen den Quellcode der Operationen bearbeiten indem Sie die gew nschte Operation selek tieren und im Beschreibungs Quellcodefester die Befehle eingeben UML Klassendiagramm Beispiel_UML old Controller main i d 0033 hier Initialisierungen durchf hren 0054 led rot initij 0035 taster 1 init ee z 0036 runi a S 1 orogrammieren anaes Be Objektbibliothe
147. nden Fenster ein Vorge hensmodell ausgew hlt werden Je nach Vorgehensmodell k nnen Vorlagen oder As sistenten das Erstellen eines neuen Projektes unterst tzen 3 1 3 Vorhandenes Projekt ffnen Ein vorhandenes Projekt wird ge ffnet und die abgespeicherten Diagramme und Objek te sowie alle M glichkeiten f r die weitere Bearbeitung werden verf gbar gemacht Die Wahl des Projektes erfolgt durch Klicken auf den entsprechenden Namen oder ber die Schaltfl che Suchen Beim Aktivieren der Checkbox Beschreibung anzeigen werden zum markierten Projekt Informationen angezeigt Dazu geh ren au er der Beschreibung auch Informationen zum Bearbeitungsstand 3 1 4 Projekt archivieren Men Projekt Archiv Anlegen Es kann ein komprimiertes Archiv des Projektes erzeugt werden Dies ist besonders aus Gr nden der Datensicherheit sinnvoll Zielverzeichnis und Dateiname f r die Ar chivdatei werden vorgeschlagen und k nnen korrigiert werden Der Umfang der Archi vierung ist festzulegen und die Entscheidung f r eine Komprimierung zu treffen wobei diese empfohlen wird Wenn ein Projekt unter einem bereits vorhandenen Archivnamen angelegt werden soll wird eine berschreibwarnung angezeigt Bei Auswahl von Nein wird die Erstellung des Archivs abgebrochen bei Ja wird das Projekt archiviert Hinweis SiSy bietet die M glichkeit des regelm igen Abspeicherns verschiedener Ar beitsst nde d h ein archiviertes Projekt w
148. nen zu SiSy bereith lt und eine Werkzeugleiste mit deren Hilfe schnell auf n tzliche Anwendungen zugegriffen werden kann Das Diagrammfenster nimmt die rechte Bildschirmseite ein und ist der Raum in dem der Nutzer modelliert Es enth lt e das ausgew hlte Vorgehensmodell e die Objektbibliothek mit den m glichen Objekten des aktuellen Diagramms sowie e ein Fenster zur Beschreibung des markierten Objekts in diesem Fall zum Editieren des Quelltextes Laser amp Co Solutions GmbH Benutzerhandbuch SiSy AVR Seite 12 84 Arbeiten mit SiSy AVR allgemein Die Bedienelemente Objektbibliothek SiSy bietet wie bei Windows Anwendungen blich die Steuerung von Befehlen ber das Hauptmenu uber die Werkzeugleisten die Tastatur oder die Objektbibliothek an Dar ber hinaus enthalten das Kontextmen und der Navigator Steuerfunktionen Die Anzahl der m glichen Befehle in der Men leiste ist abh ngig davon ob ein Projekt ge ffnet ist Ist das nicht der Fall erscheint ein Men mit wenigen Befehlen Bei einem ge ffneten Projekt h lt Sisy umfangreichere Men s bereit Die wichtigsten Men befehle befinden sich auch als grafische Schaltfl che in der Werkzeugleiste die eine schnelle und effiziente Bedienung des Programms erm glicht Die Toolbox Darstellung bietet dem Anwender wichtige Programmfunktionen als direkten Link an Ein weiteres Bedienelement ist die Objektbibliothek Sie unterst tzt das Anlegen neuer Objekte 3 4 Druck
149. nes AVR C Programms Das ist die Hauptschleife erzeugt diese kann bereits ji Nerarbelrungs log k hier gebildet gebrannt und PORTB OxFF LEDs an Port B ON gestartet werden Es empfiehlt sich im Struktogramm mit der Tastatur zu arbeiten Tastenbelegung Auszug im Struktogramm Fe ffnet den Quelltext F5 startet das Programm bei SiSy AVR das myAVR Controlcenter F8 Codegenerierung des aktuellen Struktogramms F9 bersetzt das Struktogramm ESC Ebene nach oben Num selektiertes Objekt wird vergr ert Num selektiertes Objekt wird verkleinert Enter erm glicht die Bearbeitung des Quelltextes im Struktogramm Editor Entf l schen T erm glicht die Bearbeitung des Titels K erm glicht die Bearbeitung des Kommentars B Begin neue Funktion einf gen S Sequenz einf gen Folge Block D Do einf gen elementare Aktion W While Schleife einf gen kopfgesteuerte Schleife R Repeat Schleife einf gen fu gesteuerte Schleife F For Schleife einf gen Z hlschleife A Alternative einf gen C Case einf gen Fallunterscheidung If Zweig einf gen E Exit einf gen L Loop einf gen Cursortasten Bewegung im Struktogramm Benutzerhandbuch SiSy AVR Laser amp Co Solutions GmbH Entwicklung eines Struktogramms mit SiSy AVR Seite 61 84 F hren Sie folgende Arbeitsschritte aus um den Algorithmus f r die oben genannte Aufgabe zu entwerfen 1 L schen Sie den Kommentar selektieren Sie dazu das Element
150. nnnnnnnnnennnn 166 7 9 USC aD ON AM BASCOM ss nenne nee ee 168 7 6 Variablen und deren Verarbeitung in BASCOM cccccccsseeeeeeeseeeeeeeeeseeeeeeeeeeaaeeeeeeeas 169 77 TEVA SUT Ue see ee een 170 78 Unterprogrammein BASCOM u 171 7 9 UART Programmierung in BASCOM 22u00002204000ennnnnnnnnnnnnnnnnnnnnnennnnnnnnnenennnnn nennen 173 FAG nterupts in BASCOM use 175 PAA Der Gomparaior m BASCOM en ee een 176 7 12 Der A D Wandler in BASCOM cccccsceeeceecceesseeceeeceeeeeeeeseeeeeeesseaeeeeeeesseaeseeseaeeeeeeeaas 177 o Anhang m LenrDUCH nee i wists a eea une taileda he 179 8 1 Tabellen und Ubersichten ccccceccecsecescesseseeseeeceseecesseesessessesseesaceusessersesseetenverenneaneases 179 82 BEISN SS AZ een ee 182 8 3 Experimentierplattiorm myAVR Board 1 5 LPT 220ss00s000008nennnennnnnnonnnnnnnnn nennen 183 8 4 Experimentierplattform myAVR Board 2 USB 2224442444000nnnennnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn 184 oo 1 1 geen eee eee nee ee eee ee eee ee eee eee eee 185 8 6 Weitere Listings Entwurfsmuster ccccccceccseeseeeeeeeeeceeeceaeseeeeesaeaeeeeeesseaseeeeesaeeeeeeeeeas 187 9 SachwornverzeichNiS ee ee ee en ee 198 myAVR Lehrbuch Mikrocontrollerprogrammierung Laser amp Co Solutions GmbH Leseprobe Vorwort Das vorliegende Lehrmaterial ist so konzipiert dass Sie Schritt fur Schritt in die hardwarenahe Programmierung eingef hrt werden Die
151. nnnnnnnnnnnnnnnnnnnnnnnn 28 AS Schhellstar mil SlOy AVF ssccoscssascouncascheucdosscotebssceetodasguetsdescesuadanancsidaacteiatanastoaesseisadanesenons 30 4 4 Entwicklungsumgebung myAVR Workpad ccccccceeeeceeeeeeeeeeeeeeeeeeeeeeeeaeaeeeeeesaaneeeeeeeas 34 4 5 Schnellistart mit dem myAVR Workpad ccccccccsssseeeeeeccscessseeeeeeccseeassseeeeeecseseaussseeeeess 36 5 Mikrorechnerprogrammierung in Assembler cccccccseeccecesecceceeeecesceeeeeeceaeceeseaeeeessaeeeeseaes 40 5 1 Einf hrung in den AVR Assembler ccceecccccceeeeeceeecaeeeeeeeesseeeeeeeeesaaeeeeeesseaeeeeeesaaaeeeees 40 5 2 Grundaufbau eines AVR Assembler Programms ccccccccseeeeeeeeeeeeeeaeeeseeeeeeeeeaaaseeeeeeees 42 5 3 Der Befehlssatz des AVR RISC Assembler sssseeeeeeeeeeeeeeeeeesaaaaesseeeseeeeeeeeeneees 47 5 4 Das seltsame Hallo Welt eines Mikrocontrollers uu044444444Rnnnn nenn nnnennnnn en 49 9 9 Eingaben und AU Gaben ee ee 57 5 6 Eingabe Verarbeitung Ausgabe EVA und der uO uussssnuuesssnsnennnnnnennnnnnnnnnnneenennnn 64 5 7 Programmsteuerung und Algorithmen in Assembler cccccseeceeeeeseeeeseeeeeeseeeeeeeaeeeeeens 70 WRT OSI SNS ee ne de nee nen E ee 79 59 INIOHUPISIEHEI UN Gene 86 5 9 1 Polling oder Intet piznesseeeeeeeeeeeseee 86 5 9 2 Beispiel Lichtschalter mit Interrupt ccceeccccssseeeceesseeeceeseeeceeseeesseeseeessaeeeeees 92
152. nsprotokoll mit der Entwicklungsumgebung realisiert Die folgende Tabel le zeigt die AVR910 Kommandos die per serieller Schnittstelle vom Brennprogramm an den Programmer gesendet werden Ke IMMANAO Look l IC 10 AV g N Programming En OxAC 0x53 Nach Power UP und RESET Low able muss als erstes dieses Kom mando gesendet werden da nach akzeptiert der Controller Programmier Kommandos x x Chip Erase OxAC 0x8 Bevor der Programmspeicher neu programmiert werden kann ist dieser erst zu l schen Dies bewirkt dass jedes Byte mit OxFF alle Bits High berschrie ben wird Der Programmier vorgang setzt dann nur noch die Low Bits 0x60 adrh adrl byte 0x68 adrh adrl byte Jeder Maschinenbefehl des AVR besteht aus 2 Byte 16 Bit Worte Diese sind einzeln zu bertragen 0x20 adrh adrl Jeder Maschinenbefehl des AVR Write FLASH Higth 0x28 adrh adrl besteht aus 2 Byte Diese k n nen nur einzeln gelesen werden Write EEPROM OxCO adrh adrl byte Schreibt ein Byte in den x Dieser ist byteorientiert Read EEPROM OxAO adrh adrl Liest ein Byte aus dem Dieser ist byteorientiert 0x30 0x00 Liest den Herstellercode aus Atmel signiert mit Ox1e Read Family Code 0x30 0x01 Liest den Gruppencode aus Der Mega liefert zum Beispiel 0x07 Darin ist Controllerfamilie und FLASH Size codiert Read Part Number 0x30 00x02 Liest den Teilcode aus Write FLASH Low Write FLASH
153. ntstecker PSS 254 2G 1 Standardquarz 3 686411 HC49U S 1 Buchsenleiste BL 1X20W 2 54 1 Buchsenleiste BL 1X10W 2 54 2 Stiftleiste SL 1X10W 2 54 2 Leiterplatte USB Programmer Sicherheitshinweise myAVR Board 2 x Bestuckte SMD Leiterplatte _ Se 4 Grunds tzlich ist das myAVR Board nur zum Einsatz als Lern und Experimentierplattform konzipiert Es ist nicht vorgesehen und nicht dimensioniert zur Steuerung realer Anlagen Bei vorschriftsm igem Anschluss und Betrieb treten keine lebensgef hrlichen Spannungen auf Beachten Sie trotzdem die Vorschriften die beim Betrieb elektrischer Ger te und Anlagen G ltigkeit haben Wir versichern dass die Leiterplatte durch den Hersteller getestet wurde Das Bauelementesortiment wurde gewissenhaft zusammengestellt und auf Vollz hligkeit berpr ft F r Fehler beim Best cken der Leiterplatte leisten wir keinen Ersatz Besch digte Bauelemente senden wir Ihnen auf Anfrage zu F r fehlerhaften und oder vorschriftswidrigen Einsatz des Board bernehmen wir keine Garantie Zum Anschluss des Boards an den PC ist ein Standard USB Kabel A B zu verwenden Der Einsatz anderer Kabel f hrt zu Fehlern bei der Programmierung und Kommunikation www myAVR de Laser amp Co Solutions GmbH Promenadenring 8 D 02708 L bau Email hotline myAVR de Tel 49 0 3585 470222 Fax 449 0 3585 470233 Rev 1 Stand 02 2006 Laser amp Co Solutions GmbH Referenzkarte myAVR Board 2 0 USB mit ATmeg
154. ocont rollern e ASM S C CC BAS Quellcode wird im Editor erstellt und Ubersetzt Compiler Assembler Zu e O OBJ Objektdateien entstehen beim Ubersetzen werden zu ausf hrbaren Dateien gebunden Linker e HEX BIN Bin rdatein entstehen beim Linken werden beim Brennen in den Programm speicher des Controllers bertragen Die folgenden Abbildungen zeigen jeweils die allgemeine Grundstruktur eines Mik rocontrollerprogramms in unterschiedlichen Programmiersprachen myAVR Lehrbuch Mikrocontrollerprogrammierung Laser amp Co Solutions GmbH Leseprobe Programmvorlage fur myAVR Board ATmega8 mit 3 6864 MHz include avr h Reset and Interruptvectoren VNr Beschreibung begin rjmp main POWER ON RESET reti IntO Interrupt reti Int1 Interrupt reti TC2 Compare Match reti TC2 Overflow reti TC1 Capture reti TC1 Compare Match A reti TC1 Compare Match B reti TC1 Overflow reti TCO Overflow reti SPI STC Serial Transfer Complete reti UART Rx Complete reti UART Data Register Empty reti UART Tx Complete reti ADC Conversion Complete reti EEPROM Ready reti i Analog Comparator reti TWI I2C Serial Interface Store Program Memory Ready OANA UU FWD FE Power ON Reset ldi r16 108 RAMEND out SPL r16 ldi r16 hi8 RAMEND out SPH r16 Init Stackpointer Hier den Init Code eintragen Hier den Quellcode eintragen rjmp mainloop Titel Programmvorlage f r da
155. ocontrollern mit der von Neumann Architektur erkl rt wer den von Neumann Architektur ausgew hlte Aspekte e Ein Rechner besteht aus einer Zentraleinheit mit Rechenwerk und Steuerwerk Eingabeger ten Ausgabeger ten und einem Arbeitsspeicher e Die intern verwendete Signalmenge ist bin r codiert Digitalrechner e Der Rechner verarbeitet Worte fester L nge Verarbeitungsbreite Bussystem Register Speicher e Die Programmbefehle werden sequenziell in der Reihenfolge ihrer Speicherung abgearbeitet Befehlszyklus 1 POWER ON oder RESET 2 lade Befehlszeiger mit fester Startadresse z B 0x00 3 lese Befehl von Adresse im Befehlszeiger 4 decodiere Befehl Steuerwerk 5 f hre Befehl aus Rechenwerk 6 erh he den Befehlszeiger um 1 weiter mit 3 e Der Rechner arbeitet taktgesteuert e Die sequenzielle Verarbeitung von Befehlen kann durch Sprunganweisung ge ndert werden e Befehlszeiger Sprungadresse Sprung mit oder ohne Bedingung Unterpro grammaufruf mit Speicherung der R cksprungadresse Prozessoren werden als erstes an der Verarbeitungsbreite der internen Architektur unterschieden 8 Bit 16 Bit 32 Bit 64 Bit usw Diese Bit Zahl kann man als die L nge der Datenworte interpretieren die der Controller Prozessor in einem Befehl verarbeiten kann Die gr te in 8 Bit 1 Byte darstellbare Zahl ist die 255 Somit kann ein 8 Bit Mikrocontroller z B in einem einfachen Additionsbefehl nur Zahlen von 0 bis 255 verarb
156. pointer LO Laa rl6 hi8 RAMEND out SPH r16 mainloop wdr Hier den Quellcode eintragen rjmp mainloop Benutzerhandbuch SiSy AVR Laser amp Co Solutions GmbH Entwicklung eines kleinen Programms mit SiSy AVR Seite 25 84 Quellcode in Assembler erstellen Das Lauflicht soll uber die Ausgabegerate LED angezeigt und von dem Prozessorport D gesteuert werden Die Realisierung erfolgt Uber je ein Bit im Register R18 Dieses wird mit dem Befehl Bit Rotation nach rechts verschoben und an PORT D des Prozessors ausgegeben Auf Grund der Prozessorgeschwindigkeit muss die Ausgabe des Lauflich tes fur unser Auge verz gert werden Geben Sie folgenden Quellcode ein bzw ergan zen Sie die Programmvorlage d Titel Lauflicht f r myAVR Board p Prozessor ATmega8 mit 3 6864 MHz Schalcong PORT D 2 bis PORT D 4 an LED 1 bis 3 Datum 715 034 2004 Autor Dipl Ing P d Alexander Huwaldt Me len ee ee ae nn include avr h Reset and Interruptvect ren VNr Beschreibung l begin rjmp main 1 POWER ON RESET reti 7 2 Int0 Interrupt reti 3 Inel Interruptr reti 4 TC2 Compare Match reti pD TC2 Overflow reti 6 TC1 Capture reti 7 TC1 Compare Match A reti E TC1 Compare Match B reti gt 9 TC1 Overflow reti 10 TCO Overflow reti gt I1 SPI STC Serial Transfer Complete reti 12 UART Rx Complete reti AS UART Data Register Empty reti 14 UART Tx complete reti 1S ADC Conversion Complete reti z 16 EEPR
157. pru fung der Konfiguration ist das wichtigste Instrument um Fehler zu vermeiden 12 2 Fuse und Lockbits Benutzeroberfl che in SiSy AVR Sie erreichen die Benutzeroberfl che zum Auslesen Ver ndern und Programmieren der Fuse und Lockbits in SiSy AVR wie folgt 1 Hauptmen gt Werkzeuge gt Fuse und Lockbits SiSy f r Windows test_UML spr Projekt POGET Bearbeiten Ausf hren Ansicht Einstellungen Fenster Wwotenoid 7 eA myA R Controlcenter Fuse und Lockbit AXB TT wala o _Tvorgenensmogen 2 Auf Programm Objekten wie kleines Programm Programm PAP usw rechte Maustaste gt Kontextmen gt Definieren Dialogfeld Extras AVR gt Schaltfl che Fuse amp Lock Bits kleines Programm Definition we Progaragariist erweiterte Einstellungen Extras AV Rom Too W Vorgaben benutzen Fuse amp Lock Bits Beim Start der Fuse und Lockbits Benutzeroberflache wird eine Verbindung zum Cont roller aufgebaut der Controllertyp ermittelt die Fuse und Lockbit Definitonen des Cont rollers geladen die Fuse und Lockbit Einstellungen des Controllers ausgelesen und angezeigt Dieser Vorgang kann je nach Controllertyp und Verbindung einige Sekunden Benutzerhandbuch SiSy AVR Laser amp Co Solutions GmbH Einstellungen Fuse und Lock Bits mit SiSy Seite 77 84 dauern Die Verbindung zum Controller wird solange diese Benutzeroberflache offen ist da
158. r und ein Bild schirm ist an vielen Mikrocontrollerl sungen gar nicht vorgesehen Als Ausgabe ger t hat man oft nur eine LED zur Verf gung Das Hallo Welt eines Mikrocont rollers ist in unserem Fall nur eine LED die eingeschaltet wird oder blinkt Dies soll die erste zu l sende Aufgabe sein 4 x Pr I _ Orm p a e ie eg i Bile hoo J BEER ig BES u oF nd a tO 4 s E a a Ar f Du n bus N y t i t Jf eA Ea A A o Ve thy Pr SS f Vote l en L lt y DUER f a f wer L 7 N E m u L A 5 SOC gt un Rote LED ON un 5 oO 000000 e ses ZZEZ ZB um sees Abbildung Das seltsame Hallo Welt der uController Die vorbereitenden Arbeiten f r jede bung sind das Anschlie en der Hardware und Starten der Entwicklungsumgebung 1 Hardware anschlie en 2 SISy AVR oder myAVRWorkpad starten 3 Neues Projekt Datei anlegen 4 Sprache AVR Assembler w hlen Standard LPT Verl ngerungskabel ggf Nullmodemkabel Standard USB Kabel A B myAVR Board 1 LPT myAVR Board 2 USB Abbildung Hardware anschlie en LPT und USB Variante Laser amp Co Solutions GmbH myAVR Lehrbuch Mikrocontrollerprogrammierung Leseprobe Technische Aspekte fur das seltsame Hallo Welt Die Aufgabe ist dem Wesen nach die Ausgabe einer Information Das Ausgabege rat ist die rote LED Der im myAVR Board verwendete Controller verfugt uber drei digitale 8 Bit parallele Ein
159. ramm cccccccsssssssseeeeeeeeeeesseeeeeeeeeeaaesees 74 12 Einstellungen Fuse und Lock Bits Mit SISY uessssnssssnnnneeennnnnnnnnnnnnnnnnnnnnnnnnnnnennnnnnnnnnnnnnennnnnennnnn 76 VARE 1 121 0 iccentassracantestocstnctesrsieenunrntanoaariadtenutiettansanincannentaaneaduatestaneadenettiaamieidaaseaiuanestawsatenesrsieate 76 12 2 Fuse und Lockbits Benutzeroberflache in SiSy AVR essssueesssnnnesnennnnennnnnnennennnnenennnnn 76 12 3 Fuse und Lockbits ver ndern ccccccccsssseecccceessececcceaueeeecceeuseeeecseeaeeeeeseuaaeeeesssaseeeesssaaaeeess 78 Anhang Tastaturbelegung allgemein ee een 80 Anhang Tastenbelegung im Struktogramm ccccccceccsseseececceeeeeeeeeeeeeeeeeeeeueeeeeeeeeeessaaaaeeeeeeeessaeaaeses 82 Anhang MauSoperationen cccccsscccccssseeccseseecceeescecceusceeceeseeecsaseeseauseesseuseeessaeeessaeeeessgeeeessaneeessageees 83 Benutzerhandbuch SiSy AVR Laser amp Co Solutions GmbH Einleitung Seite 5 84 1 Einleitung Sie haben eine Ausgabe des Modellierungswerkzeuges Simple System kurz SiSy er worben Bevor auf die verschiedenen Funktionen des Programms eingegangen wird noch einige Worte zum vorliegenden Handbuch Mit Hilfe des Handbuchs werden dem Nutzer die Grundlagen der Bedienung von SiSy erl utert Der Inhalt die Gestalt und die Regeln der Modelle werden nur am Rand betrachtet Das genaue Vorgehen f r die Programmierung eines Mikroprozessors wird an einem
160. rden Hardware anschlie en und brennen Das myAVR Board verf gt ber eine ISP In System Programming Schnittstelle Der Prozessor muss also nicht f r die Programmierung aus dem System entfernt werden um ihn in einem gesonderten Programmierger t zu brennen sondern kann im myAVR Board direkt programmiert werden Dazu schlie en Sie das Pro grammierkabel an den LPT oder USB Port Ihres Rechners an Sisy AVR Neues Projekt Standard LPT Verlangerungskabel ggf Nullmodemkabel Standard USB Kabel A B Kleines Programm Sprache AVR Assembler myAVR Board 1 LPT myAVR Board 2 USB Zum Brennen w hlen Sie die Schaltfl che Brennen Bei erfolgreichem Brennvor gang erhalten Sie im Ausgabefenster folgende Meldung myAVR Lehrbuch Mikrocontrollerprogrammierung Laser amp Co Solutions GmbH Leseprobe Mikrocontrollerlosung testen Um das Programm zu testen ist es n tig den Port D mit den Ausgabeger ten LED zu verbinden e Wenn vorhanden ziehen Sie die Batterie ee EE bzw das Netzteil und das Programmierka lee 2 bel ab gt p eTo TEN n gt a e Verbinden Sie die LEDs mit dem Prozes USD Oqe 9 1 CON sorport D entsprechend dem folgenden Schema Nutzen Sie die Patchkabel e Pr fen Sie die Verbindungen und schlie en Sie die Batterie das Netzteil oder das Pro grammierkabel wieder an und nehmen Sie die Mikrocontrollerl sung in Betrieb e Es sind jetzt alle LED s an Gratulation Das ist I
161. rechend zu konfigurieren Es empfiehlt sich f r jedes interruptf hige Ger t eine eigene Unit anzulegen Diese ist mit der Haupt Unit zu verbinden out ADMUX r16 idi r25 0610011101 out ADCSRA r25 ret a an Notizen ee reti Laser amp Co Solutions GmbH Benutzerhandbuch SiSy AVR Seite 44 84 Entwicklung eines Programmablaufplans mit SiSy AVR 9 Entwicklung eines Programmablaufplans mit SiSy AVR 9 1 Einleitung Fur die Entwicklung eines Programmablaufplans PAP sind konkrete Vorstellungen ber die Systeml sung und Kenntnis der Hardware n tig Ein Programmablaufplan kann aus einer genauen Aufgabenstellung abgeleitet werden Beispielaufgabe Entwickeln Sie eine Mikrocontrollerl sung bei der ein Taster eine LED schaltet Der Controller ist so zu initialisieren dass an Port B O der Taster und an Port B 1 die LED angeschlossen ist Danach ist fortlaufend der Taster abzufragen Wenn der Taster ge dr ckt ist wird die LED eingeschaltet sonst bleibt die LED aus zi NEIN Abbildung 11 PAP zur Beispielaufgabe 9 2 Vorbereitung Starten Sie SiSy und legen Sie ein neues Projekt an W hlen Sie das AVR Vorgehensmodell Nehmen Sie die Grund einstellungen f r die verwendete AVR Hard ware vor oder lassen Sie die myAVR Hardware automatisch suchen Neues Projekt erstellen x Pe actos mit Vorlagen C Dokumente und Einstellungen user Eigene Dateien SiSy Projekte Aufgabe
162. ren Die Ausgabe von Daten oder das Ansteuern von Gera ten erfolgt ber das jeweilige Register Port x die Eingaben ber das Register Pin x GND Abbildung Schema einer digitalen O Line mit angeschlossener LED IE a Be Se esses 0 jee Steuerregister DDR B 0x17 DDR C 0x14 DDR D 0x11 Ausgaberegister Port B 0x18 Port C 0x15 Port D 0x12 Eingaberegister Pin B 0x16 Pin C 0x13 Pin B 0x10 Laser amp Co Solutions GmbH myAVR Lehrbuch Mikrocontrollerprogrammierung Leseprobe Fur die Ausgabe ber einen der digitalen Ports sind folgende Schritte notwendig 1 Port Line auf Eingang oder Ausgang konfigurieren 2 Ausgabe Die Konfiguration des Ports erfolgt in der Regel wahrend der Initialisierungsse quenz Uber das Register DDRx Dabei steht jedes Bit in diesem Steuerregister fur die Daten Richtung der einzelnen I O Lines Eine logische 0 bewirkt dass der ent sprechende Prozessor Pin als Eingang konfiguriert ist Die logische 1 in einem Bit bewirkt dass der entsprechende Prozessor Pin als Ausgang konfiguriert ist Daf r stehen grunds tzlich zwei Methoden zur Verf gung 1 Konfiguration per out Befehl a allgemeines Register mit kompletter I O Konfiguration laden z B 1d b Ausgabe der Portkonfiguration mittels out Beispiel Port B O Ausgang Port B 1 bis 7 Eingang ldi r16 0500000001 out DDRB r16 2 Konfiguration per sbi Befehl Beispiel Port B O Ausgang Port B 1 bis 7 unver nder
163. s ccccccsssseeeecesesseeeeceeasseeeeceeasseeeccseaseeeecssaseeeeeesaaseeees 57 9 10 2 Datenobjekt BENUTZEN ee ee ee nie 57 10 Entwicklung eines Struktogramms mit SiSy AVR uuuuueesssnsssssnnnnnennnnnnnnnnnnnnnnnnnnnnnnnnnnnennnnnnnnnn 58 MARS Ee E E suainedednisoadienetoatand studetuatmadedtaibadienediniicdans 58 10 2 Aufgabenstellung cccccccccssseeccccceessececcceeeeeeeceeueaseeeeeeeaasceeessuassceeesseaseceeesseaaeeeeessaageeeesssaageees 58 10 3 Vorbereitung esse ee ee 59 104 Sruktogramm ENIWICKEIN ae een rer 60 10 5 bersetzen brennen und Testen ccccccccccccsscccesscccsscecsscccesscecssecessucccsuecesuscesueeesauecsauesensevenses 63 10 6 Funktionen Unterprogramme im Struktogramm uuuusssessnennnnnnnnnennnn nennen nennen nennnn nennen 64 10 7 Interrupt Service Routinen ISR im Struktogramm 2244444000000000nnnnnn nenn nnnnnnnnnnnnnn nn 65 11 Entwicklung eines Klassendiagramms mit SISY AVR uuuesssssssnnsnsnnensnnnnnnnnnnnnnnnnnnnnnnen nennen 66 11 1 EMSA een ea 66 11 2 Aufgabenstellung u essen nenne hees ehe 67 11 3 Vorbereitung ee ee 67 BW Ae Sit Ie UM aah een een 68 1155 Systemsiuktur ONIWEHION Eee een essen 69 11 6 Systemverhalten Progfammieren a ee nieeterunsinaiehten 72 11 7 bersetzen Brennen und TeSten cccccccccssccccssccccessccccssecccesscecessececssucecessuceesauesessuesessuresenueees 73 11 8 Interrupt Service Routinen ISR im Klassendiag
164. s Aufbaus und der Arbeitsweise des Prozessors Mikrocontrollers Programmvorlage f r myAVR Board ATmega8 mit 3 6864 MHz 15 03 2004 Dipl Ing P d Alexander Huwaldt Reset and Interruptvectoren Beschreibung begin rjmp main POWER ON RESET reti IntO Interrupt reti Int1 Interrupt reti TC2 Compare Match reti TC2 Overflow reti TC1 Capture reti TC1 Compare Match A reti TC1 Compare Match B reti 9 TC1 Overflow reti TCO Overflow reti SPI STC Serial Transfer Complete reti UART Rx Complete reti UART Data Register Empty reti UART Tx Complete reti ADC Conversion Complete reti EEPROM Ready reti Analog Comparator reti TWI I2C Serial Interface Store Program Memory Ready Start Power ON Reset ldi r16 108 RAMEND out SPL r16 Init Stackpointer LO ldi r16 hi8 RAMEND out SPH r16 Init Stackpointer HI Hier den Init Code eintragen Hier den Quellcode eintragen mainloop Abbildung AVR Assemblerprogramm myAVR Lehrbuch Mikrocontrollerprogrammierung Laser amp Co Solutions GmbH Leseprobe Laser amp Co Solutions GmbH myAVR Lehrbuch Mikrocontrollerprogrammierung Leseprobe 4 Programmierung von Mikrocontrollern 4 1 Programmiersprachen Programmiergerate Schnittstellen Fur die Programmierung von Mikrocontrollern stehen unter schiedliche Entwicklungsumgebungen f r verschiedene Sprachen zur Verf gung Diese weisen eine Reihe gemein samer Merkmale auf Der wicht
165. s g Yor gt paa P x ISP Interface x LET Y Potentiometer analog Eingabeger te RBB EEE En Nd8 17 LAA 2 I 2 amp 2 0 2 2 2 2 0 e 000000 000000 000000 09 peeeeeieoooonehnoeoe eo Er Erweiterungsbuchse Allgemeine Beschreibung Das myAVR Board 2 0 verf gt ber einen RISC AVR Mikrocontroller ATmega8sg der Firma ATMEL Auf dem Board ist ein USB Programmer und Kommunikations Port integriert Des Weiteren befinden sich bereits einige typische Ein und Ausgabeger te wie zum Beispiel Potentiometer Schalter Frequenzwandler und LEDs auf dem Board Die f r das Board vorgesehenen Controller geh ren zur Reihe der Mega AVRs ATmega8 48 88 168 und verf gen ber alle wesentlichen Baugruppen Das System ist nach didaktischen Gesichtspunkten f r Ausbildung und Selbststudium konzipiert Rev 1 Stand 02 2006 Laser amp Co Solutions GmbH Technische Beschreibung myAVR Board 2 0 Technische Daten Betriebsdaten Versorgungsspannung Betriebsstrom Betriebsspannung Betriebstemperatur Maximalwerte Versorgungsspannung Maximalstrom Maximalspannung Lagertemperatur Schnittstellendaten Seite 2 5 empfohlen 9V stabilisierte Gleichspannung 10 50 mA typisch ohne weitere Verbraucher bis 150 mA bei Verwendung des LCD Add Ons 3 3 5 3V 0 bis 30 12V 500 mA Spitze max 300 mA kontinuierlich 5 5 V 20 bis 70 Programmierkabel und Kommunika
166. s myAVR Board Prozessor ATmega8 mit 3 6864 MHz include lt io h gt int main hier Init Code eingeben while 1 Mainloop hier Steuer Code eingeben return 0 SiSy AVR bas Vorlage f r myAVR Board Grundstruktur eines pC Programms Sregfile m8def dat Scrystal 3686400 hier Initalisierung durchf hren Do hier Verarbeitungsaufgabe durchf hren Loop End Abbildung AVR BASIC Programm BASCOM Laser amp Co Solutions GmbH myAVR Lehrbuch Mikrocontrollerprogrammierung Leseprobe 4 2 Mikrocontroller Entwicklungsumgebung SiSy AVR Diesen und den folgenden Abschnitt k nnen Sie berspringen wenn Sie nicht SiSy AVR als Entwicklungsumgebung verwenden schauen wir uns als nachstes kurz in der Entwicklungsumgebung SiSy AVR um SiSy AVR ist ein allgemeines Entwicklungswerkzeug mit dem man von der Kon zeption eines Systems bis zur Realisierung die verschiedensten Arbeitsschritte unterstutzen kann Fur die Entwicklung von Mikrocontrollerlosungen bietet sich die einfache Programmierung an SiSy fiir Windows Test Soca ae EEL saa Kampieren Linken Brennen 000 Projekt Navigator Programmieren mit SiSy A In diesem Diagramm k nnen Sie Programme in Programmiersprachen Wissenswertes Uber SiSy zur SiSy Homepage Taste F1 f r Hilfe zum aktuellen Fenster Abbildung Bildschirmaufbau der Entwicklungsumgebung SiSy AVR Beim Kompilieren Linken und Brennen des Schnellstart
167. schlossen sein muss und bei Bedarf eine geeignete Spannungsquelle anzuschlie en Laser amp Co Solutions GmbH Entwicklung eines Programmablaufplans mit SiSy AVR Seite 51 84 WE Aktionsmen Objekt 1 gt gt gt Alles Ausfuhren 2 Nur Quelltext erstellen K ompilieren Rah 4 Linken m 6 Testen 17 Quelltextdate offnen 8 PAP Einstellungen offnen Funktionalit ten des Aktionsmen s Benennung Benennung Abbildung 26 Ausgabefenster Bei Compilerfehlern werden diese ebenfalls im Ausgabefenster mit der entsprechenden Zeilennummer angezeigt Um zu dem Fehler zu gelangen gen gt meist ein Klick auf die Fehlermeldung Das betreffende Objekt wird selektiert und die Zeile hervorgehoben Ausgabe Bit PORTE x 1 E Ausgabefenster Abbildung 27 Fehlerbehandlung Laser amp Co Solutions GmbH Benutzerhandbuch SiSy AVR Seite 52 84 Er Anschluss J er USB B oder L LPT CC F pp Ko Be D T 0 Yo 117 Ja IVOM Y T TE E E E ee ee amp 5 nm ar Vie X Me a eo 000000 0000 000000 x oO 9 naair TET Pr IJA Ir Gusstrulsssiter I serielle Verbindung com 9600 N 8 1 Abbildung 29 Entwicklung eines Programmablaufplans mit SiSy AVR Nachdem das Programm erfolgreich bersetzt und auf den Controller bertragen wurde kann die Anwendung getestet werden Dazu ist das myAVR Controlcenter zu ffnen und die vor gegebene
168. sier 11 0x00A SPI STC Serial Transfer Complete ae wc e er sR ae wear BXE USART k Cond x i x somes OxtA Ox3A Reserved 13 0x00C USART UDRE USART Data Register Empty 0x19 0x39 Reserved 14 0x00D USART A TXC USART TX Complete ODE ADS Abe G nyeren Complete 1p Ox0F nor EEPROM Ready 17 0x010 ANA COMP Analog Comperator 0x14 0x34 DDRC DDC6 DDC5 DDC4 DDC3 DDC2 DDC1 DDCO 19 0x012 SPM_RDY Store Program Memory Ready 0x13 0833 PINC PINC6 _PINC5 PINC4 PINC3 PINC2 PINCI PINCO IDC TEGI IEI 0x11 0x31 DDRD DDD7 DDD6 DDD5 DDD4 DDD3 DDD2 DDD1 DDDO i PIND PIND7 PIND6 PIND5 PIND4 PIND3 PIND2 PIND1 PINDO el Be g SPDR SPI Data Register RO 0x00 siehe LPM SPSR SPIF 02E SPSR SPIF x2E SPSR RI 0x01 KEIN SPCR SPIE 0x2D SPCR SPIE 0x2D SPCR u u ADIW SUBI SUBIW ANDI USART I O Data Register R15 OxOF ORI CPI LDI UCSRA 0x2B UCSRA 0x2B UCSRA R UCSRB RXCIE 0x2A UCSRB RXCIE 0x2A UCSRB L La keine Einschr nkungen 0x09 0x29 UBRRL USART Baud Rate Register Low byte ii 0x08 0x28 ACSR ACD ACBG ACO ACI ACIE ACIC ACIS1 ACISO R26 XL X Ox1A siehe LD ST ADMUX REFS REFSO ADLAR MUX MUX2 MUX1 MUXO R27 XH 0x1B ADCSRA ADEN ADSC ADFR ADIF ADIE ADPS2 ADPS1 ADPSO R28 YL OxiC ADCH ADC Data Register High byte R29 VH Y Ox1D siehe LD ST ADCL ADC Data Register Low byte R30 AL OxtE TWDR Two wire Serial Interface Data Register Z siehe LD ST TWAR TWA6 TWAS TWA4 TWAS TWGCE TWA
169. t sbi DDRB O RESET PC6 C 1 28 1 PC5 ADC5 SCL 27 O PC4 ADC4 SDA 26 0 PC3 ADC3 25 0 PC2 ADC2 24 1 PC1 ADC1 23 J PCO ADCO aa pp1 03 INTO PD2 14 INT1 PD3 5 XCK TO PD4 16 i oo g 000 2222224242226 a amp a vcc 7 22 0 GND a f GND C 8 21 I AREF MT T oo um XTAL1 TOSC1 PB6 C 9 20 D Avcc oo Aap 19 D PB5 SCK 18 O PB4 MISO of 17 D PB3 MOSI OC2 000000 o0000 000000 16 D PB2 SS 0C1B SC DIDI 15 D PB1 OC1A om mn n XTAL2 T OSC2 PB7 C 10 T1 PDS Q 11 AINO PD6 12 AIN1 PD7 C 13 ICP1 PBO E 14 S ee Abbildung Konfiguration des Port B 0 als Ausgang Die vorgestellten Befehle haben folgende Wirkung e ldi Register Konstante o lade eine Konstante in ein allgemeines Register o wirkt nur auf die Register r16 bis r31 e out Port IO Register Register o gebe allgemeines Register an Portx aus o Ziel immer ein I O Register oder Port o Quelle immer ein allgemeines Register rO bis r31 e sbi Port IO Register Bit o setze Bit in O Register oder Port o Ziel ist immer ein l O Register oder Port o Parameter die Bit Stelle 0 bis 7 myAVR Lehrbuch Mikrocontrollerprogrammierung Laser amp Co Solutions GmbH Leseprobe Der wesentliche Unterschied zwischen beiden Methoden besteht darin dass bel der Verwendung des Befehls out immer der gesamte Port konfiguriert wird Da bei kann es auch moglich sein dass versehentlich eine andere Konfi
170. t ein universelles Terminalprogramm zur Kommunikation mit dem myAVR Board und anderen Mikrocontrollerapplikationen die ber eine serielle Schnittstelle UART oder USB Anbindung mit virtuellem COM Port zum PC verf gen Es kann f r Test und Debug Meldungen sowie Visualisierung und Protokollierung von Messdaten genutzt werden Dazu bietet das myAVR Controlcenter umfangreiche Konfi gurationsm glichkeiten s ControlCenter z f e 2 amy A asad a INYA Gountrolssnter tot _ sae vesneug Einstellungen COM1 9600 N8 1 Daten Senden Hervorgehobener Text Abbildung 10 myAVR Controllcenter 6 2 Das myAVR Board starten und stoppen Power Control Wenn Sie ein myAVR Board Version 1 LPT oder Version 2 USB besitzen k nnen Sie die Spannungsversorgung des Boards aus dem Controlcenter heraus steuern Dazu w hlen Sie die Einstellungen f r die serielle Verbindung und Power Control Testen enter WMV serielle Verbindung com4 9600 N 8 1 Daten Senden 2 2 2 F Workpad Sprache AYR Board Lizenz Beenden Legen Sie hier die Einstellungen f r die serielle Kommunikation mit dem myAYR Board fest Datenbits a Stopbits 1 iv Power Control Hardware mysmartuse l PowerON beim Verlassen des Controlcenters fo Benutzerhandbuch SiSy AVR Laser amp Co Solutions GmbH Das myAVR Controlcenter Seite 29 84 Mit dem Aktivieren der Power Control
171. tdiagrammen Da Legen Sie im weiteren Verlauf die AVR Grundeinstellungen f r das Projekt fest Zie hen Sie ein Objekt vom Typ SG Struktogramm per Drag amp Drop in das Diagrammfens ter Legen Sie den Namen f r das Struktogramm fest Projekt Werkzeug Bearbeiten Ausf hren Ansicht Einstellungen Fenster Hilfe DIST ea ERRE SELTENE walai a seressererererenrereneresanneersaneneenen Struktogramm Definition Extras AVRAI Repot Tipp Geben Sie hier den Namen ein SiSy Assistent Laser amp Co Solutions GmbH Benutzerhandbuch SiSy AVR Seite 60 84 Entwicklung eines Struktogramms mit SiSy AVR 10 4Struktogramm entwickeln Um das Struktogramm zu entwickeln muss das Struktogrammfenster ge ffnet werden W hlen Sie dazu auf dem Objekt rechte Maustaste gt Kontextmen gt nach unten ff nen a N Nach unten ffnen Definieren Ouelldiagramm ffnen Hierarchie ffnen L schen Das ist Ihr Hauptprogramm Beispiel AVR C Befehle zum ndern Doppelklick Enter Bewegen mit Cursortasten Elemente einf gen mit Tasten D A W R F C Layersteuerung Jo Jo b Marker Objekttyp aus Rahmen entfernen VerkndpFung mit Datei Tipps L schen Enti Bilden und Starten F6 F5 Es wird beim ersten Initialisierung hier Struktogramm im Projekt PDRB OxFF Port B Ausgang automatisch die Grundstruktur ei
172. te reti 12 UART Rx Complete reti 13 UART Data Register Empty reti 14 UART Tx Complete reti 15 ADC Conversion Complete reti 16 EEPROM Ready reti 17 Analog Comparator reti 18 TWI I2C Serial Interface reti 19 Store Program Memory Ready Start Power ON Reset main ldi ri 108 RAMEND out SPL r16 ldi r16 hi8 RAMEND out SPH r16 init Stack sbi DDRB 0 mainloop ldi ri 0b00000001 LED ON out PORTB r16 rjmp mainloop myAVR Lehrbuch Mikrocontrollerprogrammierung Laser amp Co Solutions GmbH Leseprobe Realisierung Geben Sie den Quellcode ein Benutzen Sie das Grundgerust fur ein AVR Assemblerprogramm und erganzen Sie dieses Kompilieren Linken und Brennen Sie das Programm F hren Sie die Anwendung aus Fertigen Sie nach erfolgreicher Ubung bitte ein Protokoll an Sie werden den Wert der Protokolle bald erkennen Protokoll Ha o Welt AVR Assembler Ubungsaufgabe rote LED einschalten L sungsentwurf Schaltung Init Stack PortB 0 OUT DDRB O 1 Hauptschleife Ausgabe vorbereiten Register16 0b00000001 han u a o O 1100 A o oO a 4 4 i J K a 3 4 E 47 u 4 4 4 a 4a Si hep oo 000000 000000 000000 Zu u Ausgabe Register16 auf PORT B Ende Hauptschleife Notitzen Quellcode main Idi r16 lo amp RAMEND Konstante RAMEND Adresse Ende SRAM out SPL r16 Initialize Stackpointer mit RAMEND LOW
173. tenten Die Software f r die folgende Hardware wurde installiert F CP2101 USE to UART Bridge Controller i Klicken Ste auf Fertig stellen um den Yorgang abzuschlieben Zur ck j Fertig stellen Abbrechen Jetzt ist die Installation abgeschlossen Kontrollieren Sie im Geratemanager unter wel chem COM Port sich der Controller angemeldet hat Computerverwaltung KBI a Datei Aktion Ansicht Fenster Andere Ger te 9 Anschl sse COM und LPT El Freigegebene Ordner oe ns CP2101 USE to UART Bridge Controller PCOM 13 E Lokale Benutzer und Grupper oo A Kommunikationsanschluss COM Audio video und Gamecontroller En Batterien Computer DYDICD ROM Laurwerke F ea H a Eingabeger te Human Interface Devices eg Datentr gerverwaltung 2 srafikkarte ca Ee Dienste und Anwendungen IDE ATAWATAPI Controller 9 IEEE 1394 Bus Hostcontroller eA Infrarotger te pa Laufwerke M use und andere Zeigeger te Monitore ag Netzwerkadapter EE 1394 Netzwerkadapter 5 Ba PRISM 602 119 Wireless Adapter 3590 Ls B Realtek RTLS159 Familie PCI Fast Ethernet MIC Laser amp Co Solutions GmbH Rev 5 Stand 11 06 Technische Beschreibung mySmartUSB Seite 11 11 Anwendung mit SiSy ab Version 2 1 7e Bei der Anwendung mit SiSy sind auf jedem Programmobjekt kleines Programm Pro grammablaufplan Klassendiagramm ber den Dialog Definieren folgende Einstellungen vorzunehm
174. ter ffnen Hierarchie ffnen L schen Layersteuerung Jo Jo Marker Objekttyp aus Rahmen entfernen Verkndprung mit Datei i Tipps Diagrammyvor lagen Sie erhalten eine Vorlagenliste f r die Grundstruktur von Unterprogrammen Bitte laden Sie die Vorlage Grundger st Unterprogramm Auf dem Objekt START k nnen Sie eine benutzerdefinierte Sprungmarke festlegen die durch den Codegenerator erstellt und verwendet werden soll Die Vorlage muss entsprechend der vorgesehen Logik ab ge ndert werden Laser amp Co Solutions GmbH Benutzerhandbuch SiSy AVR Seite 54 84 Entwicklung eines Programmablaufplans mit Sisy AVR 9 8 2 Ein Unterprogramm aufrufen Das Unterprogrammsymbol muss zum Aufruf an der entsprechenden Position im Pro grammablaufplan eingefugt werden Der Codegenerator erzeugt dann entsprechend einen Unterprogrammaufruf und den Code fur das Unterprogramm selbst Dazu ist in das Diagramm zur ckzukehren in dem das Symbol Unterprogramm angelegt wurde Zum Beispiel rechte Maustaste gt Kontextmenu gt nach oben Das Unterprogramm ist korrekt eingebunden wenn es vollst ndig und eindeutig im Programmiluss integriert ist mindestens ein eingehender Pfeil und genau ein ausgehender Pfeil Benutzerhandbuch SiSy AVR Laser amp Co Solutions GmbH Entwicklung eines Programmablaufplans mit SiSy AVR Seite 55 84 9 8 3
175. tionskabel Erweiterungsport Pinbelegung Mechanische Daten Abma e LxBxH Gewicht Rasterma Leiterplattenmaterial Tochterplatine Abma e L x B x H Gewicht Rasterma USB Controller Laser amp Co Solutions GmbH Standard USB Kabel A B Buchsenleiste 20polig 1reihig Rasterma 2 54 mm 1 Port D 2 7 Port B 0 15 Port C 0 2 Port D 3 8 Port B 1 16 Port C 1 3 Port D 4 9 Port B 2 17 Port C 2 4 Port D 5 10 Port B 3 18 Port C 3 5 Port D 6 11 Port B 4 19 Port C 4 6 Port D 7 12 Port B 5 20 Port C 5 13 Boardspannung 14 Masse ca 90 mm x 90 mm x 18mm ca 50g 2 54 mm FR8 1 5 mm Dicke 0 35 um Cu Auflage einseitig L tstoppmaske verzinnt Dokumentationsdruck Abmessung 90 mm x 90 mm bleifrei FR8 1 5 mm Dicke 0 35 um Cu Auflage zweiseitig bleifrei SMD best ckt ca 60 mm x 30 mm x 15 mm ca 30g 2 54 mm f r Komponenten in Printmontage CP2102 SiliconLabs Rev 1 Stand 02 2006 Technische Beschreibung myAVR Board 2 0 USB Seite 3 5 Schaltplan so myAVR Board Version 2 0 3 www myAVR de 8 Stand 07 03 2006 B3B I 1 5V e js 5V 5V N MEGA8 P lil O al ao Ye C PC6V RESET PCO ADCO Eu ADC1 Fr PC2 ADC2 T OV PC3 ADC3 ae PC4 ADC4 SDA T PC5 ADC5 SCL S il SG1 Je C5 UV an ae Y 0 Speaker 4 PD1 TXD BE EA ats PD2 INTO BE 33 pF_ PD3 INT1 ae oy 55 PB6 XTAL1 TOSC1 PD4 XCK TO EE C6 PD5 T1 99 RI
176. u zeichnen Fenster aktualisieren Ziehen des gew nschten Objektes aus dem Quelldiagramm in das Zieldiagramm Es wird eine Referenz des gew hlten Objektes erzeugt Drag amp Drop aus Objektbibliothek Ein Objekt aus der Objektbibliothek wird im Diagramm ange legt und steht zur Verfeinerung bereit Drag amp Drop Verteiler auf Fensterhintergrund Durch Ziehen einer Kante vom Verteiler auf den Fensterhin tergrund wird ein neues Objekt erzeugt Nach Auswahl des Objekttyps sind die Objekte miteinander verbunden Drag amp Drop Verteiler zu Objekt Klick auf den Verteiler des zu verbindenden Objektes Bei gedr ckter linker Maustaste auf das gew hlte Objekt ziehen Verbindung aus Objektbibliothek in der UML Hierbei wird erst die gew nschte Verbindung in der Objekt bibliothek angeklickt und danach die beiden zu verbindenden Objekte im Diagramm nacheinander Drag amp Drop Mittelpunkt Beliebige Gestaltung der Verbindung durch Ziehen mit der Maus Drag amp Drop Anfangs Endpunkt einer Kante F r die Verbindung wird ein neues Zielobjekt gew hlt Doppelklick auf Objekt Durch Doppelklick auf Objekte ffnet sich das Kontextmen Bei Abschalten des Menus unter Einstellungen Men bei Doppelklick erscheint eine Zeile zur Namensgebung Mit ESC wird die Eingabe best tigt Doppelklick auf Verteiler Es wird der Definieren Dialog aufgerufen in dem das Objekt benannt und beschrieben werden kann Klick mit rechter Maustaste a
177. udio gultiger COM Port zugewie sen werden Dazu ben tigen Sie Administratorrechte Gehen Sie wie folgt vor Geratemanager Offnen Rubrik Anschl sse COM und LPT bzw USB Controller ffnen Eintrag CP210x USB to UART Bridge Controller COMx ausw hlen rechte Maustaste gt Eigenschaften gt Anschlusseinstellungen gt Erweitert COM Anschlussnummer ndern und best tigen Empfohlen ist COM3 oder COM4 beachten Sie m gliche Ger tekonflikte Laser amp Co Solutions GmbH Rev 5 Stand 11 06 Technische Beschreibung mySmartUSB Seite 13 13 Anwendung mit AVRDUDE AVRDUDE ist eine Konsolenanwendung Die Parameterzeile fur AVRDUDE sollte wie folgt aussehen Anwendung mit CodeVison Die Programmereinstellungen erfolgen in CodeVision unter dem Men punkt Settings Programmer Die Einstellungen sind Atmel AVR Prog AVR910 COMx 19200 Baud CodeVisionAVR test3 prj C Programme CVAVE i Fie Edit View Project Tools eee Windows Editar Assembler Debugger Help ech tests Notes test3 c BB het M ATmegal69 CKDIvS Fuse Warning x Cancel Der Programmer selbst wird ber den Men punkt Tools Chip Programmer aufgerufen CodeVisionAVR Chip Programmer Atmel AVRProg AVR910 X Fie Edit Program Read Compare Help CodeVisionAVR test3 prj C Programme CVAVRibin is ATni S Program all Pi Reset che N Fie Edit View Project UG
178. uerhaft offen gehalten f r Fuse und Lock Bits Fuse amp Lock Bits fur ATmega8 neu emlesen setzen Ar Mung das ver ndern der Fuse Bits kann dazu f hren dass der Prozessor nicht mehr programmierbar bzw berhaupt erreichbar wird Bag ech Fein ODOHOHONDRONGDON EHRE Low Fuse C Brown out detection level at VCC 4 0 V BODLEVEL 0 Brown out detection level at VCC 2 7 V BODLEVEL 1 I Brown out detection enabled BODEN 0 C Ext Clock Startup time 6 CK 0 ms CKSEL 0000 SUT 00 C Ext Clock Startup time 6 CK 4 ms CKSEL 0000 SUT D1 C Ext Clock Startup time 6 CK 64 ms CKSEL 0000 SUT 10 C Int RC Osc 1 MHz Startup time 6 CK 0 ms CKSEL 0001 SUT 00 C Int RC Osc 1 MHz Startup time 6 CK 4 ms CKSEL 0001 SUT 01 Int RC Osc 1 MHz Startup time 6 CK 64 ms CKSEL 0001 SUT 1 0 default value C int RC Osc 2 MHz Startup time 6 CK 0 ms CKSEL 0010 SUT 00 v Abbildung 37 Fuse und Lockbits des ATmega8 Die Benutzeroberfl che passt sich dem ermittelten Controller und den dazugeh rigen Definitionsdaten automatisch an Es werden immer nur die Optionen angezeigt die zum ermittelten Controller geh ren Vergleichen Sie dazu immer das betreffende Datenblatt Es ist nicht zul ssig den Programmer oder den Controller w hrend der Sitzung zu ent fernen oder zu wechseln Dazu ist dieses Fenster zu schlie en danach der Controller oder Programmer zu wechseln und die Ben
179. uf Objekt Doppelklick auf Fensterhintergrund Hinweis Doppelklick mit linker Maustaste wirkt wie Enter Strg Doppelklick auf Fensterhintergrund Die vom Programm ausgef hrten aber noch nicht sichtbar gemachten Befehle werden im Fenster erstellt Das Fenster wird aktualisiert Laser amp Co Solutions GmbH Benutzerhandbuch SiSy AVR _ s A UR Technische Beschreibung Mm yY mySmartUSB e einfache Kommunikation mit dem PC oder Notebook ber die USB Schnittstelle e ber den ISP Adapter k nnen eine Vielzahl von AVR Systemen programmiert werden e 10 PIN Atmel Standardbelegung e Interface f r das myAVR Board 2 USB e Industriestandard Controller CP2102 USB zu seriell Konverter e ATmega s mit Firmware nach ATMEL AN910 und AN911 Programmierstandard e Schnelle Programmierung ber USB 2 0 durch Blockmode AVR911 e umschaltbar zwischen Programmier Kommunikations und Ruhemodus e Power On und Power Off durch Anwen der schaltbar USB to UART Bridge Stellt virtuellen COM Port zur Verfugung mit Hardware Handshake RTS CTS Zustandsanzeige rote grune LEDs Spannungsversorgung Uber USB Anschluss einfache Handhabung updatefahig uber Bootloader DIP Schalter f r Betriebsart Power Programmier und Datenmodus RESET und Bootloader Standard ISP Programmierung AVR Programmierung UART Kommunikation USB to TMI Bridge USB to SPI Bridge Spannungsversorgung Blockbild Ubersicht PC an Dl Zie
180. ugen In SiSy werden die Diagramme nicht als Bilder gespeichert sondern zur Laufzeit aus den Modellinformationen generiert Um die Bilder der Diagramme weiter zu verwenden steht dem Anwender die Funktion Bild in Zwischenablage zur Verf gung Dabei er stellt SiSy eine skalierbare Vektorgrafik WMF und legt diese in die Zwischenablage Copy Die Grafik kann nun von anderen Anwendungen ber den Befehl Einf gen Past beliebig weiter verwendet werden gew nschtes Diagramm ffnen Men folge Bearbeiten Bild in Zwischenablage w hlen Zielanwendung zum Beispiel Word ffnen Men folge Bearbeiten Einf gen oder Bearbeiten Inhalte einf gen w hlen Gegebenfalls einzuf gendes Grafikformat w hlen ee ee Ausf hren Ansicht Einstellungen Fenster eee Datei Bearbeiten Ansicht Einf gen Format Extras Tabele Fenster 2 Endg kige Version enth lt Markups F Ku E S A R ckg ngig Sucher Objekt Diagramm Bewegen Layersteuerung F Jo Jo F Bild in Zwischenablage Objektbibliothe Forest Extras Teee Fert Endg ltige version enth lt Markups e einf gen Seite 1 Ab 1 ii Bei 240m Zei Spi Benutzerhandbuch SiSy AVR Laser amp Co Solutions GmbH Die Hilfefunktionen in SiSy Seite 17 84 4 Die Hilfefunktionen in SiSy Nutzen Sie die zahlreichen Hilfen und Vorlagen die SiSy dem Entwickler bietet 4 1 Der Assistent Der Assistent ist hilfreich bei d
181. ungen f r den verwendeten Mik rocontroller die Takt rate den Programmer und den IO Port einzutragen Die Abbildung zeigt ein m gli ches Beispiel 4 5 myTinyProg mit myAVR Workpad PLUS Mit dem Programm myAVR Workpad PLUS k nnen Sie jetzt ebenfalls myTinyProg als AVR910 Programmer ansprechen Die Eintragungen f r den verwendeten Mikrocontrol ler Programmer und Port k nnen Sie unter der Men folge Extras Einstellungen vor nehmen oder Sie hinterlegen diese Angaben im Dateikopf Entsprechende Hinweise dazu erhalten Sie ebenfalls unter der Men folge Extras Einstellungen Projektbeschreibung zu myTinyProg Laser amp Co Solutions GmbH 5 Quellenverzeichnis www atmel com http www atmel com dyn resources prod_documents DOC0931 PDF http www atmel com dyn resources prod_documents doc2521 pdf http www atmel com dyn resources prod_documents doc2585 pdf http www atmel com dyn resources prod_documents DOC0943 PDF http www atmel com dyn resources prod_documents AVR910 zip http www atmel com dyn resources prod_documents doc1006 pdf http www atmel com dyn resources prod_documents doc2535 pdf http www atmel com dyn resources prod_documents doc1187 pdf www sisy de www myAVR de Laser amp Co Solutions GmbH Projektbeschreibung zu myTinyProg Dipl Ing Toralf Riedel Dipl Ing Pad Alexander Huwaldt myAVR Lehrbuch Mikrocontroller programmierung Hardwarenahe Programmierung von AVR Mikrocontrollern
182. uschalten muss eine Leitung des gewunschten Port x mit der roten LED verbunden wer den Nutzen Sie eines der mitgelieferten Patch Kabel Verbinden Sie Port B O mit der roten LED ii oo Ogg ooo EF le we oy Power ON RESET Init Stack Port B 0 OUT DDRB O 1 Hauptschleife Ausgabe vorbereiten Register16 0600000001 Ausgabe Register16 auf PORT B Ende Hauptschleife Abbildung Schaltung und Programmablauf fur das Beispiel Hallo Welt ooo000 000000 000000 sa a 08 L sungsansatz Eines der allgemeinen Register z B r16 wird als tempor re Variable verwendet Das Bit O0 vom Port B wird ber das Register DDR B auf Ausgabe geschaltet sbi DDRB 0 Die Ausgabe erfolgt in zwei Schritten e laden des Ausgabewertes in ein allgemeines Register ida 16 0500000001 und e die eigentliche Ausgabe out PORTB r16 7 Titel Beispiel Hallo Welt f r myAVR Board Prozessor ATmega8 mit 3 6864 MHz Datum Autor 15 03 2004 Dipl Ing P d Alexander Huwaldt include avr h 7 Reset and Interruptvectoren VNr Beschreibung begin rjmp main 1 POWER ON RESET reti 2 Int0 Interrupt reti 3 Intl1 Interrupt reti 4 TC2 Compare Match reti 5 TC2 Overflow reti 6 TC1 Capture reti 7 TC1 Compare Match A reti 8 TC1 Compare Match B reti 9 TC1 Overflow f f 4 4 F 4 f f reti 10 TCO Overflow 4 4 4 f f reti 41 SPI STC Serial Transfer Comple
183. utzerhandbuch SiSy AVR Laser amp Co Solutions GmbH Entwicklung eines Struktogramms mit SiSy AVR Seite 63 84 7 Tragen Sie den C Quellcode zum Ein und Ausschalten der LED in die DO Elemente ein Selektieren Sie dazu das betreffende DO Element und wahlen ENTER oder Doppelklick Mit ESC verlassen Sie den Editiermodus Use Ox01 PullUp WHILE true SiSy R START Codegenerierung Taste is lt aur io h gt l i PINB amp Ox0 1 Heer E h gt main ii LED ON LED OFF PORTE Oxia PORTE 0x01 Modul1 CC DDRB 6x62 ZZ B 8 IN B 1 OUT PORTB 6x61 PullUp while true lt if t PINB amp 8x81 lt LED ON PORTB 0x03 else 8 Generieren Sie den Quellcode f r dieses a Struktogramm Bet tigen Sie die Taste F8 und M danach die Taste F3 n SiSy R ENDE Codegenerierung zum 10 5 bersetzen Brennen und Testen Der so generierte Quellcode kann jetzt kompiliert gelinkt und gebrannt amp Testen das myAVR Controlcenter gestartet werden Nutzen Sie dazu die CI Hi Toolbox Objekt oles Bello Compiling Generiere Linkerdatei Linke Datei lt gt Linking Bilden und Brennen des Hauptprogramms Moduli Compiliere Moduli cc keine Compilerfehlert Linke Modul1 cc keine Linkerfehler Brenne Modul1i hex Die Datei Modul1 hex wurde erfolgreich gebrannt Modul1 hex uebertragen Starten des Mikrocontrollers mit Taste F5
184. utzeroberfl che erneut zu starten s n Fuse und Lock Bits Fuse amp Lock Bits f r ATtiny15 neu einlesen setzen Ar Mung das ver ndern der Fuse Bits kann dazu f hren dass der verlassen Prozessor nicht mehr programmierbar bzw berhaupt erreichbar wird C Brown out detection level at VCC 2 7 Y Brown out detection level at YCC 4 0 Y 7 Brown out detection enabled W Serial program downloading SPH enabled I External reset function of PBS disabled CKSEL 11 Very quickly rising power CKSEL 10 Quickly rising power C CKSEL 01 Slowly rising power CKSEL 00 Slowly rising power Abbildung 38 Fuse und Lockbits des ATtiny15 Laser amp Co Solutions GmbH Benutzerhandbuch SiSy AVR Seite 78 84 Einstellungen Fuse und Lock Bits mit SiSy 12 3 Fuse und Lockbits verandern Zum Verandern der Fuse und Lockbits sollte der entsprechende Abschnitt im Daten blatt des Controllers studiert werden Uber die Dialogfelder Low High und Extended Fuse sowie Lockbits k nnen die einzelnen Optionen bequem ausgew hlt werden Die Anderungen werden im Anzeigebereich f r die Fuse und Lockbits visualisiert Erst mit dem Bet tigen der Schaltfl che setzen werden die neuen Einstellungen an den Cont roller bertragen Beachte Falsche Einstellungen der Fuse oder Lockbits k nnen dazu f hren dass der Controller in der aktuellen Hardware nicht mehr angesprochen werden kann H ufige Fehleinstellun
185. y AVR Laser amp Co Solutions GmbH Das myAVR Controlcenter Seite 33 84 Die Anzeige kann ber die Schaltfl che Anpassen weiter konfiguriert werden Dabei werden die Zeilengr e oder das Zeilenumbruchzeichen sowie das Format der Zahlen darstellung Hexadezimal Dezimal ausgew hlt Daten Empfangen Text zahl Osa 41 42 43 44 45 5 Finstellungen der Zahlenanzeige Alta 46 47 40 49 4A Zeilenumbruch iuas JE 4 4D 4E 4F Fensterrand 50 51i 52 53 54 feste Breite B o 55 56 57 58 59 NewinezZekhen Darstel bung styp e HEX hexadezimal DEC dezimal Es k nnen wichtige gesuchte Zahlenwerte im Protokollfenster hervorgehoben werden Hezadezimale Zahlen sind durch den Pr fix Ox zu kennzeichnen Mehrere Werte k n nen mit Leerzeichen getrennt angegeben werden Daten Empfangen Text zahl Oszi AL ee Sa Sa g 46 47 E 4B 4c 4D 50 51 52 55 56 57 58 59 gesuchte Werte Hervorgehobene Werte 0x48 0x53 Der Grafikmodus Messwerte k nnen auch grafisch visualisiert werden Dabei werden die Werte fortlau fend und byteweise Wertebereich 0 bis 255 als Punkte in einem Koordinatensystem visualisiert Die X Achse reprasentiert den zeitlichen Verlauf die Y Achse den Wertebe reich der Daten Die Anzeige kann als einzelne Punkte oder Linien erfolgen Daten Empfangen Text Zahl Oszi r Finstellungen des Oszillators Alat Darstellung als Punkte Linien Laser
186. zum Beispiel mit der Maus oder den Cursortasten Bet tigen Sie dann die Taste Entf und best tigen Sie die Sicherheitsabfrage mit OK Das ist die Hauptschleife f Verarbeitungslogik hier PORTS xFF LEDs an Port B 2 Konfigurieren Sie Port B O als Eingang und Port B 1 als Ausgang Selektieren Sie dazu die Initialisierungssequenz Mit ENTER kommen Sie in den Editiermo dus Mit ESC verlassen Sie den Editiermodus Ox02 B O IN B 1 OxO1 Pullup f Das ist die Hauptschleife J Verarbeitungslogik hier FORTE xFF 3 L schen Sie das DO Element in der Mainloop WHILE Schleife Dazu selektie ren Sie mit der Maus oder den Cursortasten das DO Element und bet tigen die Taste Entf B O PulluUp Laser amp Co Solutions GmbH Benutzerhandbuch SiSy AVR Seite 62 84 Entwicklung eines Struktogramms mit SiSy AVR 4 Erganzen Sie die Mainloop durch eine Alternative Dazu betatigen Sie die Taste A Achten Sie darauf dass die Alternative innerhalb der Mainloop liegt 5 Geben Sie den Titel und die Bedingung f r die Alternative ein Dazu selektieren Sie das gew nschte Element und bet tigen die Taste ENTER oder Doppelklick mit der Maus PTNB amp O x0 6 als nachstes sind die Aktionen DO Elemente in der Alternative zu erganzen Selektieren Sie dazu den Alternativzweig mit der Maus oder den Cursortasten Bet tigen Sie dann jeweils die Taste D Ben
Download Pdf Manuals
Related Search
Related Contents
38K2 Group User`s Manual Samsung 920T Hướng dẫn sử dụng D-Link DXS-1210-12TC network switch GE Monogram ZEU36 Electric Cooktop DRS USER MANUAL Doc. No. 3M6-MAN-HAR-33110-0016 KIT A MANUALE DI INSTALLAZIONE USO ED ASSISTENZA Epson LX-90 User's Manual categorías de patrocinio Lexmark Z22 Printer User Manual CARETA DE OBSCURECIMIENTO 11 VIKING™ 5X4 Copyright © All rights reserved.
Failed to retrieve file