Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Prof. J. Walter waju0001@web.de Tafel Wintersemester 06 Prof. J. Walter waju0001@web.de.

Ähnliche Präsentationen


Präsentation zum Thema: "Prof. J. Walter waju0001@web.de Tafel Wintersemester 06 Prof. J. Walter waju0001@web.de."—  Präsentation transkript:

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.
T1ein 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

158


Herunterladen ppt "Prof. J. Walter waju0001@web.de Tafel Wintersemester 06 Prof. J. Walter waju0001@web.de."

Ähnliche Präsentationen


Google-Anzeigen