Präsentation herunterladen
Die Präsentation wird geladen. Bitte warten
1
Tafel Sommersemester 06 Timo Weber
2
13.03.2006 14 Leute kein Notebook Alle 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
3
Semester 15 MT3 MT4 2 FT
4
iPOD 2. stärkste Trieb: Spieltrieb Silicium = veredelter Wüstensand
Nur noch Elektronik, keine Mechanik Steuerung durch Mikroprozessor Beispiel: Radio Becker, Photographie
5
Philosophie „Der Umgang mit den neuen Medien (Computer) wird eine elementare Kulturtechnik wie rechnen, schreiben und lesen.“ (Zitat von Bundespräsident Herzog, 1999, Eröffnungsrede CeBit) Die Wissenschaft, sie ist und bleibt was einer ab vom Anderen schreibt.
6
Hacken Vorsicht: Alles ist nachvollziehbar! Datensicherungsgesetz
Hier können Sie alles machen. Sie sollten aber nicht alles machen. Keine Firewall, kein Schutz, körperliche Unversertheit ist garantiert VoIP = telefonieren über Internet Videokonferenz
7
IP Cmd-Box Ipconfig /all 192.168.XXX.XXX interne IP-Adresse Router
8
Durchführung Zunächst viel Vorlesung, dann Labor.
Dienstag Nachmittag Vorlesung für ca. 1,5 Monate Danach mehr Labor Tutorium Schade: Wenn Sie den Faden verlieren! Bitte fragen Sie! Nur mit Ihrer Hilfe, kann die Vorlesung in richtiger Geschwindigkeit ablaufen.
9
Warum? Schwarzer Text auf Weiß
Wir arbeiten mit dem Projektor additives Verfahren Bildschirm = subtraktives Verfahren
10
14.03.2006 Michel Hussong Spiel FZK
Dateiname: web und lokaler Name sollten gleich sei. In der Vorlesung bitte aktiv mitarbeiten. W-Lan funktioniert Internetzugang ohne Proxy.
11
Vorsicht! Kamera läuft.
12
Liste für die Bibliothek
Buch, Karte Volkscontroler Name, Vorname, .
13
Inbaded system Embedded (eingebettet)
Der Controller ist in das System integriert. Kein Bus System. Ende!
14
Guten Tag Christian Gieger
15
Herr Loes Gebäude P Zimmer 203 Telefon 1325 ( intern )
Adapterkabel usw. erhältlich USB auf RS 232 C – V.24 Lediglich 20 % der Kabel wurden zurückgegeben Eagle von CAD Soft, Version 4.1x oder höher ( Handbuch im download erhältlich )
16
Erklärung: Wohnzimmer Küche Toilette
17
Labor Meilensteine setzen
Am Ende der Labordokumentation steht eine Zusammenfassung
18
Voraussetzungen http: hypertext transfer protocol
19
Datensicherung Für die Datensicherung sind Sie selbst verantwortlich !
20
20.03.06 Sebastian Buccheri Hallo! Wiederholung der letzten 10 Folien
z.B. Bussystem nicht in die Ecke urinieren Warum Laufwerk C bzw. D C: -> Programme D: -> Daten Notebook aufrüsten Festplatte + Hauptspeicher
21
Der erste Befehl mov A,R1 ; schiebe den Inhalt von R1 ; in den Akkumulator Zuerst Ziel (A) dann Quelle (R1) R1 = Register1; A = Akkumulator Mnemotechnischer Code mov ; schiebe den Inhalt der ; Adresszelle, welche durch ; R1 adressiert wird in den ; Akkumulator
22
Stand der Technik Vermeidet Doppelentwicklungen
Es muss nicht alles neu erfunden werden -> eine ordentliche Recherche
23
Objektorientierte Hochsprachen
.NET
24
Nettiquette Anstandregeln für das Internet
25
Ebenenmodell Abgrenzung der Fachgebiete Überblick
26
21.3.2006 Tutorium Tutorium Daniel Wagner wada0012@hs-karlsruhe.de
+ Timo Marcard Mittwoch 11:30 – 13:00 Freitag 9:50 – 11:20
27
Präsentation Optische Lautstärkeregelung
5 Minuten Vortrag von jeder Person Bewertungsschema Labor 1/3 Präsentation 1/3 Durchführung 1/3 Dokumentation
28
Daniel Kohler
29
Sprache Zeitung lesen Do de fo Sprache
30
Universalität Der vernetzte PC kann: Jedes Gerät Jede Maschine
Und alle Medien Simulieren Und damit teilweise ersetzten Beispiel: Taschenrechnerumrechnung
31
Nachmittag (Frank Jury)
Beispiele: Radio, Fernsehen
32
Microcontrollerkarten
Immer an der Seite anfassen! Nur das mitgegebene Netzteil benutzen! Kein Signal größer als 5,25 V auf den Eingang geben! Wenn Unklarheiten: immer fragen Die Karte nicht einfach in der Tasche transportieren
33
Boolsches Gesetz, De Morgan`sche Regel
34
Benjamin Schickling Student: „Jeder sollte wissen, was er für die Vorlesung benötigt!“ Dozent: „Nein, jeder weiss es leider nicht.“ Vorlesung bitte vor- und nachbereiten Stoff ist sehr schwierig Administratorpasswort: bekommt nicht jeder
35
1,0 Pegel erzeugen + 5V R = 5 kΏ Ausgang GND
36
D-FlipFlop Funktionsweise erklärt CBT CLK -> steigende Flanke
-> Aktion 74LS74: 74 TTL Gatter und 74 FF
37
Tristate 3 Zustände statt nur 2 1,0 und hochohmig
Datenblatt von 74ACT374: 24 mA Ausgangsstrom Aufgabe: 0x5A=5Ah speichern im Register 5Ah = = 90
38
Tutorium Mittwoch 3. Block
Christian Eberle Stefan Peter
39
28.03.06 Tobias Zachmann Unterschied Register/Latch
Bei beiden lässt sich ein Byte speichern Der Speichervorgang erfolgt: Register: steigende Flanke Latch: fallende Flanke Eingangsdaten erscheinen am Ausgang Register: nur bei der steigenden Flanke Latch: sobald 1-Pegel (LE) anliegt Register=flankengesteuert Latch=pegelgesteuert
40
Abtasttheorem
41
Datenübernahme Setup time Hold time Muss berücksichtigt werden
42
28.03.2006, 14 Uhr Präsentation Mischanlage
2 Getränke, verschiedene Verhältnisse Zeitgesteuerte Anlage Glückliche Studierende Magnetventile Ansteuerung mit Verstärker Luftzufuhr Weiterentwicklungen Kühlung Mehrere Getränke Durchflussmenge
43
Mischanlage 2 Programm Struktogramm Quellcode
Entprellen von Tastern (20 ms) Zeit für MC-Labor pro Person: 64 h NUTZEN SIE DAS LABOR FÜR DIE PRÜFUNGSVORBEREITUNG
44
Datenübergabe Übung: Datenübergabe von System 1 nach System 2
Erklärung: Was ist ein Mikroprogramm Wunsch: Datenübergabe von System 1 nach System 2 in PowerPoint umsetzen Debuggen Bug = Käfer Geschichte von ENIAC Liegt der Fehler in der Software oder Hardware
45
Software - Hardware Liegt der Fehler in der Software oder Hardware
Voraussetzung für die Software ist die Hardware Es laufen keine Menschengedanken auf dem Affengehirn ab. Umgekehrt ist es möglich, sollte aber nicht sein Tipp: Schaltbild und Blockschaltbild ausdrucken Befehlssatz drucken
46
03.03.06 Sebastian Schiffmann Ostern
Installation der Keil-Software µVision 3 Wer lesen kann ist im Vorteil Bitte zwischen Benutzer und Administrator unterscheiden
47
Entwicklungsumgebungen
Hardwareentwicklung Emulator - ersetzt den Prozessor/Controller auf der Karte Schattenregister JTAG-Schnittstellle Softwareentwicklung Keil Simulator Keil Remote Debug System – Ablauf auf Originalsystem Epromsimulator
48
Tipp Lernen mit Keil CD-Rom alle Inhalte zum Debuggen sind multimedial aufbereitet Falls Rechner zu langsam CD auf Festplatte kopieren Tutorials
49
Evaluationsversion Restriktion: Beschränkung auf 2kByte Source Code
Falls größer Station in U22 verwenden
50
Assembler-Programmierung
Programmkopf wird erzeugt mit Microvision Patch Ein_Aus ; = Beginn von Kommentar
51
PDL – Program Design Language
Kommentare werden zuerst geschrieben WAS wird gemacht? Wichtig: Denken, Programmieren, Debuggen - in dieser Reihenfolge!
52
Eingang Schalter + 5V R = 5 kΏ Eingang Port 1.1 Zum Controller GND
53
Lampe leuchtet (Ausgang)
+ 5V R = 5 kΏ Ausgang GND
54
Konstantin Bernard Aufbau des Studiums 4. Sem.: MC + Lab
5. Sem.: Top‘s 6. Sem.: Praxis 7. Sem.: Informationstechnik 8. Sem.: Miniaturisierung
55
Ein_Aus = Sebast Arbeitsweise:
Pro Projekt ein Ordner mit ALLEN Dateien Kleine Aufgabe: Debug Ein – Ausschalten Bitte nur ein Projekt bearbeiten!!!
56
Polling - Interrupt Die Tastern werden permanent abgefragt
57
EVA - Prinzip Eingabe Capture Verarbeitung Compute Ausgabe Communicate
58
Kleine Übung Schalten Sie drei Leuchten P3.2 , P3.3 , P3.4 ein – aus.
59
Alexander Wollmann – Guten Tag
Programm: $ title(Alle) Nur dokumentierte Software ist existent Undokumentierte Software = Note 5.0 Zuerst Kommentare schreiben zu Beginn jede Zeile dokumentieren dann Programmierung in der jeweiligen Sprache zuerst was, dann wie 59
60
Debugger Breakpoint setzen, starten mit <F5>
61
Weitere Befehle: UND Logisches „UND“: anl A, #XXXXXXXXB Port 1 1 Akku
Akku Ergebnis
62
Weitere Befehle: ODER Logisches „ODER“: orl A, #XXXXXXXXB Port 1 1
Akku Ergebnis
63
VG-Leiste Was bedeutet diese Abkürzung?
Ein Kasten Bier für die richtige Antwort!
64
EPROM, RAM, V.24 27256 27: EPROM 256: Kbit = 32 KByte RAM 32 KByte
V.24 = RS232C T=transmit, TxD=transmit data RxD = receive data
65
Aufgabe Multiple-Choice Frage zu Kapitel 2 4 Antwortmöglichkeiten
Nur eine Antwort ist richtig / die beste Antwort Per Mail an Schönen Tag noch!
66
10.04.06 Martin Schmid Tafelanschrieb Was war in der Vorlesung?
Welche Programme wurden entwickelt? Finden Sie die Programme? Vorschlag: Machen sie sich Notizen zum Tafelanschrieb Was sie nicht verstanden haben, fragen sie in der Vorlesung.
67
Das Grauen hat einen Namen
Nach der neunten Vorlesung habe ich den roten Faden verloren 21 Vorlesungseinheiten umsonst hier gewesen
68
Unterschied der Programme:
$ title(Alle): Nacheinander Schalten der Bits an Port 3 – Befehl: clr P3.2… $ title(Gemein): gleichzeitiges Schalten der Bits an Port 3 – Befehl: mov P3, A oder mov P3,# b
69
$ title mit $ beginnt eine Anweisung an das Assemblerprogramm
Assembler bedeutet: A) das Programm zum Übersetzen des mnemotechnischen Codes B) der mnemotechnische Code - Assemblersprache
70
2. Serielle Schnittstelle
Programm von Herrn Beck RxD Receive Data TxD Transmit Data Hinweis: damit Timing nicht auseinander läuft => Interrupts sperren
71
Tea Master Julien Schwartz
Video sehr ansprechend Projekt wurde aufgeteilt auf mehrere Personen Schlechte Lösung aufgrund schlechter Absprache mit Herrn Walter und Herrn Loes Lebenslanges Lernen! Herr Schwartz erhält keine Note Projekte: notwendige Bedingungen
72
11.04.2006 Frank Jury Programm heute: Reflektion
Assemblerprogramm $ title (Ostern) Kapitel 3 beginnen und parallel dazu Kapitel 4 Kapitel 3: Hardware Kapitel 4: Software Enger Zusammenhang zwischen Hardware und Software
73
$ title (Ostern) Sobald Sie T1 betätigen, leuchtet L1
Sobald Sie T1 nicht betätigen, ist L1 aus Denken……………, programmieren, debuggen Debug Ostern Ports werden beim debuggen nicht unmittelbar aktualisiert Abhilfe:View Periodic Windows Update aktivieren Bereits bei kleinen Programmen gibt es unterschiedliche Lösungen
74
Watchfenster setzen View Watch and Call Stack Window
75
Der Controller-Doktor
Prüfgerät für die Euro_535-Karte Wo?
76
11.04.06 Martin Schmid Inbetriebnahme Was muss alles vorhanden sein?
PC(mit WindowsXPprof.)+Euro_535 Firma DIGITUS Treiber laden/installieren Einstellung COM-Port
77
COM-Einstellung
78
Erfolg Wenn sie richtig vorgehen, funktionierts auf Anhieb
Test von Programm $ title (Ostern) erfolgreich
79
Erstellen der Internetseite: Projekt
Vorbemerkungen: Vorlage Dient zur Erleichterung Konzentrieren sie sich auf die Inhalte Bitte: Üben sie Webdesign an ihrer eigenen Seite
80
Dominik Bocskai Tutorium - ab Mittwoch 11:30 Daniel -
81
Kleines Programm $ tidle BEFEHL2
Wie wird das Programm abgearbeitet – ausgeführt Auf unterster Ebene – sehr hardwarenahe Schreiben Sie ein Programm „BEFEHL2“ welches den Befehl: mov A,#89 ausführt, sobald T1 betätigt wird. Sobald T2 betätigt wird: der Akkumulator wird mit 128 geladen.
82
Tipp Ähnlichkeit mit LED-Programm EIN_AUS Zeit: max. 10 min. Üben
Verfahren: Polling Gegensatz: Interruptverfahren (Ereignisgesteuert)
83
Listing file: *.lst Im Listingfile ist die Adresse = LOCation als Hexadezimalzahl zu interpretieren. Alle Zahlen von Speicher und Register im Mikrocontroller sind Hexadezimalzahlen. Rückübersetzen: Disassembler Microvision: Debug VIEW Memory Aus den Hexadezimalzahlen werden die Assemblerbefehle erkannt.
84
Was heißt Oberfläche beim Mikrocontroller?
LED-Anzeigen LCD-Anzeige Tastatur EVA Prinzip
85
Entwicklungsschritte
Zuerst muss ich wissen WAS ich will. Oberfläche wird festgelegt. Schnittstelle zum Menschen.
86
Controllerentwicklung
Hardware und Softwarearchitektur müssen zusammenspielen.
87
25.04.2006 Simon Haaf Zusammenfassung
Abstimmung: alle wollen eine Zusammenfassung
88
Programm: Title(Haaf)
T1 Interner Speicherbereich wird von 30h bis 7Fh mit AAh beschrieben T2 Interner Speicherbereich wird von 30h bis 7Fh mit DDh beschrieben 1. Möglichkeit: fleiß Jede Adresse wird einzeln beschrieben: mov 30h, #AAh mov 31h, #AAh … Kleine Übung: Title(Haaf_1) T1 Adresszelle 30h und 31h mit AAh T2 Adresszelle 30h und 31h mit DDh
89
Programm Title(Haaf_2)
2. Möglichkeit: 50h Adresszellen beschreiben Vorschlag: Schleife Zählregister R2 Adressregister R0 Befehle: ;Schreibe A an Speicherzelle welche in R0 steht Djnz R2,SCHLEIFE ;Dekrementiere R2 und springe nach Schleife wenn R2 nicht 0
90
Tipp Haben sie Haaf_2 verstanden Indirekte Adressierung verstanden
91
25.04.2006 Martin Welsch Indirekte Adressierung
Interner Datenspeicher D:0x30h Externer Datenspeicher X:0x2000h bis 0x20FFh mit T 1 0A5h und mit T2 05Ah Programm MW schreiben Mov DPTR,#2000h ;Datenpointer
92
Programm HAAF_4 Gleich HAAF_3 aber 4096 Werte Erkenntnisse:
Interner Speicher: Adressbereich max. 256 Byte (8 Bit Breite) mit indirekter Adressierung Externer Speicher: Adressbereich max. 65536 Byte (16 Bit –Datenpointer mit indirekter Adressierung Ist der Adressbereich größer als FFh dann werden 2 8 Bit Register benötigt
93
Weitere Erkenntnisse Zählregister R2 mit 0 laden, dann dekrementieren (minus 1) FFh Vorsicht innere und äußere Schleife nicht verwechseln ! Programmname und Programmordner nicht verwechseln R1 und R0 können für indirekte Adressierung vom internen Datenspeicher verwendet werden Empfehlung R2 und R3 als Zählregister verwenden
94
Weitere Erkenntnisse 2 Erst denken dann programmieren dann debugen
2. Denken und Programmieren 3. Denken und Debugen
95
Erzeugt Wohlwollen beim Dozenten
Verwendung der Euro_535 Karte Umschaltung von Simulator auf Remote Debug System Verwendung von Breakpoints- Remote Debug System DJNZ zuerst wird dekrementiert und dann erfolgt die Abfrage Assembler erzeugt effektiven Code
96
Debug Hilfsmittel Leuchtdioden auf der Karte verwenden oder Logikstift
97
2. Mai 2006 Burghard Bolle Wiederholung / Zusammenfassung Ziel jetzt:
Randbedingungen zum Programmieren erfassen Anweisungen an den Assembler Speicherbereiche (wichtig!!)
98
Entwicklungsumgebung
Folien Kapitel 4 Abläufe beim Programmieren für bestimmte Zielumgebungen (Eprom, Simulator, Remote Debug System, Emulator) Emulator: gesonderte Hardware - Prozessor wird mit Schattenregistern nachgebaut (sehr aufwendig und teuer) JTAG-Schnittstelle zum debuggen (seriell)
99
Eprom brennen Arbeitsplatz im HIT mit Eprom-Brenner GALEP Brenner
Löschgerät Eproms Anleitung unter:
100
Alle wach ?? Speicherbereiche wie Großhirn, Kleinhirn, Rückenmark
Speicherbereiche wie externer Datenspeicher, externer Programmspeicher, interner Datenspeicher, Register 0-7, SFRs (Akkumulator) Externer Datenspeicher(0000h-FFFFh) Externer Programmspeicher(0000h-FFFFh) Interner Datenspeicher(00h-FFh) Interner Datenspeicher 8051(00h-7Fh) 80h-FFh Special-Function-Registers
101
Special-Function-Registers
Akkumulator Ports (P1,P4,P5) Kleine Übung: Im Simulator Ein/Aus-Programm ausführen und P1.1 auf 0 setzen Im internen Datenspeicher die Adresse 90h beobachten Wenn P1.1 auf 0 gesetzt wird, geht der Wert von Speicherzelle 90h von FFh auf FDh also b
102
Eigenschaften SFRs Liegen im internen Datenspeicher 80h-FFh
Nur direkt adressierbar Anzeige interner Datenspeicher (debug->view->memory->d:0x90 P1 hat Adresse 90h P3 hat Adresse B0h Siehe Reg80535.pdf
103
08.05.2006 - Tim Stern Ein Watch-Fenster setzen auf Port1
Hinweis: Watch-Fenster finden Sie im Debugger Mit Hilfe eines Watch-Fensters lässt sich der Inhalt eines SFRs darstellen. (Debugger, View->Watch and Call Stack Window)
104
Kleine Übung „Intso.a51“ Mit Taste T1 schreiben Sie #A5h in den Datenspeicher 128(=80h) und mit Taste T2 #5Ah. Zurücklehnen D:0x80 = direkt adressierbarer Speicher I: 0x80 = indirekt adr. Speicher Hardwaremäßig andere Adresszelle Speicherbereich 0x00 bis 0x7F gleiche Speicherzelle (=> Hardware identisch)
105
Adressierung 8051 Programmspeicheradresse lässt sich nur indirekt beeinflussen Können Sie das Programm Intso.a51 nicht schreiben, werden Sie sich bei den folgenden Vorlesungen schwer tun! Tipp: Mit Hardware üben/arbeiten Bsp.: Chirurgie -> Verwechseln von Groß- & Kleinhirn
106
Task (für PC und 8051) Task=Aufgabe
Multitask-System ist ein System, das mehrere Aufgaben (/Programme) quasi gleichzeitig bearbeiten kann Pro Task wird eine Registerbank verwendet Bsp.: EVA-Prinzip, eine Registerbank für ‚E‘, eine für ‚A‘ und eine für ‚V‘ Taskswitch (sehr schnell) Ein Multiprozessor-System kann mehrere Aufgaben gleichzeitig bearbeiten (eine Aufgabe je Prozessor); z.B. Dual Core
107
Kernel-Zeiten beim PC Im Taskmanager wird die Zeit, welche das Betriebssystem benötigt angezeigt.
108
Kleine Hausaufgabe Inthau.a51
An P3.2 wird ein Interrupt ausgelöst und damit an P3.4 die Lampe eingeschaltet
109
Matthias Löhlein, 09.05.06 Was passiert im Falle eines Interrupts?
Voraussetzungen: Allgemeine Interrupt Freigabe Spezielle Interrupt Freigabe Wird Interrupt ausgelöst Rücksprungadresse wird im internen Datenspeicher abgelegt Interrupt Vektor Interrupt Service Routine (ISR) wird abgearbeitet Rücksprung aus ISR Rücksprung aus Interrupt
110
Kleine Aufgabe:Intloe1
Schreiben Sie das Programm Intloe für den Externen Interrupt1
111
Kleine Aufgabe Intloe2 Schreiben Sie das Programm mit beiden Interrupts Lösen Sie einen Interrupt 1 aus, während sich das Programm in der ISR_EX0 befindet Kann der Interrupt mit der gleichen Priorität einen anderen Interrupt unterbrechen? Lösung: Interrupts gleicher Priorität können sich nicht unterbrechen
112
Projekte http://193.196.117.23/projekte/SS06-IHRPROJEKTNAME
Benutzer: Student Passwort: ******
113
Burghard Bolle, 15.05.06 Abläufe beim Interrupt:
Interrupt-Vektor wird angesprungen Call…. ISR wird abgearbeitet Ret Reti Wichtig: Subroutine wird mit ret abgeschlossen, Interrupt wird mit reti abgeschlossen Interrupts mit gleicher Priorität können sich nicht unterbrechen
114
Interrupt-Organisation
Stack-Pointer = Zeiger auf Rücksprungadresse (07h bei reset) Kleine Aufgabe: Rufen sie INTLoe im Debugger auf und kontrollieren sie die Adresse des SP Bedingungen für Interrupt: Allgemeine Interrupt-Freigabe (EAL) Spezielle Interrupt-Freigabe z.B. EX0,EX1
115
Interrupt-Fehler Rücksprungadresse wird überschrieben
Zu viele Interrupts Stack-Pointer wird verändert Sp_max sollte maximal 7Fh werden(8051) Prinzipieller Ablauf beim Interrupt sollte jetzt verstanden werden..
116
Speicher-Aufteilung Beispiel „Vier Gewinnt“
Bei größeren Programmen unbedingt Speicher-Aufteilung organisieren. Beispiel: „Vier Gewinnt“ mit 2 menschlichen Spielern 42 Steine, 2 Farben (21 pro Farbe) 42 Bits für die Farbe, 42 Bits für die Steine Byteweise Organisation nicht 6x7, sondern 6x8 Stand der Technik – Gibt es das schon ? Tip: zuerst mal in Hochsprache programmieren (C#)
117
Faulheit siegt Sie dürfen ALLE Hilfsmittel nutzen, um die Aufgabe zu lösen Anforderungen für gute Note: Es soll funktionieren 1/3 Präsentation 1/3 Gesamtes Vorgehen 1/3 (vernünftiges Maß finden…)
118
Studentenglück: .net Entwicklungsumgebung
Fachbereich hat Entwicklungsumgebung für alle Studierende eingekauft. Bei Frau Loykowski Nutzungsbedingungen unterschreiben, dann kostenlos herunterladen und nutzen (nur nicht-kommerziell)
119
Unterschiede uC, uP Bei uP kann nicht bitweise gearbeitet werden
Beim 8051 im internen Datenspeicher von 20h bis 2Fh (z.B. setb 20h.0)
120
VG-Leiste Kommt laut Radio-Fernsehtechniker von VerbindunG…
121
Matthias Löhlein, Auf Interrupts werden ganze Betriebssysteme aufgebaut
122
Programmverfahren Prinzipielle Überlegung:
Interrupt (Ereignisgesteuert) Polling (andauernde Abfrage)
123
Anforderungen zur Entwicklung
Zuerst Bedienungsanleitung schreiben Was gehört dazu? Was macht das Programm? Programmoberfläche? Welche Softwarefunktion? Wo gibt es Updates?
124
Anforderungen zur Entwicklung 2
Hardware Diagnosepunkte setzen (LED) Ground setzen (Stift +5V) Stromversorgung (Leistungs- und Steuerungsteil Function hits Form Funktion des Gerätes steht im Vordergrund
125
Programmierung T1Setzen Sie Byteadresse 24h das siebte Bit
T2Das Bit zurücksetzen Kontrollieren Sie das Ergebnis mit dem Debugger Bitte Bitweise adressieren Hinweis Wenn jetzt noch nicht kapiert, dann üben
126
Matthias Löhlein, 22.05.06 Puls-Weiten-Modulation (PWM)
Anschliessen des Motors Rot=VCC = A4+C4 Schwarz=GND =Braun? A21+C21 Gelb=Steuerleitung (PWM)=Orange? Port1.1 C13
127
Programm ServoLR T2Pulsweite kleiner T3Pulsweite größer
128
Timer2 Besprechung des Blockschaltbildes Das ist ein Blockschaltbild
Leitungen werden zusammengefasst (Bus) Ermöglicht ein Überblick Kein Schaltplan
129
Timer2 Abkürzungen CCR C = Compare = Vergleichen
C = Capture = Übernehmen/ Erfassen R = Reload = Wiederladen/ Überschreiben
130
Inhalt von CC1 72 Grad CCL1=0xD0 CCH1=0xF9 120 Grad CCL1=0x70
CCH1=0xFB 150 Grad CCH1=0xFC 180 Grad CCL1=0x80 CCH1=0xFD
131
Zusammenfassung Periodendauer Reload register 16 Bit
Flanke von Low nach High CC1 Flanke von High nach Low Überlauf T2CON programmiert Funktionweise Timer2
132
Mat Jizat, Jessnor Arif 23.05.06 Klausur Tipp
Keil CD mit Datenbuch zu 80535
133
Timer 2 Architektur Timer 2 P1.5/T2EX Fosc/12(24)
Gegattertes Fosc/12(24) Fallende Flanke an P1.7/T2 Timer 2 16 Bit Timer 2 Interrupt Interrupts 16 Bit Komparator 16 Bit Komparator 16 Bit Komparator 16 Bit Komparator P1.0/CC0 E/A- P1.1/CC1 Steuerung P1.2/CC2 8 P1.3/CC3 CCH3 CCL3 CCH2 CCL2 CCH1 CCL1 CRCH CRCL Interner Bus 8 Bit
134
Zähler-Timer Unterschiede
Zählfunktion (Schrauben) keine gleichen Periodendauer Zeitgeber (Uhr) konstante Periodendauer
135
Große Havarie Mac-Adresse = Physikalische Adresse
136
Alexander Stadler Ziel: Helligkeitssteuerung der LED an Port 3.2 (HELED.a51) Variation der Helligkeit von 0% bis 100% mit Port 1.2 und 1.3 Taste 2 -> LED heller Taste 3 -> LED dunkler 1. Möglichkeit: Periodendauer 50Hz 2. Möglichkeit: 16Bit-Timer komplett nutzen (f~15Hz)
137
Modularisierung PDL - HELED.a51
;Initialisierung Timer2 16Bit (im Control-Register von Timer2) Compare-Register aktivieren Reload-Register mit 0 laden (nicht notwendig) ;Abfrage der Taster ;Datenpointer erhöhen – erniedrigen ;kopieren Datenpointer -> CC1 ;Port 1.1 auf Port 3.2 kopieren Empfehlung: jedes Modul für sich testen
138
Kleine Übung vorab (increg.a51)
Inkrementieren Sie Register R0 ab mal mit dem Debugger. Was passiert bei 255? Erkenntnis: Register R0 zählt wieder ab Wert 0. Ja. Register R0 ist ein 8-Bit Register
139
16-Bit Register? Gibt es ein 16-Bit Register welches inkrementiert werden kann? Ja. Der Datenpointer Lösung: Kopie des 16-Bit Datenpointer in CC1. Port 1.1 wird kopiert auf Port 3.2
140
30.05.06 Alexander Stadler Tipps zur Prüfung: Inhalte: Timer2 – PWM
Prüfung ist mit den Programmen aus der Vorlesung zu bestehen.
141
Programm – Port kopieren (poko.a51)
Aufgabe: Es soll P1.1 auf P3.2 kopiert werden. Instruktionen für Bitmanipulationen: Alle Befehle besprochen
142
DPTRdec – Datenpointer Dekrementieren
Dec DPTR existiert nicht, muss per Software nachgebildet werden. Befehl subb a,#const8 Vorsicht auch das Carry-Bit wird subtrahiert.
143
Jochen Zimmermann 12.06.06 Fertigstellung der PWM
Initialisierung von Timer2
144
HELED2.A51 HELED2.A51 Timer 2 Reloadregister wird mit 00 geladen, Periodendauer wird festgelegt CompareRegister wird variiert CCEN Comparemodus CCH1 = 127 Heller CCH1 erniedrigen bei Interrupt T2 DunklerCCH1 erhöhen bei Interrupt T2 Port kopieren
145
Burghard Bolle Häufiger Fehler: Sprung aus Interrupt-Service-Routine, dadurch Stackpointer auf falsche Rücksprungadresse. Stack-Overflow = Überlauf des Stackpointers (Adressbereich wird überschritten)
146
Fan Out ? Anzahl der anschließbaren Gatter/Eingänge am Ausgang eines Bauteils (pro Pin) Dumm: 1 Portausgang hat Fan Out 4 LS-TTL Lasten (=2mA)
147
Treiber Tipp: Treiber (engl. driver, open collector)
Datenblätter Texas Instruments application notes
148
Thomas Bohn 20.06.2006 Wichtig Fan Out
Versorgungsspannung kontrollieren Masse 5V Voltmeter zwischen 4,9V und 5,1V Oszilloskop AC-Messung
149
Hardware- Tipps Servomotor immer mit Treiber anschließen
Blockkondensator Zerstört Störspannungsspitzen Sitzt man IC an Versorgungsspannung
150
Hardware- Tipps 2 Glättungskondensator Pin für Masse
Vermindert Restwelligkeit (Spannungseinbrüche) Pin für Masse Krimpwerkzeuge verwenden
151
Hardware- Tipps 3 Masse nur an einem Punkt AGND und DNGD
152
Software- Tipps Nur dokumentierte Software ist existent
Zuerst Denken: WAS WILL ICH MACHEN? WIE MACHE ICH ES?
153
Software Tipps 2 Zuerst Kommentare (zuerst das Handbuch und Bedienungsanleitung)
154
Gute Programme Writing Solid Code (gute Programme schreiben)
Verständlich Variablenname mit Bedeutung ausschreiben (32 Buchstaben) Sprungmarken mit Bedeutung Sauber modularisieren
155
Gute Programme 2 Jump-Befehle in C vermeiden GoTo in Basic FURCHTBAR
Spaghetti-Code Bibliotheken verwenden
156
Gute Programme 3 Prozessorauslastung
Lieber Interrupts statt Polling, aber Interrupts controllieren Belastung >30% neuen besseren Prozessor wählen Mehrfachprozessoren: Auslastung überlegen
157
Prozessorwahl Einarbeitungszeit Entwicklungsumgebung vorhanden
Welche Hochsprachen gibt es dafür Ansprechpartner Taktfrequenz Peripherie
158
Prozessorauswahl 2 Seite 214 Buch
Unterscheiden zwischen den verschiedenen Prozessoren RISC Reduced instruction set computer
159
Prozessorauswahl 3 CISC 8 Datenpointer? Welcher Prozessor/Controller?
Complex instruction set computer Unser Controller mul A, B 8 Datenpointer? Welcher Prozessor/Controller? Sab 80C537
160
Prozessorauswahl 4 Wann darf Prozessor teuer sein?
Bei Einzelstücken und Ausfallsicherheit
161
Das Moor‘sche Gesetz Alle 1,5 Jahre verdoppelt sich die Anzahl der Prozessoren. Aufgabe Die wieviel fache Rechenleistung habe ich nach 24 Jahren? 65536 fache Rechenleistung!
162
Tipp des Dozenten Gehen Sie in das einzige Museum mit Weltruf in Karlsruhe das ZKM Es gab keine Weiteren Fragen zur Prozessorauslastung
163
Prozessorauslastung 80535 kann durchschnittlich Befehle pro Sekunde durchführen. Beispiel Effektivwertberechung benötigt Befehle pro Sekunde.
164
Manuel Sittkus CD Erstellung mit allen wichtigen Daten für Prüfung Datenblatt (80C535) Alle Programme (In Vorlesung behandelt) -> /8051 Tafelanschrieb(SS06)
165
Worterläuterung Was heißt Datei? Daten und Kartei
166
PWM Timer2
167
Duty Cycle Taktverhältnis bei der Pulsweiten Modulation
168
Aus
169
Interrupt U/V CC1 CC0 t/µs
170
Keine Fragen mehr
171
Hinweis zu CC0 (P1.0) Register ist für Reloadfunktion reserviert
172
Sie leben gefährlich RZ-Benutzerbedingungen
173
Serielle Schnittstelle
V24-Schnittstelle(Postler: 24Leitungen) RS232C =RS232 Pegel MAX232 ca. ±12V (3V-15V) Beschaltung beachten
174
Signale RS232C RxD = receive Data TxD = transmit Data GND
Bidirektionale Schnittstelle Gleichzeitiges Senden und Empfangen Full Duplex SBUF Lesen und Schreiben
175
USART Universal, Synchron, Asynchron, Receiver, Transmitter
kbps Kilo Bits Pro Sekunden 9600 entspricht ca Zeichen
176
Sven Marlow 27.06.2006 Präsentation mc:
Donnerstag, ab 8.00 Uhr Jeder 5 min Vortrag + 5 min Präsentation! Anwesenheitspflicht! Einladung zur Präsentation Informationstechnik ab 8.00 Uhr
177
Serielle Schnittstelle
2 Serielle Schnittstellen kommunizieren miteinander. Auf beiden Seiten sollten gleiche Bausteine sein PC: USART mit Fifo Controller: USART 8251
178
DMX - Schnittstelle Lichtsteuerung 250 kbps
179
DDE DDE = Dynamic Data Exchange
Allgemeines Verfahren zum Datenaustausch in Windows
180
Serielle Schnittstelle 2
Wozu MAX 232? Antwort: zur Pegelumsetzung Tipp: SER_Zeichen – spielen ;-)
181
Ende
Ähnliche Präsentationen
© 2024 SlidePlayer.org Inc.
All rights reserved.