42
Eingebettete Systeme, WS 2003/2004 Teil 10 Mikrocontroller Seite 1 Johann Wolfgang Goethe-Universität Technische Informatik Klaus Waldschmidt © Eingebettete Systeme – Modellierung und Zielarchitekturen Vorlesungsbegleitende Unterlagen WS 2003/2004 Klaus Waldschmidt Teil 10 Mikrocontroller

Eingebettete Systeme – Modellierung und Zielarchitekturen fileDie Mikrocomputer System Familie MCS-51 von Intel Der 8051 ist der Grundtyp der seit 1981 produzierten 8 Bit Mikrocontroller

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Eingebettete Systeme – Modellierung und Zielarchitekturen fileDie Mikrocomputer System Familie MCS-51 von Intel Der 8051 ist der Grundtyp der seit 1981 produzierten 8 Bit Mikrocontroller

Eingebettete Systeme, WS 2003/2004Teil 10 MikrocontrollerSeite 1

Johann Wolfgang Goethe-UniversitätTechnische InformatikKlaus Waldschmidt ©

Eingebettete Systeme –Modellierung und Zielarchitekturen

Vorlesungsbegleitende Unterlagen

WS 2003/2004

Klaus Waldschmidt

Teil 10

Mikrocontroller

Page 2: Eingebettete Systeme – Modellierung und Zielarchitekturen fileDie Mikrocomputer System Familie MCS-51 von Intel Der 8051 ist der Grundtyp der seit 1981 produzierten 8 Bit Mikrocontroller

Eingebettete Systeme, WS 2003/2004Teil 10 MikrocontrollerSeite 2

Johann Wolfgang Goethe-UniversitätTechnische InformatikKlaus Waldschmidt ©

Mikrocontroller

Mikrocontroller sind integrierte Schaltungen, die einen Mikroprozessor-Kern um verschie-dene periphere Schnittstellen und Speicher-bausteine erweitern. Unterschiedliche Auf-gaben können ohne Veränderung der Hard-ware – nur durch Programmierung des Mikro-prozessors – erledigt werden. Die Entwick-lungs- und Testarbeit verlagert sich somit vom Hardwareentwurf zur Softwareerstellung.

Hauptanwendung von Mikrocontrollern sind kleinere Steuerungs- und/oder Regelungs-aufgaben bei denen der Schwerpunkt auf einer Einzelbitverarbeitung und einer hohen I/O-Kapazität liegt.

Zu den Einsatzgebieten zählenbeispielsweise:

• Industriesteuerung

• Motorsteuerung/Servosysteme

• Kommunikationstechnik

• Unterhaltungselektronik

• Mess-, Regelungs- und Automatisierungstechnik

Page 3: Eingebettete Systeme – Modellierung und Zielarchitekturen fileDie Mikrocomputer System Familie MCS-51 von Intel Der 8051 ist der Grundtyp der seit 1981 produzierten 8 Bit Mikrocontroller

Eingebettete Systeme, WS 2003/2004Teil 10 MikrocontrollerSeite 3

Johann Wolfgang Goethe-UniversitätTechnische InformatikKlaus Waldschmidt ©

Literatur

� Das Mikrocontroller KochbuchAndreas RothIWT-Verlag 1997ISBN 3-88322-225-9

� PICmicro TM- MID-Range MCU Family –

Referencce Manual- PIC 12C5xx Datasheet

http://www.microchip.com

� Die Mikrocontroller 8051, 8052 und 80C517Rolf Klausvdf Hochschulverlag an der ETH 1999ISBN 3-7281-2478-8

� AVRR Microcontroller- AT90S4414/AT90S8515 Datasheethttp://www.atmel.com

Page 4: Eingebettete Systeme – Modellierung und Zielarchitekturen fileDie Mikrocomputer System Familie MCS-51 von Intel Der 8051 ist der Grundtyp der seit 1981 produzierten 8 Bit Mikrocontroller

Eingebettete Systeme, WS 2003/2004Teil 10 MikrocontrollerSeite 4

Johann Wolfgang Goethe-UniversitätTechnische InformatikKlaus Waldschmidt ©

Die Mikrocomputer System Familie MCS-51 von Intel

Der 8051 ist der Grundtyp der seit 1981 produzierten 8 Bit Mikrocontroller Familie MCS-51. Der zur Verfügung stehende interne Speicher ist in der für Mikrocontrollertypische Harvard-Architektur – getrennter Adressbereich für Programm- und Daten-speicher – organisiert.

Die Größe des Programm- und des Datenspeichers ist bei den Controllern der MCS-51Familie auf jeweils 64 KByte begrenzt. Bei einem Speicherzugriff liegen die Adressenimmer an beiden Speicherbereichen an. Die Steuerung der Freigabeleitung wird überden Befehlscode gesteuert.

Programmspeicher

ROM

Datenspeicher

RAM

Steuerwerk

(Programmzähler,Instruktionsregister,

Steuerregister)

Datenpfad

(Datenregister,ALU, Shifter,

MUX, DEMUX)

Prozessor (FSMD)

Steuersignale

Mikrobefehle

Bedingungs-codes

Maschinen-befehle

Steuer-signale

Adresse desMaschinen-

befehls

Ergebnisse

Operanden

Page 5: Eingebettete Systeme – Modellierung und Zielarchitekturen fileDie Mikrocomputer System Familie MCS-51 von Intel Der 8051 ist der Grundtyp der seit 1981 produzierten 8 Bit Mikrocontroller

Eingebettete Systeme, WS 2003/2004Teil 10 MikrocontrollerSeite 5

Johann Wolfgang Goethe-UniversitätTechnische InformatikKlaus Waldschmidt ©

Der Mikrocontroller

Der Mikrocontroller 8051 besitzt eine 8 Bit CPU, die für Kontroll- und Steuerfunktion optimiert wurde. Durch den 8 Bit Befehls-code stehen 256 Operationen zur Verfügung,von denen 255 belegt sind. jeder Befehl be-steht aus einem Mnemonic und bis zu zwei 8 Bit Operanden.

Mnemonic [Ziel [ Quelle] ]

Für die Datenmanipulation steht eine ALU zur Verfügung, die arithmetische Operationen(Addition, Subtraktion, Multiplikation und Divi-sion), logische Operationen (AND, OR,XOR) und Schiebeoperationen durchführen kann. Die Auswertung erfolgt über verschiedene Flag-Register (Carry, Overflow. Parity, …).

Besonderheit des 1980 entwickelten Mikrocontroller war der in die CPUintegrierte Boolesche Prozessor, der

eine direkte Einzelbitmanipulation er-möglicht. Für die Einzelbitverarbeitung steht ein eigener Befehlssatz zur Ver-fügung, mit dem einzelne Bits im bit-adressierbaren Speicherbereich ge-setzt, gelöscht, vertauscht, komple-mentiert und logisch mit dem Einzel-bitakkumulator (Carry-Flag) verknüpftwerden können.

Page 6: Eingebettete Systeme – Modellierung und Zielarchitekturen fileDie Mikrocomputer System Familie MCS-51 von Intel Der 8051 ist der Grundtyp der seit 1981 produzierten 8 Bit Mikrocontroller

Eingebettete Systeme, WS 2003/2004Teil 10 MikrocontrollerSeite 6

Johann Wolfgang Goethe-UniversitätTechnische InformatikKlaus Waldschmidt ©

Interner und externer Speicher des Mikrocontrollers 8051

Der 8051 besitzt einen internen 128 Byte Datenspeicher (RAM) und einen internen 4 KByte Programmspeicher (ROM), wel-cher bei der Chipherstellung maskenpro-grammiert werden muss. Haupteinsatz-gebiet des 8051 sind somit Großserien,bei denen die hohen Fixkosten der Mas-kenherstellung auf große Stückzahlenumgelegt werden können.

Für Kleinserien stehen OTP-Typen (onetype programmable) zur Verfügung, dieeine einmalige Programmierung beimKunden erlauben.

Bei der Entwicklung kommen Typenohne integrierten Programmspeicher(8031) oder mit reprogrammierbaremProgrammspeicher (8751 – 4 KByteEPROM) zum Einsatz.

Für die Adressierung des Speichers stehen direkte-, indirekte-, indizierte-,unmittelbare- und Registeradressie-rung zur Verfügung. Die Adressie-rungsart entscheidet bei parallelenSpeicherbefehlen, welcher bei einigenTypen vorhanden ist, auf welchen Be-reich zugegriffen wird.

Page 7: Eingebettete Systeme – Modellierung und Zielarchitekturen fileDie Mikrocomputer System Familie MCS-51 von Intel Der 8051 ist der Grundtyp der seit 1981 produzierten 8 Bit Mikrocontroller

Eingebettete Systeme, WS 2003/2004Teil 10 MikrocontrollerSeite 7

Johann Wolfgang Goethe-UniversitätTechnische InformatikKlaus Waldschmidt ©

Adressierungsarten

1.) Direkte Adressierung (nur interner Speicher)

Die effektive Adresse des Operanden im Speicher wird durch ein 8-Bit Adressfeld im Befehl angegeben.

effektive Adresse Operand

Beispiel:ADD A, 8A

Der Inhalt des Speichers an der Adresse 8A wird zum Akkumulator addiert.

Befehlsbestandteil Speicher

Page 8: Eingebettete Systeme – Modellierung und Zielarchitekturen fileDie Mikrocomputer System Familie MCS-51 von Intel Der 8051 ist der Grundtyp der seit 1981 produzierten 8 Bit Mikrocontroller

Eingebettete Systeme, WS 2003/2004Teil 10 MikrocontrollerSeite 8

Johann Wolfgang Goethe-UniversitätTechnische InformatikKlaus Waldschmidt ©

2.) Register-Adressierung

Der Operand steht im Register, welches durch die niederwertigen 3-Bit Befehlangegeben wird. Die höherwertigen 5-Bit beschreiben die durchzuführendeOperation.

Operand

Befehlsbestandteil Speicher

Beispiel: XCA A, R5

Der Inhalt des Akkumulators wird mit dem Inhalt des Registers R5 getauscht.

Page 9: Eingebettete Systeme – Modellierung und Zielarchitekturen fileDie Mikrocomputer System Familie MCS-51 von Intel Der 8051 ist der Grundtyp der seit 1981 produzierten 8 Bit Mikrocontroller

Eingebettete Systeme, WS 2003/2004Teil 10 MikrocontrollerSeite 9

Johann Wolfgang Goethe-UniversitätTechnische InformatikKlaus Waldschmidt ©

3.) Indirekte Adressierung

Der Befehl bezieht sich auf ein Register, welches die effektive Adresse desOperanden im Speicher enthält.

Speicheradresse

Befehlsbestandteil Register

Operand

Speicher

Beispiel:MOV A @R0

Der Inhalt des Speichers an der im Register R0 stehenden Adresse istwird im Akkumulator geladen

Page 10: Eingebettete Systeme – Modellierung und Zielarchitekturen fileDie Mikrocomputer System Familie MCS-51 von Intel Der 8051 ist der Grundtyp der seit 1981 produzierten 8 Bit Mikrocontroller

Eingebettete Systeme, WS 2003/2004Teil 10 MikrocontrollerSeite 10

Johann Wolfgang Goethe-UniversitätTechnische InformatikKlaus Waldschmidt ©

4.) Unmittelbare Adressierung

Der konstante Operand folgt unmittelbar dem Operationscode im Programmspeicher.

Beispiel:

MOV R2, #0ADas Register wird mit der Dezimalzahl 10 geladen.

Page 11: Eingebettete Systeme – Modellierung und Zielarchitekturen fileDie Mikrocomputer System Familie MCS-51 von Intel Der 8051 ist der Grundtyp der seit 1981 produzierten 8 Bit Mikrocontroller

Eingebettete Systeme, WS 2003/2004Teil 10 MikrocontrollerSeite 11

Johann Wolfgang Goethe-UniversitätTechnische InformatikKlaus Waldschmidt ©

5.) Indizierte Adressierung

Die effektive Adresse ergibt sich aus einer Basisadresse (Datenpointer oderProgrammzähler) und einer variablen Abstandsgröße (Index).

Basisadresse

Befehlsbestandteil Basisregister

Operand

Speicher

Index

Akkumulator

+

Beispiel:MOVC A, @A + DPTR

Die effektive Adresse des Operanden ergibt sich aus dem Inhalt des DatenpointersDPTR und dem Inhalt des Akkumulators

Page 12: Eingebettete Systeme – Modellierung und Zielarchitekturen fileDie Mikrocomputer System Familie MCS-51 von Intel Der 8051 ist der Grundtyp der seit 1981 produzierten 8 Bit Mikrocontroller

Eingebettete Systeme, WS 2003/2004Teil 10 MikrocontrollerSeite 12

Johann Wolfgang Goethe-UniversitätTechnische InformatikKlaus Waldschmidt ©

internerSpeicher

4 KByte(8051/8052)

internerSpeicher

4 KByte(nur 8052)

externerSpeicher

maximal64 KByte

Der Programmspeicher

externerSpeicher

maximal64 KByte

0000h

FFFFhFFFFh

0000h

0FFFh 1000h

1FFFh

EA# = 1 EA# = 0

Der Zugriff auf den internen oder externen Programmspeicher wird durch das Eingangssignal EA#geregelt. Nur wenn an EA# einHigh-Pegel anliegt, wird bis zu derAdresse 0FFFh (1FFFh beim 8052)auf den internen Speicher zugegriffen.

Page 13: Eingebettete Systeme – Modellierung und Zielarchitekturen fileDie Mikrocomputer System Familie MCS-51 von Intel Der 8051 ist der Grundtyp der seit 1981 produzierten 8 Bit Mikrocontroller

Eingebettete Systeme, WS 2003/2004Teil 10 MikrocontrollerSeite 13

Johann Wolfgang Goethe-UniversitätTechnische InformatikKlaus Waldschmidt ©

Der Datenspeicher

SpecialFunctionRegister(SFR)

untererRAM

Bereich

obererRAM

Bereich

(nur 8052)

80h

FFh

00h

7Fh80H

FFh

RegisterBank0

RegisterBank1

RegisterBank 2

RegisterBank 3

BitadressierbarerBereich

zur allgemeinenVerwendung

00h

007h08h

0Fh10h

17h18h

1Fh20h

2Fh30h

7Fh

Der untere RAM Bereich be-steht aus 4 softwaremäßig zuschaltbaren Registerbän-ken – mit jeweils acht 8 BitRegistern -, einem bitadress-ierbaren Bereich für denBooleschen Prozessor und80 Byte RAM zur allgemeinenVerwendung.

Nach einem Reset sind dieRegisterbänke 1, 2 und 3 abgeschaltet und der Stack-pointer zeigt auf Adresse 08h.

Page 14: Eingebettete Systeme – Modellierung und Zielarchitekturen fileDie Mikrocomputer System Familie MCS-51 von Intel Der 8051 ist der Grundtyp der seit 1981 produzierten 8 Bit Mikrocontroller

Eingebettete Systeme, WS 2003/2004Teil 10 MikrocontrollerSeite 14

Johann Wolfgang Goethe-UniversitätTechnische InformatikKlaus Waldschmidt ©

Die Special Function Register des Mikrocontrollers 8051

Parallel zum oberen RAM Bereich, der nurbeim 8052 und den entsprechenden Nach-folgetypen vorhanden ist, befinden sich dieSpecial Function Register. Bei diesen pa-rallelen Speicherbereichen entscheidet dieAdressierungsart, auf welchen Speicherbe-reich zugegriffen wird. Bei direkter Adress-ierung wird auf die Special Function Regis-ter zugegriffen. Eine indirekte Adressierung- über die Register R0 und R1 – führt zueinem Zugriff auf den optionalen RAMBereich.

Die Special Funktion Register ermöglichenu.a. die individuelle Interruptfreigabe, dasStarten des Timers und den Zugriff auf dieI/O-Ports. Spezielle Befehle werden nichtbenötigt, weil alle Register durch direkteAdressierung manipuliert werden können.

Um beispielsweise den Timer zu starten,muss nur das entsprechende Bit imSpecial Function Register gesetzt werden.Einzelbitadressierung ist hierbei möglich.

Page 15: Eingebettete Systeme – Modellierung und Zielarchitekturen fileDie Mikrocomputer System Familie MCS-51 von Intel Der 8051 ist der Grundtyp der seit 1981 produzierten 8 Bit Mikrocontroller

Eingebettete Systeme, WS 2003/2004Teil 10 MikrocontrollerSeite 15

Johann Wolfgang Goethe-UniversitätTechnische InformatikKlaus Waldschmidt ©

Ports

Der Mikrocontroller 8051 besitzt 4 bitdirektiona-le 8 Bit Ports. Die Ports befinden sich an den Adressen 80h, 90h, A0h und B0h im Special Function Register und sind somit bitadressier-bar. Einige dieser Speicherstellen besitzen Zweitfunktionen, die den Ein-/Ausgang für dieserielle Datenübertragung, Leitungen für einenexternen Interrupt und ein Schreib-/Lesesignalfür externes RAM zur Verfügung stellen.Beispielsweise bei der Verwendung eines maxi-malen 64 KByte großen externen Datenspeicherswerden die Ports P0 und P2 (bei mehr als 256 Byte) für die Adressierung des Speichers ver-wendet und stehen nicht für die Ansteuerung derPeripheriebausteinen zur Verfügung. Für den Zu-griff auf den externen Speicher steht eine eigeneKlasse an Befehlen zur Verfügung.

Jeder Port besteht pro Speicherstelleaus einem Latch (D-Flipflop), das alsBitwert im zugehörigen Special Func-tion Register realisiert ist. Bei einerVerwendung als Ausgang wird einSchreibbefehl im Special FunctionRegister direkt an den Ausgang wie-tergeleitet. Für die Verwendung alsEingang muss das entsprechende Special Function Register auf denWert 1 gesetzt werden. Anschließendkann der Registerinhalt abgefragt werden.

Page 16: Eingebettete Systeme – Modellierung und Zielarchitekturen fileDie Mikrocomputer System Familie MCS-51 von Intel Der 8051 ist der Grundtyp der seit 1981 produzierten 8 Bit Mikrocontroller

Eingebettete Systeme, WS 2003/2004Teil 10 MikrocontrollerSeite 16

Johann Wolfgang Goethe-UniversitätTechnische InformatikKlaus Waldschmidt ©

Der Oszillator und der Maschinenzyklus

Der integrierte Taktgenerator – realisiertdurch einen einstufigen linearen Inverter –ist für die Verwendung eines Quarz-Kris-talls oder eines keramischen Resonatorsals frequenzbestimmender Teil vorgesehen.Die Beschaltung erfolgt über die Ein- undAusgänge XT AL1 und XT AL2 bzw. bei der Verwendung eines externen Taktesüber XT AL2 (XT AL1 an GND).

Die Standardoszillatorfrequenz der Con-troller beträgt 12 MHz. Da die Taktfrequenzeinen großen Einfluss auf den Leistungs-verbrauch hat, sollte diese insbesonderebei einem mobilen Einsatz sehr genau denLeistungsanforderungen angepasst werden.

Ein Maschinenzyklus besteht aus 6 Einzel-zyklen (S1 bis S6) mit jeweils 2 Oszillator-perioden. Jeweils 12 Oszillatorperioden bil-den somit einen Maschinenzyklus (1µs bei12 MHz).

Der Befehlssatz stellt 1 bis 3 Byte Befehle zur Verfügung, für deren Ausführung einoder zwei Maschinenzyklen (Multiplikationund Division: 4 Maschinenzyklen) benötigtwerden.

Page 17: Eingebettete Systeme – Modellierung und Zielarchitekturen fileDie Mikrocomputer System Familie MCS-51 von Intel Der 8051 ist der Grundtyp der seit 1981 produzierten 8 Bit Mikrocontroller

Eingebettete Systeme, WS 2003/2004Teil 10 MikrocontrollerSeite 17

Johann Wolfgang Goethe-UniversitätTechnische InformatikKlaus Waldschmidt ©

Der Maschinenzyklus

Page 18: Eingebettete Systeme – Modellierung und Zielarchitekturen fileDie Mikrocomputer System Familie MCS-51 von Intel Der 8051 ist der Grundtyp der seit 1981 produzierten 8 Bit Mikrocontroller

Eingebettete Systeme, WS 2003/2004Teil 10 MikrocontrollerSeite 18

Johann Wolfgang Goethe-UniversitätTechnische InformatikKlaus Waldschmidt ©

Timer

Im 8051 stehen zwei 16 Bit Timer zurVerfügung die auch, durch setzen desentsprechenden Bits im Timer ControlRegister, als Zähler verwendet werdenkönnen.

Der Timer zählt die Anzahl der Maschi-nenzyklen (12 Oszillatorperioden) undwird bei einem Takt von 12 Mhz im Ab-stand von 1 µs inkrementiert.

Bei der Verwendung als Zähler werden dieAnzahl der High-Low Übergänge (Pegel-wechsel) in aufeinander folgenden Maschinen-zyklen (Test erfolgt jeweils in S5) am korres-pondierenden Pin (Pin T0 für Zähler 0 und Pin T1 für Zähler 1) gezählt. Diese Pins sind Zweitfunktionen des Ports P3 und reduzierensomit die Anzahl der Steuerleitungen für dieexterne Peripherie. Die maximale Zählerfre-quenz entspricht der Taktfrequenz.

Bei einem Überlauf des Timers wird ein Inter-rupt ausgelöst.

212

1

Page 19: Eingebettete Systeme – Modellierung und Zielarchitekturen fileDie Mikrocomputer System Familie MCS-51 von Intel Der 8051 ist der Grundtyp der seit 1981 produzierten 8 Bit Mikrocontroller

Eingebettete Systeme, WS 2003/2004Teil 10 MikrocontrollerSeite 19

Johann Wolfgang Goethe-UniversitätTechnische InformatikKlaus Waldschmidt ©

Serieller Port

Die Controller verfügen über einen empfangs-gepufferten seriellen Port. Der Empfangspufferermöglicht ein Lesen des nächsten Bytes be-vor das aktuelle Byte in das Empfangsregistergeschrieben wurde.

Der serielle Port besitzt separate Sende- und Empfangsregister, die einen Duplex-Betrieb(simultanes Senden und Empfangen) ermög-lichen. Direktes Lesen und Schreiben desSende-/Empfangsregisters ist jedoch nichtmöglich. Der Zugriff erfolgt über ein SpecialFunction Register. Schreibbefehle an dieses Register werden an das Senderegister weiter-geleitet. Das Empfangsregister kann durchLesen des Special Function Register ausge-lesen werden.

Übertragungsmodi:

� bitweise Senden oder Empfangen über den RxD-Pin (der TxD-Pin über-trägt einen Schiebetrakt mit einemzwölftel der Oszillatorfrequenz)

� simultanes Senden und Empfangenüber TxD- bzw. RxD-Pin (der Taktwird aus der Oszillatorfrequenz oderdurch einen Zählerüberlauf generiert)

Page 20: Eingebettete Systeme – Modellierung und Zielarchitekturen fileDie Mikrocomputer System Familie MCS-51 von Intel Der 8051 ist der Grundtyp der seit 1981 produzierten 8 Bit Mikrocontroller

Eingebettete Systeme, WS 2003/2004Teil 10 MikrocontrollerSeite 20

Johann Wolfgang Goethe-UniversitätTechnische InformatikKlaus Waldschmidt ©

Interrupts

Interrupts erlauben eine spontane Reaktionauf äußere und innere Ereignisse.

Bei dem 8051 Mikrocontroller gibt es 2 externeund 3 interne Interruptquellen, welche indivi-duell über das Interrupt Enable Register frei-gegeben oder gesperrt werden könnte.

Bei den externen Interruptquellen kann überdas entsprechende Bit im Timer Control Re-gister gesteuert werden, ob der Interrupt beieinem Low-Pegel oder bei einer negativenFlanke am entsprechenden Eingang ausge-löst werden soll. Da dieses Ereignis nur ein-mal innerhalb eines Maschinenzyklusses ab-gefragt wird, muss das Signal mind. 12 Oszil-latorperioden am Eingang anliegen.

Interne Interrupts werden durch den Zähleroder durch den seriellen Port ausgelöst.

In dem Interrupt Priority Register kann je-dem einzelnen Interrupt eine von zweiPrioritätsebenen (Voreinstellung: unterePrioritätsebene) zugeordnet werden.Interrupts der unteren Prioritätsebene können keine Interrupts der oberen Prio-ritätsebene unterbrechen, wenn sich diese gerade in der Bearbeitung befinden.

Page 21: Eingebettete Systeme – Modellierung und Zielarchitekturen fileDie Mikrocomputer System Familie MCS-51 von Intel Der 8051 ist der Grundtyp der seit 1981 produzierten 8 Bit Mikrocontroller

Eingebettete Systeme, WS 2003/2004Teil 10 MikrocontrollerSeite 21

Johann Wolfgang Goethe-UniversitätTechnische InformatikKlaus Waldschmidt ©

Interrupts

Da Interrupts nur einmal pro Maschinen-zyklus abgefragt werden, können mehrereInterrupts in einem Maschinenzyklus„gleichzeitig“ auftreten. Die Abarbeitungder Interrupts einer Prioritätsebene ge-schieht dann in einer vorgegebenen Reihenfolge.

Reset:

Der Reset ist ein nicht maskierbarer Inter-rupt mit dem Ziel, einige Register in einen definierten Zustand zu versetzen. Hierzuwird ein intern festgelegter Resetalgorith-mus abgearbeitet, der den Programm-zähler und die Special Function Registermit dem Wert 0 initialisiert. Ausgenommensind die Portregister, die mit dem Wert 1initialisiert werden und der Stackpointer(Wert 07h).

Wenn beim Anlegen der Versorgungs-spannung kein Reset durchgeführt wird, besitzt der Controller undefiniertes Ver-halten.

Page 22: Eingebettete Systeme – Modellierung und Zielarchitekturen fileDie Mikrocomputer System Familie MCS-51 von Intel Der 8051 ist der Grundtyp der seit 1981 produzierten 8 Bit Mikrocontroller

Eingebettete Systeme, WS 2003/2004Teil 10 MikrocontrollerSeite 22

Johann Wolfgang Goethe-UniversitätTechnische InformatikKlaus Waldschmidt ©

Interruptsausführung

Bei der Ausführung eines Interrupts wird,wenn nicht ein Interrupt höherer Priortitätausgeführt wird, der aktuelle Wert desProgrammzählers (16 Bit) auf dem Stackabgelegt. Weitere Register werden nichtgesichert. Anschließend wird der Pro-grammzähler mit dem neuen Wert ge-laden und somit in die Interruptroutineverzweigt.

RESET

Extern 0

Timer 0

Extern 1

Timer 1

Serieller Port

Timer 2 (nur 8032)

ROM

000h

0003h

000Bh

0013h

001Bh

0023h

002BhMit dem Befehl RETI wird die Ausführungdes Interrupts beendet.

Page 23: Eingebettete Systeme – Modellierung und Zielarchitekturen fileDie Mikrocomputer System Familie MCS-51 von Intel Der 8051 ist der Grundtyp der seit 1981 produzierten 8 Bit Mikrocontroller

Eingebettete Systeme, WS 2003/2004Teil 10 MikrocontrollerSeite 23

Johann Wolfgang Goethe-UniversitätTechnische InformatikKlaus Waldschmidt ©

Leistungsverbrauchreduzierung (CMOS)

Durch das Setzen des entsprechenden Bitsim Power Control Register kann der Mikro-controller in einen Idle- oder einen Power-Down-Modus geschaltet werden.

Im Idle-Modus wird das Taktsignal für dieCPU abgeschaltet (der Taktgenerator wirdvon der CPU getrennt). Dies führt zu einerReduktion des Leistungsverbrauchs umetwa 15 %.

Das RAM und die internen Peripherie-funktionen bleiben in Betrieb. Ein Interrupt(inkl. Reset) sorgt für ein Verlassen desIdle-Modus.

Im Power-Down-Modus wird derOszillator abgeschaltet. Der Leistungs-verbrauch wird in diesem Modus aufunter 10 µA reduziert.

Das RAM wird weiterhin mit Spannungversorgt (somit auch die Special Func-tion Register und die Ports). Eine Be-endigung dieses Modus ist nur mit einem Hardware-Reset möglich. Dieser initialisiert die Special FunctionRegister, jedoch nicht das RAM.

Page 24: Eingebettete Systeme – Modellierung und Zielarchitekturen fileDie Mikrocomputer System Familie MCS-51 von Intel Der 8051 ist der Grundtyp der seit 1981 produzierten 8 Bit Mikrocontroller

Eingebettete Systeme, WS 2003/2004Teil 10 MikrocontrollerSeite 24

Johann Wolfgang Goethe-UniversitätTechnische InformatikKlaus Waldschmidt ©

Die Mikrocontroller Familie 8051

CMOS264K128 Byte64K4K EPROM87C51

CMOS264K128 Byte64K-80C31

CMOS264K128 Byte64K4 K80C51

NMOS264K256 Byte64K8K EPROM8752

NMOS264K256 Byte64K-8032

NMOS264K256 Byte64K8K8052

NMOS264K128 Byte64K4K EPROM8751

NMOS264K128 Byte64K-8031

NMOS264K128 Byte64K4K8051

Technik16-Bit Timer

Externes RAM

Internes RAM

Externes ROM

Internes ROM

Baustein

Page 25: Eingebettete Systeme – Modellierung und Zielarchitekturen fileDie Mikrocomputer System Familie MCS-51 von Intel Der 8051 ist der Grundtyp der seit 1981 produzierten 8 Bit Mikrocontroller

Eingebettete Systeme, WS 2003/2004Teil 10 MikrocontrollerSeite 25

Johann Wolfgang Goethe-UniversitätTechnische InformatikKlaus Waldschmidt ©

Der Mikrocontroller 8051/8052

8031/8032 kein interner Speicher8051 (4K)/8052 (8K) ROM8751 (4K)/8752 (8K) EPROM

internes ROM/EPROMinternes RAM

SpecialFunctionRegister

128 ByteRAM

(nur 8x52)

128 ByteRAM

FFh

80h

7Fh

00H

Tim

er 1

Tim

er 0

Tim

er 2

(nur

8xx

2)

Interruptkontrolle

Input/Output

Rechnerkern

Buskontrolle

Osz

illat

or

ProzessorPort 0 8 Bit

Port 0 8 Bit

Port 0 8 Bit

Port 0 8 Bit

serielleSchnittstelle

Page 26: Eingebettete Systeme – Modellierung und Zielarchitekturen fileDie Mikrocomputer System Familie MCS-51 von Intel Der 8051 ist der Grundtyp der seit 1981 produzierten 8 Bit Mikrocontroller

Eingebettete Systeme, WS 2003/2004Teil 10 MikrocontrollerSeite 26

Johann Wolfgang Goethe-UniversitätTechnische InformatikKlaus Waldschmidt ©

INT 0/P3.2

INT 1/P3.3

EA

PSEN

INT 0/P3.2

INT 1/P3.3

EA

PSEN

123456

7

8

9

10

11

12

13

14

15

16

17

39

38

37

36

35

34

33

32

31

30

29

2827262524232221201918

44 43 42 41 40

P1.4 P1.3 P1.2 P1.1 P1.0

A8

NC VCC P0.0 P0.1 P0.2 P0.3

P3.6 P3.7XTALXTAL VSS NC P2.0 P2.1 P2.4P2.3P2.2

A12A11A10A9A8WR RD 2 1

AD3AD2AD1AD0

P2.6

P2.7

ALE

NC

P0.7

P0.6

P0.5

P0.4

A13

A15

AD4

A14

AD5

AD6

AD7

P2.5T1/P3.5

T0/P3.4

TxD/P3.1

NC

RxD/P3.0

RST/VPD

P1.7

P1.6

P1.5

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

40

39

38

37

36

35

34

33

32

31

30

29

28

27

26

21

22

23

24

25

80518031

80518031

PLCC 44DIP 40

P1.6

RxD/P3.0

P1.0

P1.1

P1.2

P1.3

P1.4

P1.5

P1.7

RST/VPD

TxD/P3.1

T0/P3.4

T1/P3.5

WR/P3.6

RD/P3.7

XTAL2

XTAL1

VSS P2.0

P2.1

P2.2

P2.3

P0.7

P0.6

P0.5

P0.4

P0.3

P0.2

P0.1

P0.0

VCC

ALE

P2.7

P2.6

P2.5

P2.4

AD7

AD6

AD5

AD4

AD3

AD2

AD1

AD0

A15

A14

A13

A12

A11

A10

A9

Pinbelegung des 8031/8051

Page 27: Eingebettete Systeme – Modellierung und Zielarchitekturen fileDie Mikrocomputer System Familie MCS-51 von Intel Der 8051 ist der Grundtyp der seit 1981 produzierten 8 Bit Mikrocontroller

Eingebettete Systeme, WS 2003/2004Teil 10 MikrocontrollerSeite 27

Johann Wolfgang Goethe-UniversitätTechnische InformatikKlaus Waldschmidt ©

Minimalsystem und erweitertes System

Ein Minimal System ist die kleinst-mögliche Anzahl von Bauteilen, die zum Aufbau eines vollständi-gen Computers benötigt werden.

Bei einem erweiterten System wird das Minimalsystem um externe Speicher und/oder externe I/O-Pins erweitert.

8

8

8

8

Peripherie

8

8

6

8 Peripherie

80518051

RAM PROM IOz.B. 8255 Perip

herie8

8

8

8

8

8

8

Page 28: Eingebettete Systeme – Modellierung und Zielarchitekturen fileDie Mikrocomputer System Familie MCS-51 von Intel Der 8051 ist der Grundtyp der seit 1981 produzierten 8 Bit Mikrocontroller

Eingebettete Systeme, WS 2003/2004Teil 10 MikrocontrollerSeite 28

Johann Wolfgang Goethe-UniversitätTechnische InformatikKlaus Waldschmidt ©

Anwendungsbeispiel – Laufschriften für Reklamezwecke

Zwischenspeicher Multiplexer

Page 29: Eingebettete Systeme – Modellierung und Zielarchitekturen fileDie Mikrocomputer System Familie MCS-51 von Intel Der 8051 ist der Grundtyp der seit 1981 produzierten 8 Bit Mikrocontroller

Eingebettete Systeme, WS 2003/2004Teil 10 MikrocontrollerSeite 29

Johann Wolfgang Goethe-UniversitätTechnische InformatikKlaus Waldschmidt ©

Laufschriften für Reklamezwecke

Laufschriften werden üblicherweise mit LED-Matrizen dargestellt. Die Ansteue-rung der LEDs geschieht über ein zeilen-weises multiplexen. Die Zwischenspeicherwerden sequentiell mit den Bitmustern

der Zeile geladen. Die LEDs werden dann durch Freigabe des entsprechendenTransistors angesteuert. Diese Schritte müssen periodisch mit einer hohen Fre-quenz ausgeführt werden, um dem Be-trachter einen Text anzuzeigen.

Die Größe der LED-Matrix ist u.a. durch dieAnzahl der benötigten Steuerleitungen be-grenzt:

� 8 Bit Datenbus für die Ansteuerung desZwischenspeichers

� Leitungen für die Selektion desZwischenspeichers (bei 8 Bit Zwischen-speichern)

� |Zeilen| Leitungen für die Zeilenauswahl(Ansteuerung der Transistoren)

Die Anzahl der Steuerleitungen kann mitDecoderbausteinen reduziert werden.

��

���

8

|Spalten|

Page 30: Eingebettete Systeme – Modellierung und Zielarchitekturen fileDie Mikrocomputer System Familie MCS-51 von Intel Der 8051 ist der Grundtyp der seit 1981 produzierten 8 Bit Mikrocontroller

Eingebettete Systeme, WS 2003/2004Teil 10 MikrocontrollerSeite 30

Johann Wolfgang Goethe-UniversitätTechnische InformatikKlaus Waldschmidt ©

Die PIC-Familie

Bei den Mikrocontrollern der PIC-Familiehandelt es sich um RISC-Controller mitetwa 30 bis 60 Instruktionen (33 Instruk-tionen beim PIC 12C5xx). Eine Gruppie-rung der Mikrocontroller erfolgt durch dieLänge der Instruktionswörter:

� Base-Line 12 Bit

� Mid-Range 14 Bit

� High-End 16 Bit

Die Harvard-Architektur ermöglicht einenparallelen Zugriff auf den Daten- und denProgrammspeicher. Die Breite des Bus-ses zum Programmspeicher entspricht der Länge der Instruktionswörter, so dasseine Instruktion in einem Taktschritt ge-lesen und in das Instruktionsregister ge-schrieben werden kann (fetch). Da die Instruktion alle benötigten Daten enthält,kann sie im nächsten Taktschritt dekodiertund ausgeführt werden (execution). DieAusführung aller zur Verfügung stehendenOperationen ist in einem Taktschritt mög-lich. Ausnahme sind Verzweigungen, diezwei Taktschritte benötigen.

Page 31: Eingebettete Systeme – Modellierung und Zielarchitekturen fileDie Mikrocomputer System Familie MCS-51 von Intel Der 8051 ist der Grundtyp der seit 1981 produzierten 8 Bit Mikrocontroller

Eingebettete Systeme, WS 2003/2004Teil 10 MikrocontrollerSeite 31

Johann Wolfgang Goethe-UniversitätTechnische InformatikKlaus Waldschmidt ©

Pipelining

Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4Q1 Q2 Q3 Q4

OSC1

1. MOVLW 55h2. MOVWF PortB3. CALL SUB4. BSF PortA, Bit35. Instruction at address SUB

Fetch SUB + 1Execute SUBFetch SUB

FlushExecute 3Fetch 4

Execute 2Fetch 3

Execute 1Fetch 2

Fetch 1

clk 1 clk 2 clk 6clk 5clk 4clk 3

Das anliegende Taktsignal wird internin 4 Zustände (Execution: Decode (Q1),Read Data (Q2), Process Data (Q3) undWrite Data (Q4)) eingeteilt.

Das Lesen einer Instruktion mit anschließen-der Ausführung wird durch die 2-stufige In-struktions-Pipeline ermöglicht. Eine Verzö-gerung tritt auf, wenn der Programmzählermit einem neuen Wert geladen wird (Flush).

Page 32: Eingebettete Systeme – Modellierung und Zielarchitekturen fileDie Mikrocomputer System Familie MCS-51 von Intel Der 8051 ist der Grundtyp der seit 1981 produzierten 8 Bit Mikrocontroller

Eingebettete Systeme, WS 2003/2004Teil 10 MikrocontrollerSeite 32

Johann Wolfgang Goethe-UniversitätTechnische InformatikKlaus Waldschmidt ©

PIC 12C5xx

Bei der PIC 12C5xx Familie handelt es sich um 8 Bit CMOS-Mikrocontroller, die in einem8 Pin Gehäuse untergebracht sind.

7

VSS

GP0

GP1

GP2 / T0CKI

VDD

GP5 / OSC1 / CLKIN

GP4 / OSC2

GP3 / MCLR / VPP 4

3

2

1

5

6

8

Die Controller stehen mit verschiedenen Speichervarianten zur Verfügung.

41 Byte1024 x 12PIC 12CR509A

16 Byte41 Byte1024 x 12PIC 12CE519

16 Byte25 Byte512 x 12PIC 12CE518

41 Byte1024 x 12PIC 12C509 (A)

25 Byte512 x 12PIC 12C508 (A)

EPROM Data

RAMData

ROM Program

EPROMProgram

MemoryDevice

Weiter Typen besitzen einen integrierten A/D-Wandler.

Page 33: Eingebettete Systeme – Modellierung und Zielarchitekturen fileDie Mikrocomputer System Familie MCS-51 von Intel Der 8051 ist der Grundtyp der seit 1981 produzierten 8 Bit Mikrocontroller

Eingebettete Systeme, WS 2003/2004Teil 10 MikrocontrollerSeite 33

Johann Wolfgang Goethe-UniversitätTechnische InformatikKlaus Waldschmidt ©

PIC 12C5xx

Der PIC 12C5xx Mikrocontroller wirdüblicherweise mit 4 MHz betrieben. Auf-grund der 4 Zustände ergibt sich eineMaschinenzykluslänge von 1 µs.

Dieser Takt kann extern oder durch eineninternen RC Oszillator erzeugt werden. Der interne Oszillator ist jedoch nicht fürzeitkritische Anwendungen geeignet, weildie Frequenz sehr stark von der Span-nungsversorgung und der Temperaturabhängig ist. Eine Frequenz von 4 MHzwird bei einer Spannung von 5V undeiner Temperatur von 25°C erreicht.

Die integrierte ALU kann die Operationen

� Addition, Subtraktion

� logische Operationen (AND, OR, XOR)

�Schiebeoperationen

durchführen.

Für die Kommunikation stehen 6 bidirek-tionale Ports (GP0 bis GP5) zur Verfügung,die teilweise für ein Wakeup aus einemSleep-Modus verwendet werden können.

Page 34: Eingebettete Systeme – Modellierung und Zielarchitekturen fileDie Mikrocomputer System Familie MCS-51 von Intel Der 8051 ist der Grundtyp der seit 1981 produzierten 8 Bit Mikrocontroller

Eingebettete Systeme, WS 2003/2004Teil 10 MikrocontrollerSeite 34

Johann Wolfgang Goethe-UniversitätTechnische InformatikKlaus Waldschmidt ©

PIC 12C5xx

ROM/EPROM512 x 12 or1024 x 12ProgramMemory

Program Counter

RAM25 x 8 or

41 x 8File

Registers

Stack 1Stack 2

2-stufiger Stack

FSR Register

STATUS Register

Addr MUX

MUX

ALU

W RegisterTimer 0

Instruction Register

InstructionDecode &

Control

TimingGeneration

Internal RCOSC

Device ResetTimer

Power-onReset

WatchdogTimer

MCLRVDD, VSS

OSC1/CLKINOSC2

RAM Addr.

Direct Addr 5

12 8

8

3

8

16 x 8EEPROM

DataMemory

PIC 12CE5xxOnly

GP0GP1GP2/T0CKIGP3/MCLR/VPPGP4/OSC2GP5/OSC1/CLKIN

12Program

Bus

Data Bus

SC

L

SD

A

indirectAddr5-7

9

GPIO

Page 35: Eingebettete Systeme – Modellierung und Zielarchitekturen fileDie Mikrocomputer System Familie MCS-51 von Intel Der 8051 ist der Grundtyp der seit 1981 produzierten 8 Bit Mikrocontroller

Eingebettete Systeme, WS 2003/2004Teil 10 MikrocontrollerSeite 35

Johann Wolfgang Goethe-UniversitätTechnische InformatikKlaus Waldschmidt ©

PIC 12C5xx Befehlssatz

opcode d f

opcode b f

opcode k

Byte-oriented

Bit-oriented

Linear and Control

11 10 9 8 7 6 5 4 3 2 1 0

0001 11df ffff0010 11df ffff

11 (2)

Add W and fDecrement f, Skip if 0

ADDWF f,dDECFSZ f,d

1110 kkkk kkkk1001 kkkk kkkk

12

AND literal with WCall subroutine

ANDLW kCALL k

Literal and Control Operations

0100 bbbf ffff0101 bbbf ffff

11

Bit Clear fBit Set f

BCF f,bBSF f,b

Bit-Oriented File Register Operations

Byte-Oriented File Register Operations

Msb Lsb

12 Bit OpcodeCyclesDescriptionMnemonic,

Operands

Page 36: Eingebettete Systeme – Modellierung und Zielarchitekturen fileDie Mikrocomputer System Familie MCS-51 von Intel Der 8051 ist der Grundtyp der seit 1981 produzierten 8 Bit Mikrocontroller

Eingebettete Systeme, WS 2003/2004Teil 10 MikrocontrollerSeite 36

Johann Wolfgang Goethe-UniversitätTechnische InformatikKlaus Waldschmidt ©

Der Operand f bezeichnet eine 5 Bit RegisterAdresse (00h bis 1Fh), W ist der 8 Bit Akku-mulator (nicht adressierbar), b eine 3 Bit Adresse im 8 Bit Register und k eine 8 BitLiteral.

Das Bit d (destination select) gibt an, ob dasErgebnis im Akkumulator (d=1) oder im Re-gister f (d=0) gespeichert werden soll.

Page 37: Eingebettete Systeme – Modellierung und Zielarchitekturen fileDie Mikrocomputer System Familie MCS-51 von Intel Der 8051 ist der Grundtyp der seit 1981 produzierten 8 Bit Mikrocontroller

Eingebettete Systeme, WS 2003/2004Teil 10 MikrocontrollerSeite 37

Johann Wolfgang Goethe-UniversitätTechnische InformatikKlaus Waldschmidt ©

Daten und Programmspeicher

INDFTMROPCL

STATUSFSR

OSCCALGPIO

GeneralPurposeRegister

GeneralPurposeRegisters

Addressesmap back toaddressesin Bank 0

GeneralPurposeRegisters

Bank 1Bank 0

20h

2Fh30h

3Fh

PIC 12C509 (A)PIC 12CR509 APIC 12CE519

00h01h02h03h04h05h06h07h

0Fh10h

1Fh

Page 38: Eingebettete Systeme – Modellierung und Zielarchitekturen fileDie Mikrocomputer System Familie MCS-51 von Intel Der 8051 ist der Grundtyp der seit 1981 produzierten 8 Bit Mikrocontroller

Eingebettete Systeme, WS 2003/2004Teil 10 MikrocontrollerSeite 38

Johann Wolfgang Goethe-UniversitätTechnische InformatikKlaus Waldschmidt ©

Der PIC 12C5xx besitzt 7 Special FunktionRegister, die vollständig im Datenspeicherintegriert sind. Zu den Special Function Re-gister zählen u. a. ein 8 Bit Echtzeit-Timer/Zähler (TMR0), die unteren 8 Bit des Pro-grammzählers (PCL), das Status-Flag(STATUS) und die I/O-Ports (GPIO). Zu-sätzlich sind noch 25 (bzw. 41) Byte freiverfügbar.

Der Programmspeicher kann je nachTyp 512 oder 1024 Instruktionen auf-nehmen. Im Gegensatz zu anderen Mikrocontrollern wird kein Speicherfür die Operanden benötigt (bis zu 2Byte beim 8051), da alle Informationenschon im 12 Bit Instruktionswort ent-halten sind.

Page 39: Eingebettete Systeme – Modellierung und Zielarchitekturen fileDie Mikrocomputer System Familie MCS-51 von Intel Der 8051 ist der Grundtyp der seit 1981 produzierten 8 Bit Mikrocontroller

Eingebettete Systeme, WS 2003/2004Teil 10 MikrocontrollerSeite 39

Johann Wolfgang Goethe-UniversitätTechnische InformatikKlaus Waldschmidt ©

Die AVR-Mikrocontroller

Bei den AVR-Mikrocontrollern handelt es sich um 8 Bit RISC-Controller, wel-che für die Programmierung mit einer Hochsprache (C) optimiert wurden. Dies wurde durch einen Controller-Compiler Co-Design erreicht.

Merkmale:

� Harvard-Architektur

� 2-stufige Pipeline, 128 Instruktionen

� 32 8 Bit Registerin einem Taktschritt können zwei Oper-anden aus den Registern gelesen, einegewünschte Operation ausgeführt unddas Ergebnis zurückgeschrieben werden.

� Adressierungsmodi:- indirekte Adressierung

(mit Post-/Pre-Decrement)- indirekte Adressierung mit Displacement- direkte Adressierung

� Idle- und Power-Down-Modus

Page 40: Eingebettete Systeme – Modellierung und Zielarchitekturen fileDie Mikrocomputer System Familie MCS-51 von Intel Der 8051 ist der Grundtyp der seit 1981 produzierten 8 Bit Mikrocontroller

Eingebettete Systeme, WS 2003/2004Teil 10 MikrocontrollerSeite 40

Johann Wolfgang Goethe-UniversitätTechnische InformatikKlaus Waldschmidt ©

Oscilator

WatchdogTimer

Timing andControl

StackPointer

ProgramCounter

ProgramFlash

SRAM

GeneralPurposeRegisters

X

ZY

InstructionRegister

InstructionDecoder

ControlLines ALU

MCU ControlRegister

Timer/Counters

InterruptUnit

EEPROM

StatusRegisters

SPIProgrammingLogic

UART

Port D Drivers

Data RegisterPort D

Data Dir.Reg. Port D

Data RegisterPort A

Port A Drivers

Data Dir.Reg. Port A

Port C Drivers

Data RegisterPort C

Internal8 Bit Data Bus

Data Dir.Reg. Port C

Port B Drivers

Data RegisterPort B

Data Dir.Reg. Port B

Oscillator

PC0 - PC7

PB0 - PB7 PD0 - PD7

PA0 - PA7

VCC

GND

RESET

ICP

ALE

XTAL1

XTAL2

AZ90S4414 /AT90S8515

Page 41: Eingebettete Systeme – Modellierung und Zielarchitekturen fileDie Mikrocomputer System Familie MCS-51 von Intel Der 8051 ist der Grundtyp der seit 1981 produzierten 8 Bit Mikrocontroller

Eingebettete Systeme, WS 2003/2004Teil 10 MikrocontrollerSeite 41

Johann Wolfgang Goethe-UniversitätTechnische InformatikKlaus Waldschmidt ©

AT90S4414 / AT90S8515 Port A Drivers Port A Drivers

Data RegisterPort A

Data Dir.Reg. Port A

Data RegisterPort C

Data Dir.Reg. Port C

InternetOscillator

Oscillator

WatchingTimer

Timing andControl

Timer/Counters

InterruptUnit

EEPROM

UART

Port A Drivers Port A Drivers

Data RegisterPort B

Data Dir.Reg. Port B

Data RegisterPort D

Data Dir.Reg. Port D

UARTUART

UART

Page 42: Eingebettete Systeme – Modellierung und Zielarchitekturen fileDie Mikrocomputer System Familie MCS-51 von Intel Der 8051 ist der Grundtyp der seit 1981 produzierten 8 Bit Mikrocontroller

Eingebettete Systeme, WS 2003/2004Teil 10 MikrocontrollerSeite 42

Johann Wolfgang Goethe-UniversitätTechnische InformatikKlaus Waldschmidt ©

Beispiel

C-Routine:

void routine(void){

long n1; //32 Bit (R3..R0)long n2; // 32 Bit (R7..R4)int n3; //16 Bit (R17:R16)…if( n1 != n2) n3 +=5;

}

Assembler-Routine:

cp R0, R4 ; n1-n2 (byte 0)cpc R1, R5 ; n1-n2-C (byte 1)cpc R2, R6 ; n1-n2-C (byte2)cpc R3, R7 ; n1-n2-C (byte 3)breq EQUAL ; branch if equalsubi R16,LOW(0xfffb) ; n3+5 (Lowbyte)suci R17;HIGH(0xfffb) ; n3+C (Highbyte)

EQUAL: