Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Tafelanschrieb Mikrocomputertechnik WS04

Ähnliche Präsentationen


Präsentation zum Thema: "Tafelanschrieb Mikrocomputertechnik WS04"—  Präsentation transkript:

1 Tafelanschrieb Mikrocomputertechnik WS04
Jürgen Walter

2 Assembler übersetzt den mnemotechnischen Code in Hexademzimalzahlen
Linker – bindet einzelne Programmteile zusammen Locator – legt die absoluten Adressen für den Code fest

3 Adressspiegelung 15. te Bit unterscheidet zwischen unterem und oberen Adressbereich im EPROM steht der Befehl ljmp 80AE Adresse Nach dem Einschalten des Controllers wird das Programm in Programmspeicheradresse 0000h ausgeführt -> ljmp 80AE A15 = 1 bewirkt eine Umschaltung des D-Flip-Flops -> A15 wird gespiegelt -> Zugriff wieder auf das EPROM

4 Adressspiegelung Vertauschen von EPROM-Speicher und RAM-Speicher
Verknüpfung von /PSEN und /RD Warum muss A15 gespiegelt werden? Nach dem Einschalten des Controllers wird der Befehl in Adresszelle 0000h ausgeführt -> Programm darf nicht größer als 32KByte werden

5 Tipps Sobald ein Programm größer als 1KByte in Assembler wird -> C
Wenn das Programm größer als 100KByte ->C++ Objektorientiert noch besser ->C# C Sharp Warum diese Empfehlung? 40% - 60% effektiver

6 Was erwartet Sie in MC Der Dozent F11 Ich bringe mein Notebook mit
Binär Code – Rechner – wissenschaftlich Wie bewerbe ich mich? Was ist eine Draisine Wo finde ich Infos zur mc Wie bestehe ich die Prüfung? Klavier spielen Computer spielen – programmieren - ASM

7 Internet 193.196.117.22 – www.hit.fh-karlsruhe.de
ohne Firewall – für Ihren Rechner sind Sie verantwortlich

8 MC Vorlesung + Labor Zu Beginn: intensiv Vorlesung
Multitasking – mehrere Programme /

9 Marko Veselcic + Uwe Zundel + FT
Tutorium Mittwoch 11:30 – 13:00 FH Karlsruhe, Gebäude LI, Raum U22,

10 Details Netzwerk RJ 45 einstecken
Probleme die länger als 15 Min. dauern…aufhören-> NachbarIn fragen xxx.xxx wird nicht nach außen weitergeleitet. – Adresse WaveLan cmd-Box ipconfig ipconfig /all ping

11 Wichtige Internetadressen

12 Controller Leihe Din-A4 – eintragen in Nachricht an Bibliothek

13 Arbeiten Sie mit dem Rechner!

14 Mein erster Befehl in 8051-Assembler
Maschinensprache Programm zum Übersetzen mov A,R1 ;Inhalt von R1 in A mov R1,A ;Inhalt von A in R1 nop ;No Operation

15 Wie komme ich ins Netzwerk HIT
interne Adressen fest installierten Rechnern ? Adressen werden über RZ zugewiesen – DHCP proxy.fh-karlsruhe.de Port: 8888 WaveLan Adresse: xxx.xxx proxy ausschalten

16 Zusammenfassung Befehle auf DOS-Ebene EURO_535-Karte Software – Keil –
mov A,R1 ; Schiebe Inhalt von R1 in A mov R1,A end Ebenenmodell

17 Arbeiten am PC Zum Konfigurieren – Administrator
Normales Arbeiten - Hauptbenutzer

18 Eierlegende Wollmilchsau
Der vernetzte PC kann alle Geräte Maschinen Medien simulieren – nachahmen und damit teilweise ersetzen

19 Denken? Herr Kraft hat Haare mit der Dicke von 45µm.
Wie oft muss er sein Haar spalten damit er die Strukturbreite von modernen Prozessoren mit 90nm erhält? Alle 1,5 Jahre verdoppelt sich die Anzahl der Transistoren und damit die Rechenleistung Moor‘sche Gesetz

20 Neuer Befehl mov A,#0A5 ;Lade den Akku mit 165 AH, Ah, 0xA 1010

21 Zusammenfassung 11.10.2004 Umsetzer: Seriell USB V24 – USB
RS232C – USB Lösung für ca. 30 Notebooks Begriffsbestimmung: µC, µController, PC Schaltwerk – Rechenwerk Peripherie Pegelunterschiede CMOS – TTL Umgang mit EURO_535-Karte – Wie fasse ich die „Karte“ an?

22 Zusammenfassung 2 Belwue.de – BadenWürttemberg Forschungsnetz
WaveLan – Wireless LAN Datenübertragung – Geschwindigkeit kbps – kB/s

23 Digitaltechnik - CBT Nur die notwendigsten Funktionen
Computer Based Training

24 Arbeiten am PC Prinzip: Festplatte C: für Programme Festplatte D: für Daten Hausaufgabe: CBT Neu packen! Als ZIP Verwenden Sie nur Entwicklungs-Programme von Firmen die sehr wahrscheinlich wirtschaftlich überleben!

25 Betreuung: Herr Wolfgang Loes – Gebäude P – Raum 203 Tel. 1325

26 Zusammenfassung 12.10.2004 Logische Verknüpfungen
UND, ODER, NOR, NAND, Exclusiv-Oder = Antivalenz, Äquivalenz /R – LOW-Aktives Signal Wahrheitstabelle, Signal-Zeit-Diagramm, Funktionsgleichung, Blockschaltbild CBT-2 D-Flip-Flop Initialisierung mit /S /R Speicherung erfolgt mit steigender Flanke

27 CBT - 2 Register mit steigender Flanke erfolgt der Speichervorgang
Latch mit fallender Flanke erfolgt der Speichervorgang Sobald LE auf HIGH liegt wird der Eingang auf den Ausgang durchgeschaltet

28 Zusammenfassung Dienstag 12.10.04
Keine Vorlesung aufgrund Baulärm! Vorlesung wird nachgeholt! Schreibmaschinenkurs wird empfohlen!

29 Simulator Ziel: Mein erstes Programm mit 8051-Assembler
$ - Anweisungen an den Assembler ; Kommentar jnb P1.1,EIN ;Springe bei P1.1=„0“ ;nach EIN jmp LABEL ;Springe nach LABEL clr P3.2 ;Setze Port P3.2=“0“ setb P3.2 ; Setze Port P3.2=“1“

30 Weitere Befehle end ORG 100H ;Setze den PC Program ;Counter auf 100H

31 Programmentwicklung PDL
Program Design Language WAS wird entwickelt? zuerst die Kommentare, dann die Befehlsumsetzung Sprachunabhängig – Umsetzung in Assembler oder C C++ ist bei 8051-Controllern noch nicht umsetzbar

32 Programmentwicklung Keil µVision Installation
Patch installiert – Erweiterung: Wie entwickeln Sie einfach Programme für EURO_535 = Volkscontroller Embedded System = Eingebettet = der Controller ist in das System integriert Patch stellt die Verbindung zur Hardware her *.pdf – Controller hat mehrere Register 80535 – Controller hat A/D-Wandler Man muss der Software die Hardware bekannt machen!

33 Debug Mode Entwanzen Viele Fehler welche in der Software vermutet werden, sind in der Hardware (Controllern) F5 – RUN F11 – Einzelschritt

34 Immer wenn Sie am PC nicht…
weiterkommen RECHTE MAUSTASTE – kontextsensitives Menü

35 Breakpoint setzen Im Programm „RENAUD“ wird ein Breakpoint gesetzt.

36 Zusammenarbeit Ordnerstruktur übernehmen C:/8051/ASM
Assembler – Programme In Ordner ASM alle Projekte Namensbezeichnung übernehmen

37 Empfehlung Programm im Simulator entwickeln
Programm auf Hardware testen – Hardware-Debugger – Remote Debug System

38 Was wurde bei der Entwicklung….
alles erzeugt REAUD.LST – Listing Datei LOC Location – Ort vom Programmcode PC Programmspeicherplatz OBJ Object Code

39 Was haben wir heute gemacht?
Wo und wie wird das Programm abgespeichert? Komponenten Breakpoint setzen Zusammenhänge der Entwicklungsumgebung

40 Evaluation Jede Kritik zur Verbesserung der Vorlesung und des Labors ist willkommen.

41 Statistik WLAN - Notebooks
66 Studierende 8 kein Notebook 18 WLAN 40 per LAN

42 WaveLan 802.11b/g – 2,4 GHz 11Mbit/s 54MBit/s
802.11a 5,4 GHz 54Mbit/s bis 108Mbit/s

43 Projekte - Dokumentation
Projekte aus dem letzten Semester SS04 Im Musterweb Mindmap WS04-Projektname

44 Frontpage-Seitenerstellungsprogramm
Integration in Betriebssystem gegeben Datenbankanbindung sehr gut realisiert Layout verbesserungswürdig

45 Musterweb: Entwurf und Gestaltung + MC Download bei Prof. Dr. Weber
Entpacken auf lokale Platte

46 Vorsicht ….wird teuer Veröffentlichen Benutzer mic-ss04 PSW: Regatta1 Vorsicht: Startseite beachten Startseite, je nach Server unterschiedlich

47 Wo wird veröffentlicht?
Warum: wird nicht gelöscht wenn der Student die FH verläßt. Walter sichert am Ende des Semesters

48 Guten Morgen! Keil Simulator
Seitenerstellung / Dokumentation im Internet / Intranet für Methodisches Vorgehen

49 Test des Befehls: mov A,R1
mov R1,#0A5h Test!

50 Wichtig! Pegelerzeugung

51 /OE Output Enable -> bei 1-Pegel wird freigeschaltet / Verneinung

52 Übung Datenübergabe Nach dieser Übung wissen Sie:
Was macht der Befehlinterpreter Was macht das Steuerwerk

53 Guten Morgen Auswahl von Registern
Verbindung von Registern mit Bussen - Datenbus Decoder – Adressen – Adressbus 15 Adressleitungen -> 32768

54 Guten Tag Blockschaltbild EURO_535

55 Zugang zum Internet DNS Domain Name Service
proxy.fh-karlsruhe.de port 8888 Für lokale Adressen Proxy umgehen *.fh-karlsruhe.de

56 Kondensatoren 100nF - Blockkondensatoren – schlechte Kondensatoren tan alpha (nicht Energie speichern – sondern Spannungsspitzen zerstören) 10µF - Glättungskondensator

57 Herzlich willkommen Besprechungstermine Dienstag/Mittwoch Labor vereinbart teilweise Schwierigkeiten da Sprachunterricht nachmittags - Dozent verlegt auf die Abendstunden Blockschaltbild Euro_535 und Schaltbild Euro_535 Internetführerschein Multiple-Choice Fragen Evaluation Pegelerzeugung

58 Portfunktionen EIN-AUSGANG
ca. 50kOhm 80535 P1.1 Mäuseklavier

59 Der rote Faden! Zwiebelmodell: von außen nach Innen vordringen / schälen Zunächst wird das Kernsystem betrachtet Alle 8051-Befehle werden ausgeführt! Bei neuen / erweiterten Controllern der 8051-Familie kommen nur neue Register hinzu. Vergleich REG51 mit REG535 Alle Register von REG51 sind im REG535 enthalten

60 Drei wesentliche Signale
/WR Schreiben auf Datenspeicher /RD Lesen vom Datenspeicher /PSEN Lesen vom Programmspeicher Alle Bezeichnungsweisen aus Sicht des Prozessors! DIL Dual Inline Version Wie der Chip in die Karte kommt? Video Kapitel 3 Folie 9 – Ende - Bis später….

61 Guten Tag - 8051 – Ports Ports – innere Aufbau und äußere Beschaltung
Unterschiede 8051 – 80535 REG535.PDF REG51.PDF Zwiebel Pin Definition Ports können mehrere Funktionen haben: Ein- Ausgang, Adressbus, Datenbus, Auxiliary Functions

62 Port 3 – besondere Funktionen
RxD, TxD – Empfangen und Senden über serielle Schnittstelle T0, T1 – Timer 0,1 /INT0, /INT1 – Hardware-Interrupt /RD, /WR Lesen und Schreiben auf Datenspeicher

63 Fan Out Ausgangsleistung von einem Port bei CMOS max. 2mA
Vorsicht beim Anschluss von Leuchtdioden! Strombegrenzung beachten Spezifikation: Jeder Ausgang kann 4 LS TTL-Lasten treiben

64 Beschaltung von Port 0 Normalerweise Float-
50 kΩ gegen Vcc zusätzlich verschalten – nur an Port 0 An Port 0 ist der Datenbus: Port 0 kann 8 TTL LS-Lasten treiben

65 Schreiben auf externen Datenspeicher
Übung Schreiben Sie ein Programm „EXT_A5“ welches bei: T1 betätigt: A5h in den externen Speicher auf Adresse 2000h schreibt. T2 betätigt: 5Ah in den externen Speicher auf Adresse 2000h schreibt. mov DPTR,#2000h Bitte PDL verwenden – zuerst Kommentar was gemacht wird.

66 Externer Datenspeicher
X: = Bezeichnung für externen Datenspeicher C: = Bezeichnung für externen Programmspeicher D: =Bezeichnung für internen Datenspeicher B: =Bezeichnung für bitadressierbaren Speicherbereich I: =Bezeichnung für indirekt adressierbaren Speicherbereich

67 Neuer Befehl inc DPTR ;DPTR+1 Neue Aufgabe
Beschreiben Sie den externen Datenspeicher von 2000h -20FFh mit A5h (Hausaufgabe für Walter) djnz R1,MARKE ;Dekrementiere R1 falls R1 ≠0 springe nach MARKE Übung: 5A in die Speicherzellen 2000h-20FFh bei T2=„0“ schreiben

68 Vielen Dank für Ihre Aufmerksamkeit!

69 Label 5A als Label – geht nicht, da eine Zahl
Eine Marke darf nicht mit einer Zahl beginnen

70 Toll ! Bei allen Studenten laufen die geliehenen VolksController!
Kompliment an Betreuer!

71 Guten Morgen Wo waren Sie denn?????? Mechatronik-Award
Port – Ein-Ausgang, Funktionen Register djnz Rn,SPRUNGMARKE Programm: „EXT_BER“ Beschreiben vom externen Speicher von 2000h bis 2030h

72 Programm: MUEDE Beschreiben Sie den externen Datenspeicher: T1 mit A5h
von 2000h…..2FFFh

73 Denken, Programmieren, Debuggen
Reihenfolge!!! Denken, Programmieren, Debuggen falsch: Programmieren, Denken, Debuggen

74 Überlegungen 2FFFh ……2000h FFFh – 0000 1111 1111 1111
Register ist 8 Bit breit -> zwei Register werden benötigt für 16Bit-Zahl R1 = LOW BYTE = 0h = innere Schleife R2 = HIGH BYTE = 10h = äußere Schleife Bei 8-Bit Controller gilt: Alle Register sind 8 Bit breit – außer DPTR, PC Kombinationaus 2 8 Bit Registern DPTR = DPH + DPL

75 Guten Morgen Programm „muede“
Programmentwicklung durch Variation von „alten“ Programmen. -> Programme müssen korrekt dokumentiert sein! Nur dokumentierte Programme sind existent.

76 Grundlagen movx @DPTR,A x -> externer Datenspeicher
Adresse 2000h X:0x2000 DPTR Datenpointer 16 Bit breit DPTR DPH, DPL Bei 8051 nur 1 Datenpointer Bei 80537, gibt es 8 Datenpointer R1, R2 als Zählregister -> 8Bit Breite innere und äußere Schleife Breakpoints setzen

77 Ports 8051 Port 0 – I/O – Adressbus LB – Datenbus Port 1 – I/O
Port 2 – I/O – Adressbus HB Port 3 – I/O – Auxiliary Functions - /INT0, /INT1, /RD, /WR, T0,T1, RxD, TxD

78 USART U – universal S – synchron – 1Mbit/s
A – asynchron – max. 115 KBit/s R – Receiver T - Transmitter

79 Zwei Adress-Zeiger DPTR = DPH + DPL PC = PCH + PCL

80 Guten Morgen Nur dokumentierte Software ist existent
Denken, programmieren, debuggen Programm mit zwei Schleifen „MUEDE“ In sich geschachtelte Schleifen Bitbreite 16-Bit – 2000h-2FFFh 2 Register – R2, R1 Ports verfeinertes Blockdiagramm Richtungen – Datenwege Adresserzeugung -

81 16-Bit Register DPTR Datenpointer – lässt sich direkt laden
PC Program Counter – Adresse auf Programmspeicher – lässt sich nicht direkt laden Nur bei gibt es internen ROM Bei ist kein interner ROM vorhanden 80535 wird nicht mehr produziert 80C515C 8051-Controller mit CAN-Bus

82 Programmieren - Controller
Zuerst wird die Funktionsweise der Hardware programmiert Modifizieren und konfigurieren der Hardware Zusammenspiel Hardware + Software Hardware ist die wesentliche Voraussetzung damit Software „läuft“ TMOD – TCON SCON – TCON

83 Blinken mit Schleife BMS
Lassen Sie die Leuchte an Port 3.2 mit der Frequenz 1 Hz blinken. (0,5s aus – 0,5s ein) PDL – Was wird gemacht? Wie wird 0,5 s erzeugt – Warteschleife mehrere Register schachteln MUEDE auf Dauer untersuchen. -> Ergebnis : CPU macht nichts anderes als zählen – Gezieltes Spielen ungenau ideal: Zeitgeber mit der Dauer von 50ms

84 Timer - zählt bis 50000 15536 …… > Überlauf -> Automatisches Wiederladen mit 15536 Geheimnis: TIMER2 Mit Timer 2 erzeugen wir 50ms Wenn Überlauf auftritt -> TF2 Flag wird gesetzt Flag? - Flagge

85 Blinken mit Timer 2 – BMT2 Guten Morgen
CRCL, CRCH =Compare – Reload – Capture CCL#,CCH# Wir möchten die Funktion „Wiederladen“ T2CON Control Register Timer 2 SFR Special Function Register Controller wird eingeschaltet -> Alle Register sind auf „0“ – Ausnahme: Ports, Serielle Schnittstelle SBUF, Stackpointer

86 Überlegung zum Programm
Hardware initialisieren - Voreinstellungen der Hardware durchführen LABEL: Auslösen des Vorgangs mit Taste 1 10*50ms warten komplementieren Sprung nach LABEL

87 Guten Morgen BMT3 – Das Programm ist schlecht programmiert
Prozessor wartet auf TF2 Flag Kann während dieser Zeit nichts anderes machen - > Schlecht Beispiel: Warten auf Beginn Vorlesung

88 Interrupt wird zugelassen
Allgemeine Interrupt-Freigabe (EAL) Spezielle Interrupt-Freigabe (ET2) für Timer 2 Ab dem Interrupt-Vektor –spezielle Adresse im Programmspeicher, durch Hardware vorgegeben- wird das Interrupt-Programm geschrieben. Sobald ein Interrupt auftritt, das EAL-Bit und das spezielle Interrupt-Bit freigegeben ist, wird das Programm am Interrupt-Vektor fortgesetzt.

89 Subroutine - Interrupts
Subroutine – call immer mit ret abschliessen Interrupts immer mit reti abschliessen

90 Aufgabe Laden Sie das Programm BMT_MI
Führen das Programm im Debugger aus Breakpoint in der ISR setzen cpl P3.2 Timer2 ist 10 mal übergelaufen Ändern Sie das Programm auf T=2 Sekunden

91 Guten Morgen Interrupt Freigabe EAL Allgemeine Spezielle ET2
Interrupt-Vektor An einer Adresse im Programmspeicher steht das auszuführende Programm call mit ret abschliessen

92 Kleine Aufgabe An welcher Stelle im Programmspeicher PC wird die ISR_T2 ausgeführt?

93 Der Stackpointer Ist eine Adresse, welche auf eine Adresse im internen Datenspeicher zeigt. Diese Adresse im internen Datenspeicher enthält die Rücksprungadresse.

94 Was wurde begriffen? Interrupt – Funktion – Ablauf Test im Simulator
Funktion Stackpointers Wo stehen die Rücksprungadressen? nicht vergessen – nicht überschreiben Listing-File - wo finde ich die Adressen vom Programmspeicher Konfigurieren der seriellen Schnittstelle am PC Anschließen der EURO_535-Hardware

95 Neue Hardware am Rechner
Administrator wird benötigt! Datensicherung – jeder ist selbst verantwortlich

96 Serielle Schnittstelle
SCON Control-Register für serielle Schnittstelle SBUF (senden) Register zum Senden SBUF (empfangen) Register für den Empfang Port 3.1 = TxD Transmit - senden Port 3.0 = RxD Receive – empfangen

97 Aufgabe Mit einem Terminalprogramm wird ein großer Buchstabe an die Euro_535 gesendet, in einen kleinen gewandelt und an das Terminal zurückgesendet. Lösung großer Buchstabe in kleinen wandeln: in hex: 20h addieren Einstellungen auf PC-Seite + Euro_535 Herausforderung: Serielle Schnittstelle 1 wird zum Debuggen benutzt -> Serielle Schnittstelle 2 keine „echte serielle Schnittstelle -> Programm seriell2

98 Serielle Schnittstelle Ablauf
Einstellungen der seriellen Schnittstellen SCON Control serielle Schnittstelle PCON Control Power Verfahren: Interrupt -> PC? Interrupt-Vektor =Adresse im Programmspeicher: 0023h Fundstellen für Interruptvektoren: Buch Seite S. 115 Users Manual S. 240 Interrupt-Einheit programmmieren

99 Programm: SER_ZEICH Ausführung im Simulator
Wie funktioniert das Programm? Über Serial Window #1 wird ein großer Buchstabe gesendet -> Interrupt wird ausgelöst -> Programm wird an 23h fortgesetzt Subroutine – Unterprogramm SBUF->A A+20h A->SBUF RI+TI zurücksetzen ->

100 Programm: SER_ZEICH2 Unterprogramm mit „ret“ beenden
Interrupt mit „reti“ beenden Warteschleife Bitte Programm laden und im Debugger testen Eingabe von großen Buchstaben Breakpoint in Subroutine: SERINT: setzen

101 Interrupt - Pollen Briefkasten
immer wieder nachschauen ist etwas da -> Verfahren: pollen Schalter der Öffnung detektiert und rote Lampe geht an: Interrupt

102 Serielle Schnittstelle
interner Aufbau mit Shift-Registern SBUF /WR /RD Vorsicht Bits zur Kontrolle der seriellen Schnittstelle sind verteilt auf: SCON PCON –SMOD ADCON –BD +evtl. zur Synchronisation CLK

103 Seriell2 Programm für eine per Software realisierte Schnittstelle (COM2) Port 1.4 RxD2 Port 4.7 TxD2

104 Kompatibilität Ältere Software muss auf neuerer Hardware laufen
Bei der Entwicklung Restriktionen – aber die Mehrarbeit lohnt sich! Die meisten Kosten sind in der Software

105 Empfehlung für Portbelegung
P1.1 –P1.3 Servomotor P1.4 COM2 Port 3 – Sonderfunktionen Port 4 frei!!! Ausgänge Port 5 frei!!! Eingänge Port 6 A/D-Wandler

106 A/D-Wandler Port 6 Sample and Hold Wandlungszeit 15µs …20µs
Bitbreite 8Bit…..10Bit 5V t

107 Auslösen der Wandlung mov DAPR,#0 ;Wandlung wird ausgel ;Bereich 0..5V
DAPR-Register: Low-Nibble – Vorgabe von unterem Bezugspegel High – Vorgabe von oberen Bezugspegel Mit DAPR wird Messbereich vorgegeben Vielen Dank auf Wiedersehen!

108 Kleine Aufgabe Lösen Sie eine A/D-Wandlung aus, sobald T1 betätigt wird. Schieben Sie den Inhalt von ADDAT in den Akku Programm: „ADWP“ A/D-Wandlung Primitiv Tipp: Wandlungszeit ~18µs Solange die Wandlung läuft ist BSY-Bit gesetzt

109 Guten Morgen PSW Program Status Word CY Carry-Bit

110 Zahlendarstellung char 0…255 – 0h…FFh unsigned integer 0…255
Vorsicht bei C 0…65535 signed integer -128…..+127 negative Zahl das vorderste Bit = 1 bei C … Negative Zahlen werden im Zweierkomplement dargestellt Zahl 1 Zweierkomplement der Zahl

111 Kleine Übung Berechnen Sie das Ergebnis der Subtraktion:
0 – h-67h=99h ????? im Mikrocontroller WARUM????? mit Hilfe von AN0_COD Darstellung von negativen Zahlen im Zweierkomplement. 99h = b -> b +1b = b=-103

112 Guten Morgen Stackpointer: Adresse im internen Datenspeicher, welche eine Adresse enthält Stackpointer hat nach einem RESET den Wert Überbleibsel aus der 8048-Zeit

113 Anschluss Servomotor Rot +5V – A4 Braun GND – A21
Orange Steuerung - C13 Durch Veränderung des Compare-Registers wird die Pulsweite moduliert – verändert. Programm „Servo.asm“ Wichtig: Treiberbaustein zwischen Servo + µ-Controller zum Schutz des Controllers Servomotoren sind nicht kalibriert Wo ist 0°? Kalibration mit µ-Schalter

114 Servo – Timer2 Kombination „20ms“ von Timer 2 mit Interrupt -> 50 mal zählen -> 1s Die CPU wird lediglich durch ISR Interrupt Service Routine belastet. PWM zur Leistungsansteuerung PWM zur D/A-Wandlung

115 Guten Morgen Interrupt – Ablauf Adressbereiche
Programmspeicher – PC = Adresse des Programmspeichers – Programmspeicher lesen: /PSEN Datenspeicher – DPTR Datenspeicher lesen - /RD - /WR ->zwei getrennte Adressgeneratoren / Adresszeiger

116 EURO_535-Karte Programmspeicher? Datenspeicher? Der große Trick:
Datenspeicher und Programmspeicher werden vereint Programm in den Datenspeicher schreiben Der Controller spricht den Programmspeicher an – greift aber auf Datenspeicher zu

117 8051-Architektur Jeder 8051 hat eine Harvard-Architektur
Programmspeicher und Datenspeicher haben gesonderte hardwaremäßig getrennte Adressbusse. Durch ein spezielle Hardware-Verknüpfung lässt sich aus der Harvard-Architektur eine von Neumann Architektur herstellen von Neumann-Architektur: Daten und Programme wild gemischt Praktische Auswirkung ->PC Laufwerk c: - Programme d: - Daten

118 Kleine Aufgabe Auf die Adresse 127 wird im Speicher 0..FFFFh zugegriffen. Welche Bitkombination liegt an den 16 Leitungen an? b = 127 b = 128

119 Memory mapped Voraussetzung: Von Neumann Architektur oder Harvard Architektur Im Datenspeicherbereich liegen Periphere Einheiten Bsp. A/D-Wandler serielle Schnittstelle Interrupt-Controller I2C

120 Memory mapped 2 Bsp. EURO_535 ab Adresse können periphere Bausteine liegen Busteine werden wie eine externe Speicherzelle angesprochen

121 Neue Aufgabe unteren 32 KByte oberen 32 KByte
Es liegt ein Adressbereich von 0…FFFFh 64KByte vor In welchem Bit unterscheidet sich der untere und obere 32K Adressraum Korrekte Antwort: im 15.ten Bit unteren 32 KByte oberen 32 KByte

122 Bsp. Harvard-Architektur
DSP Digitale Signalprozessoren haben eine Harvard-Architektur 8051 hat normalerweise Harvard-Architektur zwei Adressgeneratoren

123 /PSEN - /RD, /WR Beim Zugriff auf den Programmspeicher wird /PSEN aktiv Beim Zugriff auf Datenspeicher wird /RD oder /WR aktiv Die Adresse aus den beiden Adressgeneratoren wird immer an Port0 und Port 2 ausgegeben. Aus der Harvard-Architektur wird durch eine UND-Verknüpfung der Signale /PSEN und /RD eine von Neumann-Architektur

124 Warum funktioniert EURO_535
Monitorprogramm auf EPROM Verbindung zwischen PC und EUR_535 Das auf dem PC entwickelte Programm wird in den Datenspeicherbereich von 0000h bis 7FFFh geschrieben. Greift der 8051-Controller auf Programmspeicher zu – greift er auf die Daten=Programme im Datenspeicher zu, da /PSEN mit /RD verknüpft ist.

125 Übung Vergleichen Sie beim Programm: „EIN_AUS“ den Inhalt von Programmspeicher und Datenspeicher im Debugger. – !Remote-Debug-System -> Inhalt von Programmspeicher und Datenspeicher ist bei Vernüpfung von /PSEN und /RD identisch!

126 Ein erfolgreiches NEUES JAHR
EPROM-Simulator – sehr selten – nicht effektiv zur Programmentwicklung Remote-Debug-System Emulatoren – Rüssel Simulieren mit Hardware den Prozessor – sehr teuer

127 Tipps zur Softwareentwicklung
Voraussetzung Viele Programm-Module z. Bsp. call – ret z.B. I2C Viele Interrupts – reti -> viele Rücksprungadressen werden gespeichert im internen Datenspeicher – ab Adresse 08h Stackpointer auf 07h Lösung: mov SP,#2Fh

128 Weitere Vorgehensweise
Kapitel 3 – Bild 3.26 wurde noch behandelt Vorsicht: Signalformen werden bei unterschiedlichen Herstellern verschieden definiert – Blick in Datenbuch Kapitel 4 – Reste der HITEX-Entwicklungsumgebung sind im Buch zu finden.

129 Guten Morgen DOS Disc Operating System
Windows Server 2003 – Windows XP Longhorn „Zeitschriften“ im Internet für Mikrocomputertechnik c‘t 1920x1080 Pixel HDTV 1280x720 Pixel HDTV

130 Betriebssystem 01 DLL Dynamic Link Library DDE Dynamic Data Exchange
Polling – Interrupt Zeitscheibenmodelle Multitasking – Mehrere Programme können „gleichzeitig“ ablaufen kooperatives Multitasking preemptive Multitasking – Windows XP Taskmanager

131 Betriebssystem 02 Windows CE Handy: Symbian, Palm OS Linux
relokatibler Code – verschiebbarer Code – Der Code lässt sich in verschiedenen Speicherbereichen ausführen. Bsp. Effektivwertmesser BIOS Basic Input Output System AIDA32 bei zdnet – Diagnose des Rechners

132 Auswahl von Controllern
Options for Target – Device in µVision Buch S. 214 MIPS Million Instructions Per Second

133 Stand alone System Das Programm *.hex wird in ein EPROM gebrannt – es wird nur noch der Controller mit etwas Peripherie - Hardwarebeschaltung benötigt Anstatt EPROM kann auch Flash-Speicher verwendet werden.

134 Entwicklungsumgebung SFR
Alle Special Function Register sind in der reg*.pdf aufgeführt.

135 Ein herzliches Grüß Gott
Softwareentwicklung Was will der Kunde? Oberfläche festlegen Handbuch schreiben dann erst programmieren kleine Programmmodule programmieren und austesten – Vorsicht: Zeit Controller Softwareentwicklung Hard- & Software testen

136 PDL Program Design Language Was wird programmiert
Wie wird programmiert -> abhängig von der Zielumgebung: C oder Assembler C++ CSharp

137 *.hex Diese Datei wird für das EPROM benötigt
Vorsicht: externer Datenspeicher ab 8000h Adressumschaltung wird nicht aktiviert Start Off-chip XDATA memory auf 8000h

138 Relokatibler Code verschiebarer Code
Die Programmteile sind an beliebigen Programmspeicheradressen im Programmspeicher auszuführen CSEG -> RSEG Nur ein Progammteil liegt auf „CSEG 0“ – alle anderen Module müssen relokatibel sein

139 Methodisches Vorgehen nach VDI
VDI 2222 / VDI 2224 Tipp „lesen“

140 Guten Tag Kleine Module testen Bsp. EPROM-Betrieb Embedded System
Der Controller ist in das System eingebettet

141 Wichtige Termine Präsentation der Mikrocomputer-Projekte
– 10:00 – Ort HIT Prüfung: Mikrocomputertechnik FT + MT :00 – 13:00 Dozent steht am Freitag ab 8:00-18:00, für Klausurfragen zur Verfügung.

142 Prinzipielle Verfahren Betriebssystem
Interrupt – Ereignisorientiert Polling – Abfragen/nacheinander Abarbeiten Beispiel: „Aufnahme Läuft“ Kombination Beim T2 Polling Bei T0 Interrupt

143 Adressierung Mit 32 Bit lassen sich 4 GByte adressieren
Linearer Adressraum Segmentierter Adressraum

144 Mischen con C und *.A51 Komplizierte Übergabe
Sehr aufwendig in einer gemischten Umgebung zu entwickeln Speicherverwaltung immer kritisch

145 Warum Registerbänke jeweils einer Registerbank wird ein Task zugeordnet Einer ISR wird eine Registerbank zugeordnet

146 Adressräume Sie führen die Arbeit des Betriebssystems: Speicherverwaltung durch!

147 Servomotor langsam verfahren
Periodendauer PWM -> 20ms – 50Hz Reloadbetrieb Pulsweite: 0,5ms bis 3ms ->19,5ms – 17ms =65036 =62536 Verfahrweg 2500 Schritte CCH1,CCL1 = 16Bit Das einzige 16Bit-Register welches mit inc arbeitet: DPTR Idee: Wir missbrauchen DPTR

148 SRV_INTLR SeRVomotor mit INTerrupt Links Rechts
Gibt es bereits ein Programm??? ServoLR – aber kein Interrupt Timer2 Interruptvektor – 02Bh Programm mit „NEUES EURO_535-Projekt“ Programm von: Name Was macht das Programm Unterschied bei Interrupt: T0,T1 – T2 TF2 zurücksetzen Wichtig: Servo nicht direkt an Port


Herunterladen ppt "Tafelanschrieb Mikrocomputertechnik WS04"

Ähnliche Präsentationen


Google-Anzeigen