mc seite 1 prof. j. walter mc tafelanschrieb stand: oktober 2004 tafelanschrieb mikrocomputertechnik...
Post on 05-Apr-2015
108 Views
Preview:
TRANSCRIPT
mc
Seite 1Prof. J. WALTER MC Tafelanschrieb Stand: Oktober 2004
Tafelanschrieb Mikrocomputertechnik WS04
Jürgen Walter
mc
Seite 2Prof. J. WALTER MC Tafelanschrieb Stand: Oktober 2004
Assembler
übersetzt den mnemotechnischen Code in Hexademzimalzahlen
Linker – bindet einzelne Programmteile zusammen
Locator – legt die absoluten Adressen für den Code fest
mc
Seite 3Prof. J. WALTER MC Tafelanschrieb Stand: Oktober 2004
Adressspiegelung
15. te Bit unterscheidet zwischen unterem und oberen Adressbereich
im EPROM steht der Befehl ljmp 80AE 1000 0000 1010 1110 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
mc
Seite 4Prof. J. WALTER MC Tafelanschrieb Stand: Oktober 2004
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
mc
Seite 5Prof. J. WALTER MC Tafelanschrieb Stand: Oktober 2004
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
mc
Seite 6Prof. J. WALTER MC Tafelanschrieb Stand: Oktober 2004
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
mc
Seite 7Prof. J. WALTER MC Tafelanschrieb Stand: Oktober 2004
Internet
193.196.117.22 – www.hit.fh-karlsruhe.de ohne Firewall – für Ihren Rechner sind Sie
verantwortlich
mc
Seite 8Prof. J. WALTER MC Tafelanschrieb Stand: Oktober 2004
MC
Vorlesung + Labor Zu Beginn: intensiv Vorlesung Multitasking – mehrere Programme /
mc
Seite 9Prof. J. WALTER MC Tafelanschrieb Stand: Oktober 2004
Marko Veselcic + Uwe Zundel + FT
Tutorium Mittwoch 11:30 – 13:00 FH Karlsruhe, Gebäude LI, Raum U22,
mc
Seite 10Prof. J. WALTER MC Tafelanschrieb Stand: Oktober 2004
Details Netzwerk
RJ 45 einstecken Probleme die länger als 15 Min. dauern…
aufhören-> NachbarIn fragen 1111 1111 1111 1111 0000 0000 0000 0000 192.168.xxx.xxx wird nicht nach außen
weitergeleitet. – Adresse WaveLan cmd-Box ipconfig ipconfig /all ping
mc
Seite 11Prof. J. WALTER MC Tafelanschrieb Stand: Oktober 2004
Wichtige Internetadressen
www.hit.fh-karlsruhe.de www.keil.com
mc
Seite 12Prof. J. WALTER MC Tafelanschrieb Stand: Oktober 2004
Controller Leihe
Din-A4 – eintragen in Nachricht an Bibliothek
mc
Seite 13Prof. J. WALTER MC Tafelanschrieb Stand: Oktober 2004
Arbeiten Sie mit dem Rechner!
0
xdx
mc
Seite 14Prof. J. WALTER MC Tafelanschrieb Stand: Oktober 2004
Mein erster Befehl in 8051-Assembler
Assembler Maschinensprache Programm zum Übersetzen
mov A,R1 ;Inhalt von R1 in A mov R1,A ;Inhalt von A in R1 nop ;No Operation
mc
Seite 15Prof. J. WALTER MC Tafelanschrieb Stand: Oktober 2004
Wie komme ich ins Netzwerk HIT
193.196.117.20-99 interne Adressen fest installierten Rechnern
193.196.117.100-180? Adressen werden über RZ zugewiesen – DHCP proxy.fh-karlsruhe.de Port: 8888
WaveLan Adresse: 193.168.xxx.xxx proxy ausschalten
mc
Seite 16Prof. J. WALTER MC Tafelanschrieb Stand: Oktober 2004
Zusammenfassung
Befehle auf DOS-Ebene EURO_535-Karte Software – Keil – www.hit.fh-karlsruhe.de/8051 www.extrahertz.de mov A,R1 ; Schiebe Inhalt von R1 in A mov R1,A end Ebenenmodell
mc
Seite 17Prof. J. WALTER MC Tafelanschrieb Stand: Oktober 2004
Arbeiten am PC
Zum Konfigurieren – Administrator Normales Arbeiten - Hauptbenutzer
mc
Seite 18Prof. J. WALTER MC Tafelanschrieb Stand: Oktober 2004
Eierlegende Wollmilchsau
Der vernetzte PC kann alle Geräte Maschinen Medien
simulieren – nachahmen und damit teilweise ersetzen
mc
Seite 19Prof. J. WALTER MC Tafelanschrieb Stand: Oktober 2004
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
mc
Seite 20Prof. J. WALTER MC Tafelanschrieb Stand: Oktober 2004
Neuer Befehl
mov A,#0A5 ;Lade den Akku mit 165 AH, Ah, 0xA 1010 5 0101
mc
Seite 21Prof. J. WALTER MC Tafelanschrieb Stand: Oktober 2004
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?
mc
Seite 22Prof. J. WALTER MC Tafelanschrieb Stand: Oktober 2004
Zusammenfassung 2
Belwue.de – BadenWürttemberg Forschungsnetz
WaveLan – Wireless LAN Datenübertragung – Geschwindigkeit
kbps – kB/s
mc
Seite 23Prof. J. WALTER MC Tafelanschrieb Stand: Oktober 2004
Digitaltechnik - CBT
Nur die notwendigsten Funktionen Computer Based Training
mc
Seite 24Prof. J. WALTER MC Tafelanschrieb Stand: Oktober 2004
Arbeiten am PC
Prinzip: Festplatte C: für ProgrammeFestplatte D: für Daten
Hausaufgabe: CBT Neu packen! Als ZIP Verwenden Sie nur Entwicklungs-Programme
von Firmen die sehr wahrscheinlich wirtschaftlich überleben!
mc
Seite 25Prof. J. WALTER MC Tafelanschrieb Stand: Oktober 2004
Betreuung:
Herr Wolfgang Loes – Gebäude P – Raum 203 Tel. 1325
mc
Seite 26Prof. J. WALTER MC Tafelanschrieb Stand: Oktober 2004
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
mc
Seite 27Prof. J. WALTER MC Tafelanschrieb Stand: Oktober 2004
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
mc
Seite 28Prof. J. WALTER MC Tafelanschrieb Stand: Oktober 2004
Zusammenfassung Dienstag 12.10.04
Keine Vorlesung aufgrund Baulärm! Vorlesung wird nachgeholt! Schreibmaschinenkurs wird empfohlen!
mc
Seite 29Prof. J. WALTER MC Tafelanschrieb Stand: Oktober 2004
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“
mc
Seite 30Prof. J. WALTER MC Tafelanschrieb Stand: Oktober 2004
Weitere Befehle
end ORG 100H ;Setze den PC Program
;Counter auf 100H
mc
Seite 31Prof. J. WALTER MC Tafelanschrieb Stand: Oktober 2004
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
mc
Seite 32Prof. J. WALTER MC Tafelanschrieb Stand: Oktober 2004
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!
mc
Seite 33Prof. J. WALTER MC Tafelanschrieb Stand: Oktober 2004
Debug Mode
Entwanzen Viele Fehler welche in der Software vermutet
werden, sind in der Hardware (Controllern) F5 – RUN F11 – Einzelschritt
mc
Seite 34Prof. J. WALTER MC Tafelanschrieb Stand: Oktober 2004
Immer wenn Sie am PC nicht…
weiterkommen RECHTE MAUSTASTE – kontextsensitives
Menü
mc
Seite 35Prof. J. WALTER MC Tafelanschrieb Stand: Oktober 2004
Breakpoint setzen
Im Programm „RENAUD“ wird ein Breakpoint gesetzt.
mc
Seite 36Prof. J. WALTER MC Tafelanschrieb Stand: Oktober 2004
Zusammenarbeit
Ordnerstruktur übernehmen C:/8051/ASM Assembler – Programme In Ordner ASM alle Projekte
Namensbezeichnung übernehmen
mc
Seite 37Prof. J. WALTER MC Tafelanschrieb Stand: Oktober 2004
Empfehlung
Programm im Simulator entwickeln Programm auf Hardware testen – Hardware-
Debugger – Remote Debug System
mc
Seite 38Prof. J. WALTER MC Tafelanschrieb Stand: Oktober 2004
Was wurde bei der Entwicklung….
alles erzeugt REAUD.LST – Listing Datei
LOC Location – Ort vom ProgrammcodePC Programmspeicherplatz
OBJ Object Code
mc
Seite 39Prof. J. WALTER MC Tafelanschrieb Stand: Oktober 2004
Was haben wir heute gemacht?
Wo und wie wird das Programm abgespeichert?
Komponenten Breakpoint setzen Zusammenhänge der Entwicklungsumgebung
mc
Seite 40Prof. J. WALTER MC Tafelanschrieb Stand: Oktober 2004
Evaluation
Jede Kritik zur Verbesserung der Vorlesung und des Labors ist willkommen.
mc
Seite 41Prof. J. WALTER MC Tafelanschrieb Stand: Oktober 2004
Statistik WLAN - Notebooks
66 Studierende 8 kein Notebook 18 WLAN 40 per LAN
mc
Seite 42Prof. J. WALTER MC Tafelanschrieb Stand: Oktober 2004
WaveLan
802.11b/g – 2,4 GHz 11Mbit/s 54MBit/s 802.11a 5,4 GHz 54Mbit/s bis 108Mbit/s
mc
Seite 43Prof. J. WALTER MC Tafelanschrieb Stand: Oktober 2004
Projekte - Dokumentation
Projekte aus dem letzten Semester SS04 Im Musterweb Mindmap WS04-Projektname http://mic.fh-karlsruhe.de/projekte/
mc
Seite 44Prof. J. WALTER MC Tafelanschrieb Stand: Oktober 2004
Frontpage-Seitenerstellungsprogramm
Integration in Betriebssystem gegeben Datenbankanbindung sehr gut realisiert Layout verbesserungswürdig
mc
Seite 45Prof. J. WALTER MC Tafelanschrieb Stand: Oktober 2004
Musterweb:
Entwurf und Gestaltung + MC Download bei Prof. Dr. Weber Entpacken auf lokale Platte
mc
Seite 46Prof. J. WALTER MC Tafelanschrieb Stand: Oktober 2004
Vorsicht ….wird teuer
http://mic.fh-karlsruhe.de/projekte/WS04-Musterweb
Veröffentlichen Benutzer mic-ss04 PSW: Regatta1 Vorsicht: Startseite beachten Startseite, je nach Server unterschiedlich
mc
Seite 47Prof. J. WALTER MC Tafelanschrieb Stand: Oktober 2004
Wo wird veröffentlicht?
http://mic.fh-karlruhe.de Warum: wird nicht gelöscht wenn der Student
die FH verläßt. Walter sichert am Ende des Semesters
mc
Seite 48Prof. J. WALTER MC Tafelanschrieb Stand: Oktober 2004
Guten Morgen!
Keil Simulator Seitenerstellung / Dokumentation im
Internet / Intranet für Methodisches Vorgehen
mc
Seite 49Prof. J. WALTER MC Tafelanschrieb Stand: Oktober 2004
Test des Befehls: mov A,R1
mov R1,#0A5h Test!
mc
Seite 50Prof. J. WALTER MC Tafelanschrieb Stand: Oktober 2004
Wichtig! Pegelerzeugung
mc
Seite 51Prof. J. WALTER MC Tafelanschrieb Stand: Oktober 2004
/OE
Output Enable -> bei 1-Pegel wird freigeschaltet
/ Verneinung /Output Enable -> bei 0-Pegel wird
freigeschaltet
mc
Seite 52Prof. J. WALTER MC Tafelanschrieb Stand: Oktober 2004
Übung Datenübergabe
Nach dieser Übung wissen Sie: Was macht der Befehlinterpreter Was macht das Steuerwerk
mc
Seite 53Prof. J. WALTER MC Tafelanschrieb Stand: Oktober 2004
Guten Morgen
Auswahl von Registern Verbindung von Registern mit Bussen -
Datenbus Decoder – Adressen – Adressbus 15 Adressleitungen -> 32768
mc
Seite 54Prof. J. WALTER MC Tafelanschrieb Stand: Oktober 2004
Guten Tag
Blockschaltbild EURO_535
mc
Seite 55Prof. J. WALTER MC Tafelanschrieb Stand: Oktober 2004
Zugang zum Internet
DNS Domain Name Service proxy.fh-karlsruhe.de port 8888
Für lokale Adressen Proxy umgehen *.fh-karlsruhe.de
mc
Seite 56Prof. J. WALTER MC Tafelanschrieb Stand: Oktober 2004
Kondensatoren
100nF - Blockkondensatoren – schlechte Kondensatoren tan alpha (nicht Energie speichern – sondern Spannungsspitzen zerstören)
10µF - Glättungskondensator
mc
Seite 57Prof. J. WALTER MC Tafelanschrieb Stand: Oktober 2004
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
mc
Seite 58Prof. J. WALTER MC Tafelanschrieb Stand: Oktober 2004
Portfunktionen EIN-AUSGANG
P1.180535ca. 50kOhm
Mäuseklavier
mc
Seite 59Prof. J. WALTER MC Tafelanschrieb Stand: Oktober 2004
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
mc
Seite 60Prof. J. WALTER MC Tafelanschrieb Stand: Oktober 2004
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….
mc
Seite 61Prof. J. WALTER MC Tafelanschrieb Stand: Oktober 2004
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
mc
Seite 62Prof. J. WALTER MC Tafelanschrieb Stand: Oktober 2004
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
mc
Seite 63Prof. J. WALTER MC Tafelanschrieb Stand: Oktober 2004
Fan Out
Ausgangsleistung von einem Portbei CMOS max. 2mA
Vorsicht beim Anschluss von Leuchtdioden! Strombegrenzung beachten Spezifikation: Jeder Ausgang kann 4 LS TTL-
Lasten treiben
mc
Seite 64Prof. J. WALTER MC Tafelanschrieb Stand: Oktober 2004
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
mc
Seite 65Prof. J. WALTER MC Tafelanschrieb Stand: Oktober 2004
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 movx @DPTR,A Bitte PDL verwenden – zuerst Kommentar was
gemacht wird.
mc
Seite 66Prof. J. WALTER MC Tafelanschrieb Stand: Oktober 2004
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
mc
Seite 67Prof. J. WALTER MC Tafelanschrieb Stand: Oktober 2004
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
mc
Seite 68Prof. J. WALTER MC Tafelanschrieb Stand: Oktober 2004
Vielen Dank für Ihre Aufmerksamkeit!
mc
Seite 69Prof. J. WALTER MC Tafelanschrieb Stand: Oktober 2004
Label
5A als Label – geht nicht, da eine Zahl Eine Marke darf nicht mit einer Zahl beginnen
mc
Seite 70Prof. J. WALTER MC Tafelanschrieb Stand: Oktober 2004
Toll !
Bei allen Studenten laufen die geliehenen VolksController!
Kompliment an Betreuer!
mc
Seite 71Prof. J. WALTER MC Tafelanschrieb Stand: Oktober 2004
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
mc
Seite 72Prof. J. WALTER MC Tafelanschrieb Stand: Oktober 2004
Programm: MUEDE
Beschreiben Sie den externen Datenspeicher: T1 mit A5h T2 mit 5Ah von 2000h…..2FFFh
mc
Seite 73Prof. J. WALTER MC Tafelanschrieb Stand: Oktober 2004
Reihenfolge!!!
Denken, Programmieren, Debuggen falsch: Programmieren, Denken, Debuggen
mc
Seite 74Prof. J. WALTER MC Tafelanschrieb Stand: Oktober 2004
Ü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
mc
Seite 75Prof. J. WALTER MC Tafelanschrieb Stand: Oktober 2004
Guten Morgen
Programm „muede“ Programmentwicklung durch Variation von
„alten“ Programmen. -> Programme müssen korrekt dokumentiert
sein! Nur dokumentierte Programme sind existent.
mc
Seite 76Prof. J. WALTER MC Tafelanschrieb Stand: Oktober 2004
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, 80517 gibt es 8 Datenpointer R1, R2 als Zählregister -> 8Bit Breite innere und äußere Schleife Breakpoints setzen
mc
Seite 77Prof. J. WALTER MC Tafelanschrieb Stand: Oktober 2004
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
mc
Seite 78Prof. J. WALTER MC Tafelanschrieb Stand: Oktober 2004
USART
U – universal S – synchron – 1Mbit/s A – asynchron – max. 115 KBit/s R – Receiver T - Transmitter
mc
Seite 79Prof. J. WALTER MC Tafelanschrieb Stand: Oktober 2004
Zwei Adress-Zeiger
DPTR = DPH + DPL PC = PCH + PCL
mc
Seite 80Prof. J. WALTER MC Tafelanschrieb Stand: Oktober 2004
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 -
mc
Seite 81Prof. J. WALTER MC Tafelanschrieb Stand: Oktober 2004
16-Bit Register
DPTR Datenpointer – lässt sich direkt laden PC Program Counter – Adresse auf
Programmspeicher – lässt sich nicht direkt laden
Nur bei 80515 gibt es internen ROM Bei 80535 ist kein interner ROM vorhanden
80535 wird nicht mehr produziert 80C515C 8051-Controller mit CAN-Bus
mc
Seite 82Prof. J. WALTER MC Tafelanschrieb Stand: Oktober 2004
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
mc
Seite 83Prof. J. WALTER MC Tafelanschrieb Stand: Oktober 2004
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
mc
Seite 84Prof. J. WALTER MC Tafelanschrieb Stand: Oktober 2004
Timer - zählt bis 50000
15536 ……65535 -> Überlauf -> Automatisches Wiederladen mit 15536
Geheimnis: TIMER2 Mit Timer 2 erzeugen wir 50ms Wenn Überlauf auftritt -> TF2 Flag wird
gesetzt Flag? - Flagge
mc
Seite 85Prof. J. WALTER MC Tafelanschrieb Stand: Oktober 2004
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
mc
Seite 86Prof. J. WALTER MC Tafelanschrieb Stand: Oktober 2004
Ü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
mc
Seite 87Prof. J. WALTER MC Tafelanschrieb Stand: Oktober 2004
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
mc
Seite 88Prof. J. WALTER MC Tafelanschrieb Stand: Oktober 2004
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.
mc
Seite 89Prof. J. WALTER MC Tafelanschrieb Stand: Oktober 2004
Subroutine - Interrupts
Subroutine – call immer mit ret abschliessen
Interrupts immer mit reti abschliessen
mc
Seite 90Prof. J. WALTER MC Tafelanschrieb Stand: Oktober 2004
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
mc
Seite 91Prof. J. WALTER MC Tafelanschrieb Stand: Oktober 2004
Guten Morgen
Interrupt Freigabe EAL Allgemeine Spezielle ET2 Interrupt-Vektor
An einer Adresse im Programmspeicher steht das auszuführende Programm
call mit ret abschliessen
mc
Seite 92Prof. J. WALTER MC Tafelanschrieb Stand: Oktober 2004
Kleine Aufgabe
An welcher Stelle im Programmspeicher PC wird die ISR_T2 ausgeführt?
mc
Seite 93Prof. J. WALTER MC Tafelanschrieb Stand: Oktober 2004
Der Stackpointer
Ist eine Adresse, welche auf eine Adresse im internen Datenspeicher zeigt. Diese Adresse im internen Datenspeicher enthält die Rücksprungadresse.
mc
Seite 94Prof. J. WALTER MC Tafelanschrieb Stand: Oktober 2004
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
mc
Seite 95Prof. J. WALTER MC Tafelanschrieb Stand: Oktober 2004
Neue Hardware am Rechner
Administrator wird benötigt! Datensicherung – jeder ist selbst
verantwortlich
mc
Seite 96Prof. J. WALTER MC Tafelanschrieb Stand: Oktober 2004
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
mc
Seite 97Prof. J. WALTER MC Tafelanschrieb Stand: Oktober 2004
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
mc
Seite 98Prof. J. WALTER MC Tafelanschrieb Stand: Oktober 2004
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
mc
Seite 99Prof. J. WALTER MC Tafelanschrieb Stand: Oktober 2004
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 ->
mc
Seite 100Prof. J. WALTER MC Tafelanschrieb Stand: Oktober 2004
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
mc
Seite 101Prof. J. WALTER MC Tafelanschrieb Stand: Oktober 2004
Interrupt - Pollen
Briefkasten immer wieder nachschauen ist etwas da ->
Verfahren: pollen Schalter der Öffnung detektiert und rote
Lampe geht an: Interrupt
mc
Seite 102Prof. J. WALTER MC Tafelanschrieb Stand: Oktober 2004
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
mc
Seite 103Prof. J. WALTER MC Tafelanschrieb Stand: Oktober 2004
Seriell2
Programm für eine per Software realisierte Schnittstelle (COM2) Port 1.4 RxD2 Port 4.7 TxD2
mc
Seite 104Prof. J. WALTER MC Tafelanschrieb Stand: Oktober 2004
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
mc
Seite 105Prof. J. WALTER MC Tafelanschrieb Stand: Oktober 2004
Empfehlung für Portbelegung
Port 1 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
mc
Seite 106Prof. J. WALTER MC Tafelanschrieb Stand: Oktober 2004
A/D-Wandler
Port 6 Sample and Hold Wandlungszeit 15µs …20µs Bitbreite 8Bit…..10Bit
5V
t
mc
Seite 107Prof. J. WALTER MC Tafelanschrieb Stand: Oktober 2004
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!
mc
Seite 108Prof. J. WALTER MC Tafelanschrieb Stand: Oktober 2004
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
mc
Seite 109Prof. J. WALTER MC Tafelanschrieb Stand: Oktober 2004
Guten Morgen
PSW Program Status Word CY Carry-Bit
mc
Seite 110Prof. J. WALTER MC Tafelanschrieb Stand: Oktober 2004
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 -32768…..+32767
Negative Zahlen werden im Zweierkomplement dargestellt 1011 0010 Zahl 0100 1101 1 0100 1110 Zweierkomplement der Zahl
mc
Seite 111Prof. J. WALTER MC Tafelanschrieb Stand: Oktober 2004
Kleine Übung
Berechnen Sie das Ergebnis der Subtraktion: 0 – 103 0h-67h=99h ?????
im Mikrocontroller WARUM????? mit Hilfe von AN0_COD
mc
Seite 112Prof. J. WALTER MC Tafelanschrieb Stand: Oktober 2004
Guten Morgen
Stackpointer: Adresse im internen Datenspeicher, welche eine Adresse enthält
Stackpointer hat nach einem RESET den Wert 07 - Überbleibsel aus der 8048-Zeit
mc
Seite 113Prof. J. WALTER MC Tafelanschrieb Stand: Oktober 2004
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
mc
Seite 114Prof. J. WALTER MC Tafelanschrieb Stand: Oktober 2004
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
mc
Seite 115Prof. J. WALTER MC Tafelanschrieb Stand: Oktober 2004
Guten Morgen
Interrupt – Ablauf
Adressbereiche Programmspeicher – PC = Adresse des
Programmspeichers – Programmspeicher lesen: /PSEN
Datenspeicher – DPTR Datenspeicher lesen - /RD - /WR
->zwei getrennte Adressgeneratoren / Adresszeiger
mc
Seite 116Prof. J. WALTER MC Tafelanschrieb Stand: Oktober 2004
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
mc
Seite 117Prof. J. WALTER MC Tafelanschrieb Stand: Oktober 2004
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
mc
Seite 118Prof. J. WALTER MC Tafelanschrieb Stand: Oktober 2004
Kleine Aufgabe
Auf die Adresse 127 wird im Speicher 0..FFFFh zugegriffen.
Welche Bitkombination liegt an den 16 Leitungen an?
0000 0000 0111 1111b = 127 0000 0000 1000 0000b = 128
mc
Seite 119Prof. J. WALTER MC Tafelanschrieb Stand: Oktober 2004
Memory mapped
Voraussetzung: Von Neumann Architektur oder Harvard Architektur
Im Datenspeicherbereich liegen Periphere Einheiten Bsp. A/D-Wandler serielle Schnittstelle Interrupt-Controller I2C
mc
Seite 120Prof. J. WALTER MC Tafelanschrieb Stand: Oktober 2004
Memory mapped 2
Bsp. EURO_535 ab Adresse 1000 0000 0000 000 können periphere Bausteine liegen
Busteine werden wie eine externe Speicherzelle angesprochen
mc
Seite 121Prof. J. WALTER MC Tafelanschrieb Stand: Oktober 2004
Neue Aufgabe
Es liegt ein Adressbereich von 0…FFFFh 64KByte vor
In welchem Bit unterscheidet sich der untere und obere 32K Adressraum 0000 0000 0000 0000 0111 1111 1111 1111 1000 0000 0000 0000 1111 1111 1111 1111
Korrekte Antwort: im 15.ten Bit
oberen 32 KByte
unteren 32 KByte
mc
Seite 122Prof. J. WALTER MC Tafelanschrieb Stand: Oktober 2004
Bsp. Harvard-Architektur
DSP Digitale Signalprozessoren haben eine Harvard-Architektur
8051 hat normalerweise Harvard-Architektur zwei Adressgeneratoren
mc
Seite 123Prof. J. WALTER MC Tafelanschrieb Stand: Oktober 2004
/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
mc
Seite 124Prof. J. WALTER MC Tafelanschrieb Stand: Oktober 2004
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.
mc
Seite 125Prof. J. WALTER MC Tafelanschrieb Stand: Oktober 2004
Ü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!
mc
Seite 126Prof. J. WALTER MC Tafelanschrieb Stand: Oktober 2004
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
mc
Seite 127Prof. J. WALTER MC Tafelanschrieb Stand: Oktober 2004
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
mc
Seite 128Prof. J. WALTER MC Tafelanschrieb Stand: Oktober 2004
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.
mc
Seite 129Prof. J. WALTER MC Tafelanschrieb Stand: Oktober 2004
Guten Morgen
DOS Disc Operating System Windows Server 2003 – Windows XP Longhorn „Zeitschriften“ im Internet für
Mikrocomputertechnik www.heise.de c‘t www.chip.de www.zdnet.de
1920x1080 Pixel HDTV 1280x720 Pixel HDTV
mc
Seite 130Prof. J. WALTER MC Tafelanschrieb Stand: Oktober 2004
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
mc
Seite 131Prof. J. WALTER MC Tafelanschrieb Stand: Oktober 2004
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
mc
Seite 132Prof. J. WALTER MC Tafelanschrieb Stand: Oktober 2004
Auswahl von Controllern
Options for Target – Device in µVision Buch S. 214 MIPS Million Instructions Per Second http://www.keil.com/dd/parm_search.asp
mc
Seite 133Prof. J. WALTER MC Tafelanschrieb Stand: Oktober 2004
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.
mc
Seite 134Prof. J. WALTER MC Tafelanschrieb Stand: Oktober 2004
Entwicklungsumgebung SFR
Alle Special Function Register sind in der reg*.pdf aufgeführt.
mc
Seite 135Prof. J. WALTER MC Tafelanschrieb Stand: Oktober 2004
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
mc
Seite 136Prof. J. WALTER MC Tafelanschrieb Stand: Oktober 2004
PDL
Program Design Language Was wird programmiert Wie wird programmiert -> abhängig von der
Zielumgebung: C oder Assembler C++ CSharp
mc
Seite 137Prof. J. WALTER MC Tafelanschrieb Stand: Oktober 2004
*.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
mc
Seite 138Prof. J. WALTER MC Tafelanschrieb Stand: Oktober 2004
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
mc
Seite 139Prof. J. WALTER MC Tafelanschrieb Stand: Oktober 2004
Methodisches Vorgehen nach VDI
VDI 2222 / VDI 2224 Tipp „lesen“
mc
Seite 140Prof. J. WALTER MC Tafelanschrieb Stand: Oktober 2004
Guten Tag
Kleine Module testen Bsp. EPROM-Betrieb Embedded System
Der Controller ist in das System eingebettet
mc
Seite 141Prof. J. WALTER MC Tafelanschrieb Stand: Oktober 2004
Wichtige Termine
Präsentation der Mikrocomputer-Projekte 8.2.2005 – 10:00 – Ort HIT Prüfung: Mikrocomputertechnik FT + MT
2.2.2005 -11:00 – 13:00 Dozent steht am Freitag 28.1. ab 8:00-18:00,
für Klausurfragen zur Verfügung.
mc
Seite 142Prof. J. WALTER MC Tafelanschrieb Stand: Oktober 2004
Prinzipielle Verfahren Betriebssystem
Interrupt – Ereignisorientiert Polling – Abfragen/nacheinander Abarbeiten Beispiel: „Aufnahme Läuft“ Kombination
Beim T2 Polling Bei T0 Interrupt
mc
Seite 143Prof. J. WALTER MC Tafelanschrieb Stand: Oktober 2004
Adressierung
Mit 32 Bit lassen sich 4 GByte adressieren Linearer Adressraum Segmentierter Adressraum
mc
Seite 144Prof. J. WALTER MC Tafelanschrieb Stand: Oktober 2004
Mischen con C und *.A51
Komplizierte Übergabe Sehr aufwendig in einer gemischten
Umgebung zu entwickeln Speicherverwaltung immer kritisch
mc
Seite 145Prof. J. WALTER MC Tafelanschrieb Stand: Oktober 2004
Warum Registerbänke
jeweils einer Registerbank wird ein Task zugeordnet
Einer ISR wird eine Registerbank zugeordnet
mc
Seite 146Prof. J. WALTER MC Tafelanschrieb Stand: Oktober 2004
Adressräume
Sie führen die Arbeit des Betriebssystems: Speicherverwaltung durch!
mc
Seite 147Prof. J. WALTER MC Tafelanschrieb Stand: Oktober 2004
Servomotor langsam verfahren
Periodendauer PWM -> 20ms – 50Hz Reloadbetrieb - 45536
Pulsweite: 0,5ms bis 3ms ->19,5ms – 17ms 65536-500=65036 65536-3000=62536 Verfahrweg 2500 Schritte
CCH1,CCL1 = 16Bit Das einzige 16Bit-Register welches mit inc
arbeitet: DPTR Idee: Wir missbrauchen DPTR
mc
Seite 148Prof. J. WALTER MC Tafelanschrieb Stand: Oktober 2004
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
top related