Die serielle RS232 Schnittstelle



Ähnliche Dokumente
Serielle Schnittstellen

6. Peripheriegeräte und Schnittstellen

EA USB PROGRAMMERBOARD FÜR EA edip240-7

Die serielle Schnittstelle in der MSR - Technik

DST EINFÜHRUNG IN MRT (V2)

Der Transistor (Grundlagen)

Serielle Kommunikation - Kodierung

Abb. 1: Unser Experimentierset

Bedienungsanleitung / Handbuch / Datenblatt

UEM 300 Analoges Wählmodem

140 ESI Kommunikationsmodul

Wir messen analog. Wie dieses Messprinzip mit JavaScript und unserer COMX-Komponente realisiert werden kann, davon handelt dieses Kapitel.


Version SIO2PC Interface. ATARI Serial Input/Output zu RS232. 5/2011 Frank A. Dullinger

Ampelsteuerung Merkblatt 2 Wie wird der Arduino programmiert?

Timer-Schaltung N Zum Beispiel zum Zähneputzen oder Eierkochen.

Dateiübertragung mit ProComm Plus (Posten 6)

Die RS Schnittstelle

zu Bestell-Nr. C79000-B7300-C088

Bedienungsanleitung FMI-250 Zusatz. ATP Messtechnik GmbH

NvK-Gymnasium Bernkastel-Kues Widerstände. Physik Elektronik 1 U 5V = R= 20 = 0,25A R 20 1V 1A

Wechselblinker. Aufladen eines Elkos. Aufladen und Entladen eines Elkos

Elektronik NATURWISSENSCHAFT UND TECHNIK. 1. Halbleiter Messung der Beleuchtungsstärke (Zusatzexperiment)

LWL-718 LWL-L1, LWL-L2. Mehrfachumsetzer RS LWL-Verkabelung Einzelumsetzer RS232/V LWL-Verkabelung. Bedienungsanleitung

CIUS - AMPEL - ANLAGE. Steuern und Regeln. A. Steinbach Realschule Tamm. Da stimmt doch was nicht?

Anhang B - Belegung der Anschlussbuchsen Schnittstellenkabel

Ingenieurbüro für Echtzeitprogrammierung. Dokumentation SER8

NC-Datenübertragung PC <=> Maschinensteuerung

Serielle Datenübertragung. TeilB: Serielle Schnittstellen. Serielle Datenübertragung Minimalverkabelung

Blinklicht verstellbar

9 CNC-Backpanel xx.x

Elektrische Schnittstelle Signal

SB 500 Softwarekonfiguration und Einstellung der Jumper

Einführung in die Informationstechnik. Eingabe - Verarbeitung - Ausgabe CIUS - KREISLICHT. Realschule Tamm Technik Axel Steinbach

Schülerexperimente zur Elektronik

Praktikum Komponenten & Programmierung von Automatisierungssystemen

Die Reihenschaltung und Parallelschaltung

Speicherung der elektrischen Energie einer Solarzelle mit einem Kondensator

R&R Industrie - Tastatur IKL für rauhe Umwelt

Die technische Stromrichtung wird immer entgegengesetzt zur Bewegung der Elektronen angegeben!

Allgemeine Betriebs-, Wartungsund Montageanleitung. 4 kv galvanisch getrennter RS-232 Transceiver. RS-232 Isolator

Konverter. Gruppe 11. Unser Weg ist Ihr Ziel. Der Spezialist für ADD-On Produkte. Tel Fax Fax

ARDF Maus. Schaltungsbeschreibung

Herleitung der Flip-Flop-Schaltung Zum Lesen und Verstehen

UEM 302 ISDN Terminal Adapter

Kapitel. Eins zurück, zwei vor: die ersten Schritte

Technical Note 0306 ewon

EX x RS-232 zu Ethernet / IP. Bedienungsanleitung. 7. Anschlüsse. 8. Technische Daten. Seriell 9 Pin D-SUB Stecker

GAP. GAP AG, Produktspezifikation HW HiConnex Seite 1 von 8 Version 5

ELECTRONIC SYS. 8 Channel 10 Bit A/D Wandler. seriell V USB V

Stefan Schröder Hard- und Softwareentwicklungen. Steuerung für GPRS-Module und elektronische Sicherung. Zum Neetzekanal Brietlingen

Arbeitsaufgaben Elektronik Klasse 9

Schüler Experimente ELEKTRONIK. Versuchsanleitung P9110-4F.

Serielle Schnittstelle

A B C J4. Reset X Adapter-Karte für 80C166-Board ADAP166 ( Stückliste

NEM 692 Seite 1 von 6 Empfehlung Ausgabe 2012 (ersetzt Ausgabe 2011) Normen Europäischer Modellbahnen. Steuermodul Signal

PLOG1. 1. Anmerkungen zur Funktion. Praktikumsplatine "programmierbare Logik" Spannungsversorgung:

ALU Zentraleinheit

LAN-Schaltinterface LAN-R01

Blinker N Spanplatte 195 / 90 / 8 mm 1 Holzleiste 140 / 10 / 5 mm. Dazu passende Arbeitsblätter gratis zum Herunterladen

Arduino Kurs Bits und Bytes. Stephan Laage-Witt FES Lörrach

A Channel-Charge-Integrator

Arbeitsblätter für den Elektronikbaukasten EB10

N Metronom. Arbeitsblatt. Videos & Arbeitsblätter gratis im Internet

Das Rückmelde-Modul GLS88-8 V3.21

Materialsatz: MatPwrDigiX

Sensortaster N

PTC-Widerstand. Material. Thema. Aufbau. Experiment. Messergebnisse

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls;

R&R Industrie - Tastatur IKL1-5x4 für rauhe Umwelt

1 Elektrotechnik. 1.1 Schaltungsbeispiele mit idealen Spannungs- und Stromquellen zur Vereinfachung oder Komplexitätserhöhung von Aufgaben

A n l e i t u n g. Beamer- Treiber- Download (FBI EB/ 19 )

Tongenerator N

BASIC- Briefmarke II D. BASIC-Briefmarke II D Wilke Technology GmbH Seite 1

ATmega8. Projekte mit AVR-Mikrocontroller. Ein Digitalvoltmeter Seite 1 von 6. Ein Datenlogger

Highspeed. Kurzzeitfotografie in Natur und Studio. Bearbeitet von Hans-Christian Steeg

Schriftliche Reifeprüfung aus INFORMATIK: Klasse 8D Haupttermin 2002/03

Handbuch TOLdnc2000 Übertragungs- Program für CNC- Schneidmaschinen. TOLdnc2000

Labor Computertechnik (LCT) Laborbericht zu Versuch: 1 Logikanalysatortechnik und RS232

Bedienungsanleitung 1.0

Autohupe N Spanplatte 195/ 90 / 8 mm 2 Holzleisten 140 / 10 / 5 mm 1 Lautsprecher LS...8 Ohm

Alarmanlage N

Arduino Kurs Timer und Interrupts. Stephan Laage-Witt FES Lörrach

Speicherung der elektrischen Energie aus Windenergie mit einem Kondensator

USB Datenerfassungs- und Steuerungsmodul HB628

Lügendetektor N

Lichtschranke N

Handbuch Interface RS232 <> RS485

Studienseminar Koblenz - Fachseminar Informatik Visualisierung von Sortieralgorithmen


LAN-I/O. Ing.-Büro Lehmann Fürstenbergstraße 8a Hausach Tel (0) Internet:

Konverter RS232 auf Ethernet. WE-Ether-232. Kurzanleitung zur Inbetriebnahme Teil 6

Martinshorn N

Bedienungsanleitung ALARM-MATRIX

Transkript:

Die serielle RS232 Schnittstelle von Dr. Helmut Leimeister Übersicht: Programm Seite Literatur, Geräte 2 Die RS232 Schnittstelle (Theorie) 3 Ausgang schalten Ausgang_Eingang 4 Das Programm : Ausgang_Eingang 5 Halbleiter, Diode, Transistor (Theorie) 6 Blitzlicht Ausgang_Eingang 7 Die Register der RS232 (Theorie) 8 Assembler-Programmierung Ausgang-mit-ASM 9 Ampelschaltung Ampel 10 Wechsel-Blinklicht -Blinklicht 11 Zeitschaltung Zeituhr 12 Die Eingänge der RS232 13 Berührungssensor Ausgang_Eingang 14 Lichtschranke 1, Zeitmessung Lichtschranke 15 Lichtschranke 2, Rolltreppe Ausgang_Eingang 16 Ladezeit für einen Kondensator Kondensator 17 Reaktionszeit Reaktionszeit 18 Logik NOT; UND/ NAND; OR/ NOR; EXOR Logik 19 Gatter: NOT; UND/NAND; OR/NOR; EXOR Ausgang_Eingang 20,21

- 2 - Literatur: http://www.ak-modul-bus.de/ Die Firma AK-modul-bus vertreibt Elektronikbauteile, Elektronikbücher und die hier verwendeten Steckbuchsen. Auf der Internetseite sind viele Versuche mit der RS232 Schnittstelle veröffentlicht. http://www.b-kainka.de/ Von B. Kainka ist das Buch: Messen, Steuern, Regeln unter Windows, Franzis Verlag. Es enthält eine CD mit Versuchen, die Programme in VB und den Treiber RSLine32.DLL. Geräte: Platine mit Streifenraster, 5.08 mm Rastermaß 20 Stück Einbaubuchsen, 2 mm Sub-D Verlängerung 1:1, 9-pol Sub-D Buchse, 9-pol Das Bauteil: Die Buchsen in die Löcher stecken und mit den Leiterbahnen verlöten. Danach werden die Leiterbahnen zwischen den beiden Buchsenreihen unterbrochen.

- 3 - Die RS232 Schnittstelle Die Ausgänge der seriellen Schnittstelle data terminal ready Endgerät bereit RTS request to send Sendeteil einschalten TXD transmit data Sendedaten Die Eingänge der seriellen Schnittstelle CTS clear to send Sendebereitschaft DCD data carrier detect Empfangssignalpegel DSR data set ready Betriebsbereitschaft RI ring indicator ankommender Ruf RXD (sollte man nicht verwenden) receive data Empfangsdaten GND ground Masse Jede Ausgangsleitung liefert eine Leerlaufspannung von +11,49 V und einen maximalen Strom von 10 ma...20 ma. Eine interne Strombegrenzung verhindert eine Überlastung auch im Kurzschlussfall. Die meisten PCs verwenden zwei COM-Schnittstellen COM1 und COM2. Oft ist COM1 mit der Maus belegt. Die Programme suchen die freie COM2 für die Versuche.

- 4 - Ausgang schalten RTS GND Programm Ausgang-Eingang verwenden Man verbindet eine beliebige Ausgangsleitung und GND mit einer Leuchtdiode (). Durch Button klick schaltet man den Ausgang an oder aus. Die leuchtet, wenn der Ausgang positive Spannung hat. Ist die umgekehrt angeschlossen, leuchtet sie, wenn der Ausgang negative Spannung liefert. Zur Programmierung der seriellen Schnittstelle wird die Funktionsbibliothek RSLine32.DLL eingesetzt. Sie muss sich im jeweils aktuellen Verzeichnis befinden. Hinweis: Eine DLL (Dynamic Link Library) ist aufgebaut wie eine Unit: Sie ist unabhängig von der verwendeten Programmiersprache und wird erst bei Bedarf in den Speicher geladen. Greifen mehrere Programme auf eine DLL zu, so ist diese nur einmal im Speicher vorhanden. Eine Unit wäre dann öfters, d. h. für jedes Programm vorhanden.

- 5 - Das Programm Ausgang_Eingang function OPENCOM (A: Integer): Integer; stdcall; external 'Rsline32.DLL'; procedure RTS (An: Integer); stdcall; external 'Rsline32.DLL'; procedure (An: Integer); stdcall; external 'Rsline32.DLL'; procedure TXD (An: Integer); stdcall; external 'Rsline32.DLL'; function CTS (): integer; stdcall; external 'Rsline32.DLL'; function DCD (): integer; stdcall; external 'Rsline32.DLL'; function DSR (): integer; stdcall; external 'Rsline32.DLL'; function RI (): integer; stdcall; external 'Rsline32.DLL'; implementation {$R *.DFM} procedure TForm1.FormCreate(Sender: TObject); if OPENCOM (1) = 0 then OPENCOM (2); // die COM-Schnittstelle wählen (0); RTS (0); TXD (0); // alle Ausgänge aus procedure TForm1.Button1Click(Sender: TObject); (1); panel1.color:= cllime; procedure TForm1.Button2Click(Sender: TObject); (0); panel1.color:= clbtnface; procedure TForm1.Button3Click(Sender: TObject); RTS (1); panel2.color:= cllime; procedure TForm1.Button4Click(Sender: TObject); RTS (0); panel2.color:= clbtnface; procedure TForm1.Button5Click(Sender: TObject); TXD (1); panel3.color:= cllime; procedure TForm1.Button6Click(Sender: TObject); TXD (0); panel3.color:= clbtnface; // an // aus // RTS an // RTS aus // TXD an // TXD aus procedure TForm1.Timer1Timer(Sender: TObject); if CTS = 1 then panel4.color := cllime else panel4.color := clbtnface; if DCD = 1 then panel5.color := cllime else panel5.color := clbtnface; if DSR = 1 then panel6.color := cllime else panel6.color := clbtnface; if RI = 1 then panel7.color := cllime else panel7.color := clbtnface; if RXD = 1 then panel8.color := cllime else panel8.color := clbtnface; procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction); (0); RTS (0); TXD (0); // alle Ausgänge aus

- 6 - Halbleiter Diode: Leuchtdiode, Fotodiode Transistor Blitzlicht Ein Kondensator kann elektrische Ladung speichern und kurzzeitig als einen stärkeren Strom abgeben. Über das Programm (Ausgang-Eingang) schaltet man RTS an. Der Kondensator wird aufgeladen. Schaltet man jetzt ein, so entsteht ein kurzer Blitz. Der Transistor wird schlagartig über die entladen. muss ausgeschaltet werden, bevor der Kondensator neu geladen wird. Man schaltet RTS ein und wieder aus. Der Kondensator ist jetzt geladen und behält seine Ladung mehrere Minuten lang. npn -Transistor BC 548 RTS + + C B 1 k _ E 1 k + mü F GND Programm Ausgang-Eingang verwenden

- 7 - Die Register der RS232 Schnittstelle Im Gerätemanager von WINDOWS findet man für die Schnittstelle COM1 die Angabe Interrupt : 04 E/A-Bereich : 03F8... 03FF // 8 Werte Datenbit : 8 Das heißt : 1) die Schnittstelle COM1 hat die Adresse 03F8, 2) die Schnittstelle hat 8 Register mit dem Offset 0... 7, 3) jedes Register ist 8 Bit breit. Nach ihrer Funktion werden die Register verschieden benannt. In den Registern haben die einzelnen Bits verschiedene Aufgaben: sie steuern die Leitungen, RTS, usw. Sende-Halte-Register Offset: 0 Bit Nr. 7 6 5 4 3 2 1 0 Interrupt-Freigabe-Register Offset: 1 Interrupt-Erkennungs-Register Offset: 2 Leitung-Steuer-Register Offset: 3 TXD Modem-Steuer-Register (Ausgang setzen) Offset: 4 RTS Leitungs-Status-Register Offset: 5 Modem-Status-Register (Eingang lesen) Offset: 6 DCD RI DSR CTS Bit Nr. 7 6 5 4 3 2 1 0 Offset: 7

- 8 - Assembler-Programmierung Man verbindet RTS und GND mit einer Leuchtdiode (). Mit dem Programm (Ausgang_mit_ASM) schaltet man den Ausgang RTS ein oder aus. Das Programm ist in Assembler geschrieben. RTS GND Programm Ausgang_mit_ASM verwenden procedure TForm1.FormCreate(Sender: TObject); if OPENCOM (1) = 0 then opencom (2); (0); RTS (0); TXD (0); // alle Ausgänge aus procedure TForm1.Button1Click(Sender: TObject); // RTS ein asm push ax // AX-Register vom Prozessor sichern push DX // DX-Register vom Prozessor sichern mov DX, 03F8h +4 // die serielle Schnittstelle und das 4.Register auswählen mov al, 2 // bin 0000.0010 ; RTS ist das 2. bit out DX, al // RTS einschalten pop DX // den Wert wieder herstellen pop ax end procedure TForm1.Button2Click(Sender: TObject); // RTS aus asm push ax push DX mov DX, 03F8h +4 // die serielle Schnittstelle und das 4.Register mov al, 0 // bin 0000.0000 out DX, al // RTS ausschalten pop DX pop ax end

- 9 - Ampelschaltung Man baut die Schaltung nach Plan auf. Im Programm (Ampel) steuert ein Timer die Ausgänge der Schnittstelle und die Farben der drei Shape-Komponenten. RTS TXD GND Programm Ampel verwenden procedure TForm1.FormCreate(Sender: TObject); var i: byte; if OPENCOM (1) = 0 then opencom (2); RTS (0); TXD (0); (0); // alle Ausgänge aus oft:= 0; procedure TForm1.Timer1Timer(Sender: TObject); case oft of 0: shape1.brush.color:=clred; shape2.brush.color:=clgray; shape3.brush.color:=clgray; dtr(1); rts(0); txd(0); inc(oft); 1: shape1.brush.color:=clred; shape2.brush.color:=clyellow; shape3.brush.color:=clgray; dtr(1); rts(1); txd(0); inc(oft); 2: shape1.brush.color:=clgray; shape2.brush.color:=clgray; shape3.brush.color:=cllime; dtr(0); rts(0); txd(1); oft:= 0;

- 10 - Wechsel-Blinklicht Man verbindet und Masse (GND) mit zwei s, wie in der Skizze angegeben. Die s sind verschieden gepolt eingesetzt, also leuchten sie auch bei unterschiedlicher Stromrichtung. Das Programm (-Blinklicht) schaltet abwechselnd ein- und aus. Eine TrackBar (Win32-Komponente) regelt den Timer und so die Blinkfrequenz. Man kann das Blinken abschalten und neu starten. GND Programm -Blinklicht verwenden procedure TForm1.Timer1Timer(Sender: TObject); (schalten); // ein schalten:= not schalten and 1; // NOT schalten AND 1 invertiert den Wert // var schalten: byte = 0 ; // ist global definiert

- 11 - Zeitschaltung Man baut eine einfache Zeitschaltuhr. Es wird die gewünschte Zeit eingeben und die Uhr gestartet. Mit Ablauf der eingestellten Zeit geht die angeschlossene an. GND Programm Zeituhr verwenden procedure TForm1.FormCreate(Sender: TObject); if OPENCOM (1)= 0 then opencom (2); (0); RTS (0); TXD (0); procedure TForm1.Button1Click(Sender: TObject); var zeit, zeit1: integer; (0); zeit := strtoint (edit1.text); zeit1:= GetTickCount ; repeat; application.processmessages; until (gettickcount -zeit1 > zeit ); (1); // start // so lange ist die Wartezeit // Startzeit procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction); (0); RTS (0); TXD (0);

- 12 - Die Eingänge der RS232 Schnittstelle CTS clear to send Sendebereitschaft DCD data carrier detect Empfangssignalpegel DSR data set ready Betriebsbereitschaft RI ring indicator ankommender Ruf RXD receive data Empfangsdaten Alle Eingangsleitungen sind für Anschlussspannungen bis +/-12V ausgelegt und für die direkte Verbindung mit den Ausgängen der RS232-Schnittstelle vorgesehen. Bei vielen Versuchen verbindet man daher eine Ausgangs- mit einer Eingangsleitung und fragt ihren Zustand ab. Eine positive Spannung oberhalb ca. 1,25 V wird als logische Eins erkannt. Eine Spannung unter ca. 1 V erscheint als logische Null. Ein offener Eingang erscheint als Null. Das Programm Ausgang-Eingang schaltet die Ausgangsleitung ein, und fragt den Zustand der Eingangsleitung ab. Ist eine Ausgangsleitung über die Lampe mit einer Eingangsleitung verbunden, so erscheinen beide Symbole grün. RTS CTS Programm Ausgang-Eingang verwenden

- 13 - Berührungssensor Die Leitung hat Spannung. Über die Finger wird ein sehr schwacher Strom von ca. 50 Mikroampere an die Basis weitergeleitet. Der Transistor schaltet durch, er verstärkt den Strom und schaltet die Eingangsleitung DSR ein. Das Signalplättchen wird grün gefärbt. 10 k 10 k Finger DSR Programm Ausgang-Eingang verwenden

- 14 - Lichtschranke 1 (Zeit messen) Bei geringer Helligkeit ist der Widerstand der Fotodiode groß. Es fließt ein schwacher Strom und die Eingangsleitung wird als (AUS) erkannt. Bei großer Helligkeit ist der Widerstand der Fotodiode klein, es fließt ein starker Strom und die Eingangsleitung wird als (EIN) erkannt. Die Fotodiode dient als Eingabeelement. Der PC unterscheidet zwischen hell und dunkel. TXD CTS Fotodiode GND Programm Lichtschranke verwenden Aufgabe 1) Die Schaltung aufbauen und das Verhalten der Fotodiode überprüfen. Sie arbeitet richtig, wenn das kurze Drahtstück am (+) Pol angeschlossen ist. 2) Zwischen Fotodiode und Lampe zieht man ein Blatt Papier vorbei. Das Programm misst die Dunkelzeit. Aus der Zeit und der Blattgröße berechnet man die Geschwindigkeit der Bewegung. procedure TForm1.FormCreate(Sender: TObject); if OPENCOM (1) =0 then opencom (2); (0); RTS (0); TXD (0); procedure TForm1.Button1Click(Sender: TObject); (1); // Ausgangsleitung ( an TXD (1); // Ausgangsleitung (TXD) an zeit:= 0; // eine globale Variable procedure TForm1.Button2Click(Sender: TObject); (0); RTS (0); TXD (0); procedure TForm1.Timer1Timer (Sender: TObject); if CTS = 0 then inc (zeit); panel1.caption := inttostr (zeit)+ ' ms'; end else zeit:= 0; // Strom an // Strom aus // Timerintervall = 1 ms // messen, wenn die // Lichtschranke dunkel ist

- 15 - Lichtschranke 2 (Rolltreppe) + 100 k BC 548 GND (Motor) Fotodiode Lampe Programm Ausgang-Eingang verwenden Unterbricht man den Lichtweg zwischen Lampe und Fotodiode, so leuchtet die auf, bzw. der Motor läuft an. Diese Schaltung ist an Rolltreppen oder automatischen Türöffnern zu finden. Beachte: Die Fotodiode wird mit dem kurzen Draht an den (+) Pol angeschlossen, die mit dem kurzen Draht an den (-) Pol.

- 16 - Ladezeit für einen Kondensator Man lädt ein Kondensator (47 µf) über einen Widerstand (1 k) auf. Die Ladezeit hängt von der Kapazität des Kondensators und von der Größe des Widerstand ab. Die Ladezeit wird vom Programm gemessen und auf der grünen Schaltfläche angezeigt. Nach dem Ladevorgang wird die Ausgangsleitung () auf NULL gesetzt und der Kondensator über die Diode entladen. Man wiederholt den Versuch mit einem Kondensator von (500 µf ). + 11 V 1 k DSR 47 mü F TXD _ 11 V Programm Messen verwenden procedure TForm1.FormCreate(Sender: TObject); if OPENCOM (1)= 0 then opencom (2); (0); RTS (0); TXD (0); procedure TForm1.Button1Click(Sender: TObject); var zeit1, zeit2: integer; (1); zeit1:= gettickcount; While DSR =0 do zeit2:= gettickcount; panel1.caption := inttostr (zeit2- zeit1)+ ' ms'; (0); // messen // Ausgang ein, Kondensator wird // geladen // der Kondensator wird entladen procedure TForm1.Button2Click(Sender: TObject); panel1.caption:= ' ';

- 17 - Reaktionszeit Messen der Reaktionszeit mit dem PC. Das Programm schaltet nach zufälliger Wartezeit die ein. Man muss dann so schnell wie möglich den angeschlossenen Tastschalter drücken. Die Reaktionszeit wird gemessen. Typische Werte liegen bei 200 Millisekunden (200 ms = 0,2 s). RTS GND DSR Programm Reaktionszeit verwenden procedure TForm1.FormCreate(Sender: TObject); if opencom (1) = 0 then opencom (2); (0); RTS (0); TD (0); procedure TForm1.Button1Click(Sender: TObject); // Start var zeit1, zeit2, zufallzeit, warten: integer; panel1.caption:= ' '; randomize; ZufallZeit := (random (5)+1) * 1000; // Werte von 1 bis 5 sek zeit1:= gettickcount; repeat zeit2:= gettickcount; until zeit2- zeit1 >= zufallzeit; RTS (1); // RTS ein, leuchtet (1); // ein, Leitung zum Taster if DSR () = 0 then zeit1:= gettickcount; repeat zeit2:= gettickcount; until DSR () = 1; warten := zeit2- zeit1; panel1.caption := inttostr (warten) + ' ms'; RTS (0); (0); // Leitung aus

- 18 - Aussagen-Logik Programm Logik verwenden Eingang logische Verknüpfung A B NOT (A) AND NAND OR NOR EXOR 0 0 1 0 1 0 1 0 1 0 0 0 1 1 0 1 0 1 1 0 1 1 0 1 1 1 0 1 0 1 0 0 (Not) (Reihenschaltung) (Parallelschaltung) Aufgabe 1) Man gibt in die Edit-Fenster Zahlenwerte ein und wählt eine logischen Verknüpfung. 2) Bei <Start> wird das Ergebnis ausgegeben. Methoden logische (bitweise) Verknüpfung procedure TForm1.Button1Click(Sender: TObject); var a, b, c: byte; A:= strtoint (edit1.text); B:= strtoint (edit2.text); case radiogroup1.itemindex of 0: C:= not A AND 1; // NOT // NOT invertiert alle Bits, es entsteht ein negativer Wert // + 1 dazu addiert ergibt das logische NOT 1: C:= A AND B; // AND 2: C:= not (A AND B) AND 1; // NAND 3: C:= A or B; // OR 4: C:= not (A or B) AND 1; // NOR 5: C:= A xor B; // EXOR panel1.caption:= radiogroup1.items[radiogroup1.itemindex]; edit3.text:= inttostr (C); end.

- 19 - Gatter A 1 Y + NOT RTS (A) n p n BC548 (NPN) = 10 k U=11,5 V Masse NOT (A) Programm Ausgang-Eingang verwenden. Aufgabe 1) ist an und bildet die Stromversorgung für den Transistor. 2) Die Leitung RTS ein- und ausschalten. 3) Der Ausgang Y zeigt entgegengesetzte Spannung wie. A & AND + AND AND / NAND B BC548 (NPN) NAND RTS (A) TXD (B) n p n n p n = 10 k U= 11,5 V Masse NAND Programm Ausgang-Eingang verwenden.

- 20 - A B > = 1 OR NOR + OR RTS (A) n p n OR / NOR BC548 (NPN) = 10 k U= 11,5 V TXD (B) Masse n p n NOR Programm Ausgang-Eingang verwenden. Anschrift des Autors: Dr. Helmut Leimeister, Freiherr-vom-Stein-Gymnasium, 57518 Betzdorf