11. Mikrocontroller Einführung

Größe: px
Ab Seite anzeigen:

Download "11. Mikrocontroller. 11.1 Einführung"

Transkript

1 11. Mikrocontroller 11.1 Einführung Mikroprozessoren sind monolithisch integrierte Rechner-Baugruppen, die zumindest Steuerwerk und Rechenwerk umfassen. Während bei früheren Mikroprozessoren die Ein- / Ausgabe-Einheiten auf separaten Baugruppen untergebracht waren, sind sie bei modernen Mikroprozessoren mit integriert. Mikrocontroller umfassen nicht nur den Rechnerkern, sondern zusätzlich auch ROM (read-onlymemory) und RAM (random access memory)- Speicher. Solche Bausteine werden in großer Breite Aufgaben der Steuerung von Geräten und Anlagen eingesetzt. Während bei der Entwicklung von Software, die auf Universalrechnern ablaufen soll, die Programmierung fast ausschließlich in Hochsprachen (C, C++, PASCAL, FORTRAN) erfolgt, wird die Programmierung von Mikrocontrollern in der Praxis durchaus noch auf der Ebene der Assembler-Befehle durchgeführt. Zwar sind auch für die wichtigsten Mikrocontroller längst Compiler verfügbar, der damit erzeugte Code ist aber vergleichsweise länger und läuft langsamer als handoptimierter Code (typische jeweils um einen Faktor 2). Während bei Mikroprozessoren, wie sie in PCs und Workstations eingesetzt werden, längst 32 Bit- Architekturen vorherrschen, werden bei Mikrocontrollern auch 8-Bit und 16-Bit-Architekturen weiter in großer Anzahl verwendet. Für 32 Bit-Mikrocontroller werden sogar noch sinnvolle Anwendungen gesucht. Wegen der großen Bedeutung für die industrielle Praxis soll in diesem Kapitel ein Mikrocontroller mit seinem Befehlssatz und seinen Eigenschaften vorgestellt werden. Als typisches Beispiel kann der 8051 von Intel gelten, auf dessen Basis es eine ganze Familie unterschiedlicher Mikrocontroller, auch von anderen Herstellern, gibt. Mikrocontroller beinhalten zumeist relativ einfach aufgebaute Rechner-Kerne. Prinzipien wie Pipelining etc. findet man nur bei neueren High-End-Mikroprozessoren. Sie sind dort nicht mal sehr wünschenswert, da sie die effiziente Bearbeitung von Interrupt-getriebenen Anwendungen, wie sie in der Praxis von Steuerung und Regelung vorkommen, eher noch erschweren. Deshalb ist der Kern zumeist eine relativ einfache von-neumann-maschine (bzw.harvard-maschine). Es gibt heute Standard-Mikrocontroller in großer Zahl auf dem Markt, die aber fast alle gewissen "Familien" zuzuordnen sind. Darüber hinaus sind in einer Vielzahl von Geräten und Anlagen auch Controller vorhanden, die als anwendungsspezifische ICs (ASICs) entworfen und gefertigt wurden. In naher Zukunft wird man "Prozessor-Kerne" in Kombination mit programmierbarer Logik (z. B. FPGAs) erwerben können, so daß sich jeder Anwender seinen Controller "konfektionieren" und dann programmieren kann. Mikrocontroller sind an dieser Stelle interessant, weil sie ganz im Unterschied zu Allgemeinrechnern oft noch im Assembler-Code programmiert werden. Dazu stehen (meist auf PC-Basis) regelrechte "Entwicklungssysteme" zur Verfügung, welche Simulation und Emulation des Assembler-Codes erlauben Aufbau des 8051 Mikrocontrollers Abb zeigt den Aufbau des Im Kern befindet sich eine vollständige Mikroprozessor- Baugruppe, die um E / A - Bausteine erweitert ist. 1

2 externe Interrupts Interrupt- Steuerung ROM 4 k * 8 RAM 128 * 8 Timer 1 Timer 0 Zähler Eing. CPU Oszillator Bus-Steu erung 4 I / O -Ports Serielle E / A P0 P2 P1 P3 Abb. 11.1: Aufbau des Mikrocontrollers 8051 Der 8051 wird in einer speziellen CMOS-Tecnologie (HMOS) bei Intel gefertigt. Die Taktfrequenz des Grundtyps beträgt 16 MHz. Folgende Baugruppen sind monolithisch integrierte vorhanden: Zentraleinheit (CPU) Oszillator (mit externem Quarz) Festwertspeicher (ROM), Größe 4k * 8 Bits Datenspeicher (RAM), Größe 128 * 8 Bit Special Function Register I / O - Ports, parallel (8 Bit breit) Timer (16 Bit) Serielle Ein- und Ausgabe Interrupt-Steuerung Bus-Steuerung TXD RXD RAM- Adres. RAM 128 * 8 ROM 4k * 8 ROM Adres. P0.0/ Port 0 B Reg. xtal1 xtal2 Akku TR2 TR1 PSW ALU m. Bit.R. Steuerlogik Taktgenerat. Bef.- Reg. Bef.- Dekod. Interrupt Ser. I / O Timer 1 Timer 2 Spec. Funct. Regist. Port 2 Port 3 Port 1 P0.7/ AD7 P2.0/ A8 P2.7/ A15 P3.0 P3.7 P1.0 P1.7 Abb. 11.2: Detailliertes Blockschaltbild der Mikrocontrollers

3 Zentraleinheit (CPU) Die Zentraleinheit (CPU) des 8051 enthält die ALU, welche auch einen Einzelbit-Rechner (Boolscher Prozessor), den Befehlszähler, das Befehlsregister, den Befehlsdecoder und die Steuereinheit für den Programmablauf. Die ALU führt sowohl logische und arithmetische Operationen als auch Schiebeoperationen aus. Der Befehlssatz des 8051 enthält auch Multiplikations- und Divisionsbefehle. Mittels des integrierten Bit-Prozessors können auch Einzelbit- Operationen durchgeführt werden. Das Arbeitsregister für solche Operationen ist das Carry-Flag- Register. Der 8051 besitzt eine Anzahl Bit-ausgerichteter Befehle. Im RAM und in den meisten Registern sind einzelne Bits adressierbar. Die Steuerlogik enthält die zentrale Ablaufsteuerung des Rechners. Der dazu notwendige Taktgenerator ist über einen äußeren Quarz-Baustein stabilisiert. Wie beim von-neumann-rechner üblich, werden im Befehlszähler nacheinander die Adressen der Befehle im Programmspeicher abgelegt, und über den internen Datenbus werden die Befehlsbytes ins Befehlsregister transferiert. Im angeschlossenen Befehlsdekoder werden die Steuerbegehle entschlüsselt und daraus die Steuerbits für die Ablaufsteuerung erzeugt. Alle Register mit Ausnahme des PC sind in einem speziellen Special Function Register (SFR), das wie ein RAM organisiert ist, zusammengefaßt. Oszillator Der Oszillator besteht aus einer rückgekoppelten Inverterkette, wobei der äußere Quarz die Rückkopplungsschleife schließt. Der Quarz arbeitet als Serien-Resonanzkreis, d. h. er ist nur bei der Resonanzfrequenz niederohmig. Man kann aber auch einen externen Takt an XTAL2 anschließen, dann bleibt XTAL1 offen. Dies ist besonders zu Testzwecken notwendig (testfreundlicher Schaltungsentwurf). Programmspeicher (ROM) Der 4 K Bytes große Festwertspeicher wird vom Hersteller vorprogrammiert und enthält zunächst wichtige Basis-Programme. Während des Betriebs wird die aktuelle Adresse des ROM über das Programmadressregister vorgegeben. Der Programmspeicher kann über ein extern anschließbares ROM oder PROM oder EPROM bis auf 64 kbytes erweitert werden. Die erfordeliche Adressierung erfolgt über die Ports 0 und 2. Beim Zugriff auf das externe EPROM werden die Daten in einem Zeitmultiplex-Verfahren über die Anschlüsse des Ports 0 in den Mikrocontroller übertragen. Es existiert ein ROM-Speicherbereich,( hexa-dezimal 0 bis 23H), der für die Ablage von Interrupt- Einsprung- und Rücksprungadressen reserviert ist. Datenspeicher (RAM), 128 mal 8 Bit Der RAM-Speicher enthält 4 Registerbänke mit je 8 Registern, 128 direkt adressierbare Bits und 80 Byte-adressierbare RAM-Speicherplätze. Die Auswahl der Registerbänke erfolgt durch 2 Bits im Prozessor-Statuswort (oder Kontrollwort!), hier auch als "PSW" bezeichnet. 7fH 30H 20H Adresse 18H 10H 8H 0H RAM Byte-adressierbar RAM Bit-adressierbar Registerbank 3 Registerbank 2 Registerbank 1 Registerbank 0 R7. R0 R7. R0 R7. R0 R7. R0 Abb. 11.3: Organisation des internen RAM-Speichers im

4 Diese Organisation läßt eine schnelle Adressierung und einen effizienten Zugriff zu. Die Speicheradresse wird über das Speicher-Adreßregister (MAR) zur Verfügung gestellt. Im Bedarfsfall kann der interne Speicher um zusätzliche 64kByte RAM extern erweitert werden. Der externe Speicher wird über die Ports 0 und 2 adressiert. Special-Function-Register (SFR) Das SFR enthält alle Register mit Ausnahme des Befehlszählers (PC) und der speziellen Registerbänke im internen RAM. Es ist wie ein RAM-Baustein organisiert. Adresse FFH Rechenregister Akku, B, PSW Pointer Stackpointer, SP Data Pointer DPH, DPL I / O -Ports Port 0, Port 1, Port2, Port3 Interrupt-Register Interrupt-Enable, Interrupt-Priority Timer Timer-Mode, Timer Control, Timer0: TLO, THO; Timer1: TL1, TH1 Serial I / O -Port 80H Serial Control, Serial Data Buf. DPH, DPL Abb. 11.4: Organisation des Special-Function-Registers Im Special Function Register sien folgende Funktionsgruppen vorhanden: Rechenregister Adresse Interrupt-Register Adresse Accumulator ACC EOH Interrpt-enable A8H Register B FOH Interrupt-Priority B8H Flag-Register DOH Pointer (Zeiger) Adresse Timer Adresse Stackpointer SP 81H Timer Mode 89H Datenpointer (L) DPL 82H Timer Control 88H Datenpointer (H) DPH 83H Timer 0 (low) 8AH Timer 0 (high) 8CH Timer 1 (low) 8BH Timet 1 (high) 8DH I / O Ports Adresse Serial I / O - Port Adresse Port 0 80H Serial Control 98H Port 1 90H Serial Data Buffer 99H Port 2 A0H Port 3 B0H 4

5 I / O -Ports (8 Bit) Der Mikrocontroller 8051hat vier I/O Ports mit je 8 bidirektionalen digitalen Anschlüssen. Dabei kann jeder Anschluß(pin) separat auf Ein- oder Ausgang geschaltet werden. Die Ausgangsstufen der Ports 1, 2 und 3 bestehen jeweils aus einem MOS-FET-Transistor (T1), dessen Drain-Anschluß über einen weiteren MOSFET mit der Betriebsspannung (VDD) verbunden ist. Dieser zweite Transistor dient als hochohmiger Pull-Up-Widerstand (10-40 kohm). Soll am Ausgang ein "high"-pegel anliegen, so sperrt T1, T2 ist leitend und erzeugt damit ein logisches "High" am Ausgang. Das resultiert in einer niedrigen statischen Verlustleistung, allerdings kann dieser Transistor damit auch keinen hohen Umschaltstrom bereitstellen. Für den Umschaltvorhang L - H wird über einen zusätzlichen, zu T2 parallelgeschalteten MOSFET ein hoher Umschaltstrom bereitgestellt. Der Pull-Up-Widerstand ist auch wirksam, wenn der Port als Eingang benutzt wird. Die Ein- und Ausgänge der Ports können für andere Aufgaben benutzt werden. Dann stehen sie nicht mehr als Ports zur Verfügung: Portanschluß Funktion weitere Funktion P0.0...P0.7 treibt 8TTL-LS-Lasten L-Byte der Adresse / bit-adressierbar, Datenbyte ohne Pull-Up-Widerstd P1.0...P1.7 treibt 4 TTL-LS-Lasten, bit-adressierbar, Pull-up-Widerstd. vorhanden (10-40 kohm) P2.0...P2.7 treibt 4 TTL-LS-Lasten HByte der Adresse bita-dressierbar, Pull-Up-Widerstd. vorhanden (10-40 kohm) P3.0...P3.7 treibt 4 TTL-LS-Lasten, bita-dressierbar, Pull-Up-Widerstd. vorhanden (10-40 kohm) P3.0 RxD serieller Eingang P3.1 TxD serieller Ausgang P3.2 (INT0)' externer Interrupt P3.3 (INT1)' externer Interrupt P3.4 T0 Takteingang Zähler 0 P3.5 T1 Takteingang Zähler 1 P3.6 (WR)' schreiben (ext. RAM) P3.7 (RD)' lesen (externes RAM) Timer (16 Bit) Der Mikrocontroller enthält 2 Timer-Bausteine von je 16 Bit Tiefe. Diese können wahlweise als Zähler oder als Zeitgeber eingesetzt werden. Falls der Timer als Zähler arbeiten soll, so wird über die Anschlüsse T0 oder T1 in Port 3 ein Takt extern zugeführt. Arbeitet der Timer als Zeitgeber, so wird er einmal pro Maschinenzyklus inkrementiert. Ein Maschinenzyklus umfaßt 12 Taktperioden. 5

6 Serielle Ein / Ausgabe Über die Anschlüsse P3.0 und P3.1 lassen sich Daten seriell senden und empfangen. Es ist sogar ein Voll-Duplexbetrieb möglich, also gleichzeitiges Senden und Empfangen möglich. Die Baudrate (Übertragunsrate) ist über die Taktfrequenz oder über einen Timer programmierbar. Da im 8051 nur eine Spannung, nämlich 5 V als "high"-wert zur Verfügung steht, muß für die serielle Schnittstelle ggf. ein externer Verstärker zusätzlich verwendet werden. Interrupt-Steuerung Möglich sind beim 8051 zwei externe und drei interne Interrupts. Die externen Hardware-Interrupts werden durch Interrupt-Signale an den Anschlüssen P3.2 und P3.3 ausgelöst. Die internen Interrupts werden beim Timer-Überlauf (ein Interrupt pro Timer) oder von der seriellen Schnittstelle ausgelöst. Alle Interrupts können auch über Software gesetzt werden. Für alle Interrupts sind auch Einstellungen von Prioritäten möglich. Dazu stehen 2 Priorotätsebenen zur Verfügung. Bus-Steuerung Die Bussteuerung sorgt für den korrekten Datenverkehr zwischen der CPU und dem internen bzw. externen Daten- und Programmspeicher. Wenn die CPU auf den externen Speicher zugreift, so muß ein Datenverkehr mit 16 Bit Adreßbereite und 8 Bit Datenbreite organisiert werden. Dann übernimmt Port 2 die Funktion des Adreßpuffers für das höherwertige Byte (H-Byte) der Adresse und Port 0 die Funktion der Zwischenspeicherung für das niederwertige Adressbyte (L-Byte), im Zeitmultiplex aber auch gleichzeitig die Übertragung des Datenbytes. Über das Signal ALE (Adress Latch Enable) wird das L-Byte der Adresse extern zwischengespeichert. Das Lesen des externen Programmspeichers wird über das Signal PSEN' gesteuert. Soll ein externer Datenspeicher angesprochen werden, so gibt die Bus-Steuerung beim Lesen den Low-Pegel an RD' (Port P3.7) und beim Schreiben den Low-Pegel an WR' (Port P3.6) aus. Nachfolgend ist die Anschlußbelegung des 8051 dargestellt. P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 RST; VDP RXD; P3.0 TXD; P3.1 INTO; P3.2 INT1; P3.3 TO ; P3.4 T1; P3.5 WR'; P3.6 RD'; P3.7 XTAL2 XTAL1 VSS VCC P0.0; AD0 P0.1; AD1 P0.2; AD2 P0.3; AD3 P0.4; AD4 P0.5; AD5 P0.6; AD6 P0.7; AD7 EA' ALE PSEN' P2.7; A15 P2.6; A14 P2.5; A13 P2.4; A12 P2.3; A11 P2.2; A10 P2.1; A9 P2.0; A8 Abb. 11.5: Anschluß-Pinbelegung des 8051 Vcc ist die Versorgungsspannung (5V), Vss ist der Masse-Anschluß (0V). P0, P1, P2, P3 sind die vier I / O -Ports mit je 8 Bit Breite. Die meisten Port-Anschlüsse haben nebenbei auch noch weitere Funktionen. RST / VDP bedeutet Restart / Pull-Down Ein High-Impuls (größer als 3V), der wenigstens 2 Maschinenzyklen lang ansteht, setzt den Mikrocontroller zurück. Der Pin kann aber noch eine Hilfsfunktion ausführen: Bei Absinken der Versorgungsspannung unter 4,5 V ist die sichere Funktion des internen RAM nicht mehr gewährleistet. Dann wird intern umgeschaltet, und eine an RST/VDP anliegende Spannung wird zur RAM- Versorgung verwendet. 6

7 ALE bedeutet Address-Latch-Enable Dies ist das Kontrollsignal für externe RAM-Erweiterung. Der Mikrocontroller gibt über ALE ein Signal zum externen Zwischenspeichern des LBytes der Adresse an. Falls keine externe Speichererweiterung vorliegt, kann ALE als Takt verwendet werden. Dieses Signal ist gegenüber dem Systemtakt um das Verhältnis 1:6 geteilt. PSEN' bedeutet Program Store Enable Am Pin PSEN' wird der Leseimpuls für den externen Programmspeicher ausgegeben. EA' bedeutet Extern Access Enable Liegt der H-Pegel an diesem Eingang, so wird auf den internen Befehlsspeicher zugegriffen, falls die Adresse kleiner als 4096 (0FFFH) ist. Bei Anliegen des Low-Pegels wird auf den externen Programmspeicher zugegriffen Zeitlicher Ablauf bei der Befehlsausführung Ein Befehl kann aus 1 bis 3 Bytes bestehen. Das erste Byte enthält den Operator, die letzten Bytes den oder die Operanden. Der Maschinenzyklus besteht aus sechs Zuständen (S1,...S6), davon besteht jeder Zustand wiederum aus 2 Phasen (P1 und P2). Ein Befehlszyklus besteht meistens aus einem oder zwei Maschinenzyklen. Nur für die Multiplikation und Division werden jeweils vier Maschinenzyklen benötigt. Grundsätzlich wird während eines Maschinenzyklus der Operationscode zweimal abgerufen. Ist der Befehl schon ausgeführt, wird also ein zweiter Aufruf (mit nachfolgender Entschlüsselung) nicht mehr benötigt, so ignoriert die Steuerung diesen zweiten Aufruf, auch der PC wird nicht weitergesetzt. Nachfolgend ist der zeitliche Ablauf für drei unterschiedliche Befehle dargestellt: INC A, ADD A, #data, INC DPTP. Maschinenzyklus Maschinenzyklus Maschinenzyklus CLK s1 s2 s3 s4 s5 s6 s1 s2 s3 s4 s5 s6 s1 s2 s3 s4 ALE a) 1 - Byte-Befehl, 1 Maschinenzyklus, z. B. INC A OA OA* OA (nächster Befehl) b) 2 - Byte-Befehl, 1 Maschinenzyklus, z. B. ADD A, # data OA OPl OA (nächster Befehl) c) 1 - Byte-Befehl, 2 Maschinenzyklen, z. B. INC DPTR OA OA* OA* OA* OA (nächster Befehl) OA = Operatioscode-Abruf, OPL = Operand lesen OA* = Op-Code-Abruf wird von der Steuereinheit ignoriert Abb.11.6: Zeitlicher Ablauf der Befehlszyklen bei drei verschiedenen Befehlen Beim Befehl INC A wird der Operationscode im Zustand S1 abgerufen und anschließend ausgeführt. Im Zustand S6 ist die Ausführung abgeschlossen. Beim Befehl ADD A., # data wird im Zustand S1 der Operationscode angerufen und im Zustand S4 zur Vervollständigung des Befehls der die Konstante #data (2. Byte) gelesen. Danach dauert die Ausführung des Befehls bis einschließlich Zustand 6. 7

8 Für Abruf des Operationscodes und Ausführung des Befehls INC DPTR werden zwei Maschinenzyklen benötigt. Während der Befehlsausführung ignoriert die Steuerung dreimal den OPCODE-Abruf. Für den Fall der Erweiterung des 8051 um einen externen Programmspeicher wird das höherwertige Byte der Adresse (PCH) über Port 2 und das niederwertige Byte der Adresse (PCL) an Port 0 ausgegeben (Abb. 11.7). Maschinenzyklus CLK s1 s2 s3 s4 s5 s6 s1 s2 ALE PSEN DB PCL DB PCL DB PCL Port 2 PCH PCH PCL = LByte der Adresse, PCH = HByte der Adresse, DB = Datenbyte Abb. 11.7: Lesezugriff des 8051 auf einen externen Programmspeicher Das niederwertige Byte der Adresse wird mit der negativen Flanke von ALE im Zustand S2 und S5 extern in einem D-Latch zwischengespeichert. Am externen Programmspeicher liegt dann die vollständige Adresse. Er wird über das Steuersignal PSEN' = 0 selektiert. Im Zustand S4 und S1 wird das entsprechende Befehlsbyte über den Port 0 gelesen. Das externe RAM läßt sich sowohl über eine 8-Bit-Adresse als auch über eine 16-Bit-Adresse adressieren. Falls Befehle mit einer 8-Bit-Adresse ausgeführt werden, wird der Inhalt von Ri (R0 oder R1) der selektierten Registerbank über Port 0 als Adresse ausgeben. Hat das externe RAM mehr als 8 Adreßbits, so werden die höherwertigen Adreßbits über den Inhalt von Port 2 festgelegt. Bei Befehlen mit einer 16-Bit-Adresse wird der Inhalt des Datenpointers über Port 0 (DLP) und Port 2 (DPH) als Adresse ausgegeben. CLK s4 s5 s6 s1 s2 s3 s4 s5 ALE RD Port 0 DPL od. Ri hochohmig DB hochohmig # Port 2 * DPH oder Port 2 (Ausgabe) * DPL = Data Pointer LByte; DPH = Data Pointer HByte DB = Datenbyte, Ri = 8-Bit-Adresse (Registerbank: R0 oder R1) # = Lbyte des Befehlszählers bei externem Programmspeicher * = PCH oder Port2 Ausgabe Abb. 11.8: Lesezugriff des 8051 auf einen externen Datenspeicher 8

9 In Bild 11.8 ist der Lesezugriff auf einen externen Datenspeicher dargestellt. Das Datenbyte wird im Zustand S3 mit dem Leseimpuls RD' über Port0 in den Mikrocontroller übertragen. Bild 11.9 stellt entsprechend den Schreibzugriff auf das externe RAM dar. Die Datenausgabe wird mit dem Schreibimpuls WR' gesteuert. CLK s4 s5 s6 s1 s2 s3 s4 s5 ALE WR Datenausgabe Port 0 DPL od. Ri + # Port 2 DPH oder Port 2 (Ausgabe) DPL = Data Pointer LByte; DPH = Data Pointer HByte DB = Datenbyte, Ri = 8-Bit-Adresse (Registerbank: R0 oder R1) + = LByte des Befehlszählers; * = PCH oder Port 2 Ausgabe # = LByte des Befehlszählers bei externem Programmspeicher Abb. 11.9: Schreibzugriff des 8051 auf einen externen Datenspeicher 11.4 Die Software-Struktur des 8051 Der Mikrocontroller 8o51 hat einen 111 Befehle umfassenden Befehlssatz. Davon sind 49 1-Byte- Befehle, 45 2-Byte-Befehle und 17 3-Byte-Befehle Adressierungsarten Registeradressierung Befehle dieser Adressierungsart enthalten keine Operanden. Die Adresse des Registers ist im Befehl direkt enthalten. Mittels der Registeradressierung lassen sich die Register R0...R7 der selektiven Registerbank adressieren. Eine Registerbank wird über zwei Selectbits im PSW eingeschaltet. Beispiele: INC R0 inkrementiert den Inhalt des Registers R0 DEC A dekrementiert den Inhalt des Akkumulators Unmittelbare Adressierung In dieser Adressierungsart folgt eine 8-Bit- oder 16-Bit-Konstante dem Operationscode. Abkürzungen: Beispiele: #data = 8-Bit-Konstante, #data 16 = 16-Bit-Konstante MOV A, #data 8-Bit-Konstante "#data" wird in den Akkumulator geladen MOV DPTR, #data16das Datenpointer-Register wird mit "#data16" geladen 9

10 Direkte Adressierung In diesem Modus wird über eine 8-Bit-Adresse im Operanden das interne RAM und das Special Functions Register adressiert. Beispiel: MOV direct, A Der Inhalt des Akkumulators wird in das interne RAM mit der 8-Bit-Adresse direkt kopiert Indirekte Adressierung Sowohl das interne als auch das externe RAM lassen sich indirekt über den Inhalt eines Registers adressieren. Für die 8-Bit-Adresse (für das interne RAM) werden die Register R0 und R1 der Registerbank verwendet. Für eine 16-Bit-Adresse muß das 16 Bit breite Datenpointer-Register verwendet werden. Abkürzungen der (i = 0 oder Beispiele: 8-Bit-Adresse 16-Bit-Adresse Der Inhalt des Akkumulators wird zum Speicherplatz (internes RAM), dessen Name im Register R0 steht, gebracht Indizierte Adressierung Der Inhalt des Akkumulators wird zum Speicherplatz (externes RAM), dessen Name im Register R0 steht, gebracht Der Akkumulator-Inhalt wird zum Speicherplatz (externes RAM) gebracht, dessen Adresse im Datenpointer-Register DPTR steht Mittels der indizierten Adressierung kann nur auf den Programm-speicher lesend zugegriffen werden. Diese Adressierungsart unterstützt die Benutzung einer Tabelle (z. B. LUT-Befehl: look-up table), die im Festwertspeicher abgelegt ist. Die Adresse wird dabei gebildet aus der Summe der Inhalte des Basisregisters und des Indexregisters. Als Basisregister dient dann das Datenpointer-Register (DPTR) oder der Programmzähler, der Akkumulator dient als Indexregister. Beispiele: MOVC + PC Die Summe aus Akkumulator-Inhalt und Stand des Programmzählers bildet eine neue Adresse für den Programmspeicher. Der Inhalt dieser Adresse wird in den Akkumulator geschrieben MOVC A,@A + DPTR Die Summe aus Akku-Inhalt und DPTR-Inhalt bildet die Speicheradresse, der Inhalt wird in den Akku geladen Der Befehlssatz des 8051 Der Befehlssatz kann in folgende Gruppen gegliedert werden: Transferbefehle Arithmetische Befehle Logische Befehle Verzweigebefehle Bitoperationsbefehle 10

11 Transferbefehle Diese entsprechen weitgehend denen des 8-Bit-Mikroprozessors 8085, sind aber erweitert wegen der Verfügbarkeit internen RAMs und ROMs. Es gibt drei Untergruppen: Datentransfer mit dem internen RAM oder SFR (special function register) Beispiele: MOV R1, direct Inhalt des Speicherplatzes (internes RAM), dessen Adresse im 2. Byte des Befehls (direct) enthalten ist, wird nach R1 der Registerbank gebracht MOV direct2, direct1 Das Datenbyte eines Speicherplatzes wird auf einen anderen Speicherplatz kopiert Datentransfer mit dem externen RAM Der Zugriff auf das externe RAM ist nur mittels indirekter Adressierung möglich. Dabei wird zwischen 8 Byte- und 16 Byte-Adressen unterschieden. Der MOV-Transferbefehl erhält wird auf MOVX erweitert. Beispiele: MOVX Der Inhalt des Registers R1 bildet eine 8-Bit-Adresse. Das Datenbyte des Speicherplatzes mit dieser Adresse wird in den Akkumulator geladen. Der Inhalt des Akkumulators wird unter der 16-Bit-Adresse abgelegt, die im Datenpointer DPTR steht Datentransfer mit dem internen oder externen Programmspeicher Beim Zugriff auf den internen oder externen Programmspeicher ist nur ein Lesen möglich. Die vorhandenen Befehle dienen auch zur Bearbeitung von Tabellen. Der MOV-Befehl erhält den Zusatz C für Code. Beispiele: MOVC A,@A + DPTR Die Speicheradresse wird gebildet durch die Summe der Inhalte des Akkumulators und des Datenpointers. Das unter dieser Adresse gespeicherte Datenbyte wird in den Akkumulator transferiert. MOVC A,@A + PC Die Speicheradresse wird aus Akkumulator und PC durch Summierung gebildet. Das darunter gespeicherte Datenbyte wird in den Akkumulator transferiert. 11

12 Arithmetische Befehle Zur Verfügung stehen wie beim 8085 Addition, Subtraktion, Inkrement und Dekrement, zusätzlich auch Multiplikation und Division. Beispiele: MULT AB Der Inhalt des Registers B (8 Bit) wird mit dem Inhalt der Akkumulators (8 Bit) multipliziert. Das Ergebnis (16 Bit) wird in B (HByte) und A (LByte) gespeichert. DIV AB Der Inhalt des Akkumulators wird dividiert durch den Inhalt von B, und das Ergebnis (Integer-Zahl) wird in A, der Rest (Mod(A/B)) in B gespeichert. Logische Befehle Die logischen Befehle entsprechen weitgehend denen des Mikroprozessors 8085: UND, ODER, XOR, SET, RESET (löschen), Negation, Rotation. Im Gegensatz zum 8085 kann sich der Befehl aber auch auf Operanden beziehen, die nicht unbedingt im Akkumulator stehen müssen. Beispiel: ANL direct, #data Der Inhalt des Speicherplatzes mit der 8-Bit- Adresse "direct" wird logisch mit der 8-Bit-Konstante "#data" UND-verknüpft. Das Ergebnis wird unter der Adresse "direct" abgespeichert. Verzweigungsbefehle Zu den Verzweigungen zählen Sprung- und Unterprogramm-Aufrufe. Es gibt bedingte und unbedingte Verzweigebefehle. Die Sprungbefehle des 8051 gliedern sich in 3 Gruppen: SJMP rel Short-Jump, (relativ, 8-Bit-Adresse) Der Befehl für den kurzen Sprung enthält eine 8-Bit-Adresse. Es ist ein relativer Sprung von -128 bis +127 im Bezug auf die aktuelle Adresse möglich. LJMP addr16 Long-Jump (16-Bit-Adresse) Der Befehl für den langen Sprung enthält eine 16-Bit-Adresse. Es ist ein Sprung im gesamten Adreßraum möglich. AJMP addr11 Absolute Jump Der Befehl für den absoluten Sprung enthält eine 11-Bit-Adresse. Es ist ein 2-Byte-Befehl, drei Bits der Adresse sind im Operationscode enthalten. Bei der Bildung der vollständigen Adresse werden die fünf Adreßbits A11...A15 aus dem Programmzähler übernommen. Dieser Befehl wird vorwiegend für den Zugriff auf den internen Programmspeicher eingesetzt. 12

13 Entsprechend den Sprungbefehlen existieren auch Aufrufe für Unterprogramme. ACALL adr11 ist ein unbedingter UP-Aufruf, gefolgt von einer 11-Bit- Adresse LCALL adr16 ist ein unbedingter UP-Aufruf, gefolgt von einer 16-Bit- Adresse Von erheblicher praktischer Bedeutung sind Vergleichsbefehle, die zwei Datenbytes miteinander vergleichen. Falls der Vergleich positiv ausfällt, wird ein Sprung ausgeführt. Beispiel: CJNE A, #data, rel Es wird der Akkumulator-Inhalt verglichen mit der 8-Bit-Konstante #data. Falls die Bytes nicht gleich sind, wird ein relativer Sprung ausgeführt Bitoperationsbefehle Weil die CPU des 8051 einen Boolschen Prozessor enthält, sind Befehle mit direktem Zugriff auf einzelne Bits sinnvoll. Das Ergebnis solcher Operationen steht dann im Carry-Flag-Register C. Das interne RAM enthält 128 adressierbare Bits, zusätzlich sind noch 48 einzeln adressierbare Bits im Special Function Register (SFR) vorhanden. Alle I / O - Ports sind bitadressierbar. Bitoperationen sind in Kombination mit logischen, Transfer- und Verzweigeoperationen möglich. Beispiel zur logischen Operation: ANL C, P1.1 Bit 1 von Port 1 wird logisch mit dem Inhalt des Carry-Flags C UND-verknüpft; das Ergebnis wird in C gespeichert. Beispiel zu einem Transfer-Befehl MOV P2.7,C Der Inhalt des Carry-Flags wird an das 7. Bit des Ports 2 ausgegeben. Beispiel zum Verzweigebefehl JB P1.3, Marke1 Falls das Portbit P1.3 gesetzt ist, wird nach Marke 1 gesprungen. Im Gegensatz etwa zum Mikroprozessor 8051 enthält der Befehlssatz keine speziellen Ein- und Ausgabebefehl wie z. B. der Mikroprozessor Die Ein- und Ausgabe digitaler Signale erfolgt über die Portregister im Special Function Register. Es fehlen auch spezielle Befehle zur Interrupt- Bearbeitung. Die Interrupt-Freigabe erfolgt durch Abspeicherung eines Datenbytes im Enable- Register. Die Prioritäten der Interrupt-Berabeitung werden im Interrupt Priority Register festgelegt. 13

14 11.5 Die Mikrocontroller-Familie MC S51 Der 8051-Prozessor hat nicht nur selbst eine extrem weite Verbreitung bei Aufgaben der industriellen Steuerung, sein Befehlssatz gilt auch als Quasi-Industriestandard für eine ganze Familie kompatibler Mikrocontroller mit nahezu gleichem Befehlssatz. Die maximalen Taktfrequenzen dieser Controller liegen im Bereich von etwa 10 bis 20 MHz. Die einzelnen Typen unterscheiden sich auch hinsichtlich Programmierbarkeit des internen Programmspeichers, es gibt ROMund EPROM-Versionen. Die nachfolgende Tabelle gibt eine Übersicht. Techno- ROM EPROM ohne (EP)ROM RAM 16-Bitlogie Vers. Vers. ROM/EPR. Byte Byte Timer HMOS k HMOS 8051AH 8751H 8031AH 4k HMOS 8052AH 8752BH 8032AH 8k CHMOS 80C51BH 87C51 80C31BH 4k CHMOS 83C51FA 87C51FA 80C51FB 8k CHMOS 83C51FB 87C51FB 80C51FB 16k CHMOS 83C51GA 87C51GA 80C51GA 4k Die bei den älteren Modellen verwendete HMOS-Technologie ist eine speziell bei Intel entwickelte schnelle Erweiterung der nmos-technologie. Sie eignet sich wegen der relativ hohen Leistungsaufnahme in Ruhe nicht für Low-Power-Anwendungen. Die CHMOS-Technologie ist eine von HMOS abstammende CMOS-Technologie (bei CMOS- Schaltungen ist allgemein die Ruhestrom-Aufnahme sehr gering). Die GA-Typen enthalten zusätzlich 8 analoge Eingänge und on-chip A / A-Wandler zur Verarbeitung analoger Signale. Die CMOS-Controller enthalten zusätzlich für den Low-Power-Betrieb zwei spezielle Betriebsarten: Idle-Betrieb (Betriebsart mit Bus-Ruhezustand) (nur beim 80C51) Der Idle-Modus wird via Software über das beim 80C51 zusätzlich vorhandene Power-Control- Register eingestellt. Bei einem RESET oder bei einer Interrupt-Anforderung erfolgt jeweils ein Rücksetzen in den Normal-Modus. Im Bus-Ruhezustand arbeitet der Oszillator, auch alle internen Baugruppen werden mit Befehlen versorgt. Nur die Steuersignale für den externen Bus (ALE, PSEN', RD') werden inaktiv, die entsprechenden Anschlüsse des Controllers werden hochohmig. Da die Leistungs-Treiber inaktiv sind, wird die Verlustleistung auf etwa 25% des Normalbertriebes verringert. Power-Down-Modus (nur beim 80C51) Auch der Power-down-Modus wird über das Power-Control-Register geschaltet. Hier wird aber auch der Oszillator abgeschaltet. Dagegen beliebt der Inhalt interner RAM-Bausteine erhalten. Die Verlustleistung laßt sich damit auf etwa 0,25 mw begrenzen. Es ist sogar möglich, zur weiteren Leistungseinsparung auch die Versorgungsspannung zu reduzieren. Der Baustein wird über einen RESET-Impuls wieder aktiviert. Dann benötigt der Oszillator zum Anschwingen etwa 10 Millisekunden mit einem Quarz, 100 Mikrosekunden, wenn an Stelle des Quarzes ein Keramik- Baustein zur Frequenzstabilisierung verwendet wurde. Neben der Intel-Familie gibt es eine ganze Anzahl weiterer, auf dem 8051 beruhender Mikrocontroller. 14

15 Als ein Beispiel kann der SAB von Siemens dienen. (Note: Hier gibt es noch Prozessoren europäischer Hersteller!!) Gegenüber dem 8051 besitzt dieser Controller: Einen erweiterten Speicher: Der ROM-Speicher ist 8 kbyte groß, das RAM umfaßt 256 Byte für den Datenspeicher. I/O Ports Es sind 6 I/O Ports vorhanden, also 2 mehr als beim 8051 Timer Es sind 3 Timer verfügbar Watchdog Dies ist eine interne Überwachungseinheit. Im Prinzip besteht sie aus einem rückwärts laufenden Zähler. Dieser muß von der Software in bestimmten Abständen vor Erreichen des 0-Werts rückgesetzt werden, ansonsten wird ein Alarm ausgelöst. Analoge Eingabekanäle Es sind 8 analoge Eingabekanäle verfügbar. Mittels eines analogen Multiplexers kann einer dieser Eingänge ausgewählt und auf ein Abtast- und Halteglied gegeben werden, dem ein Analog-Digital- Wandler nachgeschaltet ist. Dort wird aus dem analogen Signal ein 8-Bit-Datenwort erzeugt, das digital abgespeichert und weiterverarbeitet werden kann. Optional ist auch eine 10-Bit-Genauigkeit möglich Mikrocontroller-Anwendungen Im Gegensatz zu Mikroprozessoren, die stets externe Baugruppen zum Betrieb benötigen, lassen sich Mikrocontroller auch allein verwenden. Trotzdem ist ein Betrieb mit zusätzlichen externen RAM- und ROM (PROM, EPROM) Bausteinen eher die Regel. Auch die Zusammenschaltung mehrerer Mikrocontroller ist üblich. Der Datenaustausch erfolgt dann über die serielle Schnittstelle oder über Ports. Bei den 8031-Typen wird ein externer Programmspeicher immer benötigt. +5V Vdd xtal1 xtal2 +5V RST 8051 Vss Port 0 Port 1 Port 2 Port 3 +5V EA Abb : Mikrocontoller-Konfiguration im Single-Betrieb Als minimale externe Beschaltung ist der Anschluß des Schwingquarzes und die Beschaltung der Eingänge RST und EA mit Kondensatoren notwendig. Die Ports P0, P1, P2 sind als Ein- / Ausgabe- 15

16 Kanäle verfügbar, P3 kann vollständig oder in Teilen dafür eingesetzt werden. Oft werden einzelne Bits von P3 für Sonderaufgaben wie Interrupts verwendet. +5V Vdd xtal1 xtal2 +5V RST +5V EA 8051 Vss Port 0 Port 2 ALE PSEN D0 - D7 D-Latch 74 LS373 A8 - A15 Adress- Decoder Datenbus (8 Bit) Adressbus (16 Bit) A0 - A15 EPROM CS OE WR RD RAM OE WR CS Abb : Mikrocontroller mit externer RAM- und ROM- Erweiterung Für viele Aufgaben wird die interne Speicherkapazität des 8051 nicht ausreichen. Abb zeigt eine Konfiguration mit externem RAM und EPROM. Dann werden die Ports P0 und P2 für Adreßund Datenleitungen benötigt. Die Daten und das L-Byte der Adresse werden multiplexend über Port 0 zur Verfügung gestellt. Die Steuersignale zum Schreiben und zum Lesen liefern 2 Steuersignale von Port3. Dabei ist ein externes D-Latch als Zwischenspeicher für das L-Bit der Adresse notwendig. Das Lesesignal für das ROM / EPROM wird vom Signalausgang PSEN' geliefert. PC RXD / TXD RXD / TXD RXD / TXD RXD / TXD RXD / TXD RXD / TXD Peripherie Peripherie Peripherie Abb : Mikrocontroller-System als Multicontroller- System mit zentraler Steuerung durch PC In komplexen Steuerungen ist es oft notwendig, mehrere Mikrocontroller im Verbund arbeiten zu lassen. Abb zeigt das Schema. Der Datenaustausch erfolgt hier über die serielle Schnittstelle. 16

17 Eine Kopplung über die parallelen Ports wäre ebenfalls eine Alternative. Die einzelnen Controller könne sowohl mit als auch ohne Speichererweiterung betrieben werden. In dieser Konfiguration ist jeder Controller direkt mit dem PC verbunden. Alternativ dazu bietet sich eine Ringverbindung an (Abb ). PC TXD RXD RXD / TXD RXD / TXD RXD / TXD Peripherie Peripherie Peripherie Abb : Multicontroller-System mit Ringschaltung über serielle I / O Ports 11.7 Assembler-Programmierung für den Mikrocontroller Einführung Die Programmierung von Mikroprozessoren und Mikrocontrollern erfolgte in der Vergangenheit oft sehr Hardware-nahe über deren Assemblersprache. Dies ist eine sehr Hardware-nahe Programmierung, da sich die Befehle aus dem jeweiligen Befehlsatz des Mikroprozessors oder Mikrocontrollers oft direkt auf spezielle Register, Ports usw. beziehen. Für die Programmierung steht in der Regel ein mnemonischer Code für die Befehle zur Verfügung. Mittels des in der Regel vom Prozessor-Hersteller mitgelieferten Assembler-Programms wird eine Befehlsliste im mnemonischen Code in eine hexadezimale oder binäre Darstellung übersetzt. Wie in der "großen" Programmierung erfolgt die Entwicklung eines Assembler-Programms in einer Reihen von Schritten (Abb ). Algorithemen und Code- Entwicklung ASCII - Editor Ass.-Pr. 1 Ass.-Pr. 2 C-Progr. Assembler Compiler Anwender- Bibliothek Object-Code Obj.-Code C-Libraries Linker Executable Abb : Programmentwicklung bis zum Executable Neben Assembler-Programmierung gewinnt hier auch die Verwendung universeller Programmiersprachen (praktisch nur C) an Bedeutung. 17

18 Im Gegensatz zu "normalen" Programmen ist aber "eingebettete" Software für Aufgaben der Steuerung und Regelung sehr oft Realzeit-kritisch: Zum Beispiel muß die Einspritz-Steuerung für einen Dieselmotor die Einspritzmenge "kennen", wenn der Kolben den oberen Totpunkt erreicht hat. Assembler-Programme sind nach ihrer Fertigstellung in der Regel bezüglich des Ablaufs unter Realzeit-Bedingungen zu validieren. Gerade dazu werden Methoden und Werkzeuge verwendet, die eher den Methoden der Hardware-Entwicklung entsprechen als denen der Software-Entwicklung für Programme auf Allgemeinrechnern. Die Alternativen zum "Austesten" eines Programms für einen Controller sind in Abb dargestellt. Executable Pre-Prozessor Objekt- nach Hexcode-Wandl. PC Simulator PC Monitor PC Emulator EPROM Plat. EPROM HW (Platine) ohne Contr. Simulation Remote Debug Emulator EPROM Abb : Alternativen zum Debugging eines Programms für einen Mikrocontroller Hier vorab eine Begriffsklärung: Hardware-Entwickler müssen sowohl die Korrektheit ihrer Entwürfe "validieren" (mit Simulation etc.) oder "verifizieren" (d. h. die Korrektheit im mathematischen Sinne beweisen) als auch "Tests" finden, welche Fertigungsfehler bei der Hardware aufdecken können. Software-Entwickler sprechen dagegen viel allgemeiner vom Test, wenn sie auf irgendeine Art Korrektheit und / oder Qualität von Programmen prüfen. Hier haben wir eine "Mischkultur" vor uns. Nachfolgend sind deshalb die Methoden zur Validierung der Assembler-Programms aufgeführt: Simulation Es ist möglich, den Ablauf eines Anwenderprogramms auf dem Mikrocontroller mittels des PC (oder einer Workstation) zu simulieren. Dabei kann man sich Befehls- und Datenverkehr, Speicherbelegung etc. anschauen bzw. anzeigen lassen. Damit sind funktionale Fehler gut zu erfassen. Natürlich ist aber die Simulation auf dem PC (mit einem speziellen Simulationsprogramm) wesentlich langsamer als ein "echter" Ablauf auf dem Mikrocontroller. Hier kommt man eine Stück weiter, wenn man den Controller mit seiner sonstigen Hardware tatsächlich aufbaut und mit dem PC verbindet. Remote Debugging 18

19 Auf dem PC läuft dann ein Monitor-Programm, das z. B. den externen Prozessor starten und anhalten kann, aber z. B. auch Speicherinhalte lesen und schreiben kann. Damit kann man den Controller über Programmteile in Echtzeit laufen lassen und die Ergebnisse auswerten. Auch das Anwenderprogramm im Speicher der Controller-Aufbaus enthält dann zusätzliche Befehle für das Monitoring, was den Aufwand erhöht. Damit ist in der Regel auch noch kein voller Echtzeit- Betrieb möglich. Ebenso beliebt ist die Emulation. Wieder wird die externe Hardware aufgebaut, aber jetzt ersetzt man den Kontroller-Baustein selbst durch den PC, der mittels eines "Emulationsprogramms" den Kontroller nachbildet. Dazu gehört neben dem Emulationsprogramm auch eine spezielle Einschubkarte für den PC, deren externer Stecker in die Anschlüsse für den Kontroller gesteckt wird. Ist der im PC verfügbare Prozessor nur etwa so schnell wie der Kontroller, so wird die Emulation in etwa Echtzeit nicht möglich sein. Dagegen wird ein sehr viel leistungsfähiger PC-Prozessor (Pentium / 130 MHz versus 8051 / 10 MHz) fast Echtzeit-Betrieb ermöglichen. Natürlich kann man auch den Assembler-Code in ein EPROM "brennen" und dann die Operationen im "Zielsystem" ausführen. Der Hardware-Entwickler wird sich dann die Signalverläufe mit dem Oszillographen oder dem dem digitalen Signal-Analysator anschauen Beispiel Als erstes Beispiel für ein Assembler-Programm sei eine Routine gewählt, welche das Ein- und Ausschalten einer Leuchtdiode steuert. Dazu sind die Ports P1.1 bis P1.3 mit Tastern belegt, die Ports 3.2, 3.3 und 3.4 mit Leuchtdioden. Die Taster dienen jeweils zum Ein- und Ausschalten der Dioden. Über die Schaltern werden die Ports (die normalerweise hochohmig auf "high" liegen) auf "low"-potential gezogen, die Leuchtdioden sind extern über Widerstände auf "high" gelegt und werden dann leuchten, wenn die Ports intern auf "low"gesetzt werden. Assemblerprogramm: $ title (EIN_AUS) $debug ; Einfaches Programm zum Ein- und Ausschalten einer Leuchte ; Taster 1 Einschalten, Taster 2 Ausschalten ; Taster 3 Programm beenden CSEG AT 0H; Legt absolute Codesegmentadresse auf 0H ljmp ANFANG ; Sprung auf Programmanfang ORG 100H ; Programmstart bei 100H ANFANG: jnb P1.1, LICHT_EIN ;Schalter 1 betaetigt? jnb P1.2, LICHT_AUS ; Schalter 2 betaetigt? jnb P1.3, PROGRAMM_ENDE ; Programmende ajmp ANFANG ; Springe zur Adresse ANFANG LICHT_EIN: clr P3.2 ; Licht einschalten ajmp ANFANG ; Springe zur Adresse Anfang 19

20 LICHT_AUS: setb P3.2 ajmp ANFANG ; Licht ausschalten ; Springe zur Adresse Anfang PROGRAMM_ENDE: ljmp 800H ; Monitoreinsprung end In diesem Programm werden die Befehle für das Setzen bzw. Rücksetzen einzelner Bits an den Ports verwendet. Der Assembler erzeugt auf aus dieser Source ein Listing, bei dem sowohl die Speicherplätze für die einzelnen Befehle als auch die Übersetzungen der Befehle selbst im hexadezimalen Code angegeben sind. Das Debugging des Programms kann dann entweder auf der Basis des übersetzten Codes erfolgen oder auf der Basis der Sourcen Assembler-Anweisungen im Detail Über die vorstehend vorgestellten Maschinenbefehle des 8051 Mikrocontrollers hinaus gibt es weitere Assembler-Befehle, welche z. B. dazu dienen, bestimmte Speicherbereiche anzuwäh-len.oder dem Assembler-Programm sonstige Informationen zu geben. Die nachfolgenden Beispiele gelten für das ASM51 Assembler-Programm der Fa. Intel, das für die 8051-Familie verwendet wird. Zum Verständnis der Befehle ist es notwendig, die Adressierungsmöglichkeiten für den Speicher des 8051 zu kennen: geteilte Adressbereiche FFFF Externer FF nur Obere 128 Byte internes RAM FF Special Function Register FFFF externer Programmspeicher Daten speicher 1FFF 000 Intern / EA = 1 Extern / EA = 0 Adressierung Register - indirekt 1FFF 0000 Untere 128 Byte internes RAM 7F 00 (beide Adressierungen) 0000 direkt Byte Abb : Adressierungsarten für den 8051 Controller Nachstehend ist eine Liste von Befehlen für den ASM 51 Makro-Assembler von Intel angegeben, den diese Firma für den 8051 liefert: Symb. Adresse/ Anweisg Operand Funktion 20

21 Namen Speicher-Initialisierung und -Reservierung [<name>] DB <expression> define Byte in progr. memory <string>, <list> (definiere Byte im Progr.-speicher) [<name>] DW <expression> def. word (16 Bit) in pr. mem. <string>, <list> (definiere 16-Bit-Wort im Progr.-Speich.) [<name>] DS <expression advance active allocat. counter (reserviere <expession> Byte im Speicher) [<name>] DBIT <expression> advance bit location counter (reserviere <expression> Bit im Bitadressierb. Speicher) Symbol-Definitionen [<name>] EQU <expression> create new symbol (fest) (Definition eines neuen Symbols, nicht redefinierbar) [<name>] SET <expression> create new symbol (tempor.) (Definition eines neuen Symbols, redefinierbar) USING <expression> select register bank - 0, 1, 2, 3 - (R1, R2,...R7) (Wahl einer aktuellen Registerbank R0...R7) [<name>] CODE <expression> define code address symbol (Definition eines Symbols im Programmspeicher) [<name>] DATA <expression> define data address symbol (Definition eines neuen Symbols im internen Datenspeicher) [<name>] IDATA <expression> def. indir. address symbol (Definition eines neuen Symbols im internen indirekt adressierbaren Datenspeicher) [<name>] XDATA <expression> def. off-chip data addr. symb. (Definition eines neuen Symbols im externen Datenspeicher) [<name>] BIT <expression> def. a bit address symbol (Defintion eines Symbols im Bit-adressierbaren Bereich) Relative Segmente <segment- SEGMENT {CODE/XDATA/DATA/IDATA/BIT} decl. relocatab. segm. name> [_{PAGE/INPAGE/INBLOCK/ [assign attributes] BITADRESSABLE/UNIT}] (Definition eines Segmentnamens mit einer Typangabe sowie ggf. Speichergrenzen) RSEG <segment-name> sel. relocatab. segm. (Aktivieren des vorher definierten relativen Segments <segment-name> Absolute Segmente 21

22 Assembler-Kontrolle für Zustände CSEG {at<absol.addr.>} select code segment (die folgenden Befehle und Definitionen werden auf absolute Adressen im Code-Segment bezogen) DSEG {at<absol.addr.>} select int. data segm. (Die folgenden Definitionen werden auf absolute Adressen im internen Datenspeicher-Segment bezogen) ISEG {at<absol.addr.>} sel. indir. int. segm. (Die folgenden Definitionen werden auf absolute Adressen im indirekt adressierb. Datenspeicher-Segm. bezogen) XSEG {at<absol.addr.>} sel. ext. data segm. (Die folgenden Definitionen werden auf absolute Adressen im externen Datenspeicher-Segment bezogen) BSEG {at<absol.addr.>} sel. bit addr. segm. (Die folgenden Definitionen werden auf absolute Adressen im bitadressierbaren Segment bezogen) ORG END <expression> set loc. count. value (setzen des Adresszählers auf <expression>) end of program Es ist also möglich, mit Hilfe des Sprachumfanges des Assemblers symbolische Zuweisungen, Deklarationen etc. vorzunehmen sowie insbesondere Speicher- Bereiche zu deklarieren und auszuwählen. Es ist eine Reihe von Konventionen einzuhalten: Vereinbarungen für Symbole und Syntax: Ein Symbol kann Segmente, Register, Adressen und Zahlen repräsentieren. Symbole: beginnen mit Buchstaben oder Sonderzeichen die ersten 31 Zeichen sind signifikant, maximale Länge 255 Zeichen keine Unterschiede zwischen Groß- und Kleinschreibung, beides zulässig Beispiel: Programm_ENDE Syntax von Zahlenwerten: das erste Zeichen muß eine Ziffer sein. Nicht FFH, sondern 0FFH! Marken und Labels: Symbolnamen haben Doppelpunkt am Schluß Zuordnung von Berfehlsadressen zu Symbolen Es kann Speicher als WORD (16 Bit), BYTE (8 Bit) und BIT reserviert werden. Initialisierung und Reservierung von Speicherbereichen 22

23 DB Das Format einer DB-Anweisung ist: [label:] DB expression list Diese Anweisung initialisiert Programmspeicher. PRIMZAHLEN: DB 1,2,3,5,7,11,13 ; Das Label Primzahlen hat den Inhalt 1 DW [label:] DW expression list Diese Anweisung reserviert und initialisiert Worte innerhalb des Programmspeichers Sprung_Verteiler: DW GO_PROC,BREAK_PROC,DISPLAY_PROC (eine Sprung-Verteilertaballe wird erstellt durch Aufzählen der Adressen für die Prozeduren) DS [label:]ds expression Diese Anweisung reserviert Speicher in Byte-Schritten. DBIT [label:]dbit expression Diese Anweisung reserviert Speicher in BIT-Einheiten. EQU <symbol>equ<ausdruck> weist <symbol> den Wert <ausdruck> zu. Ist nicht redifinierbar innerhalb eines Programm-Moduls Beispiel: TRUE EQU OFFH SET <symbol>set<ausdruck> weist <symbol> den Wert <ausdruck> zu. Ist eine zeitliche, redefinierbare Zuweisung Beispiel: TRUE SET OFFH Registerbänke 0 bis 3: 23

24 Diese Registerbänke befinden sich im internen RAM. Adresse 00H - 1FH. Sie können durch den Befehl "USING" ausgewählt werden. USING USING<ausdruck> Ausdruck kann Werte von 0 bis 3 haben: Beispiel: USING 1 ; Registerbank 1 wird ausgewählt Nach dem Einschalten wird automatisch die Registerbank 0 gewählt. Die Symbole R0 bis R7 werden automatisch der jeweils aktiven Registerbank zugewiesen. Es kann jeweils nur eine Registerbank aktiv sein. 1FH 18H 17H 10H 0FH 08H 07H 00H Registerbank 3 Registerbank 2 Registerbank 1 Registerbank 0 R7 R6 R5 R4 R3 R2 kann Speicher- Adresse beinhalten Abb : Registerbank-Struktur im 8051 Programmspeicherbetrieb CODE <symbol>code<adressausdruck> Definition eines Symbols für ein Byte im Programmspeicherbereich. CODE weist <symbol> den Wert <adressausdruck> zu. Ist innerhalb eines Moduls nicht redefinierbar. Beispiel: INT_VEKT_0CODE 03H; Interruptvektor 0 für externe Inputs hat die Adresse 03. Der Programmspeicher umfaßt 64 KBytes, wovon 4 kbytes im Prozessor sind. Je nach Status des /EA-Signals wird der interne bzw. externe Programmspeicher angesprochen. Die Adresse steht im Befehlszähler (PC). Außerdem liegen in diesem Adreßbereich die Interrupt-Vektor-Adressen: PC Interrupt-Name Erklärung 0000H RESET Startadresse nach RESET 0003H EXTIO Externer Interrupt 0 000BHTIMER 0 Timer 0 Overflow Interrupt 0013H EXTI1 External Interrupt 1 001BHTIMER 1 Timer 1 Overflow Interrupt 0023H SINT Seriel Channel 0 Interrupt Der interne Datenspeicher 24

25 FFH 80H 7FH 21 SFR Special Function Registers RAM nur direkt adresserbar i=0,1 2FH 1FH 00H RAM Bit-Adressraum Registerbänke direkt adressierbar Abb : Struktur des internen Datenspeichers Der interne Datenspeicher ermöglicht eine relativ schnelle Programmbearbeitung. Er kann direkt oder indirekt adressiert werden. Für die effektive Nutzung des 8051 ist es notwendig, genau die daten für geschwindigkeitskritische Programmteile intern verfügbar zu haben. Der nachfolgende Befehl reserviert internen Speicher: DATA <symbol>data<adressausdruck> Das ist die Definition eines Symbols für ein Byte im internen RAM oder im SFR. Nicht redefinierbar innerhalb eines Moduls. Beispiel: TABELLE DATA 70H; Tabelle erhält die Adresse 70H IDATA <symbol>idata<adressausdruck> Das ist die Definition eines Symbols für ein Byte im indirekt adressierbaren internen RAM (00H- FFH). IDATA weist <symbol> den Wert <adressausdruck> zu. Nicht redefinierbar innerhalb eines Moduls. BUFFER IDATA 60H; Der externe Datenspeicher FFFFH RAM nur indirekt adressierbar 0000H Abb : Struktur des externen Datenspeichers 25

26 Der externe Datenspeicher ist nur per indirekter Adressierung ansprechbar. Die Adresse steht entweder in den Registerbänken oder im Datenpointer-Register. XDATA <symbol>xdata<adressenausdruck> Dies ist die Definition für ein Byte im externen RAM. XDATA weist <symbol> den Wert <adressausdruck> zu. Dies ist innerhalb eines Moduls nicht re-definierbar. WERT1 XDATA 3890H ; WERT1 erhält die Adresse 3890H Die Bit-Adressen Im internen direkt und indirekt adressierbaren RAM-Bereich gibt es 16 Bit-adressierbare Register. Jedes einzelne Bit kann direkt adressiert werden. FFH 80H 7FH 2FH 1FH 00H 21 SFR Special Function Registers RAM RAM Bit-Adressraum Registerbänke 2FH 2EH 2DH 2CH 2BH 2AH 29H 28H 27H 26H 25H 24H 23H 22H 21H 20H 7F H.00 Abb : Bit-adressierbarer RAM-Bereich beim 8051 BIT <symbol>bit<bitadr> Dem Symbol für ein Bit wird der Wert <bitadr> zugewiesen (20H-2FH /32-47). Nicht redefinierbar. Beispiel: ALARM BIT P1.3 ; Alarm-Taste ist an Pin Port 1.3 angeschlossen OPEN_DOOR BIT ALARM+1; entspricht P 1.4 Die Zuweisungen in Form von <BIT> <DATA> werden in den Register-Deklarationsdateien geführt. Segmente Segmente sind Speicherbereiche. Entsprechend den 5 Speicherbereichen beim 8051 gibt es auch 5 Segmente. Jedem Segment ist ein Adreßzähler zugeordnet. Aktiviert man ein Segment, so wird dieser Adresszähler zunächst auf die Basisadresse 0 gesetzt. Ist eine andere Basisadresse angegeben, so wird diese verwendet. 26

Mikrocomputertechnik. Adressierungsarten

Mikrocomputertechnik. Adressierungsarten Adressierungsarten Ein Mikroprozessor bietet meist eine Reihe von Möglichkeiten, die Operanden für eine Rechenoperation zu bestimmen. Diese Möglichkeiten bezeichnet man als Adressierungsarten. unmittelbare

Mehr

8051Speicherorganistaion. SFR u. oberer Datenspeicherbereich teilen sich den SPECIAL FUNCTION REGISTER. gleichen Adreßbereich. indirekt adressierbar

8051Speicherorganistaion. SFR u. oberer Datenspeicherbereich teilen sich den SPECIAL FUNCTION REGISTER. gleichen Adreßbereich. indirekt adressierbar intern (auf CPU) PROGRAMMSPEICHER extern 2K bis 64K ROM 051: 4K max 64K 051:64K 051Speicherorganistaion 13.04.2000 - v3 extern interner XRAM DATENSPEICHER intern (auf CPU) SPECIAL FUNCTION REGISTER SFR

Mehr

Microcontroller Kurs. 08.07.11 Microcontroller Kurs/Johannes Fuchs 1

Microcontroller Kurs. 08.07.11 Microcontroller Kurs/Johannes Fuchs 1 Microcontroller Kurs 08.07.11 Microcontroller Kurs/Johannes Fuchs 1 Was ist ein Microcontroller Wikipedia: A microcontroller (sometimes abbreviated µc, uc or MCU) is a small computer on a single integrated

Mehr

Teil VIII Von Neumann Rechner 1

Teil VIII Von Neumann Rechner 1 Teil VIII Von Neumann Rechner 1 Grundlegende Architektur Zentraleinheit: Central Processing Unit (CPU) Ausführen von Befehlen und Ablaufsteuerung Speicher: Memory Ablage von Daten und Programmen Read Only

Mehr

3.0 8051 Assembler und Hochsprachen

3.0 8051 Assembler und Hochsprachen 3.0 8051 Assembler und Hochsprachen Eine kurze Übersicht zum Ablauf einer Programmierung eines 8051 Mikrocontrollers. 3.1 Der 8051 Maschinencode Grundsätzlich akzeptiert ein 8051 Mikrocontroller als Befehle

Mehr

Mikrocontroller Grundlagen. Markus Koch April 2011

Mikrocontroller Grundlagen. Markus Koch April 2011 Mikrocontroller Grundlagen Markus Koch April 2011 Übersicht Was ist ein Mikrocontroller Aufbau (CPU/RAM/ROM/Takt/Peripherie) Unterschied zum Mikroprozessor Unterschiede der Controllerarten Unterschiede

Mehr

Zähler- und Zeitgeber-Baugruppen

Zähler- und Zeitgeber-Baugruppen Zähler- und Zeitgeber-Baugruppen Sinn: häufig müssen Zeitbedingungen eingehalten werden z.b.: einige ms warten, Häufigkeit von Ereignissen zählen etc... Lösung: 1.) Zeitschleifen = Programm abarbeiten,

Mehr

Mikrocontrollerprogrammierung in Assembler und C

Mikrocontrollerprogrammierung in Assembler und C mitp Professional Mikrocontrollerprogrammierung in Assembler und C für die Mikrocontroller der 8051-Familie - Simulation unter Multisim von Herbert Bernstein 1. Auflage Mikrocontrollerprogrammierung in

Mehr

Zahlensysteme: Oktal- und Hexadezimalsystem

Zahlensysteme: Oktal- und Hexadezimalsystem 20 Brückenkurs Die gebräuchlichste Bitfolge umfasst 8 Bits, sie deckt also 2 8 =256 Möglichkeiten ab, und wird ein Byte genannt. Zwei Bytes, also 16 Bits, bilden ein Wort, und 4 Bytes, also 32 Bits, formen

Mehr

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen Binäre Bäume 1. Allgemeines Binäre Bäume werden grundsätzlich verwendet, um Zahlen der Größe nach, oder Wörter dem Alphabet nach zu sortieren. Dem einfacheren Verständnis zu Liebe werde ich mich hier besonders

Mehr

Der Aufruf von DM_in_Euro 1.40 sollte die Ausgabe 1.40 DM = 0.51129 Euro ergeben.

Der Aufruf von DM_in_Euro 1.40 sollte die Ausgabe 1.40 DM = 0.51129 Euro ergeben. Aufgabe 1.30 : Schreibe ein Programm DM_in_Euro.java zur Umrechnung eines DM-Betrags in Euro unter Verwendung einer Konstanten für den Umrechnungsfaktor. Das Programm soll den DM-Betrag als Parameter verarbeiten.

Mehr

Mikrocomputertechnik

Mikrocomputertechnik Bernd-Dieter Schaaf Mikrocomputertechnik Mit MikroControllern der Familie 8051 unter Mitarbeit von Peter Wissemann 4., aktualisierte Auflage mit 267 Bildern sowie zahlreichen Beispielen und Übungen HANSER

Mehr

S7-Hantierungsbausteine für R355, R6000 und R2700

S7-Hantierungsbausteine für R355, R6000 und R2700 S7-Hantierungsbausteine für R355, R6000 und R2700 1. FB90, Zyklus_R/W Dieser Baustein dient zur zentralen Kommunikation zwischen Anwenderprogramm und dem Modul R355 sowie den Geräten R6000 und R2700 über

Mehr

Die Mikroprogrammebene eines Rechners

Die Mikroprogrammebene eines Rechners Die Mikroprogrammebene eines Rechners Das Abarbeiten eines Arbeitszyklus eines einzelnen Befehls besteht selbst wieder aus verschiedenen Schritten, z.b. Befehl holen Befehl dekodieren Operanden holen etc.

Mehr

Prozessor HC680 fiktiv

Prozessor HC680 fiktiv Prozessor HC680 fiktiv Dokumentation der Simulation Die Simulation umfasst die Struktur und Funktionalität des Prozessors und wichtiger Baugruppen des Systems. Dabei werden in einem Simulationsfenster

Mehr

Grundlagen der Informatik

Grundlagen der Informatik Mag. Christian Gürtler Programmierung Grundlagen der Informatik 2011 Inhaltsverzeichnis I. Allgemeines 3 1. Zahlensysteme 4 1.1. ganze Zahlen...................................... 4 1.1.1. Umrechnungen.................................

Mehr

1 Aufgaben zu Wie funktioniert ein Computer?

1 Aufgaben zu Wie funktioniert ein Computer? 71 1 Aufgaben zu Wie funktioniert ein Computer? Netzteil a) Welche Spannungen werden von PC-Netzteilen bereitgestellt? 3.3 V, 5 V, 12 V, -5 V, -12 V. b) Warum können PC-Netzteile hohe Leistungen liefern,

Mehr

CU-R-CONTROL. Beschreibung zur Schaltung ATMega16-32+ISP MC-Controller Steuerung auf Basis ATMEL Mega16/32. Autor: Christian Ulrich

CU-R-CONTROL. Beschreibung zur Schaltung ATMega16-32+ISP MC-Controller Steuerung auf Basis ATMEL Mega16/32. Autor: Christian Ulrich Seite 1 von 10 CU-R-CONTROL Beschreibung zur Schaltung ATMega16-32+ISP MC-Controller Steuerung auf Basis ATMEL Mega16/32 Autor: Christian Ulrich Datum: 08.12.2007 Version: 1.00 Seite 2 von 10 Inhalt Historie

Mehr

Übungscomputer mit Prozessor 8085 - Bedienungsanleitung

Übungscomputer mit Prozessor 8085 - Bedienungsanleitung Seite 1 von 9 Pinbelegung der Steckerleisten im Übungsgerät Seite 2 von 9 Inbetriebnahme: Schalter S1, S2, und S3 in Stellung 1 (oben) schalten. Spannung 5 V anlegen. ACHTUNG auf Polarität achten. Taste

Mehr

Der Mikrocontroller beinhaltet auf einem Chip einen kompletten Mikrocomputer, wie in Kapitel

Der Mikrocontroller beinhaltet auf einem Chip einen kompletten Mikrocomputer, wie in Kapitel 2 Der Mikrocontroller Der Mikrocontroller beinhaltet auf einem Chip einen kompletten Mikrocomputer, wie in Kapitel 1 beschrieben. Auf dem Chip sind die, ein ROM- für das Programm, ein RAM- für die variablen

Mehr

Mikroprozessor bzw. CPU (Central Processing. - Steuerwerk (Control Unit) - Rechenwerk bzw. ALU (Arithmetic Logic Unit)

Mikroprozessor bzw. CPU (Central Processing. - Steuerwerk (Control Unit) - Rechenwerk bzw. ALU (Arithmetic Logic Unit) Der Demo-Computer besitzt einen 4Bit-Mikroprozessor. Er kann entsprechend Wörter mit einer Breite von 4 Bits in einem Schritt verarbeiten. Die einzelnen Schritte der Abarbeitung werden durch Lampen visualisiert.

Mehr

Dokumentation IBIS Monitor

Dokumentation IBIS Monitor Dokumentation IBIS Monitor Seite 1 von 16 11.01.06 Inhaltsverzeichnis 1. Allgemein 2. Installation und Programm starten 3. Programmkonfiguration 4. Aufzeichnung 4.1 Aufzeichnung mitschneiden 4.1.1 Inhalt

Mehr

Übungen für die Einführung in die Assemblerprogrammierung mit dem Prozessor c515c

Übungen für die Einführung in die Assemblerprogrammierung mit dem Prozessor c515c Übungen für die Einführung in die Assemblerprogrammierung mit dem Prozessor c515c 1 Transportbefehle 1.1 Verwendung nur Akku und Register (R0, R1,... R7) 1.1.1 Kopieren Sie den Wert aus Register1 nach

Mehr

Quanton Manual (de) Datum: 20.06.2013 URL: http://wiki:8090/pages/viewpage.action?pageid=9928792 )

Quanton Manual (de) Datum: 20.06.2013 URL: http://wiki:8090/pages/viewpage.action?pageid=9928792 ) Datum: 20.06.2013 URL: http://wiki:8090/pages/viewpage.action?pageid=9928792 ) Inhaltsverzeichnis 1 quanton flight control rev. 1 3 1.1 Anschlüsse für Peripheriegeräte 3 1.1.1 Eingänge / Ausgänge 3 1.1.2

Mehr

Local Control Network

Local Control Network Netzspannungsüberwachung (Stromausfallerkennung) Die Aufgabe Nach einem Stromausfall soll der Status von Aktoren oder Funktionen wieder so hergestellt werden, wie er vor dem Stromausfall war. Die Netzspannungsüberwachung

Mehr

Virtueller Seminarordner Anleitung für die Dozentinnen und Dozenten

Virtueller Seminarordner Anleitung für die Dozentinnen und Dozenten Virtueller Seminarordner Anleitung für die Dozentinnen und Dozenten In dem Virtuellen Seminarordner werden für die Teilnehmerinnen und Teilnehmer des Seminars alle für das Seminar wichtigen Informationen,

Mehr

4D Server v12 64-bit Version BETA VERSION

4D Server v12 64-bit Version BETA VERSION 4D Server v12 64-bit Version BETA VERSION 4D Server v12 unterstützt jetzt das Windows 64-bit Betriebssystem. Hauptvorteil der 64-bit Technologie ist die rundum verbesserte Performance der Anwendungen und

Mehr

a. Flipflop (taktflankengesteuert) Wdh. Signalverläufe beim D-FF

a. Flipflop (taktflankengesteuert) Wdh. Signalverläufe beim D-FF ITS Teil 2: Rechnerarchitektur 1. Grundschaltungen der Digitaltechnik a. Flipflop (taktflankengesteuert) Wdh. Signalverläufe beim D-FF b. Zähler (Bsp. 4-Bit Zähler) - Eingang count wird zum Aktivieren

Mehr

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem Fachbericht zum Thema: Anforderungen an ein Datenbanksystem von André Franken 1 Inhaltsverzeichnis 1 Inhaltsverzeichnis 1 2 Einführung 2 2.1 Gründe für den Einsatz von DB-Systemen 2 2.2 Definition: Datenbank

Mehr

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster Es gibt in Excel unter anderem die so genannten Suchfunktionen / Matrixfunktionen Damit können Sie Werte innerhalb eines bestimmten Bereichs suchen. Als Beispiel möchte ich die Funktion Sverweis zeigen.

Mehr

1. Übung - Einführung/Rechnerarchitektur

1. Übung - Einführung/Rechnerarchitektur 1. Übung - Einführung/Rechnerarchitektur Informatik I für Verkehrsingenieure Aufgaben inkl. Beispiellösungen 1. Aufgabe: Was ist Hard- bzw. Software? a Computermaus b Betriebssystem c Drucker d Internetbrowser

Mehr

Klassendiagramm der UML mit SiSy-AVR Schnelleinstieg am Beispiel myethernet-projekt

Klassendiagramm der UML mit SiSy-AVR Schnelleinstieg am Beispiel myethernet-projekt Klassendiagramm der UML mit SiSy-AVR Schnelleinstieg am Beispiel myethernet-projekt Zielstellung Dieser Schnelleinstieg demonstriert das Arbeiten mit dem Klassendiagramm in SiSy AVR, am Beispiel des myethernet-projektes.

Mehr

Anleitung zur Inbetriebnahme einer FHZ2000 mit der homeputer CL-Software

Anleitung zur Inbetriebnahme einer FHZ2000 mit der homeputer CL-Software Anleitung zur Inbetriebnahme einer FHZ2000 mit der homeputer CL-Software Bei Verwendung eines PCs als Zentrale muss bei der Konfiguration der FHZ2000 die IP-Adresse des PCs angeben werden. Das ist in der

Mehr

PicKit 3. Programmierung mit dem USB-Programmer PICkit3 (Microchip) AB-2010-04

PicKit 3. Programmierung mit dem USB-Programmer PICkit3 (Microchip) AB-2010-04 PicKit 3 Programmierung mit dem USB-Programmer PICkit3 (Microchip) AB-2010-04 In diesem Dokument wird ein Umbau beschrieben. Für die Funktion des Umbaus gibt es keine Garantie. Für durch diesen Umbau entstandene

Mehr

Kommunikation mehrerer PCs über Hubs

Kommunikation mehrerer PCs über Hubs Kommunikation mehrerer PCs über Hubs Hub Sollen mehr als zwei Rechner zu einem Netz verbunden werden, können wir dazu einen Hub verwenden, s. Abbildung 3-1. Ein Hub hat je nach Ausführung von vier bis

Mehr

Elektrische Logigsystem mit Rückführung

Elektrische Logigsystem mit Rückführung Mathias Arbeiter 23. Juni 2006 Betreuer: Herr Bojarski Elektrische Logigsystem mit Rückführung Von Triggern, Registern und Zählern Inhaltsverzeichnis 1 Trigger 3 1.1 RS-Trigger ohne Takt......................................

Mehr

Versuch 3: Sequenzielle Logik

Versuch 3: Sequenzielle Logik Versuch 3: Sequenzielle Logik Versuchsvorbereitung 1. (2 Punkte) Unterschied zwischen Flipflop und Latch: Ein Latch ist transparent für einen bestimmten Zustand des Taktsignals: Jeder Datensignalwechsel

Mehr

Datensicherung. Beschreibung der Datensicherung

Datensicherung. Beschreibung der Datensicherung Datensicherung Mit dem Datensicherungsprogramm können Sie Ihre persönlichen Daten problemlos Sichern. Es ist möglich eine komplette Datensicherung durchzuführen, aber auch nur die neuen und geänderten

Mehr

Local Control Network Technische Dokumentation

Local Control Network Technische Dokumentation Steuerung von Hifi-Anlagen mit der LCN-GVS Häufig wird der Wunsch geäußert, eine Hi-Fi-Anlage in die Steuerung der LCN-GVS einzubinden. Auch das ist realisierbar. Für die hier gezeigte Lösung müssen wenige

Mehr

Kap 4. 4 Die Mikroprogrammebene eines Rechners

Kap 4. 4 Die Mikroprogrammebene eines Rechners 4 Die Mikroprogrammebene eines Rechners Das Abarbeiten eines Arbeitszyklus eines einzelnen Befehls besteht selbst wieder aus verschiedenen Schritten (Befehl holen, Befehl dekodieren, Operanden holen etc.).

Mehr

Ablaufsteuerung Sequenzer, als Schaltstufen für den Amateurfunk.

Ablaufsteuerung Sequenzer, als Schaltstufen für den Amateurfunk. Ablaufsteuerung Sequenzer, als Schaltstufen für den Amateurfunk. DF1JM Juli 2011 Eine Sequenz ist eine Reihenfolge. Auf den Amateurfunk bezogen sind Sequenzer Schaltstufen, die in einer festgelegten Zeit-

Mehr

Bedienungsanleitung Version 1.0

Bedienungsanleitung Version 1.0 Botex DMX Operator (DC-1216) Bedienungsanleitung Version 1.0 - Inhalt - 1 KENNZEICHEN UND MERKMALE...4 2 TECHNISCHE ANGABEN...4 3 BEDIENUNG...4 3.1 ALLGEMEINES:...4 3.2 BEDIENUNG UND FUNKTIONEN...5 4 SZENEN

Mehr

Stepperfocuser 2.0 mit Bootloader

Stepperfocuser 2.0 mit Bootloader Stepperfocuser 2.0 mit Bootloader Info Für den Stepperfocuser 2.0 gibt es einen Bootloader. Dieser ermöglicht es, die Firmware zu aktualisieren ohne dass man ein spezielles Programmiergerät benötigt. Die

Mehr

Verbindung zwischen PC und Mikrokontroler Blue-Tooth-Modul Schaltung Parametrierung kein zusätzliches LF

Verbindung zwischen PC und Mikrokontroler Blue-Tooth-Modul Schaltung Parametrierung kein zusätzliches LF Verbindung zwischen PC und Mikrokontroler Obwohl bei PCs und Notebooks kaum noch zu finden, ist die serielle Schnittstelle bei Mikrokontrollern immer noch weit verbreitet. Für die Verbindung zwischen Mikrokontrollern

Mehr

9 Multiplexer und Code-Umsetzer

9 Multiplexer und Code-Umsetzer 9 9 Multiplexer und Code-Umsetzer In diesem Kapitel werden zwei Standard-Bauelemente, nämlich Multiplexer und Code- Umsetzer, vorgestellt. Diese Bausteine sind für eine Reihe von Anwendungen, wie zum Beispiel

Mehr

MOP: Befehlsliste für den Mikrocontroller 8051

MOP: Befehlsliste für den Mikrocontroller 8051 Beuth Hochschule Berlin FB VI, Labor für Digitaltechnik MOP: Befehlsliste für den Mikrocontroller 8051 Erläuterung der Operanden Operand A addr11 addr16 bit /bit C #data #data16 direct DPTR PC Ri Rn rel

Mehr

Einführung in. Logische Schaltungen

Einführung in. Logische Schaltungen Einführung in Logische Schaltungen 1/7 Inhaltsverzeichnis 1. Einführung 1. Was sind logische Schaltungen 2. Grundlegende Elemente 3. Weitere Elemente 4. Beispiel einer logischen Schaltung 2. Notation von

Mehr

Handbuch PCI Treiber-Installation

Handbuch PCI Treiber-Installation Handbuch PCI Treiber-Installation W&T Release 1.0, September 2003 09/2003 by Wiesemann & Theis GmbH Microsoft und Windows sind eingetragene Warenzeichen der Microsoft Corporation Irrtum und Änderung vorbehalten:

Mehr

Professionelle Seminare im Bereich MS-Office

Professionelle Seminare im Bereich MS-Office Der Name BEREICH.VERSCHIEBEN() ist etwas unglücklich gewählt. Man kann mit der Funktion Bereiche zwar verschieben, man kann Bereiche aber auch verkleinern oder vergrößern. Besser wäre es, die Funktion

Mehr

M a i l C r e d i t. \\Burt\user\Soutschek\FP\Technik\Frankiermaschinen\00_PC Software\MailCredit\Anleitung MailCredit Installation.

M a i l C r e d i t. \\Burt\user\Soutschek\FP\Technik\Frankiermaschinen\00_PC Software\MailCredit\Anleitung MailCredit Installation. M a i l C r e d i t MailCredit ist eine Software, die auf einem PC installiert wird. Diese Software ermöglicht es, dass eine Frankiermaschine über das Internet Portoladungen bzw. Kommunikation mit dem

Mehr

In diesem Tutorial lernen Sie, wie Sie einen Termin erfassen und verschiedene Einstellungen zu einem Termin vornehmen können.

In diesem Tutorial lernen Sie, wie Sie einen Termin erfassen und verschiedene Einstellungen zu einem Termin vornehmen können. Tutorial: Wie erfasse ich einen Termin? In diesem Tutorial lernen Sie, wie Sie einen Termin erfassen und verschiedene Einstellungen zu einem Termin vornehmen können. Neben den allgemeinen Angaben zu einem

Mehr

Technische Informatik 2 Adressierungsarten

Technische Informatik 2 Adressierungsarten Technische Informatik 2 Adressierungsarten Prof. Dr. Miroslaw Malek Sommersemester 2009 www.informatik.hu-berlin.de/rok/ca Thema heute X-Adressmaschine 0-Adressmaschine 1-Adressmaschine 2-Adressmaschine

Mehr

13 Programmierbare Speicher- und Logikbausteine

13 Programmierbare Speicher- und Logikbausteine 13 Programmierbare Speicher- und Logikbausteine Speicherung einer Tabelle (Programm) Read Only Memory (ROM) Festwertspeicher Nichtflüchtig Nichtlöschbar: ROM PROM bzw. OTP-ROM Anwender programmierbares

Mehr

Makros sind Textersetzungen, welche vom Präprozessor aufgelöst werden. Dies Passiert bevor der Compiler die Datein verarbeitet.

Makros sind Textersetzungen, welche vom Präprozessor aufgelöst werden. Dies Passiert bevor der Compiler die Datein verarbeitet. U4 4. Übung U4 4. Übung Besprechung Aufgabe 2 Makros Register I/O-Ports U4.1 U4-1 Makros U4-1 Makros Makros sind Textersetzungen, welche vom Präprozessor aufgelöst werden. Dies Passiert bevor der Compiler

Mehr

Praktikum Mikrocomputertechnik

Praktikum Mikrocomputertechnik TPU (Time Processor Unit) Die TPU ist ein Coprozessor für Timingaufgaben, sie arbeitet parallel zum Hauptprozessor (Host), um zum Beispiel PWM-Signale zu generieren. Die TPU besitzt eine Reihe festprogrammierter

Mehr

Nutzung von GiS BasePac 8 im Netzwerk

Nutzung von GiS BasePac 8 im Netzwerk Allgemeines Grundsätzlich kann das GiS BasePac Programm in allen Netzwerken eingesetzt werden, die Verbindungen als Laufwerk zu lassen (alle WINDOWS Versionen). Die GiS Software unterstützt nur den Zugriff

Mehr

Rechnerarchitektur Atmega 32. 1 Vortrag Atmega 32. Von Urs Müller und Marion Knoth. Urs Müller Seite 1 von 7

Rechnerarchitektur Atmega 32. 1 Vortrag Atmega 32. Von Urs Müller und Marion Knoth. Urs Müller Seite 1 von 7 1 Vortrag Atmega 32 Von Urs Müller und Marion Knoth Urs Müller Seite 1 von 7 Inhaltsverzeichnis 1 Vortrag Atmega 32 1 1.1 Einleitung 3 1.1.1 Hersteller ATMEL 3 1.1.2 AVR - Mikrocontroller Familie 3 2 Übersicht

Mehr

easyident Türöffner easyident Türöffner Art. Nr. FS-0007 FS Fertigungsservice

easyident Türöffner easyident Türöffner Art. Nr. FS-0007 FS Fertigungsservice easyident Türöffner Art. Nr. FS-0007 Wir freuen uns, das sie sich für unser Produkt easyident Türöffner, mit Transponder Technologie entschieden haben. Easyident Türöffner ist für Unterputzmontage in 55mm

Mehr

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren Lineargleichungssysteme: Additions-/ Subtraktionsverfahren W. Kippels 22. Februar 2014 Inhaltsverzeichnis 1 Einleitung 2 2 Lineargleichungssysteme zweiten Grades 2 3 Lineargleichungssysteme höheren als

Mehr

1. Übung aus Digitaltechnik 2. 1. Aufgabe. Die folgende CMOS-Anordnung weist einen Fehler auf:

1. Übung aus Digitaltechnik 2. 1. Aufgabe. Die folgende CMOS-Anordnung weist einen Fehler auf: Fachhochschule Regensburg Fachbereich Elektrotechnik 1. Übung aus Digitaltechnik 2 1. Aufgabe Die folgende CMOS-Anordnung weist einen Fehler auf: A B C p p p Y VDD a) Worin besteht der Fehler? b) Bei welcher

Mehr

Web-Kürzel. Krishna Tateneni Yves Arrouye Deutsche Übersetzung: Stefan Winter

Web-Kürzel. Krishna Tateneni Yves Arrouye Deutsche Übersetzung: Stefan Winter Krishna Tateneni Yves Arrouye Deutsche Übersetzung: Stefan Winter 2 Inhaltsverzeichnis 1 Web-Kürzel 4 1.1 Einführung.......................................... 4 1.2 Web-Kürzel.........................................

Mehr

Grundlagen der Technischen Informatik. Sequenzielle Netzwerke. Institut für Kommunikationsnetze und Rechnersysteme. Paul J. Kühn, Matthias Meyer

Grundlagen der Technischen Informatik. Sequenzielle Netzwerke. Institut für Kommunikationsnetze und Rechnersysteme. Paul J. Kühn, Matthias Meyer Institut für Kommunikationsnetze und Rechnersysteme Grundlagen der Technischen Informatik Paul J. Kühn, Matthias Meyer Übung 2 Sequenzielle Netzwerke Inhaltsübersicht Aufgabe 2.1 Aufgabe 2.2 Prioritäts-Multiplexer

Mehr

Name: ES2 Klausur Thema: ARM 25.6.07. Name: Punkte: Note:

Name: ES2 Klausur Thema: ARM 25.6.07. Name: Punkte: Note: Name: Punkte: Note: Hinweise für das Lösen der Aufgaben: Zeit: 95 min. Name nicht vergessen! Geben Sie alle Blätter ab. Die Reihenfolge der Aufgaben ist unabhängig vom Schwierigkeitsgrad. Erlaubte Hilfsmittel

Mehr

mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank

mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank In den ersten beiden Abschnitten (rbanken1.pdf und rbanken2.pdf) haben wir uns mit am Ende mysql beschäftigt und kennengelernt, wie man

Mehr

Mikrocontrollertechnik

Mikrocontrollertechnik Aufgaben: Impulse zählen (Zählerfunktion) Zeitintervalle erzeugen (Zeitgeberfunktion) Prinzipschaltbild: Die Programmierung erfolgt mit den Registern TMOD und TCON: timer.doc TSC Seite 1/8 timer.doc TSC

Mehr

Konfiguration des ewon GSM Modems Kurzbeschreibung zum Aufbau einer GSM Verbindung

Konfiguration des ewon GSM Modems Kurzbeschreibung zum Aufbau einer GSM Verbindung ewon - Technical Note Nr. 004 Version 1.2 Konfiguration des ewon GSM Modems Kurzbeschreibung zum Aufbau einer GSM Verbindung 08.08.2006/SI Übersicht: 1. Thema 2. Benötigte Komponenten 3. Modemkonfiguration

Mehr

TrueType Schriften auf M-4206. Vorgehen

TrueType Schriften auf M-4206. Vorgehen TrueType Schriften auf M-4206 Dieses Verfahren beschreibt das Herunterladen einer TrueType-Schriftart mit dem Seagull-Druckertreiber auf einen Datamax M-4206 Drucker sowie das Ausdrucken dieser Schrift

Mehr

Das große ElterngeldPlus 1x1. Alles über das ElterngeldPlus. Wer kann ElterngeldPlus beantragen? ElterngeldPlus verstehen ein paar einleitende Fakten

Das große ElterngeldPlus 1x1. Alles über das ElterngeldPlus. Wer kann ElterngeldPlus beantragen? ElterngeldPlus verstehen ein paar einleitende Fakten Das große x -4 Alles über das Wer kann beantragen? Generell kann jeder beantragen! Eltern (Mütter UND Väter), die schon während ihrer Elternzeit wieder in Teilzeit arbeiten möchten. Eltern, die während

Mehr

Der 80535-Übungsrechner

Der 80535-Übungsrechner 6. Für den Test kleinerer Programmodule ohne Berücksichtigung des Echtzeitverhaltens ist der Simulator das geeignete Werkzeug. Durch die Möglichkeit der Einzelschrittausführung sind erste Tests von Programmen

Mehr

Datenübernahme von HKO 5.9 zur. Advolux Kanzleisoftware

Datenübernahme von HKO 5.9 zur. Advolux Kanzleisoftware Datenübernahme von HKO 5.9 zur Advolux Kanzleisoftware Die Datenübernahme (DÜ) von HKO 5.9 zu Advolux Kanzleisoftware ist aufgrund der von Update zu Update veränderten Datenbank (DB)-Strukturen in HKO

Mehr

Suche schlecht beschriftete Bilder mit Eigenen Abfragen

Suche schlecht beschriftete Bilder mit Eigenen Abfragen Suche schlecht beschriftete Bilder mit Eigenen Abfragen Ist die Bilderdatenbank über einen längeren Zeitraum in Benutzung, so steigt die Wahrscheinlichkeit für schlecht beschriftete Bilder 1. Insbesondere

Mehr

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang sysplus.ch outlook - mail-grundlagen Seite 1/8 Outlook Mail-Grundlagen Posteingang Es gibt verschiedene Möglichkeiten, um zum Posteingang zu gelangen. Man kann links im Outlook-Fenster auf die Schaltfläche

Mehr

1 Konto für HBCI/FinTS mit Chipkarte einrichten

1 Konto für HBCI/FinTS mit Chipkarte einrichten 1 Konto für HBCI/FinTS mit Chipkarte einrichten Um das Verfahren HBCI/FinTS mit Chipkarte einzusetzen, benötigen Sie einen Chipkartenleser und eine Chipkarte. Die Chipkarte erhalten Sie von Ihrem Kreditinstitut.

Mehr

Anleitung zur Nutzung des SharePort Utility

Anleitung zur Nutzung des SharePort Utility Anleitung zur Nutzung des SharePort Utility Um die am USB Port des Routers angeschlossenen Geräte wie Drucker, Speicherstick oder Festplatte am Rechner zu nutzen, muss das SharePort Utility auf jedem Rechner

Mehr

Zeichen bei Zahlen entschlüsseln

Zeichen bei Zahlen entschlüsseln Zeichen bei Zahlen entschlüsseln In diesem Kapitel... Verwendung des Zahlenstrahls Absolut richtige Bestimmung von absoluten Werten Operationen bei Zahlen mit Vorzeichen: Addieren, Subtrahieren, Multiplizieren

Mehr

Mitarbeiter-Alarm. 1x Taster mit Kabel zum Anschluss an den seriellen Com-Port (optional) 1x Installationsprogramm auf CD 1x Lizenz

Mitarbeiter-Alarm. 1x Taster mit Kabel zum Anschluss an den seriellen Com-Port (optional) 1x Installationsprogramm auf CD 1x Lizenz Mitgelieferte Komponenten: Mitarbeiter-Alarm 1x Taster mit Kabel zum Anschluss an den seriellen Com-Port (optional) 1x Installationsprogramm auf CD 1x Lizenz Hardware: (optional) Alarmtaster befestigen

Mehr

The ToolChain.com. Grafisches Debugging mit der QtCreator Entwicklungsumgebung

The ToolChain.com. Grafisches Debugging mit der QtCreator Entwicklungsumgebung The ToolChain Grafisches Debugging mit der QtCreator Entwicklungsumgebung geschrieben von Gregor Rebel 2014-2015 Hintergrund Neben dem textuellen Debuggen in der Textkonsole bieten moderene Entwicklungsumgebungen

Mehr

Binärdarstellung von Fliesskommazahlen

Binärdarstellung von Fliesskommazahlen Binärdarstellung von Fliesskommazahlen 1. IEEE 754 Gleitkommazahl im Single-Format So sind in Gleitkommazahlen im IEEE 754-Standard aufgebaut: 31 30 24 23 0 S E E E E E E E E M M M M M M M M M M M M M

Mehr

EasyWk DAS Schwimmwettkampfprogramm

EasyWk DAS Schwimmwettkampfprogramm EasyWk DAS Schwimmwettkampfprogramm Arbeiten mit OMEGA ARES 21 EasyWk - DAS Schwimmwettkampfprogramm 1 Einleitung Diese Präsentation dient zur Darstellung der Zusammenarbeit zwischen EasyWk und der Zeitmessanlage

Mehr

OPERATIONEN AUF EINER DATENBANK

OPERATIONEN AUF EINER DATENBANK Einführung 1 OPERATIONEN AUF EINER DATENBANK Ein Benutzer stellt eine Anfrage: Die Benutzer einer Datenbank können meist sowohl interaktiv als auch über Anwendungen Anfragen an eine Datenbank stellen:

Mehr

Autoradio On Off Schaltung

Autoradio On Off Schaltung Autoradio On Off Schaltung Konzeption, Anleitung und Hinweise Christian Schönig Schöneberger Str. 20 82377 Penzberg Inhalt 1. MOTIVATION... 3 1.1. AKTUELLER STAND BEI HERSTELLER RADIO... 3 1.2. ANSCHLUSS

Mehr

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom 21.10.2013b

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom 21.10.2013b AGROPLUS Buchhaltung Daten-Server und Sicherheitskopie Version vom 21.10.2013b 3a) Der Daten-Server Modus und der Tresor Der Daten-Server ist eine Betriebsart welche dem Nutzer eine grosse Flexibilität

Mehr

Benutzung der LS-Miniscanner

Benutzung der LS-Miniscanner Benutzung der LS-Miniscanner Seit Januar 2010 ist es möglich für bestimmte Vorgänge (Umlagerungen, Retouren, Inventur) die von LS lieferbaren Miniscanner im Format Autoschlüsselgröße zu benutzen. Diese

Mehr

Programmierung Weichenmodul S/D Tafel 1

Programmierung Weichenmodul S/D Tafel 1 Programmierung Weichenmodul S/D Tafel 1 Voraussetzungen: Fahrspannung ist abgeschalten (rote Taste an MC 2004 oder Einfrieren im Traincontroller) Programmiertaste am Modul ist gedrückt (rote LED leuchtet),

Mehr

Mikrocomputertechnik. Thema: Der Aufbau des XC888-Mikrocontrollers -Teil 1 -

Mikrocomputertechnik. Thema: Der Aufbau des XC888-Mikrocontrollers -Teil 1 - Mikrocomputertechnik Thema: Der Aufbau des XC888-Mikrocontrollers -Teil 1 - Mikroprozessor-Achritekturen Folie 2 Mikroprozessor-Achritekturen Klassifizierung anhand Wortbreite CPU-Architektur und Busleitungen

Mehr

Ausbildungsunterlage für die durchgängige Automatisierungslösung Totally Integrated Automation (T I A)

Ausbildungsunterlage für die durchgängige Automatisierungslösung Totally Integrated Automation (T I A) Ausbildungsunterlage für die durchgängige Automatisierungslösung Totally Integrated Automation (T I A) MODUL 6 T I A Ausbildungsunterlage Seite 1 von 16 Modul 6 Diese Unterlage wurde von Siemens A&D FEA

Mehr

Einführung in die Java- Programmierung

Einführung in die Java- Programmierung Einführung in die Java- Programmierung Dr. Volker Riediger Tassilo Horn riediger horn@uni-koblenz.de WiSe 2012/13 1 Wichtig... Mittags keine Pommes... Praktikum A 230 C 207 (Madeleine + Esma) F 112 F 113

Mehr

Informationen zur Bedienung des Anrufbeantworters

Informationen zur Bedienung des Anrufbeantworters Informationen zur Bedienung des Anrufbeantworters - Die neue Telefonanlage der Firma Siemens stellt für die Anrufbeantworter- und Faxfunktion einen eigenen Server (Produktname: Xpressions) bereit. - Über

Mehr

V o r w o r t. A n l e i t u n g

V o r w o r t. A n l e i t u n g V o r w o r t In diesem Dokument wird erklärt, wie man mit Hilfe des Logitech Profiler Tastaturbefehle, welche von einem PC Spiel benutzt werden, auf die Tasten eines Eingabegeräts der Firma Logitech belegt.

Mehr

schnell und portofrei erhältlich bei beck-shop.de DIE FACHBUCHHANDLUNG mitp/bhv

schnell und portofrei erhältlich bei beck-shop.de DIE FACHBUCHHANDLUNG mitp/bhv Roboter programmieren mit NXC für Lego Mindstorms NXT 1. Auflage Roboter programmieren mit NXC für Lego Mindstorms NXT schnell und portofrei erhältlich bei beck-shop.de DIE FACHBUCHHANDLUNG mitp/bhv Verlag

Mehr

AZK 1- Freistil. Der Dialog "Arbeitszeitkonten" Grundsätzliches zum Dialog "Arbeitszeitkonten"

AZK 1- Freistil. Der Dialog Arbeitszeitkonten Grundsätzliches zum Dialog Arbeitszeitkonten AZK 1- Freistil Nur bei Bedarf werden dafür gekennzeichnete Lohnbestandteile (Stundenzahl und Stundensatz) zwischen dem aktuellen Bruttolohnjournal und dem AZK ausgetauscht. Das Ansparen und das Auszahlen

Mehr

FlowFact Alle Versionen

FlowFact Alle Versionen Training FlowFact Alle Versionen Stand: 29.09.2005 Rechnung schreiben Einführung Wie Sie inzwischen wissen, können die unterschiedlichsten Daten über verknüpfte Fenster miteinander verbunden werden. Für

Mehr

RO-Serie CAN-Übertragungsprotokoll

RO-Serie CAN-Übertragungsprotokoll RO-Serie CAN-Übertragungsprotokoll Juni 2009 1 EINLEITUNG...3 2 REGISTER-ZUGRIFFE...4 2.1 Was sind überhaupt Register?... 4 2.2 Registerzugriff mit 8/ 16 oder 32 Bit-Datenbreite... 4 2.3 Registerbelegung...

Mehr

Einfache Computersteuerung für Modellbahnen

Einfache Computersteuerung für Modellbahnen Einfache Computersteuerung für Modellbahnen Was soll eigentlich mit einem Computer gesteuert werden? Diese Frage muss man sich als erstes stellen: - Man braucht für Ausstellungen einen kompletten automatischen

Mehr

RS-Flip Flop, D-Flip Flop, J-K-Flip Flop, Zählschaltungen

RS-Flip Flop, D-Flip Flop, J-K-Flip Flop, Zählschaltungen Elektronik Praktikum / Digitaler Teil Name: Jens Wiechula, Philipp Fischer Leitung: Prof. Dr. U. Lynen Protokoll: Philipp Fischer Versuch: 3 Datum: 24.06.01 RS-Flip Flop, D-Flip Flop, J-K-Flip Flop, Zählschaltungen

Mehr

mit SD-Karte SD-Karte Inhalt

mit SD-Karte SD-Karte Inhalt mit mit Kartensteckplatz Der Logger ist optional mit einem Kartensteckplatz für eine micro erhältlich. Die verfügt über ein Vielfaches der Speicherkapazität des internen Logger- Speichers. Inhalt Zeitlicher

Mehr

Step by Step Webserver unter Windows Server 2003. von Christian Bartl

Step by Step Webserver unter Windows Server 2003. von Christian Bartl Step by Step Webserver unter Windows Server 2003 von Webserver unter Windows Server 2003 Um den WWW-Server-Dienst IIS (Internet Information Service) zu nutzen muss dieser zunächst installiert werden (wird

Mehr

Bojendaten Übertragung mit UMTS

Bojendaten Übertragung mit UMTS Stefan Schröder Hard- und Softwareentwicklungen Bojendaten Übertragung mit UMTS Anschrift: Kontakt Stefan Schröder Tel.: +49 4133 223498 e-mail: schroeder@sshus.de Hard- und Softwareentwicklungen Fax:

Mehr

Tutorial - www.root13.de

Tutorial - www.root13.de Tutorial - www.root13.de Netzwerk unter Linux einrichten (SuSE 7.0 oder höher) Inhaltsverzeichnis: - Netzwerk einrichten - Apache einrichten - einfaches FTP einrichten - GRUB einrichten Seite 1 Netzwerk

Mehr