mikrocomputertechnik prof. jürgen walter herzlich willkommen!!
Post on 06-Apr-2015
111 Views
Preview:
TRANSCRIPT
Mikrocomputertechnik
Prof. Jürgen Walter
Herzlich Willkommen!!
Zusammenfassung 9.10.2014 Modulhandbuch MC
Voraussetzungen Elektrotechnik, Digitaltechnik??,
Physik, Mathematik
Multikopter Mit dem Multikopter durch die
Aula
2
Zusammenfassung
Einführung in Keil Bitte neue Version installieren
8051-Derivat 8051-Kern Core Alle 8051 Befehle werden
ausgeführt Verschiedene Peripherie
3
VORLESUNG 10.10.2014Mikrocomputertechnik
4
Dropbox
www.Hit-karlsruhe.de
www.hit-karlsruhe.de/VC_2
waju0001@web.de
5
Installation 8051-Hilfsprogr. Dateien auf dem Rechner für
8051 Entwicklungsumgebung
PW: ExtraHertz
Configuration Wizard - Überblick www.silabs.com C8051F340
6
8051 Einführung - Hardware REG51.inc beschreibt die
Hardware für die Software
8051-Vorlagen kopieren!Vorlagen für D:/8051/VorlagenBitte zuerst entpacken
7
Assembler
Sprache
Assembler – Programm zum übersetzen des editierten Programmes
$NOMOD51 Befehl für den Assembler
8
Programmieren!!!
PDL Program Design Language
WAS? Soll programmiert werden Zuerst den Kommentar schreiben Erst danach: wie?
Bitte: Software an den Menschen anpassen – nicht umgekehrt ;-)
9
EIN_AUS
Programmieren von EIN_AUS im Simulator
Ablauf im Debugger
10
8051-Quickies
Bis Port-Quickie
Kleine Schwierigkeiten FET nicht bekannt Digitaltechnik nicht bekannt
11
HEXADEZIMAL, REGISTER, 16.10.2014
12
ERKLÄRUNG EIN_AUS_217.10.2014
13
SPEICHERBEREICHEVorlesung 17.10
14
Adressbereiche
Programmspeicher
intern/EA=1 und
Adresse <1000H
extern intern extern
Datenspeicher
/RD-/WR-Signal aktiv
MOVX A,@DPTR
obere 128 Bytes untere 128 Bytes
MOV A,RO
MOV A,PSWMOV A,@RO
SFR
MOV A,@RO
/PSEN aktiv
Abb. 3.21 Adressbereiche 8051 mit den Befehlen zum Ansprechen
Speicher Adressen Größen Interner Speicher
Externer Speicher
16
Register beschreiben
Name: RegBesch
Beschreiben sie die Register R0 bis R7 mit 0 – 7.
17
Indirekte Adressierung
Bsp: mov @R0,A heißt: schiebe den Inhalt aus dem Akkumulator in die Adresse, welche in R0 steht.
18
HA
Name: HA_01
Aufgabenstellung: Beschreiben Sie den Adressbereich von 30h bis 7Fh mit den Zahlen von 0 bis 80 (dezimal)
19
20
Dropbox
SPEICHERBEREICHE24.10.2014
21
Interner Speicher
Der menschliche Körper
Großhirn
Kleinhirn
Rückenmark
22
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
Register23
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
24
Externer Speicher
Mov DPTR,#0000h
Mov A,#05Ah
Movx @DPTR,A
25
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.
26
LABOR30.10.2014
27
Labor
20 weitere VC_2 werden angeschafft
40 Servomotoren
Entwickeln einer Zusatzplatine Kröte: nur ein Board wird bestückt PEP wird geklärt
28
Labor
Kleine Einführung / Vorbereitung zum Entwickeln eines PCB
Printed Circuit Board
29
ZUGRIFF AUF SPEICHERBEREICHE
31.10.2014
30
Wiederholung
EXTSPDZ – Zugriff auf externen Speicher
Alle Variablen – Register initialisieren – TIPP am Anfang jeder Schleife
TIPP: ABFRAGE jnb – Taster
Initialisierung der Ports „1“
31
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
32
Bitadressierbarer Bereich
Bitadressierbarer Bereich von 20h bis 2Fh
Adressierung eines einzelnen Bits Von 20.0h bis 2F.7h
33
Architektur
Harvard – Architektur Programmspeicher +
Datenspeicher
Von – Neumann – Architektur Programme und Daten sind wild
gemischt
34
Der Interrupt
Hardware – Interrupt
DER TIMERMikrocomputertechnik
36
Aufteilung Empfehlung
37
Aufteilung
38
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
39
INSTALLATION: SILABS13.11.2014
40
Silabs – Keil Vollversion
Vollständige Installation mit allen Treibern.
Vollversion von Keil!
41
LABORÜBUNG20.11.2014
42
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.
43
Bestätigung LABOR TIMER
BLIN_INT_1s
BLIN_INT_5s
BLIN_INT_50s
Programmiert von:___________________
Überprüft durch:_____________________
44
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
45
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
46
BLIN_INT_5s
Erstellen Sie das Programm mit der Periodendauer von 5s
47
BLIN_INT50s
Erstellen Sie das Programm mit der Periodendauer von 50sTipp: Zusätzliches Zählregister R3 mit einer bestimmten Zahl laden
48
TIMER, DATENBUCH 8051F34X
Vorlesung Mikrocomputertechnik
49
Silabs Datenbuch
Blockschaltbild
TIMER Blockschaltbild TMOD, TCON
Interrupt IE=IEN0
50
LABORÜBUNG INTERRUPT27.11.2014
51
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.
52
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
53
Bestät.: LABOR INTERRUPT /INT0_1
INT0_10MAL
programmiert von:__________________
Überprüft durch:_____________________
54
/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
55
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
56
LABOR-ÜBUNG SCHEIBENWISCHER
18.12.2014
57
LABOR-ÜBUNG 3 PWM-PROGRAMME
08.01.2015
58
Organisation
Aufbau der Vorlesung
Noch 4 x Labor
Noch 4 x Vorlesung
Vorbereitung Prüfung Alle behandelten Programme
verstehen Kombination / Änderung der
Programme59
Der rote Faden-Quickie
Architektur 8051
Architektur F8051F340
60
Excel - Servoberechnungen Umrechnung ##° in HEX-Werte
von Servomotor
Oszillator Einstellungen
61
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
T3Start45° Pause ca. 1s90° Pause ca. 1s135° Pause ca. 1s und wiederholen
62
ADC9.1.2015
63
Imhalt
A/D-Wandler
A/D-Wandlung an Port 1.1 mit 3 Bit codiert.
Projekte teilweise – aber ohne Web!
64
Parallel: Projekte
Besprechen -
65
SERVO - BASTELSTUNDELabor
66
Inhalt
Winkelmesser mit Servo
Programmierung STELLUNG_1_2-HS-53 - Quickie
67
TIMER 2,3Vorlesung 16.1.2015
68
Inhalt
Architektur TIMER 2,3
Programm: Genau alle 40ms abtasten
69
PROJEKTELabor 22.1.2015
70
Projekt: Kriterien Programmablaufpan:
Blockschaltbild:
Portbelegungsplan:
Schaltplan:
Layout:
Quellcode:
Bedienungsanleitung:
Verbesserungen und Weiterentwicklungen:
Linkliste:
71
WEB-SEITEN-FEHLER!!
Keine Links in eigene Seite über Frames einbinden!! Wird strafrechtlich verfolgt / abgemahnt
72
Abb. 4.5 Symbole für Programm-Ablaufpläne / Struktogramme
Struktur-
element
Klassische
Darstellung Struktogramme
<Eingangsgröße>
<Ausgangsgröße>
Schnittstelle
Sequenz
Verzweigung
Wiederholung
Anfang
Ende
<Block 1>
<Block 2>
<Block 2><Block 1>
<Bedingung>?ja nein<Bedingung>?
<Bedingung>?
ja nein
<Block 2>
<Block 3>
b1b2
bn<Block 1>
<Block n><Block 2>
<Block 1>
<Block 1>
für <Bedingung>
<Block>
<Block>
Schleife für <Bedingung>
<Bedingung>?
<Block 1>
<Bedingung>?
ja nein
<Block 2>
<Bedingung>?
<Block>
<Block>
janein
<Block 1>
ja nein<Bedingung>?
<Bedingung>?
<Block 2>
<Block 2>
Sprung ausSchleife
Schleife
<Block 1>
<Block 2>
Leiterplatten-Layout
Jede Gruppe muss ein Layout erstellen!!!
Platine wird für ein tolles Projekt gefertigt
Projekte 1: 21.1.2015
75
Name STAND BEM.LODRIMA ??
Multifunktionswecker Team 1 ??
Velolights-Untergruppe 3 ??
Chipsmaschine ??
Ultraschall-gesteuerte LED-LampeGruppe 1 +, Gruppe 2 -, Gruppe 3-, Gruppe 4-
Standar(d)
LODRIMA-Ausschankeinheit+
RC-CAR
Projekte 2: 21.1.2015
76
Name STAND BEM.WS-14-Robo ??
Velolight ++ Lustig? Eindruck gut
Multifunktionswecker ?? Seite löschen?
Wolkenmesser ?? PEP vorhanden
Block ??? PEP Bewerte Fahrrad
Multifunktionswecker ?? PEP Nutzwert nichts
Roboterarm ?? PEP
Velolights ??
Xylomat ?? PEP --
Ultraschall-gesteuerte LED-Lampe
Blockschaltbild ++
Portbelegung ++
Schaltplan --
77
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!
78
LODRIMA-Bedienterminal Struktogramm ist keines!
Blockschaltbild +++
Portbelegungsplan
Schaltplan ++ ? Taster ++
Quellcode ++ Warum kein Drehschalter?
Bedienungsanleitung ++
Verbesserungen und Weiterentwicklungen +
Linkliste – in neuem Fenster öffnen!
79
LODRIMA-Lineareinheit Struktogramm ist keines!
Blockschaltbild +++
Portbelegungsplan
Schaltplan ++ ? Taster ++
Quellcode ++ Warum kein Drehschalter?
Bedienungsanleitung ++
Verbesserungen und Weiterentwicklungen +
Linkliste – in neuem Fenster öffnen!
80
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!
81
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!
82
RC-CAR Hauptseite Sehr gut!
Schaltplan Beleuchtung ??
Layout – sehr gut
83
RC-CAR Lenkung Kontinuierlich?
Quellcode???
84
RC-CAR Scheibenwischer Quellcode???
85
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! 86
Multifunktionswecker Team 1 Programmablaufpan:
Blockschaltbild:
Portbelegungsplan:
Schaltplan:
Layout:
Quellcode:
Bedienungsanleitung:
Verbesserungen und Weiterentwicklungen:
Linkliste:
87
Projekt: Kriterien Programmablaufpan:
Blockschaltbild:
Portbelegungsplan:
Schaltplan:
Layout:
Quellcode:
Bedienungsanleitung:
Verbesserungen und Weiterentwicklungen:
Linkliste:
88
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.
89
PRÜFUNG: „SERVO“Vorlesung 23.1.2015
90
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
91
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 2692
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 sein93
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
94
PLATINE – WER?Labor 29.1.2015
95
PRÜFUNG: ADC + EAGLESERVO + TIMER 2
Vorlesung 30.1.2015
96
Packliste Prüfung
PC – IDE
5 Vorlagen - WS14-A1….WS14-A5
Poti
Servo - Kalibrationdaten
Datenbuch
Befehlsliste, Schaltplan, Int_Vector 97
top related