Mikrocomputertechnik Prof. Jürgen Walter Herzlich Willkommen!! Mikrocomputertechnik Prof. Jürgen Walter
Zusammenfassung 9.10.2014 Modulhandbuch MC Voraussetzungen Multikopter Elektrotechnik, Digitaltechnik??, Physik, Mathematik Multikopter Mit dem Multikopter durch die Aula
Zusammenfassung Einführung in Keil 8051-Derivat Bitte neue Version installieren 8051-Derivat 8051-Kern Core Alle 8051 Befehle werden ausgeführt Verschiedene Peripherie
Mikrocomputertechnik Vorlesung 10.10.2014
Dropbox www.Hit-karlsruhe.de www.hit-karlsruhe.de/VC_2 waju0001@web.de
Installation 8051-Hilfsprogr. Dateien auf dem Rechner für 8051 Entwicklungsumgebung PW: ExtraHertz Configuration Wizard - Überblick www.silabs.com C8051F340
8051 Einführung - Hardware REG51.inc beschreibt die Hardware für die Software 8051-Vorlagen kopieren! Vorlagen für D:/8051/Vorlagen Bitte zuerst entpacken
Assembler Sprache Assembler – Programm zum übersetzen des editierten Programmes $NOMOD51 Befehl für den Assembler
Programmieren!!! PDL Program Design Language WAS? Soll programmiert werden Zuerst den Kommentar schreiben Erst danach: wie? Bitte: Software an den Menschen anpassen – nicht umgekehrt ;-)
EIN_AUS Programmieren von EIN_AUS im Simulator Ablauf im Debugger
8051-Quickies Bis Port-Quickie Kleine Schwierigkeiten FET nicht bekannt Digitaltechnik nicht bekannt
16.10.2014 Hexadezimal, Register,
17.10.2014 Erklärung EIN_AUS_2
Vorlesung 17.10 Speicherbereiche
Abb. 3.21 Adressbereiche 8051 mit den Befehlen zum Ansprechen
Speicher Adressen Größen Interner Speicher Externer Speicher
Register beschreiben Name: RegBesch Beschreiben sie die Register R0 bis R7 mit 0 – 7.
Indirekte Adressierung Bsp: mov @R0,A heißt: schiebe den Inhalt aus dem Akkumulator in die Adresse, welche in R0 steht.
HA Name: HA_01 Aufgabenstellung: Beschreiben Sie den Adressbereich von 30h bis 7Fh mit den Zahlen von 0 bis 80 (dezimal)
Dropbox
24.10.2014 Speicherbereiche
Interner Speicher Der menschliche Körper Großhirn Kleinhirn Rückenmark
8051 Speicherbereiche Interne Speicher Adresse: 00h – FFH Indirekt adressierbaren Speicherbereich 00H-(7FH) FFH Direkt adressierbarer Speicherbereich 00H – 7FH die gleichen Speicherzellen wie indirekt 80H-FFH SFR Special Function Register
Hausaufgabe 3 T1 beschreiben Sie den indirekt adressierbaren Speicherbereich ab 30h bis FFH mit Zahlen ab 0 jeweils um 1 erhöht. T2 Löschen Sie den Speicherbereich
Externer Speicher Mov DPTR,#0000h Mov A,#05Ah Movx @DPTR,A
Externen Speicher beschreiben Schreiben Sie 256 Zahlen in den externen Speicher ab X:0x0000h. Beginnen Sie mit 0 und inkrementieren Sie jeweils die Zahl um 1.
30.10.2014 Labor
Labor 20 weitere VC_2 werden angeschafft 40 Servomotoren Entwickeln einer Zusatzplatine Kröte: nur ein Board wird bestückt PEP wird geklärt
Labor Kleine Einführung / Vorbereitung zum Entwickeln eines PCB Printed Circuit Board
Zugriff auf Speicherbereiche 31.10.2014 Zugriff auf Speicherbereiche
Wiederholung EXTSPDZ – Zugriff auf externen Speicher Alle Variablen – Register initialisieren – TIPP am Anfang jeder Schleife TIPP: ABFRAGE jnb – Taster Initialisierung der Ports „1“
Speicherbereiche - Befehle Interner Speicherbereich von 00h bis FFh Registerbänke: 4 Stück: Registerbank 0 von 00h bis 07h Registerbank 1 von 08h bis 0Fh Registerbank 2 von 10h bis 17h Registerbank 3 von 18h bis 1Fh
Bitadressierbarer Bereich Bitadressierbarer Bereich von 20h bis 2Fh Adressierung eines einzelnen Bits Von 20.0h bis 2F.7h
Architektur Harvard – Architektur Von – Neumann – Architektur Programmspeicher + Datenspeicher Von – Neumann – Architektur Programme und Daten sind wild gemischt
Der Interrupt Hardware – Interrupt
Mikrocomputertechnik Der TIMER
Aufteilung Empfehlung
Aufteilung
Was ist ein TIMER/Counter Ein Zeitgeber ;-) – Uhr Der Takt kommt regelmäßig Ein Zähler ;-) – Schrauben zählen Der Takt kommt nicht regelmäßig
13.11.2014 Installation: SILABS
Silabs – Keil Vollversion Vollständige Installation mit allen Treibern. Vollversion von Keil!
20.11.2014 Laborübung
Laborübungen Sie führen die Laborübung jeweils durch und ihr linker Nachbar / Vordermann auf der rechten Seite überprüft die Ergebnisse mit einer Stoppuhr und bestätigt die Ergebnisse.
Bestätigung LABOR TIMER BLIN_INT_1s BLIN_INT_5s BLIN_INT_50s Programmiert von:___________________ Überprüft durch:_____________________
BLIN_INT f=1/T f=1/(2*n*0,065536s) n=1/(2*f*0,065536s) Erstellen Sie mit Excel die Tabelle: f Eingabefeld n Ausgabefeld
BLIN_INT_1s Erstellen Sie das Programm mit der Blink-Frequenz 1s und lassen Sie den gesamten Port 3 blinken. Ihr Nachbar überprüft die Blinkfrequenz mit einer Stoppuhr über 20 Perioden
BLIN_INT_5s Erstellen Sie das Programm mit der Periodendauer von 5s
BLIN_INT50s Erstellen Sie das Programm mit der Periodendauer von 50s Tipp: Zusätzliches Zählregister R3 mit einer bestimmten Zahl laden
Vorlesung Mikrocomputertechnik TIMER, Datenbuch 8051F34x
Silabs Datenbuch Blockschaltbild TIMER Blockschaltbild Interrupt TMOD, TCON Interrupt IE=IEN0
27.11.2014 Laborübung Interrupt
Laborübungen Sie führen die Laborübung im Simulator durch und ihr linker Nachbar / Vordermann auf der rechten Seite überprüft und bestätigt die Ergebnisse.
Interrupt Priority Über das IP-Register 0xB8 können Sie die Priorität von Timer 0 Interrupt höher setzen, damit /T0 Interrupt den /INT0-Interrupt unterbrechen kann. Als Unterlagen können Sie das 8051-Buch Springer oder das Datenbuch 8051F340 nutzen
Bestät.: LABOR INTERRUPT INT0_10MAL programmiert von:__________________ Überprüft durch:_____________________
/INT0_1 MIT T1 lösen Sie Interrupt 0 aus. In der ISR_I0 schalten Sie L1 an Mit T2 lösen Sie Interrupt 1 aus. In der ISR_I1 schalten Sie L1 aus
INT0_10MAL Mit T1 lösen Sie /Interrupt 0 aus. Danach soll L1 10 Mal blinken - mit Periodendauer 1s - und über TR0 gestoppt werden. Danach kann das Programm neu gestartet werden. Ihr Nachbar überprüft die Aufgabe
Labor-Übung Scheibenwischer 18.12.2014 Labor-Übung Scheibenwischer
Labor-Übung 3 PWM-Programme 08.01.2015 Labor-Übung 3 PWM-Programme
Organisation Aufbau der Vorlesung Noch 4 x Labor Noch 4 x Vorlesung Vorbereitung Prüfung Alle behandelten Programme verstehen Kombination / Änderung der Programme
Der rote Faden-Quickie Architektur 8051 Architektur F8051F340
Excel - Servoberechnungen Umrechnung ##° in HEX-Werte von Servomotor Oszillator Einstellungen
Programme - Hausaufgabe Führen und verstehen Sie die Programme mit ihrem SERVO-MOTOR aus. PWM-SERVO_LR L_25_50_75 DREI_STELLUNGEN_45_90_135 T3Start 45° Pause ca. 1s 90° Pause ca. 1s 135° Pause ca. 1s und wiederholen Parallel werden wir die Projekte besprechen. TIPP: ca. 1s 46 Interrupts von PCA-Einheit
9.1.2015 ADC
Imhalt A/D-Wandler A/D-Wandlung an Port 1.1 mit 3 Bit codiert. Projekte teilweise – aber ohne Web!
Parallel: Projekte Besprechen -
Labor Servo - Bastelstunde
Inhalt Winkelmesser mit Servo Programmierung STELLUNG_1_2-HS-53 - Quickie
Vorlesung 16.1.2015 TIMER 2,3
Inhalt Architektur TIMER 2,3 Programm: Genau alle 40ms abtasten
Labor 22.1.2015 Projekte
Projekt: Kriterien Programmablaufpan: Blockschaltbild: Portbelegungsplan: Schaltplan: Layout: Quellcode: Bedienungsanleitung: Verbesserungen und Weiterentwicklungen: Linkliste: Entsorgung – Batterien dürfen nicht verspeist werden etc. Kleinteile sind vor Babys zu schützen und umgekehrt.
WEB-SEITEN-FEHLER!! Keine Links in eigene Seite über Frames einbinden!! Wird strafrechtlich verfolgt / abgemahnt
Abb. 4.5 Symbole für Programm-Ablaufpläne / Struktogramme
Leiterplatten-Layout Jede Gruppe muss ein Layout erstellen!!! Platine wird für ein tolles Projekt gefertigt
Projekte 1: 21.1.2015 Name STAND BEM. LODRIMA ?? Multifunktionswecker Team 1 Velolights-Untergruppe 3 Chipsmaschine Ultraschall-gesteuerte LED-Lampe Gruppe 1 +, Gruppe 2 -, Gruppe 3-, Gruppe 4- Standar(d) LODRIMA-Ausschankeinheit+ RC-CAR
Projekte 2: 21.1.2015 Name STAND BEM. WS-14-Robo ?? Velolight ++ Lustig? Eindruck gut Multifunktionswecker Seite löschen? Wolkenmesser PEP vorhanden Block ??? PEP Bewerte Fahrrad PEP Nutzwert nichts Roboterarm PEP Velolights Xylomat PEP --
Ultraschall-gesteuerte LED-Lampe Blockschaltbild ++ Portbelegung ++ Schaltplan --
LODRIMA-Ausschankeinheit Struktogramm ist keines! Blockschaltbild +++ Portbelegungsplan Schaltplan ++ ? Leistungstreiber Power Mosfet TTL Quellcode ++ Warum kein Drehschalter? Bedienungsanleitung ++ Verbesserungen und Weiterentwicklungen + Linkliste – in neuem Fenster öffnen!
LODRIMA-Bedienterminal Struktogramm ist keines! Blockschaltbild +++ Portbelegungsplan Schaltplan ++ ? Taster ++ Quellcode ++ Warum kein Drehschalter? Bedienungsanleitung ++ Verbesserungen und Weiterentwicklungen + Linkliste – in neuem Fenster öffnen!
LODRIMA-Lineareinheit Struktogramm ist keines! Blockschaltbild +++ Portbelegungsplan Schaltplan ++ ? Taster ++ Quellcode ++ Warum kein Drehschalter? Bedienungsanleitung ++ Verbesserungen und Weiterentwicklungen + Linkliste – in neuem Fenster öffnen!
RC-CAR Antrieb ? Hauptseite? Struktogramm ist keines! Blockschaltbild sehr Mikrocontroller ausgerichtet Portbelegungsplan +++ Configuration Wizard Schaltplan ++ Layout ++++ Quellcode ++ Warum kein Drehschalter? Bedienungsanleitung ++ Verbesserungen und Weiterentwicklungen + Linkliste – in neuem Fenster öffnen!
RC-CAR Beleuchtung Struktogramm ist keines! Blockschaltbild sehr Mikrocontroller ausgerichtet Portbelegungsplan +++ Configuration Wizard Schaltplan ++ Layout ++++ Quellcode ++ Warum kein Drehschalter? Bedienungsanleitung ?? Es muss ein Papier vorliegen! Verbesserungen und Weiterentwicklungen + Linkliste – in neuem Fenster öffnen! Entsorgung – Batterien dürfen nicht verspeist werden etc. Kleinteile sind vor Babys zu schützen und umgekehrt.
RC-CAR Hauptseite Sehr gut! Schaltplan Beleuchtung ?? Layout – sehr gut Entsorgung – Batterien dürfen nicht verspeist werden etc. Kleinteile sind vor Babys zu schützen und umgekehrt.
RC-CAR Lenkung Kontinuierlich? Quellcode??? Entsorgung – Batterien dürfen nicht verspeist werden etc. Kleinteile sind vor Babys zu schützen und umgekehrt.
RC-CAR Scheibenwischer Quellcode??? Entsorgung – Batterien dürfen nicht verspeist werden etc. Kleinteile sind vor Babys zu schützen und umgekehrt.
Velolight Programmablaufpan – aber sicher nicht nach DIN Blockschaltbild nicht lesbar Portbelegungsplan ++ Schaltplan Nach ULN2803 ein weiterer Baustein?? Umschaltung Versorgung??????? Layout ++++ Quellcode ++ Bedienungsanleitung ?? Es muss ein Papier vorliegen! Verbesserungen und Weiterentwicklungen + Linkliste – in neuem Fenster öffnen! Entsorgung – Batterien dürfen nicht verspeist werden etc. Kleinteile sind vor Babys zu schützen und umgekehrt.
Multifunktionswecker Team 1 Programmablaufpan: Blockschaltbild: Portbelegungsplan: Schaltplan: Layout: Quellcode: Bedienungsanleitung: Verbesserungen und Weiterentwicklungen: Linkliste: Entsorgung – Batterien dürfen nicht verspeist werden etc. Kleinteile sind vor Babys zu schützen und umgekehrt.
Projekt: Kriterien Programmablaufpan: Blockschaltbild: Portbelegungsplan: Schaltplan: Layout: Quellcode: Bedienungsanleitung: Verbesserungen und Weiterentwicklungen: Linkliste: Entsorgung – Batterien dürfen nicht verspeist werden etc. Kleinteile sind vor Babys zu schützen und umgekehrt.
Vorbereitung Prüfung Quickies Ausgehend von der Neutralposition soll die Position 0,9ms mit maximaler Geschwindigkeit angefahren werden. Danach soll periodisch innerhalb von ca. 3s zwischen Position 2,1ms und 0,9ms gewechselt werden. Dabei soll mit gleichmäßiger Geschwindigkeit zwischen den Positionen gefahren werden.
Vorlesung 23.1.2015 Prüfung: „Servo“
Aufgabe zerlegen 1 Ausgehend von der Neutralposition Initialisierung 1,5ms =????? soll die Position 0,9ms mit maximaler Geschwindigkeit angefahren werden. T2 Start: Fahrt auf 0,9ms =????? mit vmax 2 Stellungen mov PCA0CPM0, #0CBh ;PWM varieren
Aufgabe zerlegen 2 Danach soll periodisch innerhalb von ca. 3s zwischen Position 2,1ms und 0,9ms gewechselt werden. Dabei soll mit gleichmäßiger Geschwindigkeit zwischen den Positionen gefahren werden. T3 Links rechts fahren mit 137 Interrupts und Schrittweite 26
Aufgabe zerlegen 3 Dabei soll mit gleichmäßiger Geschwindigkeit zwischen den Positionen gefahren werden. Servo_LR als Grundlage Idee: R3 zählt die 137 Interrupts jeweils in Teil ADD oder SUBB wird T2 oder T3 auf „0“ gesetzt und nach 137 Interrupts wieder gesetzt R2 muss 1 sein
In Prüfung – Aufgabe schwer Zwei Aufgaben 1. Aufgabe T2 Fahren Sie in Neutralposition T3 Fahren Sie auf Stellung 0,9ms 2. Aufgabe T2 Fahren Sie in 3s jeweils periodisch zwischen 0,9ms und 2,1ms
Labor 29.1.2015 Platine – WER?
Prüfung: ADC + EAGLE Servo + TiMER 2 Vorlesung 30.1.2015 Prüfung: ADC + EAGLE Servo + TiMER 2
Packliste Prüfung PC – IDE 5 Vorlagen - WS14-A1….WS14-A5 Poti Servo - Kalibrationdaten Datenbuch Befehlsliste, Schaltplan, Int_Vector