Benutzerhandbuch SiSy ® AVR


Add to my manuals
34 Pages

advertisement

Benutzerhandbuch SiSy ® AVR | Manualzz

Mikrocontroller-Entwicklungsumgebung SiSy Seite : 15/34

4 Mikrocontroller-Entwicklungsumgebung SiSy

Schauen wir uns als nächstes kurz in der Entwicklungsumgebung SiSy um. Für die

Entwicklung von Mikrocontrollerlösungen bietet sich die einfache Programmierung an.

4.1 Voraussetzungen

Für die Bearbeitung der folgenden Aufgaben benötigen Sie die aufgeführte Software und Hardware.

Software:

SiSy ab Version 2.16

SiSy-Ausgabe Developer, Professional oder BS und das installierte Add-On AVR

Hardware:

Ein bestücktes myAVR-Board

LPT-Verlängerungskabel

9 V Batterie bei Bedarf (z.B.: autonomer Einsatz)

Nullmodemkabel für die COM Schnittstelle

Patchkabel

4.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 sollen nacheinander aufleuchten und damit ein „Lauflicht“ erzeugen.

4.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ählen Sie das Vorgehensmodell „Programmierung“. Wählen Sie aus dem Dialog der

Diagrammvorlagen „keine Vorlage verwenden“ oder brechen Sie den Dialog ab.

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.

SiSy AVR Stand: 28.06.05

Seite: 16/34 Mikrocontroller-Entwicklungsumgebung SiSy

Kleines Assembler-Programm anlegen

Erstellen Sie ein Programm für den AVR-Mikrocontroller, indem Sie per Drag & Drop aus der Objektbibliothek ein „kleines Programm“ in das Diagrammfenster ziehen.

Markieren Sie das Objekt und wählen Sie aus dem Kontextmenü (rechte Maustaste)

Definieren.

Auf der Registerkarte „Definition“ tragen Sie den Programmnamen ein (im Beispiel

„Lauflicht“) und wählen die Programmiersprache aus, hier „AVR Assembler“ siehe

Abbildung 3.

Abbildung 3:

Abbildung 4

Kontrollieren Sie auf den Registerkarte „Extras (AVR)“ den ausgewählten Controler, siehe Abbildung 4

Über die Registerkarte „Programmgerüst“ können Sie das folgende Grundgerüst für ein

AVR Assemblerprogramm laden; in der Registerkarte „Quellcode“ können Sie den

Quellcode eigenständig eintragen.

Hinweis: Den Quellcode können Sie auch im Beschreibungsfenster/Editorfenster der

SiSy-Benutzeroberfläche eintragen bzw. korrigieren.

Laden Sie die Vorlage für das Programmgerüst oder erstellen Sie den folgenden

Quellcode.

;-----------------------------------------------------------------

;* Titel

;* Prozessor

;* Schaltung

;* Datum

:Programmvorlage für myAVR-Board

:ATmega8 mit 3,6864 MHz

:...

:15.03.2004

;* Autor :Dipl. Ing. Päd. Alexander Huwaldt

;-----------------------------------------------------------------

.include "avr.h"

;-----------------------------------------------------------------

; Reset and Interruptvectoren ; VNr. Beschreibung begin: rjmp main reti reti reti reti

; 1 POWER ON RESET

; 2

; 3

; 4

; 5

Int0-Interrupt

Int1-Interrupt

TC2 Overflow

TC2 Compare Match

Stand: 28.06.05 SiSy AVR

Mikrocontroller-Entwicklungsumgebung SiSy

reti reti reti reti reti reti reti reti reti reti reti reti reti reti

; 6

; 7

; 8 TC1 Compare Match B

; 9

;------------------------------------------------------------------

; Start, Power ON, Reset main: ldi r16 , lo8( RAMEND ) out SPL , r16

TC1 Capture

TC1 Compare Match A

TC1 Overflow

; 10 TC0 Overflow

; 11 SPI, STC Serial Transfer Complete

; 12 UART Rx Complete

; 13 UART Data Register Empty

; 14 UART Tx complete

; 15 ADC Conversion Complete

; 16 EEPROM Ready

; 17 Analog Comparator

; 18 TWI (I²C) Serial Interface

; 19 Store Program Memory Redy ldi r16 , hi8( RAMEND ) out SPH , r16

; Hier den Init-Code eintragen

; Init Stackpointer LO

;------------------------------------------------------------------- mainloop: wdr

; Hier den Quellcode eintragen rjmp mainloop

;-------------------------------------------------------------------

Abbildung 5: Grundgerüst AVR-Assembler Programm

Seite : 17/34

Quellcode in Assembler erstellen

Das Lauflicht soll über die Ausgabegeräte LED angezeigt und von dem Prozessorport D gesteuert werden. Die Realisierung erfolgt über 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

Lauflichtes für unser Auge verzögert werden. Geben Sie folgenden Quellcode ein bzw. ergänzen Sie die Programmvorlage!

;--------------------------------------------------------------------------------

;* Titel

;* Prozessor

;* Schaltung

;* Datum

:Lauflicht für myAVR-Board

:ATmega8 mit 3,6864 MHz

:PORT D.2 bis PORT D.4 an LED 1 bis 3

:15.03.2004

;* Autor :Dipl. Ing. Päd. Alexander Huwaldt

;--------------------------------------------------------------------------------

.include "avr.h"

;--------------------------------------------------------------------------------

; Reset and Interruptvectoren ; VNr. Beschreibung begin: rjmp main reti reti reti reti reti reti reti reti reti reti reti reti reti reti reti reti reti reti

; 1 POWER ON RESET

; 2 Int0-Interrupt

; 3 Int1-Interrupt

; 4 TC2 Compare Match

; 5 TC2 Overflow

; 6 TC1 Capture

; 7 TC1 Compare Match A

; 8 TC1 Compare Match B

; 9 TC1 Overflow

; 10 TC0 Overflow

; 11 SPI, STC Serial Transfer Complete

; 12 UART Rx Complete

; 13 UART Data Register Empty

; 14 UART Tx complete

; 15 ADC Conversion Complete

; 16 EEPROM Ready

; 17 Analog Comparator

; 18 TWI (I²C) Serial Interface

; 19 Store Program Memory Redy

SiSy AVR Stand: 28.06.05

Seite: 18/34 Mikrocontroller-Entwicklungsumgebung SiSy

;--------------------------------------------------------------------------------

; Start, Power ON, Reset main:

; Alle Bits auf LOW out PORTD , r16 ldi r17 , 0b00000000 ldi r18 , 0b00000001 ; 1 Lauflicht-Bit

;-------------------------------------------------------------------------------- mainloop: skip: ldi r16 , lo8( RAMEND ) out SPL , r16 ldi r16 , hi8( RAMEND ) out SPH , r16 ldi r16 , 0b11111111 out DDRD , r16 ldi r16 , 0b00000000 wdr inc r16 brne skip inc r17

; Init Stackpointer LO

; Init Stackpointer HI

; PORT D auf Ausgang

; Wait

; Wait brne skip rcall up1 ; Lauflicht rjmp mainloop

;--------------------------------------------------------------------------------

; Bit-Rotation up1: rol r18 out PORTD , r18 ret

;--------------------------------------------------------------------------------

Compilieren und Linken

Der eingegebene Quellcode muss nun in Maschinencode für den AVR-Prozessor

übersetzt werden. Wählen Sie dazu die Schaltflächen „Compilieren“ und „Linken“. Bei fehlerfreier Übersetzung liegt das Programm als „Lauflicht.hex“ vor und kann auf den

FLASH-Programmspeicher des Prozessors gebrannt werden.

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 Programmierkabel an den

LPT-Port Ihres Rechners.

Stand: 28.06.05 SiSy AVR

Mikrocontroller-Entwicklungsumgebung SiSy Seite : 19/34

Zum Brennen wählen Sie die Schaltfläche „Brennen“. Bei erfolgreichem Brennvorgang erhalten Sie im Ausgabefenster folgende Meldung:

Abbildung 6: Ausgabefenster

Mikrocontrollerlösung testen

Um das Programm zu testen ist es nötig, den

Port D mit den Ausgabegeräten LED zu verbinden.

Wenn vorhanden ziehen Sie die

Batterie/das Netzteil und das

Programmierkabel ab.

Verbinden Sie die LEDs mit dem

Prozessorport D entsprechend dem folgenden Schema.

Nutzen Sie Patchkabel!

Prüfen Sie die Verbindungen und schließen Sie die Batterie/das Netzteil oder das Programmierkabel wieder an und nehmen die Mikrocontrollerlösung in Betrieb.

Es ist jetzt an den LED’s ein Lauflicht zu sehen.

Gratulation!

Abbildung 7

Das ist Ihre erste Mikrocontrollerlösung mit dem myAVR-Board.

Beim Kompilieren, Linken und Brennen des Schnellstart-Beispiels öffnete sich ein

Ausgabefenster und zeigte Protokollausgaben der Aktionen an. Wenn die Hardware ordnungsgemäß angeschlossen, von der Software erkannt wurde und das Programm erfolgreich auf den Programmspeicher des Mikrocontrollers übertragen 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

Ende.

Abbildung 8: Ausgabefenster mit "Brenn"-Protokoll

SiSy AVR Stand: 28.06.05

Seite: 20/34 Mikrocontroller-Entwicklungsumgebung SiSy

Die Inbetriebnahme, Test und Datenkommunikation mit der Mikrocontrollerlösung erfolgen über das SiSy-AVR-Controlcenter. Dabei wird über die Schaltfläche „Start“ das

Testboard mit der nötigen Betriebsspannung versorgt und der Controller gestartet. Der

Datenaustausch mit dem myAVR-Board ist möglich, wenn das Null-Modemkabel 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 angezeigt.

Abbildung 9: SiSy AVR-Controllcenter

Nutzen Sie die zahlreichen Hilfen und Vorlagen, die SiSy dem Entwickler bietet!

Abbildung 10: SiSy AVR-Assembler --> Dictionary und Hilfe

Stand: 28.06.05 SiSy AVR

advertisement

Was this manual useful for you? Yes No
Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Related manuals