Präsentation herunterladen
Die Präsentation wird geladen. Bitte warten
Veröffentlicht von:Diederick Schneidman Geändert vor über 10 Jahren
1
Prof. J. Walter waju0001@web.de
Tafel Wintersemester 06 Prof. J. Walter
2
Thomas Haehnel
3
Der erste Befehl Jmp Sprungziel = jump label
4
PDL Programm design language Zuerst kommentieren, WAS gemacht wird
Erst dann kommt das WIE Erkenntnis: die Dokumentation und Kommentare sind das Wichtigste
5
Merkspruch Nur dokumentierte Software ist existent!
6
02.10.2006 ??? Leute kein Notebook ?? haben einen Rechner
Pentium 5 mit 1,8 GHz, TFT, 1024x768 Alle Studenten eigenen Notebook mitbringen! RJ45 Anschluss mit 100MBit/s W-Lan mit 54MBit In der Vorlesung wird programmiert
7
Semester ?? MT3 ?? MT4 ?? FT
8
Assembler-Programm Name: EIN_AUS6 Was muß das Programm machen?
T1 einschalten -> L1 T2 ausschalten ->L1
9
.NET Framework Lizenz im Sekretariat Ansprechpartner Prof. Artinger
10
1,0 Pegel erzeugen + 5V R = 5 kΏ Ausgang GND
11
Eingang Schalter + 5V R = 5 kΏ Eingang Port 1.1 Zum Controller GND
12
Lampe leuchtet (Ausgang)
+ 5V R = 5 kΏ Ausgang GND Microcontroller Externe Beschaltung
13
Her(t)zlich Willkommen
9. Oktober 2006 Her(t)zlich Willkommen
14
Maurice Bopp Installation Keil-Software µ-vision
Benutzer: Administrator Hier immer 8051-Controller Installation Keil Evaluationssoftware C51
15
Götz Werner DM-Markt Man kann nicht gelernt werden, sie müssen selbst lernen Bitte installieren sie selbst 8051-Software Installation der Vorlage
16
Neues 8051-Programm Gleichzeitig 3 Lampen ein, 3 Lampen aus
L1=>P3.2 L2=>P3.3 L3=>P3.4
17
EinAus3 Bitte Programm auf Rechner entwickeln und auf Stick speichern
wie in Prüfung Programm: EinAus3
18
Bemerkung Alle Programme wurden unter IE6, IE7 getestet
Für andere Tests hat der Dozent keine Zeit Dozent arbeitet immer mit Standardsoftware
19
Bemerkungen Umgang mit Beamer und PC wird vorausgesetzt
Kann ich die Ports auf einmal umschalten? Nein, so nicht clr P3.2, P3.3, P3.4 Bitte gesamten Ordner EinAus3 speichern
20
Bemerkungen Ziel: Programmieren von 8051
Sie könne gleichzeitig den Port beschreiben Mov P4,# b µ = 10^-6
21
Hausaufgabe Hausaufgabe: wie weit kommt das Licht in einer µ-Sekunde?
22
Rafael Swoboda Evaluation Leihe Entwicklungssystem in der Bibliothek
Hinweis: Schreibmaschinenkurs Keil Software Mit aktueller Software lernen
23
Neuer Befehl Mov P4,#1110 0011b 4 Bits=1 Nippel, 2 Nippel=1 Byte
Hexadezimalzahlen werden vorausgesetzt
24
Mov_P4 Programm: Mov_P4 T1 Bitkombination in P4 schreiben
T2 Alle Bits setzen Erfahrungen: jeder sollte das Programm entwickeln können
25
Tipps Immer nur eine Instanz von Keil öffnen
Für jedes Programm ein neues Projekt anlegen Unterscheidung zwischen Bit- und Byte-Befehlen
26
Tipps 2 Unterscheidung zwischen Bit- und Byte-Adressen
27
Msb, most significant byte
28
Organisatorisches Di Nachmittag Vorlesung in den ersten 6 Wochen
Dann Labor Di und Mi Mit Assistent und HiWi Wesentliche Verbesserung: Studenten über Organisation informieren
29
Neueste Ausrüstung, bitte Sorgfalt
30
Michael Kraft Blog: Post im Internet
31
Test des Programmes Programm Mov_P4 Aufgabe: Mov_P4 mit Bit Befehlen
Name: Mov_P4b Bit setzen Bit rücksetzen Programmstart bei 0x0000 im Speicher
32
Gelerntes Byte setzen Byte zurücksetzen Breakpoints setzen F5: Run
Automatisch Debuggen Zauberstift
33
Unterlagen Alle Bilder im Internet Startseite Mikrocomputertechnik
Producer Video- Powerpoint- html gemischt Multiple choice Kapitel 1
34
Daniel Flicke MindmanagerSmart Paßwort: nurfürdich
35
Vorstellung Projekt Bsp.-Projekt Autoverfolgung SS05 Web
36
Christian Fritz Datum
37
Ziel: A/D Wandlung Analoger Wert: Wert: kontinuierlich und
Zeit: kontinuierlich x-Achse kontinuierlich und y-Achse kontinuierlich
38
A/D
39
Programm: A_D_W A/D-Wandler auf Tastendruck T1 wird ein Wert gewandelt
L1 an: Programm läuft L2 an: A/D Wandlung beendet
40
Befehle Wandlung auslösen: warten bis A/D fertig: mov DAPR, #0
jb BSY, $ WARTEN: jb BSY, WARTEN
41
Befehle 2 Wert in Akku (=Akkumulator) A
Wert steht nach der Wandlung im Register ADDAT
42
Fehler „Target“ fehlt Abhilfe: Datei Explorer (siehe nächste Folie)
43
Bei Fehlermeldung des Compilers
44
kleine Hausaufgabe nach jeder Wandlung wird die nächste Kanalnummer gewählt neuer Befehl: inc Register (z.B. inc A)
45
kleine Hausaufgabe 2 es wird eine Schleife und ein Schleifenzähler benötigt (von 0 bis7)
46
Christian Fritz Datum:
47
Tipps Allgemeine Aussagen des Profs:
Vorsicht bei unterschiedlichen Software-Versionen! Bitte Frage stellen: Zu was benötige ich das?
48
Tipps 2 Bitte Wohnzimmer und Toilette nicht verwechseln
Im Vorlesungsraum: Kameraüberwachung
49
Herausforderung Zu was brauch ich den MIST A/D-Wandlung!?
50
Temperaturerfassung A/D- Wandlung 5V Register 0V – 3V ADDAT 99 0V A
µ-Controller
51
MOV - Befehl mov Ziel,Quelle mov A,ADDAT
stehen die Daten im Akku, erreiche ich jedes Ziel Daten können beliebig bearbeitet werden
52
Bsp. Kühlschrank mittlere Temperatur in einem Kühlschrank ermitteln
Position der Sensoren: Gemüsefach und mittleres Fach S1 an AN0 S2 an AN1
53
Programm KUEHL1 Ziel: Anzeige der mittleren Temperatur in einem Kühlschrank KUEHL1 digitalisiert die Werte von 2 Sensoren und schreibt die Werte in Register R0 und R1
54
Wiederholung Umrechnung
Spannungsbereich von 0V-3V wird linear auf eine Temperatur umgerechnet z.B.
55
Zuordnung Temperatur -> Zahl
56
Jamal Oulhadj
57
Tipp vom Dozenten: Bei bitadressierbaren Bits immer die einzelnen Bits programmieren Nicht Byteweise !!
58
Vitalis Meier
59
ADCON AD control MX0, MX1, MX2 MX steht für Multiplexer
60
Ziel Indirekte Adressierung
mov A,dadr; holt Inhalt der direkten Adresse (interner Datenspeicher) in den Akkumulator Speicherbereich von 0 bis 7F h = 128 Byte interner Speicher direkt adressierbar
61
Programm: ADDADR T1 schreibe den gewandelten Wert(AN0) von ADDAT in die Adresse 30 h T2 schreibe den gewandelten Wert(AN0) von ADDAT in die Adresse 31 h
62
Test von ADDADR AN0 = 4 V – Test des Programms
63
Programm ZDRW Programm: mit der Taste T1 werden 32 Werte gewandelt und in den internen Datenspeicher ab 30 h gespeichert (AN0)
64
ZDRW R2 ist unser Zählregister
DJNZ R2,SCHLEIFE; decrement jump not zero Inhalt von R2 -1, wenn nicht 0 springe nach SCHLEIFE
65
Indirekte Adressierung
in R0 kommt die Adresse ADDAT wird in Akkumulator kopiert ; kopiert den Inhalt von A in die Adresse, welche in R0 steht
66
Frédéric Ablitzer
67
Organisatorisches Heute Nachmittag wird Herr Beck Eagle Effektivität
Austausch von Programmen Austausch von Hardware / Schaltplane
68
Tipps zur Prüfung Programm lokal auf Rechner entwickeln
Zwischendurch Kopie von Projektordner auf Stick speichern Weiterentwicklung lokal auf Rechner
69
List-Account An der Universität Karlsruhe einfach
MT4- -Verteiler:
70
Programme Download Unter
71
Fragen Befehl INC R0 = Inhalt von R0 + 1
;dadr ist direktadressierbarer Speicherbereich im 8051-Kontroller In dadr befinden sich alle Register, z.B. ADDAT, R0, … R7, ADCON
72
Externer Speicherbereich
MOV DPTR,#const16 Schreiben sie das Programm: ZDRWX Die 32 Werte sind im externen Datenspeicher zu speichern
73
Martin Schmid
74
DPTR DatenPointer 16Bit Adresse externer Datenspeicher Debug: X:0x2000
Zeigt den Inhalt des externen Datenspeichers ab Adresse 2000h
75
ZSRWX 256 Werte wandeln und in den externen Datenspeicher schreiben
76
ZTRWX 2560 Werte wandeln und in den externen Datenspeicher schreiben
Tipp: innere und äußere Schleife Z.B.: 256 mal 10 = 2560 Werte
77
MITTEMP Ermittlung der mittleren Temperatur Befehl: add A,Rn
Division durch 2 Befehl: rrc A C Carry= Übertrag
78
Sebastian Noworolski
79
Letzte Vorlesung 55h/2 = 42,5 2Ah = 42
80
Einsatz Verbesserung von Meßwerten Erniedrigung der Messunsicherheit
Bsp. Erfassen von 8 Meßwerten, summieren und Division durch 8 Mittelwertbildung
81
Hausaufgabe des Dozenten
Visualisierung/ Video Darstellung in HPVE Darstellung Blattfeder
82
rrc A
83
Timer 2 Erzeugen einer Zeitdauer 50 ms
CRCH (Compare Reload Capture High byte) CRCL (Compare Reload Capture Low byte)
84
Folie 2: Timer 2 CCL1 (Compare Capture Low byte Einheit 1)
CCH1 (Compare Capture High byte Einheit 1) Fosc Frequenz des Controllers (12 MHz )
85
Folie 3: Timer 2 T2_50MS: Timer 2 ist so zu programmieren: Taktfrequenz 1 MHz, Reloadregister 15536, alle 50 ms wird ein Interrupt ausgelöst Tipp: Lösung im Buch mit 1 ms, Seite 150 Programmierung Timer 2
86
T50_MIT.A51 Programm ermittelt alle 50ms die mittlere Temperatur von 2 Sensoren.
87
Interrupt Ein Interrupt ist mit reti abzuschliessen Ein call mit ret
88
AD_INT Schreiben Sie das Programm: MITTEMP als Interruptprogramm für den A/D-Wandler IADC. D.H. Sobald die Wandlung durchgeführt wurde, ist ein Interrupt vom A/D-Wandler auszulösen.
89
Heiko Schmidt
90
Projektor einschalten
Der Beamer wird über TCP/IP geschaltet Über Browser bedienbar Sprache lässt sich einfach umstellen URL = Adresse: xxx.xxx 65536 Geräte (Adressen)
91
Bezug TCP/IP-MC Es gibt inzwischen MC mit TCP/IP Schnittstellen
MC-Projekt? Stromversorgung über TCP/IP
92
Interrupt Interrupt-Vektor vom A/D-Wandler Buch Seite 115 43h
93
Interrupt vom Thema Übung „Aufstehen“
Mit 4 Leitungen können 16 Adressen erzeugt werden 65536 Adressen -> 16 Aufsteher werden benötigt 512 MB?
94
Adressen - Leitungen
95
AD_INTE A/D-Wandlung mit Interrupt einfach, d.h.
T1ein Wert wird gewandelt mit Interruptverfahren Vorsicht IADC Flag muß zurückgesetzt werden
96
Thomas Haehnel
97
Interrupt – Polling Interrupt Polling
A/D Wandler kann in 2 Verfahren betrieben werden Interrupt Ereignisorientiert Während der Wandlungszeit andere Operation Polling Abfrage (jb BSY, $)
98
wunderbar Beim Controller lassen sich einzelne Bits programmieren
Bei Prozessoren muß byteweise zugegriffen werden
99
ADINTEZ A/D Wandler mit Interrupt – zwei Sensoren Kanal 0 in R0
100
Vitalis Meier Dienstag 14 Uhr
101
Ziel Klarheit bei Projekten Organisation Inhalt
102
Organisation 2 Leute bearbeiten 1 Projekt 1 Projekt = 1 web
103
Inhalt Entscheidung Protokolle erstellen, auch bei kleinen Sitzungen
Hardware Beispiel Uhr mit I2C-Baustein Software Beispiel Uhr mit Timer 2 Protokolle erstellen, auch bei kleinen Sitzungen Es gibt keinen Vereinsamten
104
Gerd Kaiser 13.11.2006 Ziel: Absolutes Verstehen des Interrupts
Nützlicher Fehler Interrupt ganz einfach
105
Wichtig Interrupt mit reti abschließen Ein call mit ret abschließen
Erklärung: Rücksprungadresse
106
Einfacher Interrupt EIN_INT
Am externen Port 3.2 wird ein Interrupt ausgelöst. Es wird eine Lampe (Port 3.4) angemacht
107
Rücksprung-Adresse Die Rücksprung-Adresse wird im internen Datenspeicher ab der Adresse 08h abgelegt. Die Adresse wird durch den Stack-Pointer bestimmt.
108
2 Rücksprung-Adressen Programmunterbrechung tritt auf
Interrupt Service Routine
109
Aufgabe Was geschah??? Fügen Sie 4 nop‘s in Die Abfrageschleife
Je nach nop wird eine andere Rücksprungadresse gespeichert
110
ERP Einfaches Register-Programm Wo liegen die Register R1 und R2 ERP:
T1 0A5H in R1 T2 05AH in R2 D:0x00 interner Speicher anschauen
111
AD50_256 T1: Alle 50 ms werden zwei A/D-Werte gewandelt, gemittelt und in den externen Speicher ab Adresse 2000h geschrieben. In Summe werden 256 gemittelte Werte geschrieben. Alles mit Interrupts ;-)
112
Heiko Schmidt
113
Programm von Maxime Leclercq und Gerd Kaiser Funktion erfüllt
Nur noch Kosmetik zu machen Bemerkung: Aufgabe hat Prüfungsniveau
114
Benennung ISR ISR = Interrupt Service Routine
z.B. ISR_AD: Interrupt wurde vom A/D-Wandler ausgelöst Manche Interrupts setzen das Flag per Hardware zurück Manche per Software, z.B. TF2
115
Richtig testen Prog muss mit mehreren Werten nacheinander getestet werden Tipp: Stack-Pointer sollte am Ende des Programms auf 07h stehen
116
Aufgabe Testen Sie das Programm AD50_256_2
Aufgabe für Streber: programmieren Sie das Programm mit 100ms Abtastrate
117
PWM Pulsweiten-Modulation Modulation = Multiplikation
Aufgabe: SIEINAUS Signal 25ms ein – 25ms aus, P1.1 Programmierung von CCEN =E/A-Einheit (nicht im Buch )
118
Vorgehensweise Test im Simulator Test auf Euro 535
Test mit Oszi an Port 1.1 Port 1.1 ist Pin
119
Compare T2 mov CCEN, # b
120
Frédéric Ablitzer
121
Kleine Aufgabe Wie weit kommen Sie, wenn Sie mit 100km/h fahren und eine Zeit von 65ms zu Verfügung haben? 1,8m
122
Kleiner Tipp Keine Umlaute, keine Accents in Dateinamen Internet nur ASCII
123
Einfachere Aufgabe Aufgabe Rechteckgenerator AUREGE:
CC1 mit FE08 laden Das Reload Register mit FE00 laden Timer 2 im Reload Betrieb mit 1 µs zählen lassen
124
Slawa Knorr
125
Animation T2 Die Zahlenwerte wurden von der Animation T2 übernommen
126
Aufgabe-Pause AUREGE11 gleich AUREGE mit Puls_Pausenverhältnis 1:1 programmieren
127
Martin Schmid
128
Kunst der µ-C-Prog Einstellung der Hardware durch Software
Konfigurieren der Hardware Beispiel für Korrektur
129
10 Punkte für AUREGE FUNKTIONALITÄT WARTBARKEIT=DOKUMENTATION
3 PUNKTE FÜR PDL PRINZIPIELLER ABLAUF 5 PUNKTE – EINSTELLUNG DER REGISTER 2 PUNKTE FÜR RESTPROGRAMM
130
PDL Timer 2 initialisieren: T2-zählen T3-stop PWM an P1.1
P1.1 als Ausgabe CCEN Periodendauer CRC Einschaltzeitpunkt CC1 T2-zählen T3-stop
131
Portbelegungsplan Port/Pin Ein-/Ausgang Bemerkung P1.1/C13 Ausgang PWM
Eingang T2 P1.3 T3
132
4.12.2006 Daniel & Daniel Nicolas (Eagle) & Konstantin
Montag 14:00 Donnerstag 14:00
133
Pierre Deneffle
134
Timer 2 Nach Initialisierung wird der Prozessor minimal belastet. Kleiner als 1 %.
135
Prozessorlast Beispiel PC Task Manager Beispiel mittlere Temperatur
5 Befehle für ISR_2 14 Befehle Interrupt-Routine ca. 20 Befehle pro Messung Insgesamt 20 Messungen pro Sekunde
136
Prozessorlast2 20 x 20= 400 Befehle pro Sekunde
Abschätzung pro Sekunde Befehle -> 0,08 % Prozessauslastung Ab 30% Prozessorauslastung wird es kritisch
137
Prozessorlast3 Wird der Prozessor über 30% belastet --> anderen Prozessor wählen. Prozessorauslastberechnung an durchgeführten Programmen üben
138
Übergabe MC-PC Serielle Schnittstelle
SBUF Register der Serielle Schnittstelle Mov SBUF,A ;Sendebetrieb Mov A,SBUF ;Empfangsbetrieb
139
CPL CPL Complement
140
Serielle Schnittstelle
Beide Seiten müssen mit der gleichen Bitrate arbeiten.
141
Simeon Meier
142
Serielle Schnittstelle
TxD Transmit Data RxD Receive Data GND RS232C – V.24 – 12V Pegel RS422 differentielle serielle Schnittstelle
143
Serielle Schnittstellen
USB 2.0 (480 Mbit/s) 8 Mbit/s bsp. Fernsehbild (HDTV)
144
Standardeinstellung 9600 bits/s 8 Datenbits
Parität keine (Datensicherung) Im PSW (Programm Status Wort)
145
Parity (Paritaet) T1 Akkumulator wird mit A5H geladen
T2 Akkumulator wird mit 5BH geladen Mov A, #const8
146
Empfehlung Ports Port 4 und 5 sind frei Port 6 A/D-Wandlung
Port 3 alternative Funktion Port 0 und 2 16bit Adresse für externen Speicher Port 1 PWM-Timer2
147
Aufbau serielle Schnittstelle
Users Manual Seite 59 Blockschaltbild der seriellen Schnittstelle
148
Timer0 & Timer1 Sehr leicht, wenn man Timer2 verstanden hat
149
Hanno Schneider
150
Blinklicht Timer 0 mit Interrupts verwenden
TF0-Flag wird automatisch durch Hardware zurückgesetzt, sobald die Interrupt-Service-Routine ausgeführt wird TF2-Flag muss per Software zurückgesetzt werden.
151
Prozessorauslastung Wieviel Prozent der Prozessor-Zeit wird für Timer0 benötigt 0,1 Promille belastet Ändern sie die Blinkfrequenz: *2 /2
152
Temperaturmessung SMT-160 Timer2 läuft vor sich hin
Kein Reloadbetrieb I3FR = 1 steigende Flanke I3FR = 0 fallende Flanke Anschluß an Port 1.0
153
PWM Timer2
154
Duty Cycle Taktverhältnis bei der Pulsweiten Modulation
155
Aus
156
Bogdan Schlesinger
157
Lösung von Aufgaben Gibt es eine ähnliche Aufgabe?
Timer2-Einheit-P1.0 Eingang/Ausgang? Lösung: Eingang Hausaufgabe: SMT16032Ser
Ähnliche Präsentationen
© 2024 SlidePlayer.org Inc.
All rights reserved.