<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://www.mikrocontroller.net/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Aminox86</id>
	<title>Mikrocontroller.net - Benutzerbeiträge [de]</title>
	<link rel="self" type="application/atom+xml" href="https://www.mikrocontroller.net/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Aminox86"/>
	<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/articles/Spezial:Beitr%C3%A4ge/Aminox86"/>
	<updated>2026-04-06T09:58:54Z</updated>
	<subtitle>Benutzerbeiträge</subtitle>
	<generator>MediaWiki 1.39.7</generator>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Diskussion:Methodischer_Entwurf_einfacher_Schaltwerke&amp;diff=100390</id>
		<title>Diskussion:Methodischer Entwurf einfacher Schaltwerke</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Diskussion:Methodischer_Entwurf_einfacher_Schaltwerke&amp;diff=100390"/>
		<updated>2019-03-07T18:59:34Z</updated>

		<summary type="html">&lt;p&gt;Aminox86: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Na da bin ich ja mal gespannt, was da rauskommt. Warum legt man so ein Fragment überhaupt an? Ist es nicht sinnvoller, einen Artikel erstmal lokal auszuarbeiten und dann eher komplett online zu stellen? Das hier klingt nach den vielen fixen Ideen, die dann auch ganz schnell einschlafen. Schau mer mal. [[Benutzer:Falk|Falk]] ([[Benutzer Diskussion:Falk|Diskussion]]) 12:30, 25. Jan. 2019 (CET)&lt;br /&gt;
&lt;br /&gt;
: Immer die Ruhe. Da kommt schon noch was, ok? [[Benutzer:Aminox86|Aminox86]] ([[Benutzer Diskussion:Aminox86|Diskussion]]) 13:56, 25. Jan. 2019 (CET)&lt;br /&gt;
&lt;br /&gt;
:: Man kann nur hoffen, dass hier ein erfahrener Ingenieur schreibt und nicht ein Anfänger, der mit seiner verengten Sicht einen Twitter-artigen Schnellartikel raushaut. Der erste Eindruck von der Bedienung des WIKIs und der Diskussionsseite im Bezug auf Anlegen und Pflegen eines Artikels und seiner Diskussion lässt mich zweifeln. Habe mir mal erlaubt, etwas zu ordnen. [[Benutzer:Elektrowagi78|Elektrowagi78]] ([[Benutzer Diskussion:Elektrowagi78|Diskussion]]) 21:41, 27. Jan. 2019 (CET)&lt;br /&gt;
&lt;br /&gt;
::: Tja, ich hatte es ja prognostiziert. Vielleicht übt der Autor erst mal in der Spielwiese? [[Benutzer:Elektrowagi78|Elektrowagi78]] ([[Benutzer Diskussion:Elektrowagi78|Diskussion]]) 17:02, 30. Jan. 2019 (CET)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Naja, der Artikel hat Gestalt angenommen. Aber schon der Anfang ist fragwürdig.&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Intention&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Das hießt früher (tm) Absicht. Man muss nicht krampfhaft auf eingedeutschtes Englisch zurückgreifen, wenn es ein gutes, deutsches Wort dafür gibt.&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Um eine LED blinken zu lassen, muß nicht unbedingt ein Mikrokontroller bemüht werden, wenn sich dieselbe Funktion auch mit ein paar Gattern und Flipflops realisieren lässt.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Das ist totaler Humbug. Gerade bei sowas und deutlich komplexeren und auch schnelleren Sachen sind Mikrocontroller das Mittel der Wahl, denn sie sind sehr kompakt, heute eine kleine, feine Einchiplösung. Gatter und FlipFlops braucht deutlich mehr Platz und Aufwand.&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Diese Zustandsänderungen können sofort nach Wertänderung der Eingangsvariablen erfolgen, es liegt ein Asynchronschaltwerk vor, oder nur zu klar voneinander abgegrenzten Zeitpunkten,&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Das ist irreführend bis falsch. Egal welche Grundstruktur man hier wählt, es ist IMMER eine synchrone Schaltung! Der richtige Begriff wäre eher ein kombinatorischer Ausgang. Aber auch hier hat der Schreiberling nur wieder halbgares Wissen schlecht widergegeben. Wenn schon, dann sollte man die drei Grundtypen von endlichen Automaten klar darstellen.&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Es liegt in der Natur des gewählten Themas, dass die hier beschriebenen Schaltwerke vorzugsweise aus handelsüblichen Komponenten (Gattern, Flipflops usw.) aufgebaut werden. Das Übertragungsverhalten der FF ist durch ihren Aufbau vorgegeben und kann nicht beeinflußt werden.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Ein total sinnloser Satz. So als ob man an einem D-FlipFlop noch was einstellen möchte, aber leider nicht kann.&lt;br /&gt;
&lt;br /&gt;
Die Beschreibung des Entwurfs in Punkt 2 ist arg abstrakt. Wenn man von dem Thema keine Ahnung hat, wird man total überfahren und abgeschreckt.&lt;br /&gt;
&lt;br /&gt;
Ein Drehschalter als Beispiel für einen Zustandsautoamten? OMG. Das sollte man besser einen Hoch/Runter Zähler ggf. Mit Enable nehmen.&lt;br /&gt;
&lt;br /&gt;
Aus der Übergangstabelle in 5 werde ich nicht schlau.&lt;br /&gt;
&lt;br /&gt;
&amp;quot; Die Ausgangssignale sind ´1´-aktiv und werden durch die &amp;quot;Methode des scharfen Ansehens&amp;quot; aus obiger Tabelle erhalten:&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Was für ein Müll! Und das soll WISSEN vermitteln?&lt;br /&gt;
&lt;br /&gt;
10 Zwischenbilanz&lt;br /&gt;
&lt;br /&gt;
Die ist SEHR mager!!! Denn es wurden nur voller Übereifer Halbwahrheiten aufgezählt. Eine GESCHEITE Erklärung, wie es funktioniert, fehlt!&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Die Anwendung algebraischer und graphischer(tabellarischer) Methoden zur Bestimmung der Schaltungskomponenten ermöglichte die praktische Umsetzung des geplanten Schaltwerks.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Toll, genau davon ist absolut NICHTS im Artikel!&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Der Aufwand beim Entwurf von Schaltwerken kann sehr überschaubar sein. &amp;quot;&lt;br /&gt;
&lt;br /&gt;
Noch so ein total sinnloser Satz!&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Automatische Messbereichswahl für den DVM-Baustein 7107&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Ein gutes Beispiel, wie man es nicht macht. Denn die kritischen Details werden verschwiegen. Außerdem sieht man sehr schön, wie dieses 70er Jahre TTL-Grab aussieht. Ein zeitgemäßer, klitzkleiner Mikrocontroller im DIL8 Gehäuse könnte das gleiche, nur deutlich einfacher und eleganter.&lt;br /&gt;
&lt;br /&gt;
Tja, gut gemeint ist halt noch lange nicht gut gemacht. Ein technisches Thema GUT und für Anfänger VERSTÄNDLICH und nachvollziehbar darzustellen ist den Wenigsten gegeben.&lt;br /&gt;
&lt;br /&gt;
:Deine Anmerkungen in Ehren, Falk, allerdings wird mein Beitrag diese Woche als &amp;quot;Artikel der Woche&amp;quot; vorgestellt.&lt;/div&gt;</summary>
		<author><name>Aminox86</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Methodischer_Entwurf_einfacher_Schaltwerke&amp;diff=100383</id>
		<title>Methodischer Entwurf einfacher Schaltwerke</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Methodischer_Entwurf_einfacher_Schaltwerke&amp;diff=100383"/>
		<updated>2019-03-03T14:44:28Z</updated>

		<summary type="html">&lt;p&gt;Aminox86: /* 8 Multiplexer Version */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Dieser Artikel beschreibt die Vorgehensweise, einfache sequentielle Schaltungen in der Praxis umzusetzen.&lt;br /&gt;
&lt;br /&gt;
== Intention ==&lt;br /&gt;
Um eine LED blinken zu lassen, muß nicht unbedingt ein Mikrokontroller bemüht werden, wenn sich dieselbe Funktion auch mit ein paar Gattern und Flipflops realisieren lässt. Dabei soll unter einem &amp;quot;einfachen&amp;quot; Schaltwerk eine digitale Schaltung verstanden werden, deren &amp;quot;Verarbeitungsmöglichkeit&amp;quot; begrenzt ist, die zB &amp;quot;nur&amp;quot; zehn Eingangsvariablen aufnehmen kann oder zB &amp;quot;nur&amp;quot; 32 interne Zustände besitzt. Es soll sich daher um ein Gebilde handeln, das im einfachsten Fall aus digitalen Grundbausteinen besteht.&lt;br /&gt;
&lt;br /&gt;
Anhand eines konkreten Beispiels werden verschiedene Möglichkeiten der Realisierung eines Schaltwerks vorgestellt. Hierbei steht die praktische und systematische Umsetzung des gewählten Schaltwerkaufbaus im Vordergrund.&lt;br /&gt;
== 1 ==&lt;br /&gt;
Die Ausgangssignale eines Schaltwerks bzw dessen Zustand zum Betrachtungszeitpunkt werden nicht nur durch die aktuell anliegenden Eingangssignale sondern auch durch die Historie aller Eingangssignale bis zu diesem Zeitpunkt bestimmt. Diese Vorgeschichte wird in Speicherelementen, zB Flipflops, festgehalten. Ihr Inhalt wird an den Eingang des Schaltwerks zurückgeführt und dort mit den externen Signalen verknüpft, wodurch sich ggf der Zustand des Schaltwerks ändert.&amp;lt;br /&amp;gt;&lt;br /&gt;
Die zeitliche Reihenfolge der Zustände ist vorgeben, sie stellt die Funktionalität des Schaltwerks dar.&amp;lt;br /&amp;gt;&lt;br /&gt;
Diese Zustandsänderungen können sofort nach Wertänderung der Eingangsvariablen erfolgen, es liegt ein Asynchronschaltwerk vor, oder nur zu klar voneinander abgegrenzten  Zeitpunkten, es handelt sich dann um ein Synchronschaltwerk. Dieser Artikel beschäftigt sich mit Synchronschaltwerken, die die Struktur eines Moore-Automaten haben.&lt;br /&gt;
[[Bild:SchaltwerkSchema1.png|rechts|rahmen|Schaltwerk]]&lt;br /&gt;
Es liegt in der Natur des gewählten Themas, dass die hier beschriebenen Schaltwerke vorzugsweise aus handelsüblichen Komponenten (Gattern, Flipflops usw.) aufgebaut werden.&lt;br /&gt;
Das Übertragungsverhalten der FF ist durch ihren Aufbau vorgegeben und kann nicht beeinflußt werden.&amp;lt;br /&amp;gt;&lt;br /&gt;
Daher widmet sich dieser Artikel in erster Linie den Gestaltungsmöglichkeiten des Eingangsschaltnetzes unter Berücksichtigung des FF-Typs, auf die Dimensionierung des Ausgangsschaltnetzes wird bei Bedarf eingegangen.&lt;br /&gt;
&lt;br /&gt;
== 2 ==&lt;br /&gt;
Der Entwurf sollte schrittweise erfolgen. Die unten angeführte Reihenfolge ist bewährt, wobei die angeführten Positionen unterschiedlich umfangreich, abhängig von den Anforderungen, ausgestaltet werden können.&lt;br /&gt;
#Funktionsbeschreibung. Diese kann verbal (schriftlich, Handskizze) erfolgen oder durch zB ein Impulsdiagramm vorgegeben sein.&lt;br /&gt;
#Formale Beschreibung. Die in der Funktionsbeschreibung vorgegebenen Rahmenbedingungen werden in ein Zustandsdiagramm überführt. Hier erfolgt die vollständige Beschreibung des Schaltwerks, indem die Aufeinanderfolge der (festzulegenden) Zustände als Reaktion auf Eingangs- und Zustandsvektor bestimmt wird. Ebenfalls kann an dieser Stelle der Ausgangsvektor formuliert werden.&lt;br /&gt;
#Schaltwerkstabelle. Die Schaltwerkstabelle stellt das Zustandsdiagramm in tabellarischer Form dar. Mit ihrer Hilfe kann eine Zustandsminimierung (Zusammenfassen identischer Zustände) des Schaltwerks durchgeführt werden, die idR zu verringertem Bauteilebedarf führt. Änderungen in der Schaltwerkstabelle wirken auf das Zustandsdiagramm zurück.&lt;br /&gt;
#Zustandscodierung. Die Art der Zustandscodierung, insbesondere bei einfachen Synchronschaltwerken, unterliegt keinen Beschränkungen (im Gegensatz zu Asynchronschaltwerken). Die Codierung muß eindeutig sein und hat evtl Einfluß auf den Bauteileaufwand.&lt;br /&gt;
# Zustandsfolgetabelle. Ausgangspunkt der Zustandsfolgetabelle ist das Zustandsdiagramm. In dieser Tabelle findet das sequentielle Verhalten der Schaltung seinen Ausdruck, denn sie ist deutlich zweigeteilt. Eingangsvariablen &#039;&#039;&#039;und&#039;&#039;&#039; aktuelle Zustände werden üblicherweise auf der linken Seite („vor dem Takt“), Folgezustände und ggf Ausgangsvariablen rechts („nach dem Takt“) notiert.  Aus der Zustandsfolgetabelle können, wenn sie als Wahrheitstabelle interpretiert wird, die Übergangsfunktionen der Zustandsspeicher entnommen werden.&lt;br /&gt;
== 3 ==&lt;br /&gt;
Mechanische Bedienelemente elektrischer Geräte wie Kippschalter, Tastenaggregate, Drehschalter usw sind dankbare Objekte für die Emulation durch ein elektronisches Schaltwerk.&amp;lt;br /&amp;gt;&lt;br /&gt;
Das hier gezeigte Beispiel bildet einen Drehschalter, der auf 4 Schaltstellungen begrenzt ist, nach. &lt;br /&gt;
=== 3 ===&lt;br /&gt;
In der nebenstehenden Abbildung ist dargestellt, wie der mechanische Drehschalter in seine elektronische Entsprechung überführt werden soll. Der linke Teil der Abbildung zeigt die Kontakte K1..K4, [[Datei:StufenschalterSchaltwerk.png|rechts|rahmen]]die anwählbaren Stellungen des Schleifers, sowie den zentralen Anschluss K0. Neben den Kontakten ist ein weiteres Attribut eingetragen, hierbei handelt es sich um die Verknüpfung von Schalterstellung und jeweiligem Zustand des Schaltwerks.&amp;lt;br /&amp;gt;&lt;br /&gt;
Im rechten Teil sind das Schaltwerk und seine äußeren Anschlüsse skizziert. Das Schaltwerk reagiert auf zwei Taster. Sie stehen für die linke und/oder rechte Drehung des Schalter und generieren die Eingangssignale &#039;&#039;U&#039;&#039; und &#039;&#039;W&#039;&#039;. Die 4 Stellungen des Drehschalters werden durch die Ausgangssignale &#039;&#039;Stellung1..Stellung4&#039;&#039; repräsentiert.&amp;lt;br /&amp;gt;&lt;br /&gt;
Das Schaltwerk emuliert ausschließlich die mechanische Bewegung des Drehschalters, die elektrischen Eigenschaften des Schalters müssen von separaten Schaltungsteilen umgesetzt werden.&lt;br /&gt;
&lt;br /&gt;
=== 4 ===&lt;br /&gt;
Das Zustandsdiagramm setzt Eingangssignale und  Zustände des Schaltwerks miteinander in Beziehung. &lt;br /&gt;
[[Datei:Zustandsdiagramm.png|rahmen|rechts]]Das Schaltwerk befindet sich nach dem Einschalten in Z0, der den rechten Anschlag des 	emulierten Schalters bildet, denn das Aktivieren der „Taste rechts“ oder der „Tasten links+rechts“ bewirkt an dieser Stelle keine Zustandsänderung. Durch wiederholtes Betätigen der „Taste links“ gelangt man zu den nächsten Zuständen, bis der linke Anschlag erreicht ist. Die „Taste links“ bewirkt in Z3 keine Zustandsänderung. Mit der „Taste rechts“ kann dieser Zustand verlassen werden. Zwischen den Zuständen kann man sich mit den Tasten beliebig hin und her bewegen. Das gleichzeitige Betätigen beider Tasten „Tasten links+rechts“ versetzt das Schaltwerk aus jedem Zustand heraus in den Anfangszustand Z0, ein Verhalten, das mit einem mechanischen Drehschalter nicht möglich ist. Ist keine Taste aktiv verbleibt das Schaltwerk in seinem aktuellen Zustand.&lt;br /&gt;
=== 5 ===&lt;br /&gt;
Die Übergangstabelle enthält die Information des Zustandsdiagramms in tabellarischer Form. Die Signale &#039;&#039;U&#039;&#039; und &#039;&#039;W&#039;&#039; sind als &#039;1&#039;-aktiv eingetragen.&lt;br /&gt;
{|&lt;br /&gt;
| style=&amp;quot;width:45%&amp;quot;|&amp;amp;nbsp;&lt;br /&gt;
|&lt;br /&gt;
{|{{tabelle}}&lt;br /&gt;
|+ &#039;&#039;&#039;Übergangstabelle&#039;&#039;&#039;&lt;br /&gt;
|-style=&amp;quot;text-align:center; &amp;quot;&lt;br /&gt;
!style=&amp;quot;background:#EAECF0&amp;quot;|Folgezustand &lt;br /&gt;
|style=&amp;quot;background:#FFEBAD&amp;quot; colspan=&amp;quot;4&amp;quot;| Eingangssignale U W&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| aktueller Zustand &lt;br /&gt;
|style=&amp;quot;background:#FFEBAD&amp;quot;| 00 || style=&amp;quot;background:#FFEBAD&amp;quot; |01 ||style=&amp;quot;background:#FFEBAD&amp;quot;| 10 || style=&amp;quot;background:#FFEBAD&amp;quot; | 11&lt;br /&gt;
|-style=&amp;quot;text-align:center; background:#EAECF0&amp;quot; &lt;br /&gt;
| style=&amp;quot; background:#F8F9FA&amp;quot; | 0 &lt;br /&gt;
! 0 ||0 ||1 || 0&lt;br /&gt;
|-style=&amp;quot;text-align:center; background:#EAECF0&amp;quot; &lt;br /&gt;
| style=&amp;quot;background:#F8F9FA&amp;quot; | 1&lt;br /&gt;
! 1 || 0 || 2 || 0&lt;br /&gt;
|-style=&amp;quot;text-align:center; background:#EAECF0&amp;quot; &lt;br /&gt;
|style=&amp;quot;background:#F8F9FA&amp;quot; |2&lt;br /&gt;
! 2 || 1 || 3 || 0&lt;br /&gt;
|-style=&amp;quot;text-align:center; background:#EAECF0&amp;quot; &lt;br /&gt;
|style=&amp;quot;background:#F8F9FA&amp;quot; |3&lt;br /&gt;
! 3 || 2 || 3 || 0&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
Bei umfangreichen Schaltwerken kann an dieser Stelle versucht werden, Zustände zusammenzufassen.&lt;br /&gt;
&lt;br /&gt;
=== 6 ===&lt;br /&gt;
Unter Berücksichtigung der Übergangstabelle wird die Zustandsfolgetabelle aufgebaut. Sie enthält die Eingangssignale, den aktuellen Zustand und den Folgezustand des Schaltwerks.&amp;lt;br /&amp;gt;&lt;br /&gt;
Die Zustände liegen in der Wahrheitstabelle in codierter Form vor, in diesem Beispiel sind sie binär codiert und es genügen zwei Zustandsvariablen, &#039;&#039;A&amp;lt;sup&amp;gt;n&amp;lt;/sup&amp;gt;&#039;&#039;(LSD) und &#039;&#039;B&amp;lt;sup&amp;gt;n&amp;lt;/sup&amp;gt;&#039;&#039;(MSD), da das Schaltwerk 4 Zustände einnehmen kann.&lt;br /&gt;
{|&lt;br /&gt;
| style=&amp;quot;width:10%&amp;quot;|&amp;amp;nbsp;&lt;br /&gt;
|&lt;br /&gt;
{|{{tabelle}} &lt;br /&gt;
|+&#039;&#039;&#039;Zustandsfolgetabelle&#039;&#039;&#039;&lt;br /&gt;
|-style=&amp;quot;background:#EAECF0&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;2&amp;quot;|Eingangssignale||colspan=&amp;quot;2&amp;quot;|aktueller Zustand|| style=&amp;quot;border-left:2px solid&amp;quot; colspan=&amp;quot;2&amp;quot;| Folgezustand||style=&amp;quot;background:#FFFFFF; vertical-align:top&amp;quot; rowspan=&amp;quot;2&amp;quot;|Beschreibung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|U || W || B&amp;lt;sup&amp;gt;n&amp;lt;/sup&amp;gt; || A &amp;lt;sup&amp;gt;n&amp;lt;/sup&amp;gt;||style=&amp;quot;border-left:2px solid&amp;quot;| B&amp;lt;sup&amp;gt;n+1&amp;lt;/sup&amp;gt; || A&amp;lt;sup&amp;gt;n+1&amp;lt;/sup&amp;gt;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 0 || 0 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; Start&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 0 || 0 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 1 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;; nach &amp;quot;links&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 1 || 0 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; nach &amp;quot;rechts&amp;quot; → keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 1 || 0 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 0 || 0 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 1 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;; keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 0 || 0 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;; nach &amp;quot;links&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 1 || 0 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; nach &amp;quot;rechts&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 1 || 0 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; Rücksprung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 0 || 1 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;; keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 0 || 1 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 1 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt;; nach &amp;quot;links&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 1 || 1 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 1 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;; nach &amp;quot;rechts&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 1 || 1 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; Rücksprung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 0 || 1 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 1 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt;; keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 0 || 1 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 1 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt;; nach &amp;quot;links&amp;quot; → keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 1 || 1 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;; nach &amp;quot;rechts&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 1 || 1 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; Rücksprung&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
Aus der Zustandsfolgetabelle werden die Übergangsfunktionen der Zustandsvariablen &#039;&#039;A&amp;lt;sup&amp;gt;n+1&amp;lt;/sup&amp;gt;&#039;&#039; und &#039;&#039;B&amp;lt;sup&amp;gt;n+1&amp;lt;/sup&amp;gt;&#039;&#039; entnommen. Sie sind Ausgangspunkt für die rechnerische Bestimmung der Eingangsschaltnetze  der Zustandsvariablenspeicher.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Alle nachfolgend beschriebenen Schaltwerkversionen besitzen die gleichen Ausgangssignale, die aus den Zustandsvariablen des Momentanzustandes ermittelt werden. Die Ausgangssignale sind ´1´-aktiv und werden durch die &amp;quot;Methode des scharfen Ansehens&amp;quot; aus obiger Tabelle erhalten:&amp;lt;br /&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
| style=&amp;quot;width:70%&amp;quot;|&amp;amp;nbsp;&lt;br /&gt;
|&lt;br /&gt;
{|style=&amp;quot; font-style: italic&amp;quot;&lt;br /&gt;
|Stellung1 || =|| style=&amp;quot;text-decoration:overline&amp;quot;| A || &amp;amp;sdot; ||  style=&amp;quot;text-decoration:overline&amp;quot;| B &lt;br /&gt;
|-style=&amp;quot;font-style: italic&amp;quot;&lt;br /&gt;
|Stellung2 || =||  A || &amp;amp;sdot; || style=&amp;quot;text-decoration:overline&amp;quot;| B &lt;br /&gt;
|-style=&amp;quot;font-style: italic&amp;quot;&lt;br /&gt;
|Stellung3 || =|| style=&amp;quot;text-decoration:overline&amp;quot;| A || &amp;amp;sdot; || B &lt;br /&gt;
|-style=&amp;quot;font-style: italic&amp;quot;&lt;br /&gt;
|Stellung4 || =|| A || &amp;amp;sdot; || B &lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 7 Gatterversion ===&lt;br /&gt;
Die klassische Methode, das Eingangsschaltnetz aufzubauen, besteht darin, logische Schaltkreise entsprechend den Übergangsfunktionen miteinander zu kombinieren.&amp;lt;br /&amp;gt;&lt;br /&gt;
Die Liste enthält verschiedene Aspekte dieser Ausführung:&lt;br /&gt;
* [[Media: Stufenschalter1.pdf|Schaltplan der Gatterversion]]&lt;br /&gt;
* [[Media: FFs1Gleichungen.pdf|Berechnungen zur Gatterversion]]&lt;br /&gt;
* [https://www.youtube.com/watch?v=LuBIOe8P5pU Video - das Schaltwerk in Aktion]&lt;br /&gt;
=== 8 Multiplexer Version ===&lt;br /&gt;
Mit einem Multiplexer, der über &#039;&#039;n&#039;&#039; Steuer(Select)eingänge verfügt, können an seinem Ausgang alle&lt;br /&gt;
Kombinationen von &#039;&#039;(n+1)&#039;&#039;-Bool&#039;schen Variablen dargestellt werden.&amp;lt;br /&amp;gt;&lt;br /&gt;
Die Abbildung demonstriert ein Beispiel: Es liegt ein (4 zu 1)-Multiplexer vor. Dieser ist für 3 Variablen ausreichend, denn &#039;&#039;4=2&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;&#039;&#039;, daher ist &#039;&#039;n=2&#039;&#039; und &#039;&#039;n+1=3&#039;&#039;.&amp;lt;br /&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|style=&amp;quot;width:10%&amp;quot;|&amp;amp;nbsp;&lt;br /&gt;
|&lt;br /&gt;
{|style=&amp;quot; font-style: italic&amp;quot;&lt;br /&gt;
|f&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt; || =|| A || B || C || + ||style=&amp;quot;text-decoration:overline&amp;quot;| A || B || C || + || A || style=&amp;quot;text-decoration:overline&amp;quot;|B || C || + ||style=&amp;quot;text-decoration:overline&amp;quot;| A ||style=&amp;quot;text-decoration:overline&amp;quot;|B || C || + &lt;br /&gt;
|-style=&amp;quot;font-style: italic&amp;quot;&lt;br /&gt;
| &amp;amp;nbsp; || &amp;amp;nbsp; || A || B ||style=&amp;quot;text-decoration:overline&amp;quot;|C || + ||style=&amp;quot;text-decoration:overline&amp;quot;| A || B ||style=&amp;quot;text-decoration:overline&amp;quot;|C || + || A ||style=&amp;quot;text-decoration:overline&amp;quot;|B ||style=&amp;quot;text-decoration:overline&amp;quot;| C || + ||style=&amp;quot;text-decoration:overline&amp;quot;| A ||style=&amp;quot;text-decoration:overline&amp;quot;|B ||style=&amp;quot;text-decoration:overline&amp;quot;| C  &lt;br /&gt;
|}&lt;br /&gt;
| style=&amp;quot;width:10%&amp;quot;|&amp;amp;nbsp;&lt;br /&gt;
|[[Datei:Multiplexer.png]]&lt;br /&gt;
|}&lt;br /&gt;
Die nachfolgende Liste stellt diese Version des Schaltwerks vor:&lt;br /&gt;
*[[Media:Stufenschalter2.pdf|Schaltplan der Multiplexer Version]]&lt;br /&gt;
*[[Media:ULPs1Gleichungen.pdf|Berechnungen zur Multiplexer Version]]&lt;br /&gt;
&lt;br /&gt;
=== 9 ROM Version ===&lt;br /&gt;
Neben den bisher beschriebenen Verfahren, Schaltfunktionen in Hardware umzusetzen, gibt es die Möglichkeit, diese in einem (nichtflüchtigen) Speicherelement zu realisieren.&amp;lt;br /&amp;gt;&lt;br /&gt;
Ein Festwertspeicher ordnet jeder Eingangskombination(Adresse) der Variablen ein Ausgangsmuster(Daten), das vorgegeben wird, zu. Die Eingangsmatrix des Festwertspeichers kann als UND-Verknüpfung der Eingangsvariablen, die Ausgangsmatrix als ODER-Verknüpfung des Zellinhalts aufgefasst werden - der Speicher bildet die disjunktive Normalform der Eingangsvariablen, wie die Abbildung zeigt:&lt;br /&gt;
{|&lt;br /&gt;
| style=&amp;quot;width:30%&amp;quot;|&amp;amp;nbsp;&lt;br /&gt;
|&lt;br /&gt;
{|style=&amp;quot; font-style: italic&amp;quot;&lt;br /&gt;
|f&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; || =|| style=&amp;quot;text-decoration:overline&amp;quot;| A || style=&amp;quot;text-decoration:overline&amp;quot;| B || + || A ||style=&amp;quot;text-decoration:overline&amp;quot;| B&lt;br /&gt;
|-style=&amp;quot;font-style: italic&amp;quot;&lt;br /&gt;
|f&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; || =||style=&amp;quot;text-decoration:overline&amp;quot;|  A || B || + || A || B&lt;br /&gt;
|-style=&amp;quot;font-style: italic&amp;quot;&lt;br /&gt;
|f&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; || =|| 1&lt;br /&gt;
|}&lt;br /&gt;
| style=&amp;quot;width:10%&amp;quot;|&amp;amp;nbsp;&lt;br /&gt;
|[[Datei:Rommatrix.png|rahmen]]&lt;br /&gt;
|}&lt;br /&gt;
Bei der Übertragung der Schaltfunktion in einen Festwertspeicher ist im allgemeinen keine Optimierung erforderlich. Ist sie allerdings umgeformt, sollten zwei Dinge berücksichtigt werden:&lt;br /&gt;
# die Funktion muß vollständig sein, ggf muß sie auf ihre Normalform gebracht werden&lt;br /&gt;
# falls Redundanzen vorliegen, dann&lt;br /&gt;
#:sollten diese aufgelöst werden (weiter mit Punkt 1) oder&lt;br /&gt;
#:im Falle eines Schaltwerks einen sicheren Zustand adressieren&amp;lt;br /&amp;gt;&lt;br /&gt;
Um den Inhalt des Speichers, der im Schaltwerk eingesetzt werden soll, zu bestimmen, wird von der schon vorhandenen Zustandsfolgetabelle ausgegangen.Die Tabelle wird um zwei Spalten ergänzt, Adressen und Daten.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Eine Adresse wird gebildet, indem man das zeilenweise Bitmuster der Eingangsvariablen als Binärzahl interpretiert und in der Adressspalte notiert. Das gleiche Verfahren wird auf das Bitmuster des Folgezustands angewendet und das Ergebnis in die Datenspalte eingetragen.&lt;br /&gt;
{|{{tabelle}} &lt;br /&gt;
|+&#039;&#039;&#039;Modifizierte Zustandsfolgetabelle&#039;&#039;&#039;&lt;br /&gt;
|-style=&amp;quot;background:#EAECF0&amp;quot;&lt;br /&gt;
!style=&amp;quot;background:#FFEBAD; vertical-align:top&amp;quot; rowspan=&amp;quot;2&amp;quot;|Adresse || colspan=&amp;quot;2&amp;quot;|Eingangssignale||colspan=&amp;quot;2&amp;quot;|aktueller Zustand|| style=&amp;quot;border-left:2px solid&amp;quot; colspan=&amp;quot;2&amp;quot;| Folgezustand|| style=&amp;quot;background:#FFEBAD; vertical-align:top&amp;quot; rowspan=&amp;quot;2&amp;quot; | Daten ||style=&amp;quot;background:#FFFFFF; vertical-align:top&amp;quot; rowspan=&amp;quot;2&amp;quot;|Beschreibung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|U || W || B&amp;lt;sup&amp;gt;n&amp;lt;/sup&amp;gt; || A &amp;lt;sup&amp;gt;n&amp;lt;/sup&amp;gt;||style=&amp;quot;border-left:2px solid&amp;quot;| B&amp;lt;sup&amp;gt;n+1&amp;lt;/sup&amp;gt; || A&amp;lt;sup&amp;gt;n+1&amp;lt;/sup&amp;gt;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0x00|| 0 || 0 || 0 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || 0x00 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; Start&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x08 || 1 || 0 || 0 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 1 ||0x01 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;; nach &amp;quot;links&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x04|| 0 || 1 || 0 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 ||0x00; || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; nach &amp;quot;rechts&amp;quot; → keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x0c|| 1 || 1 || 0 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 ||0x00 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x01|| 0 || 0 || 0 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 1 ||0x01 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;; keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x09|| 1 || 0 || 0 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 0 ||0x02 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;; nach &amp;quot;links&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x05|| 0 || 1 || 0 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 ||0x00 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; nach &amp;quot;rechts&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x0d|| 1 || 1 || 0 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 ||0x00 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; Rücksprung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x02|| 0 || 0 || 1 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 0 ||0x02 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;; keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x0a|| 1 || 0 || 1 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 1 ||0x03 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt;; nach &amp;quot;links&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x06|| 0 || 1 || 1 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 1 ||0x01 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;; nach &amp;quot;rechts&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x0e|| 1 || 1 || 1 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 ||0x00 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; Rücksprung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x03|| 0 || 0 || 1 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 1 ||0x03 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt;; keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x0b|| 1 || 0 || 1 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 1 ||0x03 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt;; nach &amp;quot;links&amp;quot; → keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x07|| 0 || 1 || 1 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 0 ||0x02 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;; nach &amp;quot;rechts&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x0f|| 1 || 1 || 1 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 ||0x00 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; Rücksprung&lt;br /&gt;
|}&lt;br /&gt;
Aus der Tabelle ergibt sich folgende nach Adresse sortierte Speicherbelegung:&lt;br /&gt;
{|{{tabelle}}&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background:#EAECF0&amp;quot;|&amp;lt;b&amp;gt;Adresse&amp;lt;/b&amp;gt;||0x00||0x01||0x02||0x03||0x04||0x05||0x06||0x07||0x08||0x09||0x0a||0x0b||0x0c||0x0d||0x0e||0x0f&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background:#EAECF0&amp;quot;|&amp;lt;b&amp;gt;Daten&amp;lt;/b&amp;gt;||0x00||0x01||0x02||0x03||0x00||0x00||0x01||0x02||0x01||0x02||0x03||0x03||0x00||0x00||0x00||0x00&lt;br /&gt;
|}&lt;br /&gt;
Der Eingangsvektor ist vollständig, die Datenwortbreite beträgt zwei Bit.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Die Schaltbilder zeigen diese Form des Schaltwerks.&lt;br /&gt;
:[[Media: Stufenschalter3.pdf|Schaltplan der ROM-Version: EPROM als Festwertspeicher]]&lt;br /&gt;
::Eine Variante des Festwertspeichers ist die Diodenmatrix. Sie kann ohne aufwändige Hilfsmittel&lt;br /&gt;
::realisiert werden. &lt;br /&gt;
:[[Media: Stufenschalter4.pdf|Schaltplan der ROM-Version: Diodenmatrix als Festwertspeicher]]&lt;br /&gt;
&lt;br /&gt;
=== 10 Zwischenbilanz ===&lt;br /&gt;
Anhand des diskutierten Beispiels wurden verschiedene Möglichkeiten der Realisierung eines einfachen Schaltwerks demonstriert.&lt;br /&gt;
*Übergangsfunktion durch allgemeine Logigbausteine dargestellt&lt;br /&gt;
*Übergangsfunktion durch Multiplexer dargestellt&lt;br /&gt;
*Übergangsfunktion durch ROM (in Tabellenform) dargestellt&lt;br /&gt;
Die Anwendung algebraischer und graphischer(tabellarischer) Methoden zur Bestimmung der Schaltungskomponenten ermöglichte die praktische Umsetzung des geplanten Schaltwerks.&lt;br /&gt;
Allerdings, mit zunehmender Breite des Eingangsvektors  steigt der Aufwand zur Ermittlung der Schaltwerkskomponenten stark an, so dass diese Methoden an ihre Grenzen stossen und andere Vorgehensweisen erforderlich sind.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dennoch lohnt es sich, den Einsatz eines einfachen Schaltwerks in Erwägung zu ziehen, wie die nachfolgenden Beispiele zeigen.&lt;br /&gt;
&lt;br /&gt;
== Weitere Beispiele ==&lt;br /&gt;
Der Aufwand beim Entwurf von Schaltwerken kann sehr überschaubar sein. Mit etwas Algebra kommt man schnell zum Ziel und der Text zeigt wie&#039;s geht: [[Media:Verschiedenes.pdf|Vermischtes]]&amp;lt;br /&amp;gt;&lt;br /&gt;
Mittels der folgenden Schaltung soll der hohe Gebrauchswert eines einfachen Schaltwerks gezeigt werden:&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Automatische Messbereichswahl für den DVM-Baustein 7107&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
Das DVM-IC 7107 gehört zu einer Reihe ähnlicher ICs, die in sogenannten Panelmetern (Schalttafelintrumenten)eine außerordentlich weite Verbreitung gefunden haben. Sie arbeiten nach dem Prinzip des Doppel-Flanken-Wandlers. Dieses Wandlungsprinzip ist zwar nicht besonders schnell, jedoch genau und bei geeigneter Komponentenwahl der äußeren Beschaltung sehr  störunempfindlich. Der 7107 ist für den  Betrieb mit Siebensegmentanzeigen (LED) vorgesehen, die ein 3½-stelliges Display bilden. Abhängig von der Referenzspannung beträgt die sicher darstellbare Messspannung maximal 0,1999V oder 1,999V, höhere Eingangsspannungen müssen abgeschwächt werden.&amp;lt;br /&amp;gt;&lt;br /&gt;
Eine automatische Messbereichumschaltung trägt zur Gerätesicherheit bei und steigert den Bedienungskomfort.&amp;lt;br &amp;gt;&lt;br /&gt;
&lt;br /&gt;
In der vorliegenden Schaltung sind drei Messbereiche vorgesehen:&lt;br /&gt;
{|&lt;br /&gt;
| style=&amp;quot;width:35%&amp;quot;|&amp;amp;nbsp;&lt;br /&gt;
|&lt;br /&gt;
{| {{tabelle}} &lt;br /&gt;
|-style=&amp;quot;background:#EAECF0; text-align:center&amp;quot;&lt;br /&gt;
! Messbereich Nr !! Untere Grenze !! Obere Grenze&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 0,000V || 1,999V&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 2 || 2,000V || 19,99V&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 3 || 20,00V || 199,9V&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
Zustandsdiagramm&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Jedem Messbereich ist ein Zustand zugeordnet.&lt;br /&gt;
[[Datei:DVMZustand.png|miniatur|rechts|Zustandsdiagramm]] Bei Erhöhung der angelegten Spannung  wählt die Bereichautomatik kontinuierlich das nächsthöhere Messintervall an. Beim Unterschreiten der jeweiligen Grenze kehrt das Schaltwerk immer in den Grundzustand zurück. Falls dann ein Überlaufsignal vorliegt, wird in den übergeordneten Bereich umgeschaltet. Dieses Verhalten bewirkt, dass der Anzeigebereich bei einer sprunghaften Änderung der Spannung von hohen zu niederen Werten, dh bei großem Änderungsverhältnis,  bestmöglich ausgenutzt wird.&amp;lt;br /&amp;gt;&lt;br /&gt;
Blockschaltbild&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Datei:DVMBlock.png|miniatur|rechts|Blockschaltbild]]&lt;br /&gt;
Das Blockschaltbild zeigt die wesentlichen Funktionsblöcke und die sie verbindenden Signale.&lt;br /&gt;
&lt;br /&gt;
Die Länge eines Messzyklus variiert mit der Höhe der Eingangsspan-nung.  Um Schaltwerk und DVM zu synchronisieren wird das  Taktsignal deshalb aus der Wandler-beschaltung des ICs abgeleitet.  Der Oszillator des 7107, von aussen zugänglich, ist für diesen Zweck  ungeeignet.&lt;br /&gt;
Das Über- und Unterlaufsignal werden aus den Ansteuersignalen der Anzeige generiert, denn das IC selbst stellt diese Signale nicht bereit.&lt;br /&gt;
Der Eingangsabschwächer ist als zweistufiger umschaltbarer (elektronischer) Spannungsteiler ausgebildet, dessen Stellung durch die eingezeichneten Select-Signale festgelegt wird, ihre Benennung soll den zugeordneten Teilerfaktor verdeutlichen.&lt;br /&gt;
Die in den Siebensegmentanzeigen vorhandenen Dezimalpunkte kennzeichnen den gerade aktiven Messbereich, sie werden ebenfalls vom Schaltwerk angesteuert.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Media:AutoDVM7107.pdf|Schaltbild der Bereichautomatik]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Das Foto zeigt die aufgebaute Schaltung.&lt;br /&gt;
[[Datei:DSC01357.jpg|mitte|Die aufgebaute Schaltung]]&lt;br /&gt;
&lt;br /&gt;
== Zusammenfassung ==&lt;br /&gt;
In diesem Artikel wurden verschiedene Vorgehensweisen zur praktischen Realisierung einfacher Schaltwerke anhand konkreter Beispiele vorgestellt. Abhängig von der angewendeten Methode erhält man unterschiedlich umfangreiche Schaltungen, wie am Beispiel des Stufenschalters gezeigt wurde. Es wurde demonstriert, wie, ausgehend von der Funktionsbeschreibung, sich (einfache) Schaltwerke systematisch ohne besonderen Aufwand entwerfen und in Schaltungen umsetzen lassen, die nicht notwendigerweise „IC-Gräber“ sein müssen.&lt;/div&gt;</summary>
		<author><name>Aminox86</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Methodischer_Entwurf_einfacher_Schaltwerke&amp;diff=100382</id>
		<title>Methodischer Entwurf einfacher Schaltwerke</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Methodischer_Entwurf_einfacher_Schaltwerke&amp;diff=100382"/>
		<updated>2019-03-03T14:31:36Z</updated>

		<summary type="html">&lt;p&gt;Aminox86: /* Zusammenfassung */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Dieser Artikel beschreibt die Vorgehensweise, einfache sequentielle Schaltungen in der Praxis umzusetzen.&lt;br /&gt;
&lt;br /&gt;
== Intention ==&lt;br /&gt;
Um eine LED blinken zu lassen, muß nicht unbedingt ein Mikrokontroller bemüht werden, wenn sich dieselbe Funktion auch mit ein paar Gattern und Flipflops realisieren lässt. Dabei soll unter einem &amp;quot;einfachen&amp;quot; Schaltwerk eine digitale Schaltung verstanden werden, deren &amp;quot;Verarbeitungsmöglichkeit&amp;quot; begrenzt ist, die zB &amp;quot;nur&amp;quot; zehn Eingangsvariablen aufnehmen kann oder zB &amp;quot;nur&amp;quot; 32 interne Zustände besitzt. Es soll sich daher um ein Gebilde handeln, das im einfachsten Fall aus digitalen Grundbausteinen besteht.&lt;br /&gt;
&lt;br /&gt;
Anhand eines konkreten Beispiels werden verschiedene Möglichkeiten der Realisierung eines Schaltwerks vorgestellt. Hierbei steht die praktische und systematische Umsetzung des gewählten Schaltwerkaufbaus im Vordergrund.&lt;br /&gt;
== 1 ==&lt;br /&gt;
Die Ausgangssignale eines Schaltwerks bzw dessen Zustand zum Betrachtungszeitpunkt werden nicht nur durch die aktuell anliegenden Eingangssignale sondern auch durch die Historie aller Eingangssignale bis zu diesem Zeitpunkt bestimmt. Diese Vorgeschichte wird in Speicherelementen, zB Flipflops, festgehalten. Ihr Inhalt wird an den Eingang des Schaltwerks zurückgeführt und dort mit den externen Signalen verknüpft, wodurch sich ggf der Zustand des Schaltwerks ändert.&amp;lt;br /&amp;gt;&lt;br /&gt;
Die zeitliche Reihenfolge der Zustände ist vorgeben, sie stellt die Funktionalität des Schaltwerks dar.&amp;lt;br /&amp;gt;&lt;br /&gt;
Diese Zustandsänderungen können sofort nach Wertänderung der Eingangsvariablen erfolgen, es liegt ein Asynchronschaltwerk vor, oder nur zu klar voneinander abgegrenzten  Zeitpunkten, es handelt sich dann um ein Synchronschaltwerk. Dieser Artikel beschäftigt sich mit Synchronschaltwerken, die die Struktur eines Moore-Automaten haben.&lt;br /&gt;
[[Bild:SchaltwerkSchema1.png|rechts|rahmen|Schaltwerk]]&lt;br /&gt;
Es liegt in der Natur des gewählten Themas, dass die hier beschriebenen Schaltwerke vorzugsweise aus handelsüblichen Komponenten (Gattern, Flipflops usw.) aufgebaut werden.&lt;br /&gt;
Das Übertragungsverhalten der FF ist durch ihren Aufbau vorgegeben und kann nicht beeinflußt werden.&amp;lt;br /&amp;gt;&lt;br /&gt;
Daher widmet sich dieser Artikel in erster Linie den Gestaltungsmöglichkeiten des Eingangsschaltnetzes unter Berücksichtigung des FF-Typs, auf die Dimensionierung des Ausgangsschaltnetzes wird bei Bedarf eingegangen.&lt;br /&gt;
&lt;br /&gt;
== 2 ==&lt;br /&gt;
Der Entwurf sollte schrittweise erfolgen. Die unten angeführte Reihenfolge ist bewährt, wobei die angeführten Positionen unterschiedlich umfangreich, abhängig von den Anforderungen, ausgestaltet werden können.&lt;br /&gt;
#Funktionsbeschreibung. Diese kann verbal (schriftlich, Handskizze) erfolgen oder durch zB ein Impulsdiagramm vorgegeben sein.&lt;br /&gt;
#Formale Beschreibung. Die in der Funktionsbeschreibung vorgegebenen Rahmenbedingungen werden in ein Zustandsdiagramm überführt. Hier erfolgt die vollständige Beschreibung des Schaltwerks, indem die Aufeinanderfolge der (festzulegenden) Zustände als Reaktion auf Eingangs- und Zustandsvektor bestimmt wird. Ebenfalls kann an dieser Stelle der Ausgangsvektor formuliert werden.&lt;br /&gt;
#Schaltwerkstabelle. Die Schaltwerkstabelle stellt das Zustandsdiagramm in tabellarischer Form dar. Mit ihrer Hilfe kann eine Zustandsminimierung (Zusammenfassen identischer Zustände) des Schaltwerks durchgeführt werden, die idR zu verringertem Bauteilebedarf führt. Änderungen in der Schaltwerkstabelle wirken auf das Zustandsdiagramm zurück.&lt;br /&gt;
#Zustandscodierung. Die Art der Zustandscodierung, insbesondere bei einfachen Synchronschaltwerken, unterliegt keinen Beschränkungen (im Gegensatz zu Asynchronschaltwerken). Die Codierung muß eindeutig sein und hat evtl Einfluß auf den Bauteileaufwand.&lt;br /&gt;
# Zustandsfolgetabelle. Ausgangspunkt der Zustandsfolgetabelle ist das Zustandsdiagramm. In dieser Tabelle findet das sequentielle Verhalten der Schaltung seinen Ausdruck, denn sie ist deutlich zweigeteilt. Eingangsvariablen &#039;&#039;&#039;und&#039;&#039;&#039; aktuelle Zustände werden üblicherweise auf der linken Seite („vor dem Takt“), Folgezustände und ggf Ausgangsvariablen rechts („nach dem Takt“) notiert.  Aus der Zustandsfolgetabelle können, wenn sie als Wahrheitstabelle interpretiert wird, die Übergangsfunktionen der Zustandsspeicher entnommen werden.&lt;br /&gt;
== 3 ==&lt;br /&gt;
Mechanische Bedienelemente elektrischer Geräte wie Kippschalter, Tastenaggregate, Drehschalter usw sind dankbare Objekte für die Emulation durch ein elektronisches Schaltwerk.&amp;lt;br /&amp;gt;&lt;br /&gt;
Das hier gezeigte Beispiel bildet einen Drehschalter, der auf 4 Schaltstellungen begrenzt ist, nach. &lt;br /&gt;
=== 3 ===&lt;br /&gt;
In der nebenstehenden Abbildung ist dargestellt, wie der mechanische Drehschalter in seine elektronische Entsprechung überführt werden soll. Der linke Teil der Abbildung zeigt die Kontakte K1..K4, [[Datei:StufenschalterSchaltwerk.png|rechts|rahmen]]die anwählbaren Stellungen des Schleifers, sowie den zentralen Anschluss K0. Neben den Kontakten ist ein weiteres Attribut eingetragen, hierbei handelt es sich um die Verknüpfung von Schalterstellung und jeweiligem Zustand des Schaltwerks.&amp;lt;br /&amp;gt;&lt;br /&gt;
Im rechten Teil sind das Schaltwerk und seine äußeren Anschlüsse skizziert. Das Schaltwerk reagiert auf zwei Taster. Sie stehen für die linke und/oder rechte Drehung des Schalter und generieren die Eingangssignale &#039;&#039;U&#039;&#039; und &#039;&#039;W&#039;&#039;. Die 4 Stellungen des Drehschalters werden durch die Ausgangssignale &#039;&#039;Stellung1..Stellung4&#039;&#039; repräsentiert.&amp;lt;br /&amp;gt;&lt;br /&gt;
Das Schaltwerk emuliert ausschließlich die mechanische Bewegung des Drehschalters, die elektrischen Eigenschaften des Schalters müssen von separaten Schaltungsteilen umgesetzt werden.&lt;br /&gt;
&lt;br /&gt;
=== 4 ===&lt;br /&gt;
Das Zustandsdiagramm setzt Eingangssignale und  Zustände des Schaltwerks miteinander in Beziehung. &lt;br /&gt;
[[Datei:Zustandsdiagramm.png|rahmen|rechts]]Das Schaltwerk befindet sich nach dem Einschalten in Z0, der den rechten Anschlag des 	emulierten Schalters bildet, denn das Aktivieren der „Taste rechts“ oder der „Tasten links+rechts“ bewirkt an dieser Stelle keine Zustandsänderung. Durch wiederholtes Betätigen der „Taste links“ gelangt man zu den nächsten Zuständen, bis der linke Anschlag erreicht ist. Die „Taste links“ bewirkt in Z3 keine Zustandsänderung. Mit der „Taste rechts“ kann dieser Zustand verlassen werden. Zwischen den Zuständen kann man sich mit den Tasten beliebig hin und her bewegen. Das gleichzeitige Betätigen beider Tasten „Tasten links+rechts“ versetzt das Schaltwerk aus jedem Zustand heraus in den Anfangszustand Z0, ein Verhalten, das mit einem mechanischen Drehschalter nicht möglich ist. Ist keine Taste aktiv verbleibt das Schaltwerk in seinem aktuellen Zustand.&lt;br /&gt;
=== 5 ===&lt;br /&gt;
Die Übergangstabelle enthält die Information des Zustandsdiagramms in tabellarischer Form. Die Signale &#039;&#039;U&#039;&#039; und &#039;&#039;W&#039;&#039; sind als &#039;1&#039;-aktiv eingetragen.&lt;br /&gt;
{|&lt;br /&gt;
| style=&amp;quot;width:45%&amp;quot;|&amp;amp;nbsp;&lt;br /&gt;
|&lt;br /&gt;
{|{{tabelle}}&lt;br /&gt;
|+ &#039;&#039;&#039;Übergangstabelle&#039;&#039;&#039;&lt;br /&gt;
|-style=&amp;quot;text-align:center; &amp;quot;&lt;br /&gt;
!style=&amp;quot;background:#EAECF0&amp;quot;|Folgezustand &lt;br /&gt;
|style=&amp;quot;background:#FFEBAD&amp;quot; colspan=&amp;quot;4&amp;quot;| Eingangssignale U W&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| aktueller Zustand &lt;br /&gt;
|style=&amp;quot;background:#FFEBAD&amp;quot;| 00 || style=&amp;quot;background:#FFEBAD&amp;quot; |01 ||style=&amp;quot;background:#FFEBAD&amp;quot;| 10 || style=&amp;quot;background:#FFEBAD&amp;quot; | 11&lt;br /&gt;
|-style=&amp;quot;text-align:center; background:#EAECF0&amp;quot; &lt;br /&gt;
| style=&amp;quot; background:#F8F9FA&amp;quot; | 0 &lt;br /&gt;
! 0 ||0 ||1 || 0&lt;br /&gt;
|-style=&amp;quot;text-align:center; background:#EAECF0&amp;quot; &lt;br /&gt;
| style=&amp;quot;background:#F8F9FA&amp;quot; | 1&lt;br /&gt;
! 1 || 0 || 2 || 0&lt;br /&gt;
|-style=&amp;quot;text-align:center; background:#EAECF0&amp;quot; &lt;br /&gt;
|style=&amp;quot;background:#F8F9FA&amp;quot; |2&lt;br /&gt;
! 2 || 1 || 3 || 0&lt;br /&gt;
|-style=&amp;quot;text-align:center; background:#EAECF0&amp;quot; &lt;br /&gt;
|style=&amp;quot;background:#F8F9FA&amp;quot; |3&lt;br /&gt;
! 3 || 2 || 3 || 0&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
Bei umfangreichen Schaltwerken kann an dieser Stelle versucht werden, Zustände zusammenzufassen.&lt;br /&gt;
&lt;br /&gt;
=== 6 ===&lt;br /&gt;
Unter Berücksichtigung der Übergangstabelle wird die Zustandsfolgetabelle aufgebaut. Sie enthält die Eingangssignale, den aktuellen Zustand und den Folgezustand des Schaltwerks.&amp;lt;br /&amp;gt;&lt;br /&gt;
Die Zustände liegen in der Wahrheitstabelle in codierter Form vor, in diesem Beispiel sind sie binär codiert und es genügen zwei Zustandsvariablen, &#039;&#039;A&amp;lt;sup&amp;gt;n&amp;lt;/sup&amp;gt;&#039;&#039;(LSD) und &#039;&#039;B&amp;lt;sup&amp;gt;n&amp;lt;/sup&amp;gt;&#039;&#039;(MSD), da das Schaltwerk 4 Zustände einnehmen kann.&lt;br /&gt;
{|&lt;br /&gt;
| style=&amp;quot;width:10%&amp;quot;|&amp;amp;nbsp;&lt;br /&gt;
|&lt;br /&gt;
{|{{tabelle}} &lt;br /&gt;
|+&#039;&#039;&#039;Zustandsfolgetabelle&#039;&#039;&#039;&lt;br /&gt;
|-style=&amp;quot;background:#EAECF0&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;2&amp;quot;|Eingangssignale||colspan=&amp;quot;2&amp;quot;|aktueller Zustand|| style=&amp;quot;border-left:2px solid&amp;quot; colspan=&amp;quot;2&amp;quot;| Folgezustand||style=&amp;quot;background:#FFFFFF; vertical-align:top&amp;quot; rowspan=&amp;quot;2&amp;quot;|Beschreibung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|U || W || B&amp;lt;sup&amp;gt;n&amp;lt;/sup&amp;gt; || A &amp;lt;sup&amp;gt;n&amp;lt;/sup&amp;gt;||style=&amp;quot;border-left:2px solid&amp;quot;| B&amp;lt;sup&amp;gt;n+1&amp;lt;/sup&amp;gt; || A&amp;lt;sup&amp;gt;n+1&amp;lt;/sup&amp;gt;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 0 || 0 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; Start&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 0 || 0 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 1 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;; nach &amp;quot;links&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 1 || 0 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; nach &amp;quot;rechts&amp;quot; → keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 1 || 0 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 0 || 0 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 1 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;; keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 0 || 0 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;; nach &amp;quot;links&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 1 || 0 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; nach &amp;quot;rechts&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 1 || 0 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; Rücksprung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 0 || 1 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;; keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 0 || 1 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 1 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt;; nach &amp;quot;links&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 1 || 1 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 1 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;; nach &amp;quot;rechts&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 1 || 1 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; Rücksprung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 0 || 1 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 1 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt;; keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 0 || 1 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 1 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt;; nach &amp;quot;links&amp;quot; → keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 1 || 1 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;; nach &amp;quot;rechts&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 1 || 1 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; Rücksprung&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
Aus der Zustandsfolgetabelle werden die Übergangsfunktionen der Zustandsvariablen &#039;&#039;A&amp;lt;sup&amp;gt;n+1&amp;lt;/sup&amp;gt;&#039;&#039; und &#039;&#039;B&amp;lt;sup&amp;gt;n+1&amp;lt;/sup&amp;gt;&#039;&#039; entnommen. Sie sind Ausgangspunkt für die rechnerische Bestimmung der Eingangsschaltnetze  der Zustandsvariablenspeicher.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Alle nachfolgend beschriebenen Schaltwerkversionen besitzen die gleichen Ausgangssignale, die aus den Zustandsvariablen des Momentanzustandes ermittelt werden. Die Ausgangssignale sind ´1´-aktiv und werden durch die &amp;quot;Methode des scharfen Ansehens&amp;quot; aus obiger Tabelle erhalten:&amp;lt;br /&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
| style=&amp;quot;width:70%&amp;quot;|&amp;amp;nbsp;&lt;br /&gt;
|&lt;br /&gt;
{|style=&amp;quot; font-style: italic&amp;quot;&lt;br /&gt;
|Stellung1 || =|| style=&amp;quot;text-decoration:overline&amp;quot;| A || &amp;amp;sdot; ||  style=&amp;quot;text-decoration:overline&amp;quot;| B &lt;br /&gt;
|-style=&amp;quot;font-style: italic&amp;quot;&lt;br /&gt;
|Stellung2 || =||  A || &amp;amp;sdot; || style=&amp;quot;text-decoration:overline&amp;quot;| B &lt;br /&gt;
|-style=&amp;quot;font-style: italic&amp;quot;&lt;br /&gt;
|Stellung3 || =|| style=&amp;quot;text-decoration:overline&amp;quot;| A || &amp;amp;sdot; || B &lt;br /&gt;
|-style=&amp;quot;font-style: italic&amp;quot;&lt;br /&gt;
|Stellung4 || =|| A || &amp;amp;sdot; || B &lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 7 Gatterversion ===&lt;br /&gt;
Die klassische Methode, das Eingangsschaltnetz aufzubauen, besteht darin, logische Schaltkreise entsprechend den Übergangsfunktionen miteinander zu kombinieren.&amp;lt;br /&amp;gt;&lt;br /&gt;
Die Liste enthält verschiedene Aspekte dieser Ausführung:&lt;br /&gt;
* [[Media: Stufenschalter1.pdf|Schaltplan der Gatterversion]]&lt;br /&gt;
* [[Media: FFs1Gleichungen.pdf|Berechnungen zur Gatterversion]]&lt;br /&gt;
* [https://www.youtube.com/watch?v=LuBIOe8P5pU Video - das Schaltwerk in Aktion]&lt;br /&gt;
=== 8 Multiplexer Version ===&lt;br /&gt;
Mit einem Multiplexer, der über &#039;&#039;n&#039;&#039; Steuer(Select)eingänge verfügt, können an seinem Ausgang alle&lt;br /&gt;
Kombinationen von &#039;&#039;(n+1)&#039;&#039;-Bool&#039;schen Variablen dargestellt werden.&amp;lt;br /&amp;gt;&lt;br /&gt;
Die Abbildung demonstriert ein Beispiel: Es liegt ein (4 zu 1)-Multiplexer vor. Dieser ist für 3 Variablen ausreichend, denn &#039;&#039;4=2&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;&#039;&#039;, daher ist &#039;&#039;n=2&#039;&#039; und &#039;&#039;n+1=3&#039;&#039;.&amp;lt;br /&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
| style=&amp;quot;width:10%&amp;quot;|&amp;amp;nbsp;&lt;br /&gt;
|&lt;br /&gt;
{|style=&amp;quot; font-style: italic&amp;quot;&lt;br /&gt;
|f&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt; || =|| A || B || C || + ||style=&amp;quot;text-decoration:overline&amp;quot;| A || B || C || + || A || style=&amp;quot;text-decoration:overline&amp;quot;|B || C || + ||style=&amp;quot;text-decoration:overline&amp;quot;| A ||style=&amp;quot;text-decoration:overline&amp;quot;|B || C || + &lt;br /&gt;
|-style=&amp;quot;font-style: italic&amp;quot;&lt;br /&gt;
| &amp;amp;nbsp; || &amp;amp;nbsp; || A || B ||style=&amp;quot;text-decoration:overline&amp;quot;|C || + ||style=&amp;quot;text-decoration:overline&amp;quot;| A || B ||style=&amp;quot;text-decoration:overline&amp;quot;|C || + || A ||style=&amp;quot;text-decoration:overline&amp;quot;|B ||style=&amp;quot;text-decoration:overline&amp;quot;| C || + ||style=&amp;quot;text-decoration:overline&amp;quot;| A ||style=&amp;quot;text-decoration:overline&amp;quot;|B ||style=&amp;quot;text-decoration:overline&amp;quot;| C  &lt;br /&gt;
|}&lt;br /&gt;
| style=&amp;quot;width:10%&amp;quot;|&amp;amp;nbsp;&lt;br /&gt;
|[[Datei:Multiplexer.png|Multiplexer]]&lt;br /&gt;
|}&lt;br /&gt;
Die nachfolgende Liste stellt diese Version des Schaltwerks vor:&lt;br /&gt;
*[[Media:Stufenschalter2.pdf|Schaltplan der Multiplexer Version]]&lt;br /&gt;
*[[Media:ULPs1Gleichungen.pdf|Berechnungen zur Multiplexer Version]]&lt;br /&gt;
&lt;br /&gt;
=== 9 ROM Version ===&lt;br /&gt;
Neben den bisher beschriebenen Verfahren, Schaltfunktionen in Hardware umzusetzen, gibt es die Möglichkeit, diese in einem (nichtflüchtigen) Speicherelement zu realisieren.&amp;lt;br /&amp;gt;&lt;br /&gt;
Ein Festwertspeicher ordnet jeder Eingangskombination(Adresse) der Variablen ein Ausgangsmuster(Daten), das vorgegeben wird, zu. Die Eingangsmatrix des Festwertspeichers kann als UND-Verknüpfung der Eingangsvariablen, die Ausgangsmatrix als ODER-Verknüpfung des Zellinhalts aufgefasst werden - der Speicher bildet die disjunktive Normalform der Eingangsvariablen, wie die Abbildung zeigt:&lt;br /&gt;
{|&lt;br /&gt;
| style=&amp;quot;width:30%&amp;quot;|&amp;amp;nbsp;&lt;br /&gt;
|&lt;br /&gt;
{|style=&amp;quot; font-style: italic&amp;quot;&lt;br /&gt;
|f&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; || =|| style=&amp;quot;text-decoration:overline&amp;quot;| A || style=&amp;quot;text-decoration:overline&amp;quot;| B || + || A ||style=&amp;quot;text-decoration:overline&amp;quot;| B&lt;br /&gt;
|-style=&amp;quot;font-style: italic&amp;quot;&lt;br /&gt;
|f&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; || =||style=&amp;quot;text-decoration:overline&amp;quot;|  A || B || + || A || B&lt;br /&gt;
|-style=&amp;quot;font-style: italic&amp;quot;&lt;br /&gt;
|f&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; || =|| 1&lt;br /&gt;
|}&lt;br /&gt;
| style=&amp;quot;width:10%&amp;quot;|&amp;amp;nbsp;&lt;br /&gt;
|[[Datei:Rommatrix.png|rahmen]]&lt;br /&gt;
|}&lt;br /&gt;
Bei der Übertragung der Schaltfunktion in einen Festwertspeicher ist im allgemeinen keine Optimierung erforderlich. Ist sie allerdings umgeformt, sollten zwei Dinge berücksichtigt werden:&lt;br /&gt;
# die Funktion muß vollständig sein, ggf muß sie auf ihre Normalform gebracht werden&lt;br /&gt;
# falls Redundanzen vorliegen, dann&lt;br /&gt;
#:sollten diese aufgelöst werden (weiter mit Punkt 1) oder&lt;br /&gt;
#:im Falle eines Schaltwerks einen sicheren Zustand adressieren&amp;lt;br /&amp;gt;&lt;br /&gt;
Um den Inhalt des Speichers, der im Schaltwerk eingesetzt werden soll, zu bestimmen, wird von der schon vorhandenen Zustandsfolgetabelle ausgegangen.Die Tabelle wird um zwei Spalten ergänzt, Adressen und Daten.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Eine Adresse wird gebildet, indem man das zeilenweise Bitmuster der Eingangsvariablen als Binärzahl interpretiert und in der Adressspalte notiert. Das gleiche Verfahren wird auf das Bitmuster des Folgezustands angewendet und das Ergebnis in die Datenspalte eingetragen.&lt;br /&gt;
{|{{tabelle}} &lt;br /&gt;
|+&#039;&#039;&#039;Modifizierte Zustandsfolgetabelle&#039;&#039;&#039;&lt;br /&gt;
|-style=&amp;quot;background:#EAECF0&amp;quot;&lt;br /&gt;
!style=&amp;quot;background:#FFEBAD; vertical-align:top&amp;quot; rowspan=&amp;quot;2&amp;quot;|Adresse || colspan=&amp;quot;2&amp;quot;|Eingangssignale||colspan=&amp;quot;2&amp;quot;|aktueller Zustand|| style=&amp;quot;border-left:2px solid&amp;quot; colspan=&amp;quot;2&amp;quot;| Folgezustand|| style=&amp;quot;background:#FFEBAD; vertical-align:top&amp;quot; rowspan=&amp;quot;2&amp;quot; | Daten ||style=&amp;quot;background:#FFFFFF; vertical-align:top&amp;quot; rowspan=&amp;quot;2&amp;quot;|Beschreibung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|U || W || B&amp;lt;sup&amp;gt;n&amp;lt;/sup&amp;gt; || A &amp;lt;sup&amp;gt;n&amp;lt;/sup&amp;gt;||style=&amp;quot;border-left:2px solid&amp;quot;| B&amp;lt;sup&amp;gt;n+1&amp;lt;/sup&amp;gt; || A&amp;lt;sup&amp;gt;n+1&amp;lt;/sup&amp;gt;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0x00|| 0 || 0 || 0 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || 0x00 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; Start&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x08 || 1 || 0 || 0 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 1 ||0x01 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;; nach &amp;quot;links&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x04|| 0 || 1 || 0 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 ||0x00; || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; nach &amp;quot;rechts&amp;quot; → keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x0c|| 1 || 1 || 0 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 ||0x00 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x01|| 0 || 0 || 0 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 1 ||0x01 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;; keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x09|| 1 || 0 || 0 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 0 ||0x02 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;; nach &amp;quot;links&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x05|| 0 || 1 || 0 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 ||0x00 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; nach &amp;quot;rechts&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x0d|| 1 || 1 || 0 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 ||0x00 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; Rücksprung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x02|| 0 || 0 || 1 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 0 ||0x02 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;; keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x0a|| 1 || 0 || 1 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 1 ||0x03 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt;; nach &amp;quot;links&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x06|| 0 || 1 || 1 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 1 ||0x01 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;; nach &amp;quot;rechts&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x0e|| 1 || 1 || 1 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 ||0x00 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; Rücksprung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x03|| 0 || 0 || 1 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 1 ||0x03 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt;; keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x0b|| 1 || 0 || 1 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 1 ||0x03 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt;; nach &amp;quot;links&amp;quot; → keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x07|| 0 || 1 || 1 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 0 ||0x02 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;; nach &amp;quot;rechts&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x0f|| 1 || 1 || 1 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 ||0x00 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; Rücksprung&lt;br /&gt;
|}&lt;br /&gt;
Aus der Tabelle ergibt sich folgende nach Adresse sortierte Speicherbelegung:&lt;br /&gt;
{|{{tabelle}}&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background:#EAECF0&amp;quot;|&amp;lt;b&amp;gt;Adresse&amp;lt;/b&amp;gt;||0x00||0x01||0x02||0x03||0x04||0x05||0x06||0x07||0x08||0x09||0x0a||0x0b||0x0c||0x0d||0x0e||0x0f&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background:#EAECF0&amp;quot;|&amp;lt;b&amp;gt;Daten&amp;lt;/b&amp;gt;||0x00||0x01||0x02||0x03||0x00||0x00||0x01||0x02||0x01||0x02||0x03||0x03||0x00||0x00||0x00||0x00&lt;br /&gt;
|}&lt;br /&gt;
Der Eingangsvektor ist vollständig, die Datenwortbreite beträgt zwei Bit.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Die Schaltbilder zeigen diese Form des Schaltwerks.&lt;br /&gt;
:[[Media: Stufenschalter3.pdf|Schaltplan der ROM-Version: EPROM als Festwertspeicher]]&lt;br /&gt;
::Eine Variante des Festwertspeichers ist die Diodenmatrix. Sie kann ohne aufwändige Hilfsmittel&lt;br /&gt;
::realisiert werden. &lt;br /&gt;
:[[Media: Stufenschalter4.pdf|Schaltplan der ROM-Version: Diodenmatrix als Festwertspeicher]]&lt;br /&gt;
&lt;br /&gt;
=== 10 Zwischenbilanz ===&lt;br /&gt;
Anhand des diskutierten Beispiels wurden verschiedene Möglichkeiten der Realisierung eines einfachen Schaltwerks demonstriert.&lt;br /&gt;
*Übergangsfunktion durch allgemeine Logigbausteine dargestellt&lt;br /&gt;
*Übergangsfunktion durch Multiplexer dargestellt&lt;br /&gt;
*Übergangsfunktion durch ROM (in Tabellenform) dargestellt&lt;br /&gt;
Die Anwendung algebraischer und graphischer(tabellarischer) Methoden zur Bestimmung der Schaltungskomponenten ermöglichte die praktische Umsetzung des geplanten Schaltwerks.&lt;br /&gt;
Allerdings, mit zunehmender Breite des Eingangsvektors  steigt der Aufwand zur Ermittlung der Schaltwerkskomponenten stark an, so dass diese Methoden an ihre Grenzen stossen und andere Vorgehensweisen erforderlich sind.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dennoch lohnt es sich, den Einsatz eines einfachen Schaltwerks in Erwägung zu ziehen, wie die nachfolgenden Beispiele zeigen.&lt;br /&gt;
&lt;br /&gt;
== Weitere Beispiele ==&lt;br /&gt;
Der Aufwand beim Entwurf von Schaltwerken kann sehr überschaubar sein. Mit etwas Algebra kommt man schnell zum Ziel und der Text zeigt wie&#039;s geht: [[Media:Verschiedenes.pdf|Vermischtes]]&amp;lt;br /&amp;gt;&lt;br /&gt;
Mittels der folgenden Schaltung soll der hohe Gebrauchswert eines einfachen Schaltwerks gezeigt werden:&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Automatische Messbereichswahl für den DVM-Baustein 7107&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
Das DVM-IC 7107 gehört zu einer Reihe ähnlicher ICs, die in sogenannten Panelmetern (Schalttafelintrumenten)eine außerordentlich weite Verbreitung gefunden haben. Sie arbeiten nach dem Prinzip des Doppel-Flanken-Wandlers. Dieses Wandlungsprinzip ist zwar nicht besonders schnell, jedoch genau und bei geeigneter Komponentenwahl der äußeren Beschaltung sehr  störunempfindlich. Der 7107 ist für den  Betrieb mit Siebensegmentanzeigen (LED) vorgesehen, die ein 3½-stelliges Display bilden. Abhängig von der Referenzspannung beträgt die sicher darstellbare Messspannung maximal 0,1999V oder 1,999V, höhere Eingangsspannungen müssen abgeschwächt werden.&amp;lt;br /&amp;gt;&lt;br /&gt;
Eine automatische Messbereichumschaltung trägt zur Gerätesicherheit bei und steigert den Bedienungskomfort.&amp;lt;br &amp;gt;&lt;br /&gt;
&lt;br /&gt;
In der vorliegenden Schaltung sind drei Messbereiche vorgesehen:&lt;br /&gt;
{|&lt;br /&gt;
| style=&amp;quot;width:35%&amp;quot;|&amp;amp;nbsp;&lt;br /&gt;
|&lt;br /&gt;
{| {{tabelle}} &lt;br /&gt;
|-style=&amp;quot;background:#EAECF0; text-align:center&amp;quot;&lt;br /&gt;
! Messbereich Nr !! Untere Grenze !! Obere Grenze&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 0,000V || 1,999V&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 2 || 2,000V || 19,99V&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 3 || 20,00V || 199,9V&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
Zustandsdiagramm&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Jedem Messbereich ist ein Zustand zugeordnet.&lt;br /&gt;
[[Datei:DVMZustand.png|miniatur|rechts|Zustandsdiagramm]] Bei Erhöhung der angelegten Spannung  wählt die Bereichautomatik kontinuierlich das nächsthöhere Messintervall an. Beim Unterschreiten der jeweiligen Grenze kehrt das Schaltwerk immer in den Grundzustand zurück. Falls dann ein Überlaufsignal vorliegt, wird in den übergeordneten Bereich umgeschaltet. Dieses Verhalten bewirkt, dass der Anzeigebereich bei einer sprunghaften Änderung der Spannung von hohen zu niederen Werten, dh bei großem Änderungsverhältnis,  bestmöglich ausgenutzt wird.&amp;lt;br /&amp;gt;&lt;br /&gt;
Blockschaltbild&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Datei:DVMBlock.png|miniatur|rechts|Blockschaltbild]]&lt;br /&gt;
Das Blockschaltbild zeigt die wesentlichen Funktionsblöcke und die sie verbindenden Signale.&lt;br /&gt;
&lt;br /&gt;
Die Länge eines Messzyklus variiert mit der Höhe der Eingangsspan-nung.  Um Schaltwerk und DVM zu synchronisieren wird das  Taktsignal deshalb aus der Wandler-beschaltung des ICs abgeleitet.  Der Oszillator des 7107, von aussen zugänglich, ist für diesen Zweck  ungeeignet.&lt;br /&gt;
Das Über- und Unterlaufsignal werden aus den Ansteuersignalen der Anzeige generiert, denn das IC selbst stellt diese Signale nicht bereit.&lt;br /&gt;
Der Eingangsabschwächer ist als zweistufiger umschaltbarer (elektronischer) Spannungsteiler ausgebildet, dessen Stellung durch die eingezeichneten Select-Signale festgelegt wird, ihre Benennung soll den zugeordneten Teilerfaktor verdeutlichen.&lt;br /&gt;
Die in den Siebensegmentanzeigen vorhandenen Dezimalpunkte kennzeichnen den gerade aktiven Messbereich, sie werden ebenfalls vom Schaltwerk angesteuert.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Media:AutoDVM7107.pdf|Schaltbild der Bereichautomatik]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Das Foto zeigt die aufgebaute Schaltung.&lt;br /&gt;
[[Datei:DSC01357.jpg|mitte|Die aufgebaute Schaltung]]&lt;br /&gt;
&lt;br /&gt;
== Zusammenfassung ==&lt;br /&gt;
In diesem Artikel wurden verschiedene Vorgehensweisen zur praktischen Realisierung einfacher Schaltwerke anhand konkreter Beispiele vorgestellt. Abhängig von der angewendeten Methode erhält man unterschiedlich umfangreiche Schaltungen, wie am Beispiel des Stufenschalters gezeigt wurde. Es wurde demonstriert, wie, ausgehend von der Funktionsbeschreibung, sich (einfache) Schaltwerke systematisch ohne besonderen Aufwand entwerfen und in Schaltungen umsetzen lassen, die nicht notwendigerweise „IC-Gräber“ sein müssen.&lt;/div&gt;</summary>
		<author><name>Aminox86</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Methodischer_Entwurf_einfacher_Schaltwerke&amp;diff=100381</id>
		<title>Methodischer Entwurf einfacher Schaltwerke</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Methodischer_Entwurf_einfacher_Schaltwerke&amp;diff=100381"/>
		<updated>2019-03-03T14:24:58Z</updated>

		<summary type="html">&lt;p&gt;Aminox86: /* Weitere Beispiele */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Dieser Artikel beschreibt die Vorgehensweise, einfache sequentielle Schaltungen in der Praxis umzusetzen.&lt;br /&gt;
&lt;br /&gt;
== Intention ==&lt;br /&gt;
Um eine LED blinken zu lassen, muß nicht unbedingt ein Mikrokontroller bemüht werden, wenn sich dieselbe Funktion auch mit ein paar Gattern und Flipflops realisieren lässt. Dabei soll unter einem &amp;quot;einfachen&amp;quot; Schaltwerk eine digitale Schaltung verstanden werden, deren &amp;quot;Verarbeitungsmöglichkeit&amp;quot; begrenzt ist, die zB &amp;quot;nur&amp;quot; zehn Eingangsvariablen aufnehmen kann oder zB &amp;quot;nur&amp;quot; 32 interne Zustände besitzt. Es soll sich daher um ein Gebilde handeln, das im einfachsten Fall aus digitalen Grundbausteinen besteht.&lt;br /&gt;
&lt;br /&gt;
Anhand eines konkreten Beispiels werden verschiedene Möglichkeiten der Realisierung eines Schaltwerks vorgestellt. Hierbei steht die praktische und systematische Umsetzung des gewählten Schaltwerkaufbaus im Vordergrund.&lt;br /&gt;
== 1 ==&lt;br /&gt;
Die Ausgangssignale eines Schaltwerks bzw dessen Zustand zum Betrachtungszeitpunkt werden nicht nur durch die aktuell anliegenden Eingangssignale sondern auch durch die Historie aller Eingangssignale bis zu diesem Zeitpunkt bestimmt. Diese Vorgeschichte wird in Speicherelementen, zB Flipflops, festgehalten. Ihr Inhalt wird an den Eingang des Schaltwerks zurückgeführt und dort mit den externen Signalen verknüpft, wodurch sich ggf der Zustand des Schaltwerks ändert.&amp;lt;br /&amp;gt;&lt;br /&gt;
Die zeitliche Reihenfolge der Zustände ist vorgeben, sie stellt die Funktionalität des Schaltwerks dar.&amp;lt;br /&amp;gt;&lt;br /&gt;
Diese Zustandsänderungen können sofort nach Wertänderung der Eingangsvariablen erfolgen, es liegt ein Asynchronschaltwerk vor, oder nur zu klar voneinander abgegrenzten  Zeitpunkten, es handelt sich dann um ein Synchronschaltwerk. Dieser Artikel beschäftigt sich mit Synchronschaltwerken, die die Struktur eines Moore-Automaten haben.&lt;br /&gt;
[[Bild:SchaltwerkSchema1.png|rechts|rahmen|Schaltwerk]]&lt;br /&gt;
Es liegt in der Natur des gewählten Themas, dass die hier beschriebenen Schaltwerke vorzugsweise aus handelsüblichen Komponenten (Gattern, Flipflops usw.) aufgebaut werden.&lt;br /&gt;
Das Übertragungsverhalten der FF ist durch ihren Aufbau vorgegeben und kann nicht beeinflußt werden.&amp;lt;br /&amp;gt;&lt;br /&gt;
Daher widmet sich dieser Artikel in erster Linie den Gestaltungsmöglichkeiten des Eingangsschaltnetzes unter Berücksichtigung des FF-Typs, auf die Dimensionierung des Ausgangsschaltnetzes wird bei Bedarf eingegangen.&lt;br /&gt;
&lt;br /&gt;
== 2 ==&lt;br /&gt;
Der Entwurf sollte schrittweise erfolgen. Die unten angeführte Reihenfolge ist bewährt, wobei die angeführten Positionen unterschiedlich umfangreich, abhängig von den Anforderungen, ausgestaltet werden können.&lt;br /&gt;
#Funktionsbeschreibung. Diese kann verbal (schriftlich, Handskizze) erfolgen oder durch zB ein Impulsdiagramm vorgegeben sein.&lt;br /&gt;
#Formale Beschreibung. Die in der Funktionsbeschreibung vorgegebenen Rahmenbedingungen werden in ein Zustandsdiagramm überführt. Hier erfolgt die vollständige Beschreibung des Schaltwerks, indem die Aufeinanderfolge der (festzulegenden) Zustände als Reaktion auf Eingangs- und Zustandsvektor bestimmt wird. Ebenfalls kann an dieser Stelle der Ausgangsvektor formuliert werden.&lt;br /&gt;
#Schaltwerkstabelle. Die Schaltwerkstabelle stellt das Zustandsdiagramm in tabellarischer Form dar. Mit ihrer Hilfe kann eine Zustandsminimierung (Zusammenfassen identischer Zustände) des Schaltwerks durchgeführt werden, die idR zu verringertem Bauteilebedarf führt. Änderungen in der Schaltwerkstabelle wirken auf das Zustandsdiagramm zurück.&lt;br /&gt;
#Zustandscodierung. Die Art der Zustandscodierung, insbesondere bei einfachen Synchronschaltwerken, unterliegt keinen Beschränkungen (im Gegensatz zu Asynchronschaltwerken). Die Codierung muß eindeutig sein und hat evtl Einfluß auf den Bauteileaufwand.&lt;br /&gt;
# Zustandsfolgetabelle. Ausgangspunkt der Zustandsfolgetabelle ist das Zustandsdiagramm. In dieser Tabelle findet das sequentielle Verhalten der Schaltung seinen Ausdruck, denn sie ist deutlich zweigeteilt. Eingangsvariablen &#039;&#039;&#039;und&#039;&#039;&#039; aktuelle Zustände werden üblicherweise auf der linken Seite („vor dem Takt“), Folgezustände und ggf Ausgangsvariablen rechts („nach dem Takt“) notiert.  Aus der Zustandsfolgetabelle können, wenn sie als Wahrheitstabelle interpretiert wird, die Übergangsfunktionen der Zustandsspeicher entnommen werden.&lt;br /&gt;
== 3 ==&lt;br /&gt;
Mechanische Bedienelemente elektrischer Geräte wie Kippschalter, Tastenaggregate, Drehschalter usw sind dankbare Objekte für die Emulation durch ein elektronisches Schaltwerk.&amp;lt;br /&amp;gt;&lt;br /&gt;
Das hier gezeigte Beispiel bildet einen Drehschalter, der auf 4 Schaltstellungen begrenzt ist, nach. &lt;br /&gt;
=== 3 ===&lt;br /&gt;
In der nebenstehenden Abbildung ist dargestellt, wie der mechanische Drehschalter in seine elektronische Entsprechung überführt werden soll. Der linke Teil der Abbildung zeigt die Kontakte K1..K4, [[Datei:StufenschalterSchaltwerk.png|rechts|rahmen]]die anwählbaren Stellungen des Schleifers, sowie den zentralen Anschluss K0. Neben den Kontakten ist ein weiteres Attribut eingetragen, hierbei handelt es sich um die Verknüpfung von Schalterstellung und jeweiligem Zustand des Schaltwerks.&amp;lt;br /&amp;gt;&lt;br /&gt;
Im rechten Teil sind das Schaltwerk und seine äußeren Anschlüsse skizziert. Das Schaltwerk reagiert auf zwei Taster. Sie stehen für die linke und/oder rechte Drehung des Schalter und generieren die Eingangssignale &#039;&#039;U&#039;&#039; und &#039;&#039;W&#039;&#039;. Die 4 Stellungen des Drehschalters werden durch die Ausgangssignale &#039;&#039;Stellung1..Stellung4&#039;&#039; repräsentiert.&amp;lt;br /&amp;gt;&lt;br /&gt;
Das Schaltwerk emuliert ausschließlich die mechanische Bewegung des Drehschalters, die elektrischen Eigenschaften des Schalters müssen von separaten Schaltungsteilen umgesetzt werden.&lt;br /&gt;
&lt;br /&gt;
=== 4 ===&lt;br /&gt;
Das Zustandsdiagramm setzt Eingangssignale und  Zustände des Schaltwerks miteinander in Beziehung. &lt;br /&gt;
[[Datei:Zustandsdiagramm.png|rahmen|rechts]]Das Schaltwerk befindet sich nach dem Einschalten in Z0, der den rechten Anschlag des 	emulierten Schalters bildet, denn das Aktivieren der „Taste rechts“ oder der „Tasten links+rechts“ bewirkt an dieser Stelle keine Zustandsänderung. Durch wiederholtes Betätigen der „Taste links“ gelangt man zu den nächsten Zuständen, bis der linke Anschlag erreicht ist. Die „Taste links“ bewirkt in Z3 keine Zustandsänderung. Mit der „Taste rechts“ kann dieser Zustand verlassen werden. Zwischen den Zuständen kann man sich mit den Tasten beliebig hin und her bewegen. Das gleichzeitige Betätigen beider Tasten „Tasten links+rechts“ versetzt das Schaltwerk aus jedem Zustand heraus in den Anfangszustand Z0, ein Verhalten, das mit einem mechanischen Drehschalter nicht möglich ist. Ist keine Taste aktiv verbleibt das Schaltwerk in seinem aktuellen Zustand.&lt;br /&gt;
=== 5 ===&lt;br /&gt;
Die Übergangstabelle enthält die Information des Zustandsdiagramms in tabellarischer Form. Die Signale &#039;&#039;U&#039;&#039; und &#039;&#039;W&#039;&#039; sind als &#039;1&#039;-aktiv eingetragen.&lt;br /&gt;
{|&lt;br /&gt;
| style=&amp;quot;width:45%&amp;quot;|&amp;amp;nbsp;&lt;br /&gt;
|&lt;br /&gt;
{|{{tabelle}}&lt;br /&gt;
|+ &#039;&#039;&#039;Übergangstabelle&#039;&#039;&#039;&lt;br /&gt;
|-style=&amp;quot;text-align:center; &amp;quot;&lt;br /&gt;
!style=&amp;quot;background:#EAECF0&amp;quot;|Folgezustand &lt;br /&gt;
|style=&amp;quot;background:#FFEBAD&amp;quot; colspan=&amp;quot;4&amp;quot;| Eingangssignale U W&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| aktueller Zustand &lt;br /&gt;
|style=&amp;quot;background:#FFEBAD&amp;quot;| 00 || style=&amp;quot;background:#FFEBAD&amp;quot; |01 ||style=&amp;quot;background:#FFEBAD&amp;quot;| 10 || style=&amp;quot;background:#FFEBAD&amp;quot; | 11&lt;br /&gt;
|-style=&amp;quot;text-align:center; background:#EAECF0&amp;quot; &lt;br /&gt;
| style=&amp;quot; background:#F8F9FA&amp;quot; | 0 &lt;br /&gt;
! 0 ||0 ||1 || 0&lt;br /&gt;
|-style=&amp;quot;text-align:center; background:#EAECF0&amp;quot; &lt;br /&gt;
| style=&amp;quot;background:#F8F9FA&amp;quot; | 1&lt;br /&gt;
! 1 || 0 || 2 || 0&lt;br /&gt;
|-style=&amp;quot;text-align:center; background:#EAECF0&amp;quot; &lt;br /&gt;
|style=&amp;quot;background:#F8F9FA&amp;quot; |2&lt;br /&gt;
! 2 || 1 || 3 || 0&lt;br /&gt;
|-style=&amp;quot;text-align:center; background:#EAECF0&amp;quot; &lt;br /&gt;
|style=&amp;quot;background:#F8F9FA&amp;quot; |3&lt;br /&gt;
! 3 || 2 || 3 || 0&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
Bei umfangreichen Schaltwerken kann an dieser Stelle versucht werden, Zustände zusammenzufassen.&lt;br /&gt;
&lt;br /&gt;
=== 6 ===&lt;br /&gt;
Unter Berücksichtigung der Übergangstabelle wird die Zustandsfolgetabelle aufgebaut. Sie enthält die Eingangssignale, den aktuellen Zustand und den Folgezustand des Schaltwerks.&amp;lt;br /&amp;gt;&lt;br /&gt;
Die Zustände liegen in der Wahrheitstabelle in codierter Form vor, in diesem Beispiel sind sie binär codiert und es genügen zwei Zustandsvariablen, &#039;&#039;A&amp;lt;sup&amp;gt;n&amp;lt;/sup&amp;gt;&#039;&#039;(LSD) und &#039;&#039;B&amp;lt;sup&amp;gt;n&amp;lt;/sup&amp;gt;&#039;&#039;(MSD), da das Schaltwerk 4 Zustände einnehmen kann.&lt;br /&gt;
{|&lt;br /&gt;
| style=&amp;quot;width:10%&amp;quot;|&amp;amp;nbsp;&lt;br /&gt;
|&lt;br /&gt;
{|{{tabelle}} &lt;br /&gt;
|+&#039;&#039;&#039;Zustandsfolgetabelle&#039;&#039;&#039;&lt;br /&gt;
|-style=&amp;quot;background:#EAECF0&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;2&amp;quot;|Eingangssignale||colspan=&amp;quot;2&amp;quot;|aktueller Zustand|| style=&amp;quot;border-left:2px solid&amp;quot; colspan=&amp;quot;2&amp;quot;| Folgezustand||style=&amp;quot;background:#FFFFFF; vertical-align:top&amp;quot; rowspan=&amp;quot;2&amp;quot;|Beschreibung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|U || W || B&amp;lt;sup&amp;gt;n&amp;lt;/sup&amp;gt; || A &amp;lt;sup&amp;gt;n&amp;lt;/sup&amp;gt;||style=&amp;quot;border-left:2px solid&amp;quot;| B&amp;lt;sup&amp;gt;n+1&amp;lt;/sup&amp;gt; || A&amp;lt;sup&amp;gt;n+1&amp;lt;/sup&amp;gt;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 0 || 0 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; Start&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 0 || 0 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 1 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;; nach &amp;quot;links&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 1 || 0 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; nach &amp;quot;rechts&amp;quot; → keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 1 || 0 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 0 || 0 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 1 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;; keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 0 || 0 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;; nach &amp;quot;links&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 1 || 0 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; nach &amp;quot;rechts&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 1 || 0 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; Rücksprung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 0 || 1 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;; keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 0 || 1 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 1 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt;; nach &amp;quot;links&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 1 || 1 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 1 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;; nach &amp;quot;rechts&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 1 || 1 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; Rücksprung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 0 || 1 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 1 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt;; keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 0 || 1 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 1 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt;; nach &amp;quot;links&amp;quot; → keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 1 || 1 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;; nach &amp;quot;rechts&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 1 || 1 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; Rücksprung&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
Aus der Zustandsfolgetabelle werden die Übergangsfunktionen der Zustandsvariablen &#039;&#039;A&amp;lt;sup&amp;gt;n+1&amp;lt;/sup&amp;gt;&#039;&#039; und &#039;&#039;B&amp;lt;sup&amp;gt;n+1&amp;lt;/sup&amp;gt;&#039;&#039; entnommen. Sie sind Ausgangspunkt für die rechnerische Bestimmung der Eingangsschaltnetze  der Zustandsvariablenspeicher.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Alle nachfolgend beschriebenen Schaltwerkversionen besitzen die gleichen Ausgangssignale, die aus den Zustandsvariablen des Momentanzustandes ermittelt werden. Die Ausgangssignale sind ´1´-aktiv und werden durch die &amp;quot;Methode des scharfen Ansehens&amp;quot; aus obiger Tabelle erhalten:&amp;lt;br /&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
| style=&amp;quot;width:70%&amp;quot;|&amp;amp;nbsp;&lt;br /&gt;
|&lt;br /&gt;
{|style=&amp;quot; font-style: italic&amp;quot;&lt;br /&gt;
|Stellung1 || =|| style=&amp;quot;text-decoration:overline&amp;quot;| A || &amp;amp;sdot; ||  style=&amp;quot;text-decoration:overline&amp;quot;| B &lt;br /&gt;
|-style=&amp;quot;font-style: italic&amp;quot;&lt;br /&gt;
|Stellung2 || =||  A || &amp;amp;sdot; || style=&amp;quot;text-decoration:overline&amp;quot;| B &lt;br /&gt;
|-style=&amp;quot;font-style: italic&amp;quot;&lt;br /&gt;
|Stellung3 || =|| style=&amp;quot;text-decoration:overline&amp;quot;| A || &amp;amp;sdot; || B &lt;br /&gt;
|-style=&amp;quot;font-style: italic&amp;quot;&lt;br /&gt;
|Stellung4 || =|| A || &amp;amp;sdot; || B &lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 7 Gatterversion ===&lt;br /&gt;
Die klassische Methode, das Eingangsschaltnetz aufzubauen, besteht darin, logische Schaltkreise entsprechend den Übergangsfunktionen miteinander zu kombinieren.&amp;lt;br /&amp;gt;&lt;br /&gt;
Die Liste enthält verschiedene Aspekte dieser Ausführung:&lt;br /&gt;
* [[Media: Stufenschalter1.pdf|Schaltplan der Gatterversion]]&lt;br /&gt;
* [[Media: FFs1Gleichungen.pdf|Berechnungen zur Gatterversion]]&lt;br /&gt;
* [https://www.youtube.com/watch?v=LuBIOe8P5pU Video - das Schaltwerk in Aktion]&lt;br /&gt;
=== 8 Multiplexer Version ===&lt;br /&gt;
Mit einem Multiplexer, der über &#039;&#039;n&#039;&#039; Steuer(Select)eingänge verfügt, können an seinem Ausgang alle&lt;br /&gt;
Kombinationen von &#039;&#039;(n+1)&#039;&#039;-Bool&#039;schen Variablen dargestellt werden.&amp;lt;br /&amp;gt;&lt;br /&gt;
Die Abbildung demonstriert ein Beispiel: Es liegt ein (4 zu 1)-Multiplexer vor. Dieser ist für 3 Variablen ausreichend, denn &#039;&#039;4=2&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;&#039;&#039;, daher ist &#039;&#039;n=2&#039;&#039; und &#039;&#039;n+1=3&#039;&#039;.&amp;lt;br /&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
| style=&amp;quot;width:10%&amp;quot;|&amp;amp;nbsp;&lt;br /&gt;
|&lt;br /&gt;
{|style=&amp;quot; font-style: italic&amp;quot;&lt;br /&gt;
|f&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt; || =|| A || B || C || + ||style=&amp;quot;text-decoration:overline&amp;quot;| A || B || C || + || A || style=&amp;quot;text-decoration:overline&amp;quot;|B || C || + ||style=&amp;quot;text-decoration:overline&amp;quot;| A ||style=&amp;quot;text-decoration:overline&amp;quot;|B || C || + &lt;br /&gt;
|-style=&amp;quot;font-style: italic&amp;quot;&lt;br /&gt;
| &amp;amp;nbsp; || &amp;amp;nbsp; || A || B ||style=&amp;quot;text-decoration:overline&amp;quot;|C || + ||style=&amp;quot;text-decoration:overline&amp;quot;| A || B ||style=&amp;quot;text-decoration:overline&amp;quot;|C || + || A ||style=&amp;quot;text-decoration:overline&amp;quot;|B ||style=&amp;quot;text-decoration:overline&amp;quot;| C || + ||style=&amp;quot;text-decoration:overline&amp;quot;| A ||style=&amp;quot;text-decoration:overline&amp;quot;|B ||style=&amp;quot;text-decoration:overline&amp;quot;| C  &lt;br /&gt;
|}&lt;br /&gt;
| style=&amp;quot;width:10%&amp;quot;|&amp;amp;nbsp;&lt;br /&gt;
|[[Datei:Multiplexer.png|Multiplexer]]&lt;br /&gt;
|}&lt;br /&gt;
Die nachfolgende Liste stellt diese Version des Schaltwerks vor:&lt;br /&gt;
*[[Media:Stufenschalter2.pdf|Schaltplan der Multiplexer Version]]&lt;br /&gt;
*[[Media:ULPs1Gleichungen.pdf|Berechnungen zur Multiplexer Version]]&lt;br /&gt;
&lt;br /&gt;
=== 9 ROM Version ===&lt;br /&gt;
Neben den bisher beschriebenen Verfahren, Schaltfunktionen in Hardware umzusetzen, gibt es die Möglichkeit, diese in einem (nichtflüchtigen) Speicherelement zu realisieren.&amp;lt;br /&amp;gt;&lt;br /&gt;
Ein Festwertspeicher ordnet jeder Eingangskombination(Adresse) der Variablen ein Ausgangsmuster(Daten), das vorgegeben wird, zu. Die Eingangsmatrix des Festwertspeichers kann als UND-Verknüpfung der Eingangsvariablen, die Ausgangsmatrix als ODER-Verknüpfung des Zellinhalts aufgefasst werden - der Speicher bildet die disjunktive Normalform der Eingangsvariablen, wie die Abbildung zeigt:&lt;br /&gt;
{|&lt;br /&gt;
| style=&amp;quot;width:30%&amp;quot;|&amp;amp;nbsp;&lt;br /&gt;
|&lt;br /&gt;
{|style=&amp;quot; font-style: italic&amp;quot;&lt;br /&gt;
|f&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; || =|| style=&amp;quot;text-decoration:overline&amp;quot;| A || style=&amp;quot;text-decoration:overline&amp;quot;| B || + || A ||style=&amp;quot;text-decoration:overline&amp;quot;| B&lt;br /&gt;
|-style=&amp;quot;font-style: italic&amp;quot;&lt;br /&gt;
|f&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; || =||style=&amp;quot;text-decoration:overline&amp;quot;|  A || B || + || A || B&lt;br /&gt;
|-style=&amp;quot;font-style: italic&amp;quot;&lt;br /&gt;
|f&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; || =|| 1&lt;br /&gt;
|}&lt;br /&gt;
| style=&amp;quot;width:10%&amp;quot;|&amp;amp;nbsp;&lt;br /&gt;
|[[Datei:Rommatrix.png|rahmen]]&lt;br /&gt;
|}&lt;br /&gt;
Bei der Übertragung der Schaltfunktion in einen Festwertspeicher ist im allgemeinen keine Optimierung erforderlich. Ist sie allerdings umgeformt, sollten zwei Dinge berücksichtigt werden:&lt;br /&gt;
# die Funktion muß vollständig sein, ggf muß sie auf ihre Normalform gebracht werden&lt;br /&gt;
# falls Redundanzen vorliegen, dann&lt;br /&gt;
#:sollten diese aufgelöst werden (weiter mit Punkt 1) oder&lt;br /&gt;
#:im Falle eines Schaltwerks einen sicheren Zustand adressieren&amp;lt;br /&amp;gt;&lt;br /&gt;
Um den Inhalt des Speichers, der im Schaltwerk eingesetzt werden soll, zu bestimmen, wird von der schon vorhandenen Zustandsfolgetabelle ausgegangen.Die Tabelle wird um zwei Spalten ergänzt, Adressen und Daten.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Eine Adresse wird gebildet, indem man das zeilenweise Bitmuster der Eingangsvariablen als Binärzahl interpretiert und in der Adressspalte notiert. Das gleiche Verfahren wird auf das Bitmuster des Folgezustands angewendet und das Ergebnis in die Datenspalte eingetragen.&lt;br /&gt;
{|{{tabelle}} &lt;br /&gt;
|+&#039;&#039;&#039;Modifizierte Zustandsfolgetabelle&#039;&#039;&#039;&lt;br /&gt;
|-style=&amp;quot;background:#EAECF0&amp;quot;&lt;br /&gt;
!style=&amp;quot;background:#FFEBAD; vertical-align:top&amp;quot; rowspan=&amp;quot;2&amp;quot;|Adresse || colspan=&amp;quot;2&amp;quot;|Eingangssignale||colspan=&amp;quot;2&amp;quot;|aktueller Zustand|| style=&amp;quot;border-left:2px solid&amp;quot; colspan=&amp;quot;2&amp;quot;| Folgezustand|| style=&amp;quot;background:#FFEBAD; vertical-align:top&amp;quot; rowspan=&amp;quot;2&amp;quot; | Daten ||style=&amp;quot;background:#FFFFFF; vertical-align:top&amp;quot; rowspan=&amp;quot;2&amp;quot;|Beschreibung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|U || W || B&amp;lt;sup&amp;gt;n&amp;lt;/sup&amp;gt; || A &amp;lt;sup&amp;gt;n&amp;lt;/sup&amp;gt;||style=&amp;quot;border-left:2px solid&amp;quot;| B&amp;lt;sup&amp;gt;n+1&amp;lt;/sup&amp;gt; || A&amp;lt;sup&amp;gt;n+1&amp;lt;/sup&amp;gt;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0x00|| 0 || 0 || 0 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || 0x00 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; Start&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x08 || 1 || 0 || 0 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 1 ||0x01 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;; nach &amp;quot;links&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x04|| 0 || 1 || 0 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 ||0x00; || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; nach &amp;quot;rechts&amp;quot; → keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x0c|| 1 || 1 || 0 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 ||0x00 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x01|| 0 || 0 || 0 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 1 ||0x01 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;; keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x09|| 1 || 0 || 0 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 0 ||0x02 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;; nach &amp;quot;links&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x05|| 0 || 1 || 0 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 ||0x00 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; nach &amp;quot;rechts&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x0d|| 1 || 1 || 0 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 ||0x00 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; Rücksprung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x02|| 0 || 0 || 1 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 0 ||0x02 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;; keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x0a|| 1 || 0 || 1 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 1 ||0x03 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt;; nach &amp;quot;links&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x06|| 0 || 1 || 1 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 1 ||0x01 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;; nach &amp;quot;rechts&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x0e|| 1 || 1 || 1 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 ||0x00 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; Rücksprung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x03|| 0 || 0 || 1 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 1 ||0x03 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt;; keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x0b|| 1 || 0 || 1 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 1 ||0x03 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt;; nach &amp;quot;links&amp;quot; → keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x07|| 0 || 1 || 1 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 0 ||0x02 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;; nach &amp;quot;rechts&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x0f|| 1 || 1 || 1 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 ||0x00 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; Rücksprung&lt;br /&gt;
|}&lt;br /&gt;
Aus der Tabelle ergibt sich folgende nach Adresse sortierte Speicherbelegung:&lt;br /&gt;
{|{{tabelle}}&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background:#EAECF0&amp;quot;|&amp;lt;b&amp;gt;Adresse&amp;lt;/b&amp;gt;||0x00||0x01||0x02||0x03||0x04||0x05||0x06||0x07||0x08||0x09||0x0a||0x0b||0x0c||0x0d||0x0e||0x0f&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background:#EAECF0&amp;quot;|&amp;lt;b&amp;gt;Daten&amp;lt;/b&amp;gt;||0x00||0x01||0x02||0x03||0x00||0x00||0x01||0x02||0x01||0x02||0x03||0x03||0x00||0x00||0x00||0x00&lt;br /&gt;
|}&lt;br /&gt;
Der Eingangsvektor ist vollständig, die Datenwortbreite beträgt zwei Bit.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Die Schaltbilder zeigen diese Form des Schaltwerks.&lt;br /&gt;
:[[Media: Stufenschalter3.pdf|Schaltplan der ROM-Version: EPROM als Festwertspeicher]]&lt;br /&gt;
::Eine Variante des Festwertspeichers ist die Diodenmatrix. Sie kann ohne aufwändige Hilfsmittel&lt;br /&gt;
::realisiert werden. &lt;br /&gt;
:[[Media: Stufenschalter4.pdf|Schaltplan der ROM-Version: Diodenmatrix als Festwertspeicher]]&lt;br /&gt;
&lt;br /&gt;
=== 10 Zwischenbilanz ===&lt;br /&gt;
Anhand des diskutierten Beispiels wurden verschiedene Möglichkeiten der Realisierung eines einfachen Schaltwerks demonstriert.&lt;br /&gt;
*Übergangsfunktion durch allgemeine Logigbausteine dargestellt&lt;br /&gt;
*Übergangsfunktion durch Multiplexer dargestellt&lt;br /&gt;
*Übergangsfunktion durch ROM (in Tabellenform) dargestellt&lt;br /&gt;
Die Anwendung algebraischer und graphischer(tabellarischer) Methoden zur Bestimmung der Schaltungskomponenten ermöglichte die praktische Umsetzung des geplanten Schaltwerks.&lt;br /&gt;
Allerdings, mit zunehmender Breite des Eingangsvektors  steigt der Aufwand zur Ermittlung der Schaltwerkskomponenten stark an, so dass diese Methoden an ihre Grenzen stossen und andere Vorgehensweisen erforderlich sind.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dennoch lohnt es sich, den Einsatz eines einfachen Schaltwerks in Erwägung zu ziehen, wie die nachfolgenden Beispiele zeigen.&lt;br /&gt;
&lt;br /&gt;
== Weitere Beispiele ==&lt;br /&gt;
Der Aufwand beim Entwurf von Schaltwerken kann sehr überschaubar sein. Mit etwas Algebra kommt man schnell zum Ziel und der Text zeigt wie&#039;s geht: [[Media:Verschiedenes.pdf|Vermischtes]]&amp;lt;br /&amp;gt;&lt;br /&gt;
Mittels der folgenden Schaltung soll der hohe Gebrauchswert eines einfachen Schaltwerks gezeigt werden:&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Automatische Messbereichswahl für den DVM-Baustein 7107&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
Das DVM-IC 7107 gehört zu einer Reihe ähnlicher ICs, die in sogenannten Panelmetern (Schalttafelintrumenten)eine außerordentlich weite Verbreitung gefunden haben. Sie arbeiten nach dem Prinzip des Doppel-Flanken-Wandlers. Dieses Wandlungsprinzip ist zwar nicht besonders schnell, jedoch genau und bei geeigneter Komponentenwahl der äußeren Beschaltung sehr  störunempfindlich. Der 7107 ist für den  Betrieb mit Siebensegmentanzeigen (LED) vorgesehen, die ein 3½-stelliges Display bilden. Abhängig von der Referenzspannung beträgt die sicher darstellbare Messspannung maximal 0,1999V oder 1,999V, höhere Eingangsspannungen müssen abgeschwächt werden.&amp;lt;br /&amp;gt;&lt;br /&gt;
Eine automatische Messbereichumschaltung trägt zur Gerätesicherheit bei und steigert den Bedienungskomfort.&amp;lt;br &amp;gt;&lt;br /&gt;
&lt;br /&gt;
In der vorliegenden Schaltung sind drei Messbereiche vorgesehen:&lt;br /&gt;
{|&lt;br /&gt;
| style=&amp;quot;width:35%&amp;quot;|&amp;amp;nbsp;&lt;br /&gt;
|&lt;br /&gt;
{| {{tabelle}} &lt;br /&gt;
|-style=&amp;quot;background:#EAECF0; text-align:center&amp;quot;&lt;br /&gt;
! Messbereich Nr !! Untere Grenze !! Obere Grenze&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 0,000V || 1,999V&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 2 || 2,000V || 19,99V&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 3 || 20,00V || 199,9V&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
Zustandsdiagramm&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Jedem Messbereich ist ein Zustand zugeordnet.&lt;br /&gt;
[[Datei:DVMZustand.png|miniatur|rechts|Zustandsdiagramm]] Bei Erhöhung der angelegten Spannung  wählt die Bereichautomatik kontinuierlich das nächsthöhere Messintervall an. Beim Unterschreiten der jeweiligen Grenze kehrt das Schaltwerk immer in den Grundzustand zurück. Falls dann ein Überlaufsignal vorliegt, wird in den übergeordneten Bereich umgeschaltet. Dieses Verhalten bewirkt, dass der Anzeigebereich bei einer sprunghaften Änderung der Spannung von hohen zu niederen Werten, dh bei großem Änderungsverhältnis,  bestmöglich ausgenutzt wird.&amp;lt;br /&amp;gt;&lt;br /&gt;
Blockschaltbild&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Datei:DVMBlock.png|miniatur|rechts|Blockschaltbild]]&lt;br /&gt;
Das Blockschaltbild zeigt die wesentlichen Funktionsblöcke und die sie verbindenden Signale.&lt;br /&gt;
&lt;br /&gt;
Die Länge eines Messzyklus variiert mit der Höhe der Eingangsspan-nung.  Um Schaltwerk und DVM zu synchronisieren wird das  Taktsignal deshalb aus der Wandler-beschaltung des ICs abgeleitet.  Der Oszillator des 7107, von aussen zugänglich, ist für diesen Zweck  ungeeignet.&lt;br /&gt;
Das Über- und Unterlaufsignal werden aus den Ansteuersignalen der Anzeige generiert, denn das IC selbst stellt diese Signale nicht bereit.&lt;br /&gt;
Der Eingangsabschwächer ist als zweistufiger umschaltbarer (elektronischer) Spannungsteiler ausgebildet, dessen Stellung durch die eingezeichneten Select-Signale festgelegt wird, ihre Benennung soll den zugeordneten Teilerfaktor verdeutlichen.&lt;br /&gt;
Die in den Siebensegmentanzeigen vorhandenen Dezimalpunkte kennzeichnen den gerade aktiven Messbereich, sie werden ebenfalls vom Schaltwerk angesteuert.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Media:AutoDVM7107.pdf|Schaltbild der Bereichautomatik]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Das Foto zeigt die aufgebaute Schaltung.&lt;br /&gt;
[[Datei:DSC01357.jpg|mitte|Die aufgebaute Schaltung]]&lt;br /&gt;
&lt;br /&gt;
== Zusammenfassung ==&lt;/div&gt;</summary>
		<author><name>Aminox86</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Methodischer_Entwurf_einfacher_Schaltwerke&amp;diff=100380</id>
		<title>Methodischer Entwurf einfacher Schaltwerke</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Methodischer_Entwurf_einfacher_Schaltwerke&amp;diff=100380"/>
		<updated>2019-03-03T14:22:58Z</updated>

		<summary type="html">&lt;p&gt;Aminox86: /* 9 ROM Version */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Dieser Artikel beschreibt die Vorgehensweise, einfache sequentielle Schaltungen in der Praxis umzusetzen.&lt;br /&gt;
&lt;br /&gt;
== Intention ==&lt;br /&gt;
Um eine LED blinken zu lassen, muß nicht unbedingt ein Mikrokontroller bemüht werden, wenn sich dieselbe Funktion auch mit ein paar Gattern und Flipflops realisieren lässt. Dabei soll unter einem &amp;quot;einfachen&amp;quot; Schaltwerk eine digitale Schaltung verstanden werden, deren &amp;quot;Verarbeitungsmöglichkeit&amp;quot; begrenzt ist, die zB &amp;quot;nur&amp;quot; zehn Eingangsvariablen aufnehmen kann oder zB &amp;quot;nur&amp;quot; 32 interne Zustände besitzt. Es soll sich daher um ein Gebilde handeln, das im einfachsten Fall aus digitalen Grundbausteinen besteht.&lt;br /&gt;
&lt;br /&gt;
Anhand eines konkreten Beispiels werden verschiedene Möglichkeiten der Realisierung eines Schaltwerks vorgestellt. Hierbei steht die praktische und systematische Umsetzung des gewählten Schaltwerkaufbaus im Vordergrund.&lt;br /&gt;
== 1 ==&lt;br /&gt;
Die Ausgangssignale eines Schaltwerks bzw dessen Zustand zum Betrachtungszeitpunkt werden nicht nur durch die aktuell anliegenden Eingangssignale sondern auch durch die Historie aller Eingangssignale bis zu diesem Zeitpunkt bestimmt. Diese Vorgeschichte wird in Speicherelementen, zB Flipflops, festgehalten. Ihr Inhalt wird an den Eingang des Schaltwerks zurückgeführt und dort mit den externen Signalen verknüpft, wodurch sich ggf der Zustand des Schaltwerks ändert.&amp;lt;br /&amp;gt;&lt;br /&gt;
Die zeitliche Reihenfolge der Zustände ist vorgeben, sie stellt die Funktionalität des Schaltwerks dar.&amp;lt;br /&amp;gt;&lt;br /&gt;
Diese Zustandsänderungen können sofort nach Wertänderung der Eingangsvariablen erfolgen, es liegt ein Asynchronschaltwerk vor, oder nur zu klar voneinander abgegrenzten  Zeitpunkten, es handelt sich dann um ein Synchronschaltwerk. Dieser Artikel beschäftigt sich mit Synchronschaltwerken, die die Struktur eines Moore-Automaten haben.&lt;br /&gt;
[[Bild:SchaltwerkSchema1.png|rechts|rahmen|Schaltwerk]]&lt;br /&gt;
Es liegt in der Natur des gewählten Themas, dass die hier beschriebenen Schaltwerke vorzugsweise aus handelsüblichen Komponenten (Gattern, Flipflops usw.) aufgebaut werden.&lt;br /&gt;
Das Übertragungsverhalten der FF ist durch ihren Aufbau vorgegeben und kann nicht beeinflußt werden.&amp;lt;br /&amp;gt;&lt;br /&gt;
Daher widmet sich dieser Artikel in erster Linie den Gestaltungsmöglichkeiten des Eingangsschaltnetzes unter Berücksichtigung des FF-Typs, auf die Dimensionierung des Ausgangsschaltnetzes wird bei Bedarf eingegangen.&lt;br /&gt;
&lt;br /&gt;
== 2 ==&lt;br /&gt;
Der Entwurf sollte schrittweise erfolgen. Die unten angeführte Reihenfolge ist bewährt, wobei die angeführten Positionen unterschiedlich umfangreich, abhängig von den Anforderungen, ausgestaltet werden können.&lt;br /&gt;
#Funktionsbeschreibung. Diese kann verbal (schriftlich, Handskizze) erfolgen oder durch zB ein Impulsdiagramm vorgegeben sein.&lt;br /&gt;
#Formale Beschreibung. Die in der Funktionsbeschreibung vorgegebenen Rahmenbedingungen werden in ein Zustandsdiagramm überführt. Hier erfolgt die vollständige Beschreibung des Schaltwerks, indem die Aufeinanderfolge der (festzulegenden) Zustände als Reaktion auf Eingangs- und Zustandsvektor bestimmt wird. Ebenfalls kann an dieser Stelle der Ausgangsvektor formuliert werden.&lt;br /&gt;
#Schaltwerkstabelle. Die Schaltwerkstabelle stellt das Zustandsdiagramm in tabellarischer Form dar. Mit ihrer Hilfe kann eine Zustandsminimierung (Zusammenfassen identischer Zustände) des Schaltwerks durchgeführt werden, die idR zu verringertem Bauteilebedarf führt. Änderungen in der Schaltwerkstabelle wirken auf das Zustandsdiagramm zurück.&lt;br /&gt;
#Zustandscodierung. Die Art der Zustandscodierung, insbesondere bei einfachen Synchronschaltwerken, unterliegt keinen Beschränkungen (im Gegensatz zu Asynchronschaltwerken). Die Codierung muß eindeutig sein und hat evtl Einfluß auf den Bauteileaufwand.&lt;br /&gt;
# Zustandsfolgetabelle. Ausgangspunkt der Zustandsfolgetabelle ist das Zustandsdiagramm. In dieser Tabelle findet das sequentielle Verhalten der Schaltung seinen Ausdruck, denn sie ist deutlich zweigeteilt. Eingangsvariablen &#039;&#039;&#039;und&#039;&#039;&#039; aktuelle Zustände werden üblicherweise auf der linken Seite („vor dem Takt“), Folgezustände und ggf Ausgangsvariablen rechts („nach dem Takt“) notiert.  Aus der Zustandsfolgetabelle können, wenn sie als Wahrheitstabelle interpretiert wird, die Übergangsfunktionen der Zustandsspeicher entnommen werden.&lt;br /&gt;
== 3 ==&lt;br /&gt;
Mechanische Bedienelemente elektrischer Geräte wie Kippschalter, Tastenaggregate, Drehschalter usw sind dankbare Objekte für die Emulation durch ein elektronisches Schaltwerk.&amp;lt;br /&amp;gt;&lt;br /&gt;
Das hier gezeigte Beispiel bildet einen Drehschalter, der auf 4 Schaltstellungen begrenzt ist, nach. &lt;br /&gt;
=== 3 ===&lt;br /&gt;
In der nebenstehenden Abbildung ist dargestellt, wie der mechanische Drehschalter in seine elektronische Entsprechung überführt werden soll. Der linke Teil der Abbildung zeigt die Kontakte K1..K4, [[Datei:StufenschalterSchaltwerk.png|rechts|rahmen]]die anwählbaren Stellungen des Schleifers, sowie den zentralen Anschluss K0. Neben den Kontakten ist ein weiteres Attribut eingetragen, hierbei handelt es sich um die Verknüpfung von Schalterstellung und jeweiligem Zustand des Schaltwerks.&amp;lt;br /&amp;gt;&lt;br /&gt;
Im rechten Teil sind das Schaltwerk und seine äußeren Anschlüsse skizziert. Das Schaltwerk reagiert auf zwei Taster. Sie stehen für die linke und/oder rechte Drehung des Schalter und generieren die Eingangssignale &#039;&#039;U&#039;&#039; und &#039;&#039;W&#039;&#039;. Die 4 Stellungen des Drehschalters werden durch die Ausgangssignale &#039;&#039;Stellung1..Stellung4&#039;&#039; repräsentiert.&amp;lt;br /&amp;gt;&lt;br /&gt;
Das Schaltwerk emuliert ausschließlich die mechanische Bewegung des Drehschalters, die elektrischen Eigenschaften des Schalters müssen von separaten Schaltungsteilen umgesetzt werden.&lt;br /&gt;
&lt;br /&gt;
=== 4 ===&lt;br /&gt;
Das Zustandsdiagramm setzt Eingangssignale und  Zustände des Schaltwerks miteinander in Beziehung. &lt;br /&gt;
[[Datei:Zustandsdiagramm.png|rahmen|rechts]]Das Schaltwerk befindet sich nach dem Einschalten in Z0, der den rechten Anschlag des 	emulierten Schalters bildet, denn das Aktivieren der „Taste rechts“ oder der „Tasten links+rechts“ bewirkt an dieser Stelle keine Zustandsänderung. Durch wiederholtes Betätigen der „Taste links“ gelangt man zu den nächsten Zuständen, bis der linke Anschlag erreicht ist. Die „Taste links“ bewirkt in Z3 keine Zustandsänderung. Mit der „Taste rechts“ kann dieser Zustand verlassen werden. Zwischen den Zuständen kann man sich mit den Tasten beliebig hin und her bewegen. Das gleichzeitige Betätigen beider Tasten „Tasten links+rechts“ versetzt das Schaltwerk aus jedem Zustand heraus in den Anfangszustand Z0, ein Verhalten, das mit einem mechanischen Drehschalter nicht möglich ist. Ist keine Taste aktiv verbleibt das Schaltwerk in seinem aktuellen Zustand.&lt;br /&gt;
=== 5 ===&lt;br /&gt;
Die Übergangstabelle enthält die Information des Zustandsdiagramms in tabellarischer Form. Die Signale &#039;&#039;U&#039;&#039; und &#039;&#039;W&#039;&#039; sind als &#039;1&#039;-aktiv eingetragen.&lt;br /&gt;
{|&lt;br /&gt;
| style=&amp;quot;width:45%&amp;quot;|&amp;amp;nbsp;&lt;br /&gt;
|&lt;br /&gt;
{|{{tabelle}}&lt;br /&gt;
|+ &#039;&#039;&#039;Übergangstabelle&#039;&#039;&#039;&lt;br /&gt;
|-style=&amp;quot;text-align:center; &amp;quot;&lt;br /&gt;
!style=&amp;quot;background:#EAECF0&amp;quot;|Folgezustand &lt;br /&gt;
|style=&amp;quot;background:#FFEBAD&amp;quot; colspan=&amp;quot;4&amp;quot;| Eingangssignale U W&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| aktueller Zustand &lt;br /&gt;
|style=&amp;quot;background:#FFEBAD&amp;quot;| 00 || style=&amp;quot;background:#FFEBAD&amp;quot; |01 ||style=&amp;quot;background:#FFEBAD&amp;quot;| 10 || style=&amp;quot;background:#FFEBAD&amp;quot; | 11&lt;br /&gt;
|-style=&amp;quot;text-align:center; background:#EAECF0&amp;quot; &lt;br /&gt;
| style=&amp;quot; background:#F8F9FA&amp;quot; | 0 &lt;br /&gt;
! 0 ||0 ||1 || 0&lt;br /&gt;
|-style=&amp;quot;text-align:center; background:#EAECF0&amp;quot; &lt;br /&gt;
| style=&amp;quot;background:#F8F9FA&amp;quot; | 1&lt;br /&gt;
! 1 || 0 || 2 || 0&lt;br /&gt;
|-style=&amp;quot;text-align:center; background:#EAECF0&amp;quot; &lt;br /&gt;
|style=&amp;quot;background:#F8F9FA&amp;quot; |2&lt;br /&gt;
! 2 || 1 || 3 || 0&lt;br /&gt;
|-style=&amp;quot;text-align:center; background:#EAECF0&amp;quot; &lt;br /&gt;
|style=&amp;quot;background:#F8F9FA&amp;quot; |3&lt;br /&gt;
! 3 || 2 || 3 || 0&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
Bei umfangreichen Schaltwerken kann an dieser Stelle versucht werden, Zustände zusammenzufassen.&lt;br /&gt;
&lt;br /&gt;
=== 6 ===&lt;br /&gt;
Unter Berücksichtigung der Übergangstabelle wird die Zustandsfolgetabelle aufgebaut. Sie enthält die Eingangssignale, den aktuellen Zustand und den Folgezustand des Schaltwerks.&amp;lt;br /&amp;gt;&lt;br /&gt;
Die Zustände liegen in der Wahrheitstabelle in codierter Form vor, in diesem Beispiel sind sie binär codiert und es genügen zwei Zustandsvariablen, &#039;&#039;A&amp;lt;sup&amp;gt;n&amp;lt;/sup&amp;gt;&#039;&#039;(LSD) und &#039;&#039;B&amp;lt;sup&amp;gt;n&amp;lt;/sup&amp;gt;&#039;&#039;(MSD), da das Schaltwerk 4 Zustände einnehmen kann.&lt;br /&gt;
{|&lt;br /&gt;
| style=&amp;quot;width:10%&amp;quot;|&amp;amp;nbsp;&lt;br /&gt;
|&lt;br /&gt;
{|{{tabelle}} &lt;br /&gt;
|+&#039;&#039;&#039;Zustandsfolgetabelle&#039;&#039;&#039;&lt;br /&gt;
|-style=&amp;quot;background:#EAECF0&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;2&amp;quot;|Eingangssignale||colspan=&amp;quot;2&amp;quot;|aktueller Zustand|| style=&amp;quot;border-left:2px solid&amp;quot; colspan=&amp;quot;2&amp;quot;| Folgezustand||style=&amp;quot;background:#FFFFFF; vertical-align:top&amp;quot; rowspan=&amp;quot;2&amp;quot;|Beschreibung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|U || W || B&amp;lt;sup&amp;gt;n&amp;lt;/sup&amp;gt; || A &amp;lt;sup&amp;gt;n&amp;lt;/sup&amp;gt;||style=&amp;quot;border-left:2px solid&amp;quot;| B&amp;lt;sup&amp;gt;n+1&amp;lt;/sup&amp;gt; || A&amp;lt;sup&amp;gt;n+1&amp;lt;/sup&amp;gt;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 0 || 0 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; Start&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 0 || 0 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 1 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;; nach &amp;quot;links&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 1 || 0 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; nach &amp;quot;rechts&amp;quot; → keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 1 || 0 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 0 || 0 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 1 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;; keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 0 || 0 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;; nach &amp;quot;links&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 1 || 0 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; nach &amp;quot;rechts&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 1 || 0 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; Rücksprung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 0 || 1 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;; keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 0 || 1 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 1 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt;; nach &amp;quot;links&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 1 || 1 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 1 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;; nach &amp;quot;rechts&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 1 || 1 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; Rücksprung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 0 || 1 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 1 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt;; keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 0 || 1 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 1 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt;; nach &amp;quot;links&amp;quot; → keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 1 || 1 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;; nach &amp;quot;rechts&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 1 || 1 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; Rücksprung&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
Aus der Zustandsfolgetabelle werden die Übergangsfunktionen der Zustandsvariablen &#039;&#039;A&amp;lt;sup&amp;gt;n+1&amp;lt;/sup&amp;gt;&#039;&#039; und &#039;&#039;B&amp;lt;sup&amp;gt;n+1&amp;lt;/sup&amp;gt;&#039;&#039; entnommen. Sie sind Ausgangspunkt für die rechnerische Bestimmung der Eingangsschaltnetze  der Zustandsvariablenspeicher.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Alle nachfolgend beschriebenen Schaltwerkversionen besitzen die gleichen Ausgangssignale, die aus den Zustandsvariablen des Momentanzustandes ermittelt werden. Die Ausgangssignale sind ´1´-aktiv und werden durch die &amp;quot;Methode des scharfen Ansehens&amp;quot; aus obiger Tabelle erhalten:&amp;lt;br /&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
| style=&amp;quot;width:70%&amp;quot;|&amp;amp;nbsp;&lt;br /&gt;
|&lt;br /&gt;
{|style=&amp;quot; font-style: italic&amp;quot;&lt;br /&gt;
|Stellung1 || =|| style=&amp;quot;text-decoration:overline&amp;quot;| A || &amp;amp;sdot; ||  style=&amp;quot;text-decoration:overline&amp;quot;| B &lt;br /&gt;
|-style=&amp;quot;font-style: italic&amp;quot;&lt;br /&gt;
|Stellung2 || =||  A || &amp;amp;sdot; || style=&amp;quot;text-decoration:overline&amp;quot;| B &lt;br /&gt;
|-style=&amp;quot;font-style: italic&amp;quot;&lt;br /&gt;
|Stellung3 || =|| style=&amp;quot;text-decoration:overline&amp;quot;| A || &amp;amp;sdot; || B &lt;br /&gt;
|-style=&amp;quot;font-style: italic&amp;quot;&lt;br /&gt;
|Stellung4 || =|| A || &amp;amp;sdot; || B &lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 7 Gatterversion ===&lt;br /&gt;
Die klassische Methode, das Eingangsschaltnetz aufzubauen, besteht darin, logische Schaltkreise entsprechend den Übergangsfunktionen miteinander zu kombinieren.&amp;lt;br /&amp;gt;&lt;br /&gt;
Die Liste enthält verschiedene Aspekte dieser Ausführung:&lt;br /&gt;
* [[Media: Stufenschalter1.pdf|Schaltplan der Gatterversion]]&lt;br /&gt;
* [[Media: FFs1Gleichungen.pdf|Berechnungen zur Gatterversion]]&lt;br /&gt;
* [https://www.youtube.com/watch?v=LuBIOe8P5pU Video - das Schaltwerk in Aktion]&lt;br /&gt;
=== 8 Multiplexer Version ===&lt;br /&gt;
Mit einem Multiplexer, der über &#039;&#039;n&#039;&#039; Steuer(Select)eingänge verfügt, können an seinem Ausgang alle&lt;br /&gt;
Kombinationen von &#039;&#039;(n+1)&#039;&#039;-Bool&#039;schen Variablen dargestellt werden.&amp;lt;br /&amp;gt;&lt;br /&gt;
Die Abbildung demonstriert ein Beispiel: Es liegt ein (4 zu 1)-Multiplexer vor. Dieser ist für 3 Variablen ausreichend, denn &#039;&#039;4=2&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;&#039;&#039;, daher ist &#039;&#039;n=2&#039;&#039; und &#039;&#039;n+1=3&#039;&#039;.&amp;lt;br /&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
| style=&amp;quot;width:10%&amp;quot;|&amp;amp;nbsp;&lt;br /&gt;
|&lt;br /&gt;
{|style=&amp;quot; font-style: italic&amp;quot;&lt;br /&gt;
|f&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt; || =|| A || B || C || + ||style=&amp;quot;text-decoration:overline&amp;quot;| A || B || C || + || A || style=&amp;quot;text-decoration:overline&amp;quot;|B || C || + ||style=&amp;quot;text-decoration:overline&amp;quot;| A ||style=&amp;quot;text-decoration:overline&amp;quot;|B || C || + &lt;br /&gt;
|-style=&amp;quot;font-style: italic&amp;quot;&lt;br /&gt;
| &amp;amp;nbsp; || &amp;amp;nbsp; || A || B ||style=&amp;quot;text-decoration:overline&amp;quot;|C || + ||style=&amp;quot;text-decoration:overline&amp;quot;| A || B ||style=&amp;quot;text-decoration:overline&amp;quot;|C || + || A ||style=&amp;quot;text-decoration:overline&amp;quot;|B ||style=&amp;quot;text-decoration:overline&amp;quot;| C || + ||style=&amp;quot;text-decoration:overline&amp;quot;| A ||style=&amp;quot;text-decoration:overline&amp;quot;|B ||style=&amp;quot;text-decoration:overline&amp;quot;| C  &lt;br /&gt;
|}&lt;br /&gt;
| style=&amp;quot;width:10%&amp;quot;|&amp;amp;nbsp;&lt;br /&gt;
|[[Datei:Multiplexer.png|Multiplexer]]&lt;br /&gt;
|}&lt;br /&gt;
Die nachfolgende Liste stellt diese Version des Schaltwerks vor:&lt;br /&gt;
*[[Media:Stufenschalter2.pdf|Schaltplan der Multiplexer Version]]&lt;br /&gt;
*[[Media:ULPs1Gleichungen.pdf|Berechnungen zur Multiplexer Version]]&lt;br /&gt;
&lt;br /&gt;
=== 9 ROM Version ===&lt;br /&gt;
Neben den bisher beschriebenen Verfahren, Schaltfunktionen in Hardware umzusetzen, gibt es die Möglichkeit, diese in einem (nichtflüchtigen) Speicherelement zu realisieren.&amp;lt;br /&amp;gt;&lt;br /&gt;
Ein Festwertspeicher ordnet jeder Eingangskombination(Adresse) der Variablen ein Ausgangsmuster(Daten), das vorgegeben wird, zu. Die Eingangsmatrix des Festwertspeichers kann als UND-Verknüpfung der Eingangsvariablen, die Ausgangsmatrix als ODER-Verknüpfung des Zellinhalts aufgefasst werden - der Speicher bildet die disjunktive Normalform der Eingangsvariablen, wie die Abbildung zeigt:&lt;br /&gt;
{|&lt;br /&gt;
| style=&amp;quot;width:30%&amp;quot;|&amp;amp;nbsp;&lt;br /&gt;
|&lt;br /&gt;
{|style=&amp;quot; font-style: italic&amp;quot;&lt;br /&gt;
|f&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; || =|| style=&amp;quot;text-decoration:overline&amp;quot;| A || style=&amp;quot;text-decoration:overline&amp;quot;| B || + || A ||style=&amp;quot;text-decoration:overline&amp;quot;| B&lt;br /&gt;
|-style=&amp;quot;font-style: italic&amp;quot;&lt;br /&gt;
|f&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; || =||style=&amp;quot;text-decoration:overline&amp;quot;|  A || B || + || A || B&lt;br /&gt;
|-style=&amp;quot;font-style: italic&amp;quot;&lt;br /&gt;
|f&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; || =|| 1&lt;br /&gt;
|}&lt;br /&gt;
| style=&amp;quot;width:10%&amp;quot;|&amp;amp;nbsp;&lt;br /&gt;
|[[Datei:Rommatrix.png|rahmen]]&lt;br /&gt;
|}&lt;br /&gt;
Bei der Übertragung der Schaltfunktion in einen Festwertspeicher ist im allgemeinen keine Optimierung erforderlich. Ist sie allerdings umgeformt, sollten zwei Dinge berücksichtigt werden:&lt;br /&gt;
# die Funktion muß vollständig sein, ggf muß sie auf ihre Normalform gebracht werden&lt;br /&gt;
# falls Redundanzen vorliegen, dann&lt;br /&gt;
#:sollten diese aufgelöst werden (weiter mit Punkt 1) oder&lt;br /&gt;
#:im Falle eines Schaltwerks einen sicheren Zustand adressieren&amp;lt;br /&amp;gt;&lt;br /&gt;
Um den Inhalt des Speichers, der im Schaltwerk eingesetzt werden soll, zu bestimmen, wird von der schon vorhandenen Zustandsfolgetabelle ausgegangen.Die Tabelle wird um zwei Spalten ergänzt, Adressen und Daten.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Eine Adresse wird gebildet, indem man das zeilenweise Bitmuster der Eingangsvariablen als Binärzahl interpretiert und in der Adressspalte notiert. Das gleiche Verfahren wird auf das Bitmuster des Folgezustands angewendet und das Ergebnis in die Datenspalte eingetragen.&lt;br /&gt;
{|{{tabelle}} &lt;br /&gt;
|+&#039;&#039;&#039;Modifizierte Zustandsfolgetabelle&#039;&#039;&#039;&lt;br /&gt;
|-style=&amp;quot;background:#EAECF0&amp;quot;&lt;br /&gt;
!style=&amp;quot;background:#FFEBAD; vertical-align:top&amp;quot; rowspan=&amp;quot;2&amp;quot;|Adresse || colspan=&amp;quot;2&amp;quot;|Eingangssignale||colspan=&amp;quot;2&amp;quot;|aktueller Zustand|| style=&amp;quot;border-left:2px solid&amp;quot; colspan=&amp;quot;2&amp;quot;| Folgezustand|| style=&amp;quot;background:#FFEBAD; vertical-align:top&amp;quot; rowspan=&amp;quot;2&amp;quot; | Daten ||style=&amp;quot;background:#FFFFFF; vertical-align:top&amp;quot; rowspan=&amp;quot;2&amp;quot;|Beschreibung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|U || W || B&amp;lt;sup&amp;gt;n&amp;lt;/sup&amp;gt; || A &amp;lt;sup&amp;gt;n&amp;lt;/sup&amp;gt;||style=&amp;quot;border-left:2px solid&amp;quot;| B&amp;lt;sup&amp;gt;n+1&amp;lt;/sup&amp;gt; || A&amp;lt;sup&amp;gt;n+1&amp;lt;/sup&amp;gt;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0x00|| 0 || 0 || 0 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || 0x00 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; Start&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x08 || 1 || 0 || 0 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 1 ||0x01 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;; nach &amp;quot;links&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x04|| 0 || 1 || 0 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 ||0x00; || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; nach &amp;quot;rechts&amp;quot; → keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x0c|| 1 || 1 || 0 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 ||0x00 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x01|| 0 || 0 || 0 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 1 ||0x01 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;; keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x09|| 1 || 0 || 0 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 0 ||0x02 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;; nach &amp;quot;links&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x05|| 0 || 1 || 0 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 ||0x00 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; nach &amp;quot;rechts&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x0d|| 1 || 1 || 0 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 ||0x00 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; Rücksprung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x02|| 0 || 0 || 1 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 0 ||0x02 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;; keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x0a|| 1 || 0 || 1 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 1 ||0x03 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt;; nach &amp;quot;links&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x06|| 0 || 1 || 1 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 1 ||0x01 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;; nach &amp;quot;rechts&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x0e|| 1 || 1 || 1 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 ||0x00 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; Rücksprung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x03|| 0 || 0 || 1 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 1 ||0x03 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt;; keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x0b|| 1 || 0 || 1 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 1 ||0x03 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt;; nach &amp;quot;links&amp;quot; → keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x07|| 0 || 1 || 1 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 0 ||0x02 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;; nach &amp;quot;rechts&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x0f|| 1 || 1 || 1 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 ||0x00 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; Rücksprung&lt;br /&gt;
|}&lt;br /&gt;
Aus der Tabelle ergibt sich folgende nach Adresse sortierte Speicherbelegung:&lt;br /&gt;
{|{{tabelle}}&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background:#EAECF0&amp;quot;|&amp;lt;b&amp;gt;Adresse&amp;lt;/b&amp;gt;||0x00||0x01||0x02||0x03||0x04||0x05||0x06||0x07||0x08||0x09||0x0a||0x0b||0x0c||0x0d||0x0e||0x0f&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background:#EAECF0&amp;quot;|&amp;lt;b&amp;gt;Daten&amp;lt;/b&amp;gt;||0x00||0x01||0x02||0x03||0x00||0x00||0x01||0x02||0x01||0x02||0x03||0x03||0x00||0x00||0x00||0x00&lt;br /&gt;
|}&lt;br /&gt;
Der Eingangsvektor ist vollständig, die Datenwortbreite beträgt zwei Bit.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Die Schaltbilder zeigen diese Form des Schaltwerks.&lt;br /&gt;
:[[Media: Stufenschalter3.pdf|Schaltplan der ROM-Version: EPROM als Festwertspeicher]]&lt;br /&gt;
::Eine Variante des Festwertspeichers ist die Diodenmatrix. Sie kann ohne aufwändige Hilfsmittel&lt;br /&gt;
::realisiert werden. &lt;br /&gt;
:[[Media: Stufenschalter4.pdf|Schaltplan der ROM-Version: Diodenmatrix als Festwertspeicher]]&lt;br /&gt;
&lt;br /&gt;
=== 10 Zwischenbilanz ===&lt;br /&gt;
Anhand des diskutierten Beispiels wurden verschiedene Möglichkeiten der Realisierung eines einfachen Schaltwerks demonstriert.&lt;br /&gt;
*Übergangsfunktion durch allgemeine Logigbausteine dargestellt&lt;br /&gt;
*Übergangsfunktion durch Multiplexer dargestellt&lt;br /&gt;
*Übergangsfunktion durch ROM (in Tabellenform) dargestellt&lt;br /&gt;
Die Anwendung algebraischer und graphischer(tabellarischer) Methoden zur Bestimmung der Schaltungskomponenten ermöglichte die praktische Umsetzung des geplanten Schaltwerks.&lt;br /&gt;
Allerdings, mit zunehmender Breite des Eingangsvektors  steigt der Aufwand zur Ermittlung der Schaltwerkskomponenten stark an, so dass diese Methoden an ihre Grenzen stossen und andere Vorgehensweisen erforderlich sind.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dennoch lohnt es sich, den Einsatz eines einfachen Schaltwerks in Erwägung zu ziehen, wie die nachfolgenden Beispiele zeigen.&lt;br /&gt;
&lt;br /&gt;
== Weitere Beispiele ==&lt;br /&gt;
Der Aufwand beim Entwurf von Schaltwerken kann sehr überschaubar sein. Mit etwas Algebra kommt man schnell zum Ziel und der Text zeigt wie&#039;s geht: [[Media:Verschiedenes.pdf|Vermischtes]]&amp;lt;br /&amp;gt;&lt;br /&gt;
Mittels der folgenden Schaltung soll der hohe Gebrauchswert eines einfachen Schaltwerks gezeigt werden:&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Automatische Messbereichswahl für den DVM-Baustein 7107&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
Das DVM-IC 7107 gehört zu einer Reihe ähnlicher ICs, die in sogenannten Panelmetern (Schalttafelintrumenten)eine außerordentlich weite Verbreitung gefunden haben. Sie arbeiten nach dem Prinzip des Doppel-Flanken-Wandlers. Dieses Wandlungsprinzip ist zwar nicht besonders schnell, jedoch genau und bei geeigneter Komponentenwahl der äußeren Beschaltung sehr  störunempfindlich. Der 7107 ist für den  Betrieb mit Siebensegmentanzeigen (LED) vorgesehen, die ein 3½-stelliges Display bilden. Abhängig von der Referenzspannung beträgt die sicher darstellbare Messspannung maximal 0,1999V oder 1,999V, höhere Eingangsspannungen müssen abgeschwächt werden.&amp;lt;br /&amp;gt;&lt;br /&gt;
Eine automatische Messbereichumschaltung trägt zur Gerätesicherheit bei und steigert den Bedienungskomfort.&amp;lt;br &amp;gt;&lt;br /&gt;
&lt;br /&gt;
In der vorliegenden Schaltung sind drei Messbereiche vorgesehen:&lt;br /&gt;
{|&lt;br /&gt;
| style=&amp;quot;width:35%&amp;quot;|&amp;amp;nbsp;&lt;br /&gt;
|&lt;br /&gt;
{| {{tabelle}} &lt;br /&gt;
|-style=&amp;quot;background:#EAECF0; text-align:center&amp;quot;&lt;br /&gt;
! Messbereich Nr !! Untere Grenze !! Obere Grenze&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 0,000V || 1,999V&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 2 || 2,000V || 19,99V&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 3 || 20,00V || 199,9V&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
Zustandsdiagramm&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Jedem Messbereich ist ein Zustand zugeordnet.&lt;br /&gt;
[[Datei:DVMZustand.png|miniatur|rechts|Zustandsdiagramm]] Bei Erhöhung der angelegten Spannung  wählt die Bereichautomatik kontinuierlich das nächsthöhere Messintervall an. Beim Unterschreiten der jeweiligen Grenze kehrt das Schaltwerk immer in den Grundzustand zurück. Falls dann ein Überlaufsignal vorliegt, wird in den übergeordneten Bereich umgeschaltet. Dieses Verhalten bewirkt, dass der Anzeigebereich bei einer sprunghaften Änderung der Spannung von hohen zu niederen Werten, dh bei großem Änderungsverhältnis,  bestmöglich ausgenutzt wird.&amp;lt;br /&amp;gt;&lt;br /&gt;
Blockschaltbild&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Datei:DVMBlock.png|miniatur|rechts|Blockschaltbild]]&lt;br /&gt;
Das Blockschaltbild zeigt die wesentlichen Funktionsblöcke und die sie verbindenden Signale.&lt;br /&gt;
&lt;br /&gt;
Die Länge eines Messzyklus variiert mit der Höhe der Eingangsspan-nung.  Um Schaltwerk und DVM zu synchronisieren wird das  Taktsignal deshalb aus der Wandler-beschaltung des ICs abgeleitet.  Der Oszillator des 7107, von aussen zugänglich, ist für diesen Zweck  ungeeignet.&lt;br /&gt;
Das Über- und Unterlaufsignal werden aus den Ansteuersignalen der Anzeige generiert, denn das IC selbst stellt diese Signale nicht bereit.&lt;br /&gt;
Der Eingangsabschwächer ist als zweistufiger umschaltbarer (elektronischer) Spannungsteiler ausgebildet, dessen Stellung durch die eingezeichneten Select-Signale festgelegt wird, ihre Benennung soll den zugeordneten Teilerfaktor verdeutlichen.&lt;br /&gt;
Die in den Siebensegmentanzeigen vorhandenen Dezimalpunkte kennzeichnen den gerade aktiven Messbereich, sie werden ebenfalls vom Schaltwerk angesteuert.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Media:AutoDVM7107.pdf|Schaltbild der Bereichautomatik]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Das Foto zeigt die aufgebaute Schaltung.&lt;br /&gt;
[[Datei:DSC01357.jpg|mitte|Die aufgebaute Schaltung]]&lt;/div&gt;</summary>
		<author><name>Aminox86</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Methodischer_Entwurf_einfacher_Schaltwerke&amp;diff=100379</id>
		<title>Methodischer Entwurf einfacher Schaltwerke</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Methodischer_Entwurf_einfacher_Schaltwerke&amp;diff=100379"/>
		<updated>2019-03-03T14:21:18Z</updated>

		<summary type="html">&lt;p&gt;Aminox86: /* 8 Multiplexer Version */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Dieser Artikel beschreibt die Vorgehensweise, einfache sequentielle Schaltungen in der Praxis umzusetzen.&lt;br /&gt;
&lt;br /&gt;
== Intention ==&lt;br /&gt;
Um eine LED blinken zu lassen, muß nicht unbedingt ein Mikrokontroller bemüht werden, wenn sich dieselbe Funktion auch mit ein paar Gattern und Flipflops realisieren lässt. Dabei soll unter einem &amp;quot;einfachen&amp;quot; Schaltwerk eine digitale Schaltung verstanden werden, deren &amp;quot;Verarbeitungsmöglichkeit&amp;quot; begrenzt ist, die zB &amp;quot;nur&amp;quot; zehn Eingangsvariablen aufnehmen kann oder zB &amp;quot;nur&amp;quot; 32 interne Zustände besitzt. Es soll sich daher um ein Gebilde handeln, das im einfachsten Fall aus digitalen Grundbausteinen besteht.&lt;br /&gt;
&lt;br /&gt;
Anhand eines konkreten Beispiels werden verschiedene Möglichkeiten der Realisierung eines Schaltwerks vorgestellt. Hierbei steht die praktische und systematische Umsetzung des gewählten Schaltwerkaufbaus im Vordergrund.&lt;br /&gt;
== 1 ==&lt;br /&gt;
Die Ausgangssignale eines Schaltwerks bzw dessen Zustand zum Betrachtungszeitpunkt werden nicht nur durch die aktuell anliegenden Eingangssignale sondern auch durch die Historie aller Eingangssignale bis zu diesem Zeitpunkt bestimmt. Diese Vorgeschichte wird in Speicherelementen, zB Flipflops, festgehalten. Ihr Inhalt wird an den Eingang des Schaltwerks zurückgeführt und dort mit den externen Signalen verknüpft, wodurch sich ggf der Zustand des Schaltwerks ändert.&amp;lt;br /&amp;gt;&lt;br /&gt;
Die zeitliche Reihenfolge der Zustände ist vorgeben, sie stellt die Funktionalität des Schaltwerks dar.&amp;lt;br /&amp;gt;&lt;br /&gt;
Diese Zustandsänderungen können sofort nach Wertänderung der Eingangsvariablen erfolgen, es liegt ein Asynchronschaltwerk vor, oder nur zu klar voneinander abgegrenzten  Zeitpunkten, es handelt sich dann um ein Synchronschaltwerk. Dieser Artikel beschäftigt sich mit Synchronschaltwerken, die die Struktur eines Moore-Automaten haben.&lt;br /&gt;
[[Bild:SchaltwerkSchema1.png|rechts|rahmen|Schaltwerk]]&lt;br /&gt;
Es liegt in der Natur des gewählten Themas, dass die hier beschriebenen Schaltwerke vorzugsweise aus handelsüblichen Komponenten (Gattern, Flipflops usw.) aufgebaut werden.&lt;br /&gt;
Das Übertragungsverhalten der FF ist durch ihren Aufbau vorgegeben und kann nicht beeinflußt werden.&amp;lt;br /&amp;gt;&lt;br /&gt;
Daher widmet sich dieser Artikel in erster Linie den Gestaltungsmöglichkeiten des Eingangsschaltnetzes unter Berücksichtigung des FF-Typs, auf die Dimensionierung des Ausgangsschaltnetzes wird bei Bedarf eingegangen.&lt;br /&gt;
&lt;br /&gt;
== 2 ==&lt;br /&gt;
Der Entwurf sollte schrittweise erfolgen. Die unten angeführte Reihenfolge ist bewährt, wobei die angeführten Positionen unterschiedlich umfangreich, abhängig von den Anforderungen, ausgestaltet werden können.&lt;br /&gt;
#Funktionsbeschreibung. Diese kann verbal (schriftlich, Handskizze) erfolgen oder durch zB ein Impulsdiagramm vorgegeben sein.&lt;br /&gt;
#Formale Beschreibung. Die in der Funktionsbeschreibung vorgegebenen Rahmenbedingungen werden in ein Zustandsdiagramm überführt. Hier erfolgt die vollständige Beschreibung des Schaltwerks, indem die Aufeinanderfolge der (festzulegenden) Zustände als Reaktion auf Eingangs- und Zustandsvektor bestimmt wird. Ebenfalls kann an dieser Stelle der Ausgangsvektor formuliert werden.&lt;br /&gt;
#Schaltwerkstabelle. Die Schaltwerkstabelle stellt das Zustandsdiagramm in tabellarischer Form dar. Mit ihrer Hilfe kann eine Zustandsminimierung (Zusammenfassen identischer Zustände) des Schaltwerks durchgeführt werden, die idR zu verringertem Bauteilebedarf führt. Änderungen in der Schaltwerkstabelle wirken auf das Zustandsdiagramm zurück.&lt;br /&gt;
#Zustandscodierung. Die Art der Zustandscodierung, insbesondere bei einfachen Synchronschaltwerken, unterliegt keinen Beschränkungen (im Gegensatz zu Asynchronschaltwerken). Die Codierung muß eindeutig sein und hat evtl Einfluß auf den Bauteileaufwand.&lt;br /&gt;
# Zustandsfolgetabelle. Ausgangspunkt der Zustandsfolgetabelle ist das Zustandsdiagramm. In dieser Tabelle findet das sequentielle Verhalten der Schaltung seinen Ausdruck, denn sie ist deutlich zweigeteilt. Eingangsvariablen &#039;&#039;&#039;und&#039;&#039;&#039; aktuelle Zustände werden üblicherweise auf der linken Seite („vor dem Takt“), Folgezustände und ggf Ausgangsvariablen rechts („nach dem Takt“) notiert.  Aus der Zustandsfolgetabelle können, wenn sie als Wahrheitstabelle interpretiert wird, die Übergangsfunktionen der Zustandsspeicher entnommen werden.&lt;br /&gt;
== 3 ==&lt;br /&gt;
Mechanische Bedienelemente elektrischer Geräte wie Kippschalter, Tastenaggregate, Drehschalter usw sind dankbare Objekte für die Emulation durch ein elektronisches Schaltwerk.&amp;lt;br /&amp;gt;&lt;br /&gt;
Das hier gezeigte Beispiel bildet einen Drehschalter, der auf 4 Schaltstellungen begrenzt ist, nach. &lt;br /&gt;
=== 3 ===&lt;br /&gt;
In der nebenstehenden Abbildung ist dargestellt, wie der mechanische Drehschalter in seine elektronische Entsprechung überführt werden soll. Der linke Teil der Abbildung zeigt die Kontakte K1..K4, [[Datei:StufenschalterSchaltwerk.png|rechts|rahmen]]die anwählbaren Stellungen des Schleifers, sowie den zentralen Anschluss K0. Neben den Kontakten ist ein weiteres Attribut eingetragen, hierbei handelt es sich um die Verknüpfung von Schalterstellung und jeweiligem Zustand des Schaltwerks.&amp;lt;br /&amp;gt;&lt;br /&gt;
Im rechten Teil sind das Schaltwerk und seine äußeren Anschlüsse skizziert. Das Schaltwerk reagiert auf zwei Taster. Sie stehen für die linke und/oder rechte Drehung des Schalter und generieren die Eingangssignale &#039;&#039;U&#039;&#039; und &#039;&#039;W&#039;&#039;. Die 4 Stellungen des Drehschalters werden durch die Ausgangssignale &#039;&#039;Stellung1..Stellung4&#039;&#039; repräsentiert.&amp;lt;br /&amp;gt;&lt;br /&gt;
Das Schaltwerk emuliert ausschließlich die mechanische Bewegung des Drehschalters, die elektrischen Eigenschaften des Schalters müssen von separaten Schaltungsteilen umgesetzt werden.&lt;br /&gt;
&lt;br /&gt;
=== 4 ===&lt;br /&gt;
Das Zustandsdiagramm setzt Eingangssignale und  Zustände des Schaltwerks miteinander in Beziehung. &lt;br /&gt;
[[Datei:Zustandsdiagramm.png|rahmen|rechts]]Das Schaltwerk befindet sich nach dem Einschalten in Z0, der den rechten Anschlag des 	emulierten Schalters bildet, denn das Aktivieren der „Taste rechts“ oder der „Tasten links+rechts“ bewirkt an dieser Stelle keine Zustandsänderung. Durch wiederholtes Betätigen der „Taste links“ gelangt man zu den nächsten Zuständen, bis der linke Anschlag erreicht ist. Die „Taste links“ bewirkt in Z3 keine Zustandsänderung. Mit der „Taste rechts“ kann dieser Zustand verlassen werden. Zwischen den Zuständen kann man sich mit den Tasten beliebig hin und her bewegen. Das gleichzeitige Betätigen beider Tasten „Tasten links+rechts“ versetzt das Schaltwerk aus jedem Zustand heraus in den Anfangszustand Z0, ein Verhalten, das mit einem mechanischen Drehschalter nicht möglich ist. Ist keine Taste aktiv verbleibt das Schaltwerk in seinem aktuellen Zustand.&lt;br /&gt;
=== 5 ===&lt;br /&gt;
Die Übergangstabelle enthält die Information des Zustandsdiagramms in tabellarischer Form. Die Signale &#039;&#039;U&#039;&#039; und &#039;&#039;W&#039;&#039; sind als &#039;1&#039;-aktiv eingetragen.&lt;br /&gt;
{|&lt;br /&gt;
| style=&amp;quot;width:45%&amp;quot;|&amp;amp;nbsp;&lt;br /&gt;
|&lt;br /&gt;
{|{{tabelle}}&lt;br /&gt;
|+ &#039;&#039;&#039;Übergangstabelle&#039;&#039;&#039;&lt;br /&gt;
|-style=&amp;quot;text-align:center; &amp;quot;&lt;br /&gt;
!style=&amp;quot;background:#EAECF0&amp;quot;|Folgezustand &lt;br /&gt;
|style=&amp;quot;background:#FFEBAD&amp;quot; colspan=&amp;quot;4&amp;quot;| Eingangssignale U W&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| aktueller Zustand &lt;br /&gt;
|style=&amp;quot;background:#FFEBAD&amp;quot;| 00 || style=&amp;quot;background:#FFEBAD&amp;quot; |01 ||style=&amp;quot;background:#FFEBAD&amp;quot;| 10 || style=&amp;quot;background:#FFEBAD&amp;quot; | 11&lt;br /&gt;
|-style=&amp;quot;text-align:center; background:#EAECF0&amp;quot; &lt;br /&gt;
| style=&amp;quot; background:#F8F9FA&amp;quot; | 0 &lt;br /&gt;
! 0 ||0 ||1 || 0&lt;br /&gt;
|-style=&amp;quot;text-align:center; background:#EAECF0&amp;quot; &lt;br /&gt;
| style=&amp;quot;background:#F8F9FA&amp;quot; | 1&lt;br /&gt;
! 1 || 0 || 2 || 0&lt;br /&gt;
|-style=&amp;quot;text-align:center; background:#EAECF0&amp;quot; &lt;br /&gt;
|style=&amp;quot;background:#F8F9FA&amp;quot; |2&lt;br /&gt;
! 2 || 1 || 3 || 0&lt;br /&gt;
|-style=&amp;quot;text-align:center; background:#EAECF0&amp;quot; &lt;br /&gt;
|style=&amp;quot;background:#F8F9FA&amp;quot; |3&lt;br /&gt;
! 3 || 2 || 3 || 0&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
Bei umfangreichen Schaltwerken kann an dieser Stelle versucht werden, Zustände zusammenzufassen.&lt;br /&gt;
&lt;br /&gt;
=== 6 ===&lt;br /&gt;
Unter Berücksichtigung der Übergangstabelle wird die Zustandsfolgetabelle aufgebaut. Sie enthält die Eingangssignale, den aktuellen Zustand und den Folgezustand des Schaltwerks.&amp;lt;br /&amp;gt;&lt;br /&gt;
Die Zustände liegen in der Wahrheitstabelle in codierter Form vor, in diesem Beispiel sind sie binär codiert und es genügen zwei Zustandsvariablen, &#039;&#039;A&amp;lt;sup&amp;gt;n&amp;lt;/sup&amp;gt;&#039;&#039;(LSD) und &#039;&#039;B&amp;lt;sup&amp;gt;n&amp;lt;/sup&amp;gt;&#039;&#039;(MSD), da das Schaltwerk 4 Zustände einnehmen kann.&lt;br /&gt;
{|&lt;br /&gt;
| style=&amp;quot;width:10%&amp;quot;|&amp;amp;nbsp;&lt;br /&gt;
|&lt;br /&gt;
{|{{tabelle}} &lt;br /&gt;
|+&#039;&#039;&#039;Zustandsfolgetabelle&#039;&#039;&#039;&lt;br /&gt;
|-style=&amp;quot;background:#EAECF0&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;2&amp;quot;|Eingangssignale||colspan=&amp;quot;2&amp;quot;|aktueller Zustand|| style=&amp;quot;border-left:2px solid&amp;quot; colspan=&amp;quot;2&amp;quot;| Folgezustand||style=&amp;quot;background:#FFFFFF; vertical-align:top&amp;quot; rowspan=&amp;quot;2&amp;quot;|Beschreibung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|U || W || B&amp;lt;sup&amp;gt;n&amp;lt;/sup&amp;gt; || A &amp;lt;sup&amp;gt;n&amp;lt;/sup&amp;gt;||style=&amp;quot;border-left:2px solid&amp;quot;| B&amp;lt;sup&amp;gt;n+1&amp;lt;/sup&amp;gt; || A&amp;lt;sup&amp;gt;n+1&amp;lt;/sup&amp;gt;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 0 || 0 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; Start&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 0 || 0 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 1 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;; nach &amp;quot;links&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 1 || 0 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; nach &amp;quot;rechts&amp;quot; → keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 1 || 0 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 0 || 0 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 1 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;; keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 0 || 0 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;; nach &amp;quot;links&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 1 || 0 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; nach &amp;quot;rechts&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 1 || 0 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; Rücksprung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 0 || 1 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;; keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 0 || 1 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 1 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt;; nach &amp;quot;links&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 1 || 1 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 1 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;; nach &amp;quot;rechts&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 1 || 1 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; Rücksprung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 0 || 1 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 1 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt;; keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 0 || 1 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 1 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt;; nach &amp;quot;links&amp;quot; → keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 1 || 1 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;; nach &amp;quot;rechts&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 1 || 1 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; Rücksprung&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
Aus der Zustandsfolgetabelle werden die Übergangsfunktionen der Zustandsvariablen &#039;&#039;A&amp;lt;sup&amp;gt;n+1&amp;lt;/sup&amp;gt;&#039;&#039; und &#039;&#039;B&amp;lt;sup&amp;gt;n+1&amp;lt;/sup&amp;gt;&#039;&#039; entnommen. Sie sind Ausgangspunkt für die rechnerische Bestimmung der Eingangsschaltnetze  der Zustandsvariablenspeicher.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Alle nachfolgend beschriebenen Schaltwerkversionen besitzen die gleichen Ausgangssignale, die aus den Zustandsvariablen des Momentanzustandes ermittelt werden. Die Ausgangssignale sind ´1´-aktiv und werden durch die &amp;quot;Methode des scharfen Ansehens&amp;quot; aus obiger Tabelle erhalten:&amp;lt;br /&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
| style=&amp;quot;width:70%&amp;quot;|&amp;amp;nbsp;&lt;br /&gt;
|&lt;br /&gt;
{|style=&amp;quot; font-style: italic&amp;quot;&lt;br /&gt;
|Stellung1 || =|| style=&amp;quot;text-decoration:overline&amp;quot;| A || &amp;amp;sdot; ||  style=&amp;quot;text-decoration:overline&amp;quot;| B &lt;br /&gt;
|-style=&amp;quot;font-style: italic&amp;quot;&lt;br /&gt;
|Stellung2 || =||  A || &amp;amp;sdot; || style=&amp;quot;text-decoration:overline&amp;quot;| B &lt;br /&gt;
|-style=&amp;quot;font-style: italic&amp;quot;&lt;br /&gt;
|Stellung3 || =|| style=&amp;quot;text-decoration:overline&amp;quot;| A || &amp;amp;sdot; || B &lt;br /&gt;
|-style=&amp;quot;font-style: italic&amp;quot;&lt;br /&gt;
|Stellung4 || =|| A || &amp;amp;sdot; || B &lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 7 Gatterversion ===&lt;br /&gt;
Die klassische Methode, das Eingangsschaltnetz aufzubauen, besteht darin, logische Schaltkreise entsprechend den Übergangsfunktionen miteinander zu kombinieren.&amp;lt;br /&amp;gt;&lt;br /&gt;
Die Liste enthält verschiedene Aspekte dieser Ausführung:&lt;br /&gt;
* [[Media: Stufenschalter1.pdf|Schaltplan der Gatterversion]]&lt;br /&gt;
* [[Media: FFs1Gleichungen.pdf|Berechnungen zur Gatterversion]]&lt;br /&gt;
* [https://www.youtube.com/watch?v=LuBIOe8P5pU Video - das Schaltwerk in Aktion]&lt;br /&gt;
=== 8 Multiplexer Version ===&lt;br /&gt;
Mit einem Multiplexer, der über &#039;&#039;n&#039;&#039; Steuer(Select)eingänge verfügt, können an seinem Ausgang alle&lt;br /&gt;
Kombinationen von &#039;&#039;(n+1)&#039;&#039;-Bool&#039;schen Variablen dargestellt werden.&amp;lt;br /&amp;gt;&lt;br /&gt;
Die Abbildung demonstriert ein Beispiel: Es liegt ein (4 zu 1)-Multiplexer vor. Dieser ist für 3 Variablen ausreichend, denn &#039;&#039;4=2&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;&#039;&#039;, daher ist &#039;&#039;n=2&#039;&#039; und &#039;&#039;n+1=3&#039;&#039;.&amp;lt;br /&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
| style=&amp;quot;width:10%&amp;quot;|&amp;amp;nbsp;&lt;br /&gt;
|&lt;br /&gt;
{|style=&amp;quot; font-style: italic&amp;quot;&lt;br /&gt;
|f&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt; || =|| A || B || C || + ||style=&amp;quot;text-decoration:overline&amp;quot;| A || B || C || + || A || style=&amp;quot;text-decoration:overline&amp;quot;|B || C || + ||style=&amp;quot;text-decoration:overline&amp;quot;| A ||style=&amp;quot;text-decoration:overline&amp;quot;|B || C || + &lt;br /&gt;
|-style=&amp;quot;font-style: italic&amp;quot;&lt;br /&gt;
| &amp;amp;nbsp; || &amp;amp;nbsp; || A || B ||style=&amp;quot;text-decoration:overline&amp;quot;|C || + ||style=&amp;quot;text-decoration:overline&amp;quot;| A || B ||style=&amp;quot;text-decoration:overline&amp;quot;|C || + || A ||style=&amp;quot;text-decoration:overline&amp;quot;|B ||style=&amp;quot;text-decoration:overline&amp;quot;| C || + ||style=&amp;quot;text-decoration:overline&amp;quot;| A ||style=&amp;quot;text-decoration:overline&amp;quot;|B ||style=&amp;quot;text-decoration:overline&amp;quot;| C  &lt;br /&gt;
|}&lt;br /&gt;
| style=&amp;quot;width:10%&amp;quot;|&amp;amp;nbsp;&lt;br /&gt;
|[[Datei:Multiplexer.png|Multiplexer]]&lt;br /&gt;
|}&lt;br /&gt;
Die nachfolgende Liste stellt diese Version des Schaltwerks vor:&lt;br /&gt;
*[[Media:Stufenschalter2.pdf|Schaltplan der Multiplexer Version]]&lt;br /&gt;
*[[Media:ULPs1Gleichungen.pdf|Berechnungen zur Multiplexer Version]]&lt;br /&gt;
&lt;br /&gt;
=== 9 ROM Version ===&lt;br /&gt;
Neben den bisher beschriebenen Verfahren, Schaltfunktionen in Hardware umzusetzen, gibt es die Möglichkeit, diese in einem (nichtflüchtigen) Speicherelement zu realisieren.&amp;lt;br /&amp;gt;&lt;br /&gt;
Ein Festwertspeicher ordnet jeder Eingangskombination(Adresse) der Variablen ein Ausgangsmuster(Daten), das vorgegeben wird, zu. Die Eingangsmatrix des Festwertspeichers kann als UND-Verknüpfung der Eingangsvariablen, die Ausgangsmatrix als ODER-Verknüpfung des Zellinhalts aufgefasst werden - der Speicher bildet die disjunktive Normalform der Eingangsvariablen, wie die Abbildung zeigt:&lt;br /&gt;
{|&lt;br /&gt;
| style=&amp;quot;width:30%&amp;quot;|&amp;amp;nbsp;&lt;br /&gt;
|&lt;br /&gt;
{|style=&amp;quot; font-style: italic&amp;quot;&lt;br /&gt;
|f&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; || =|| style=&amp;quot;text-decoration:overline&amp;quot;| A || style=&amp;quot;text-decoration:overline&amp;quot;| B || + || A ||style=&amp;quot;text-decoration:overline&amp;quot;| B&lt;br /&gt;
|-style=&amp;quot;font-style: italic&amp;quot;&lt;br /&gt;
|f&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; || =||style=&amp;quot;text-decoration:overline&amp;quot;|  A || B || + || A || B&lt;br /&gt;
|-style=&amp;quot;font-style: italic&amp;quot;&lt;br /&gt;
|f&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; || =|| ?&lt;br /&gt;
|}&lt;br /&gt;
| style=&amp;quot;width:10%&amp;quot;|&amp;amp;nbsp;&lt;br /&gt;
|[[Datei:Rommatrix.png|rahmen]]&lt;br /&gt;
|}&lt;br /&gt;
Bei der Übertragung der Schaltfunktion in einen Festwertspeicher ist im allgemeinen keine Optimierung erforderlich. Ist sie allerdings umgeformt, sollten zwei Dinge berücksichtigt werden:&lt;br /&gt;
# die Funktion muß vollständig sein, ggf muß sie auf ihre Normalform gebracht werden&lt;br /&gt;
# falls Redundanzen vorliegen, dann&lt;br /&gt;
#:sollten diese aufgelöst werden (weiter mit Punkt 1) oder&lt;br /&gt;
#:im Falle eines Schaltwerks einen sicheren Zustand adressieren&amp;lt;br /&amp;gt;&lt;br /&gt;
Um den Inhalt des Speichers, der im Schaltwerk eingesetzt werden soll, zu bestimmen, wird von der schon vorhandenen Zustandsfolgetabelle ausgegangen.Die Tabelle wird um zwei Spalten ergänzt, Adressen und Daten.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Eine Adresse wird gebildet, indem man das zeilenweise Bitmuster der Eingangsvariablen als Binärzahl interpretiert und in der Adressspalte notiert. Das gleiche Verfahren wird auf das Bitmuster des Folgezustands angewendet und das Ergebnis in die Datenspalte eingetragen.&lt;br /&gt;
{|{{tabelle}} &lt;br /&gt;
|+&#039;&#039;&#039;Modifizierte Zustandsfolgetabelle&#039;&#039;&#039;&lt;br /&gt;
|-style=&amp;quot;background:#EAECF0&amp;quot;&lt;br /&gt;
!style=&amp;quot;background:#FFEBAD; vertical-align:top&amp;quot; rowspan=&amp;quot;2&amp;quot;|Adresse || colspan=&amp;quot;2&amp;quot;|Eingangssignale||colspan=&amp;quot;2&amp;quot;|aktueller Zustand|| style=&amp;quot;border-left:2px solid&amp;quot; colspan=&amp;quot;2&amp;quot;| Folgezustand|| style=&amp;quot;background:#FFEBAD; vertical-align:top&amp;quot; rowspan=&amp;quot;2&amp;quot; | Daten ||style=&amp;quot;background:#FFFFFF; vertical-align:top&amp;quot; rowspan=&amp;quot;2&amp;quot;|Beschreibung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|U || W || B&amp;lt;sup&amp;gt;n&amp;lt;/sup&amp;gt; || A &amp;lt;sup&amp;gt;n&amp;lt;/sup&amp;gt;||style=&amp;quot;border-left:2px solid&amp;quot;| B&amp;lt;sup&amp;gt;n+1&amp;lt;/sup&amp;gt; || A&amp;lt;sup&amp;gt;n+1&amp;lt;/sup&amp;gt;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0x00|| 0 || 0 || 0 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || 0x00 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; Start&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x08 || 1 || 0 || 0 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 1 ||0x01 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;; nach &amp;quot;links&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x04|| 0 || 1 || 0 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 ||0x00; || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; nach &amp;quot;rechts&amp;quot; → keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x0c|| 1 || 1 || 0 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 ||0x00 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x01|| 0 || 0 || 0 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 1 ||0x01 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;; keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x09|| 1 || 0 || 0 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 0 ||0x02 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;; nach &amp;quot;links&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x05|| 0 || 1 || 0 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 ||0x00 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; nach &amp;quot;rechts&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x0d|| 1 || 1 || 0 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 ||0x00 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; Rücksprung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x02|| 0 || 0 || 1 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 0 ||0x02 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;; keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x0a|| 1 || 0 || 1 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 1 ||0x03 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt;; nach &amp;quot;links&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x06|| 0 || 1 || 1 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 1 ||0x01 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;; nach &amp;quot;rechts&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x0e|| 1 || 1 || 1 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 ||0x00 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; Rücksprung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x03|| 0 || 0 || 1 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 1 ||0x03 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt;; keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x0b|| 1 || 0 || 1 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 1 ||0x03 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt;; nach &amp;quot;links&amp;quot; → keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x07|| 0 || 1 || 1 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 0 ||0x02 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;; nach &amp;quot;rechts&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x0f|| 1 || 1 || 1 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 ||0x00 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; Rücksprung&lt;br /&gt;
|}&lt;br /&gt;
Aus der Tabelle ergibt sich folgende nach Adresse sortierte Speicherbelegung:&lt;br /&gt;
{|{{tabelle}}&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background:#EAECF0&amp;quot;|&amp;lt;b&amp;gt;Adresse&amp;lt;/b&amp;gt;||0x00||0x01||0x02||0x03||0x04||0x05||0x06||0x07||0x08||0x09||0x0a||0x0b||0x0c||0x0d||0x0e||0x0f&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background:#EAECF0&amp;quot;|&amp;lt;b&amp;gt;Daten&amp;lt;/b&amp;gt;||0x00||0x01||0x02||0x03||0x00||0x00||0x01||0x02||0x01||0x02||0x03||0x03||0x00||0x00||0x00||0x00&lt;br /&gt;
|}&lt;br /&gt;
Der Eingangsvektor ist vollständig, die Datenwortbreite beträgt zwei Bit.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Die Schaltbilder zeigen diese Form des Schaltwerks.&lt;br /&gt;
:[[Media: Stufenschalter3.pdf|Schaltplan der ROM-Version: EPROM als Festwertspeicher]]&lt;br /&gt;
::Eine Variante des Festwertspeichers ist die Diodenmatrix. Sie kann ohne aufwändige Hilfsmittel&lt;br /&gt;
::realisiert werden. &lt;br /&gt;
:[[Media: Stufenschalter4.pdf|Schaltplan der ROM-Version: Diodenmatrix als Festwertspeicher]]&lt;br /&gt;
=== 10 Zwischenbilanz ===&lt;br /&gt;
Anhand des diskutierten Beispiels wurden verschiedene Möglichkeiten der Realisierung eines einfachen Schaltwerks demonstriert.&lt;br /&gt;
*Übergangsfunktion durch allgemeine Logigbausteine dargestellt&lt;br /&gt;
*Übergangsfunktion durch Multiplexer dargestellt&lt;br /&gt;
*Übergangsfunktion durch ROM (in Tabellenform) dargestellt&lt;br /&gt;
Die Anwendung algebraischer und graphischer(tabellarischer) Methoden zur Bestimmung der Schaltungskomponenten ermöglichte die praktische Umsetzung des geplanten Schaltwerks.&lt;br /&gt;
Allerdings, mit zunehmender Breite des Eingangsvektors  steigt der Aufwand zur Ermittlung der Schaltwerkskomponenten stark an, so dass diese Methoden an ihre Grenzen stossen und andere Vorgehensweisen erforderlich sind.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dennoch lohnt es sich, den Einsatz eines einfachen Schaltwerks in Erwägung zu ziehen, wie die nachfolgenden Beispiele zeigen.&lt;br /&gt;
&lt;br /&gt;
== Weitere Beispiele ==&lt;br /&gt;
Der Aufwand beim Entwurf von Schaltwerken kann sehr überschaubar sein. Mit etwas Algebra kommt man schnell zum Ziel und der Text zeigt wie&#039;s geht: [[Media:Verschiedenes.pdf|Vermischtes]]&amp;lt;br /&amp;gt;&lt;br /&gt;
Mittels der folgenden Schaltung soll der hohe Gebrauchswert eines einfachen Schaltwerks gezeigt werden:&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Automatische Messbereichswahl für den DVM-Baustein 7107&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
Das DVM-IC 7107 gehört zu einer Reihe ähnlicher ICs, die in sogenannten Panelmetern (Schalttafelintrumenten)eine außerordentlich weite Verbreitung gefunden haben. Sie arbeiten nach dem Prinzip des Doppel-Flanken-Wandlers. Dieses Wandlungsprinzip ist zwar nicht besonders schnell, jedoch genau und bei geeigneter Komponentenwahl der äußeren Beschaltung sehr  störunempfindlich. Der 7107 ist für den  Betrieb mit Siebensegmentanzeigen (LED) vorgesehen, die ein 3½-stelliges Display bilden. Abhängig von der Referenzspannung beträgt die sicher darstellbare Messspannung maximal 0,1999V oder 1,999V, höhere Eingangsspannungen müssen abgeschwächt werden.&amp;lt;br /&amp;gt;&lt;br /&gt;
Eine automatische Messbereichumschaltung trägt zur Gerätesicherheit bei und steigert den Bedienungskomfort.&amp;lt;br &amp;gt;&lt;br /&gt;
&lt;br /&gt;
In der vorliegenden Schaltung sind drei Messbereiche vorgesehen:&lt;br /&gt;
{|&lt;br /&gt;
| style=&amp;quot;width:35%&amp;quot;|&amp;amp;nbsp;&lt;br /&gt;
|&lt;br /&gt;
{| {{tabelle}} &lt;br /&gt;
|-style=&amp;quot;background:#EAECF0; text-align:center&amp;quot;&lt;br /&gt;
! Messbereich Nr !! Untere Grenze !! Obere Grenze&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 0,000V || 1,999V&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 2 || 2,000V || 19,99V&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 3 || 20,00V || 199,9V&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
Zustandsdiagramm&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Jedem Messbereich ist ein Zustand zugeordnet.&lt;br /&gt;
[[Datei:DVMZustand.png|miniatur|rechts|Zustandsdiagramm]] Bei Erhöhung der angelegten Spannung  wählt die Bereichautomatik kontinuierlich das nächsthöhere Messintervall an. Beim Unterschreiten der jeweiligen Grenze kehrt das Schaltwerk immer in den Grundzustand zurück. Falls dann ein Überlaufsignal vorliegt, wird in den übergeordneten Bereich umgeschaltet. Dieses Verhalten bewirkt, dass der Anzeigebereich bei einer sprunghaften Änderung der Spannung von hohen zu niederen Werten, dh bei großem Änderungsverhältnis,  bestmöglich ausgenutzt wird.&amp;lt;br /&amp;gt;&lt;br /&gt;
Blockschaltbild&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Datei:DVMBlock.png|miniatur|rechts|Blockschaltbild]]&lt;br /&gt;
Das Blockschaltbild zeigt die wesentlichen Funktionsblöcke und die sie verbindenden Signale.&lt;br /&gt;
&lt;br /&gt;
Die Länge eines Messzyklus variiert mit der Höhe der Eingangsspan-nung.  Um Schaltwerk und DVM zu synchronisieren wird das  Taktsignal deshalb aus der Wandler-beschaltung des ICs abgeleitet.  Der Oszillator des 7107, von aussen zugänglich, ist für diesen Zweck  ungeeignet.&lt;br /&gt;
Das Über- und Unterlaufsignal werden aus den Ansteuersignalen der Anzeige generiert, denn das IC selbst stellt diese Signale nicht bereit.&lt;br /&gt;
Der Eingangsabschwächer ist als zweistufiger umschaltbarer (elektronischer) Spannungsteiler ausgebildet, dessen Stellung durch die eingezeichneten Select-Signale festgelegt wird, ihre Benennung soll den zugeordneten Teilerfaktor verdeutlichen.&lt;br /&gt;
Die in den Siebensegmentanzeigen vorhandenen Dezimalpunkte kennzeichnen den gerade aktiven Messbereich, sie werden ebenfalls vom Schaltwerk angesteuert.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Media:AutoDVM7107.pdf|Schaltbild der Bereichautomatik]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Das Foto zeigt die aufgebaute Schaltung.&lt;br /&gt;
[[Datei:DSC01357.jpg|mitte|Die aufgebaute Schaltung]]&lt;/div&gt;</summary>
		<author><name>Aminox86</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Datei:Multiplexer.png&amp;diff=100378</id>
		<title>Datei:Multiplexer.png</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Datei:Multiplexer.png&amp;diff=100378"/>
		<updated>2019-03-03T14:02:55Z</updated>

		<summary type="html">&lt;p&gt;Aminox86: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Multiplexer&lt;/div&gt;</summary>
		<author><name>Aminox86</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Methodischer_Entwurf_einfacher_Schaltwerke&amp;diff=100377</id>
		<title>Methodischer Entwurf einfacher Schaltwerke</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Methodischer_Entwurf_einfacher_Schaltwerke&amp;diff=100377"/>
		<updated>2019-03-02T13:05:00Z</updated>

		<summary type="html">&lt;p&gt;Aminox86: /* Weitere Beispiele */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Dieser Artikel beschreibt die Vorgehensweise, einfache sequentielle Schaltungen in der Praxis umzusetzen.&lt;br /&gt;
&lt;br /&gt;
== Intention ==&lt;br /&gt;
Um eine LED blinken zu lassen, muß nicht unbedingt ein Mikrokontroller bemüht werden, wenn sich dieselbe Funktion auch mit ein paar Gattern und Flipflops realisieren lässt. Dabei soll unter einem &amp;quot;einfachen&amp;quot; Schaltwerk eine digitale Schaltung verstanden werden, deren &amp;quot;Verarbeitungsmöglichkeit&amp;quot; begrenzt ist, die zB &amp;quot;nur&amp;quot; zehn Eingangsvariablen aufnehmen kann oder zB &amp;quot;nur&amp;quot; 32 interne Zustände besitzt. Es soll sich daher um ein Gebilde handeln, das im einfachsten Fall aus digitalen Grundbausteinen besteht.&lt;br /&gt;
&lt;br /&gt;
Anhand eines konkreten Beispiels werden verschiedene Möglichkeiten der Realisierung eines Schaltwerks vorgestellt. Hierbei steht die praktische und systematische Umsetzung des gewählten Schaltwerkaufbaus im Vordergrund.&lt;br /&gt;
== 1 ==&lt;br /&gt;
Die Ausgangssignale eines Schaltwerks bzw dessen Zustand zum Betrachtungszeitpunkt werden nicht nur durch die aktuell anliegenden Eingangssignale sondern auch durch die Historie aller Eingangssignale bis zu diesem Zeitpunkt bestimmt. Diese Vorgeschichte wird in Speicherelementen, zB Flipflops, festgehalten. Ihr Inhalt wird an den Eingang des Schaltwerks zurückgeführt und dort mit den externen Signalen verknüpft, wodurch sich ggf der Zustand des Schaltwerks ändert.&amp;lt;br /&amp;gt;&lt;br /&gt;
Die zeitliche Reihenfolge der Zustände ist vorgeben, sie stellt die Funktionalität des Schaltwerks dar.&amp;lt;br /&amp;gt;&lt;br /&gt;
Diese Zustandsänderungen können sofort nach Wertänderung der Eingangsvariablen erfolgen, es liegt ein Asynchronschaltwerk vor, oder nur zu klar voneinander abgegrenzten  Zeitpunkten, es handelt sich dann um ein Synchronschaltwerk. Dieser Artikel beschäftigt sich mit Synchronschaltwerken, die die Struktur eines Moore-Automaten haben.&lt;br /&gt;
[[Bild:SchaltwerkSchema1.png|rechts|rahmen|Schaltwerk]]&lt;br /&gt;
Es liegt in der Natur des gewählten Themas, dass die hier beschriebenen Schaltwerke vorzugsweise aus handelsüblichen Komponenten (Gattern, Flipflops usw.) aufgebaut werden.&lt;br /&gt;
Das Übertragungsverhalten der FF ist durch ihren Aufbau vorgegeben und kann nicht beeinflußt werden.&amp;lt;br /&amp;gt;&lt;br /&gt;
Daher widmet sich dieser Artikel in erster Linie den Gestaltungsmöglichkeiten des Eingangsschaltnetzes unter Berücksichtigung des FF-Typs, auf die Dimensionierung des Ausgangsschaltnetzes wird bei Bedarf eingegangen.&lt;br /&gt;
&lt;br /&gt;
== 2 ==&lt;br /&gt;
Der Entwurf sollte schrittweise erfolgen. Die unten angeführte Reihenfolge ist bewährt, wobei die angeführten Positionen unterschiedlich umfangreich, abhängig von den Anforderungen, ausgestaltet werden können.&lt;br /&gt;
#Funktionsbeschreibung. Diese kann verbal (schriftlich, Handskizze) erfolgen oder durch zB ein Impulsdiagramm vorgegeben sein.&lt;br /&gt;
#Formale Beschreibung. Die in der Funktionsbeschreibung vorgegebenen Rahmenbedingungen werden in ein Zustandsdiagramm überführt. Hier erfolgt die vollständige Beschreibung des Schaltwerks, indem die Aufeinanderfolge der (festzulegenden) Zustände als Reaktion auf Eingangs- und Zustandsvektor bestimmt wird. Ebenfalls kann an dieser Stelle der Ausgangsvektor formuliert werden.&lt;br /&gt;
#Schaltwerkstabelle. Die Schaltwerkstabelle stellt das Zustandsdiagramm in tabellarischer Form dar. Mit ihrer Hilfe kann eine Zustandsminimierung (Zusammenfassen identischer Zustände) des Schaltwerks durchgeführt werden, die idR zu verringertem Bauteilebedarf führt. Änderungen in der Schaltwerkstabelle wirken auf das Zustandsdiagramm zurück.&lt;br /&gt;
#Zustandscodierung. Die Art der Zustandscodierung, insbesondere bei einfachen Synchronschaltwerken, unterliegt keinen Beschränkungen (im Gegensatz zu Asynchronschaltwerken). Die Codierung muß eindeutig sein und hat evtl Einfluß auf den Bauteileaufwand.&lt;br /&gt;
# Zustandsfolgetabelle. Ausgangspunkt der Zustandsfolgetabelle ist das Zustandsdiagramm. In dieser Tabelle findet das sequentielle Verhalten der Schaltung seinen Ausdruck, denn sie ist deutlich zweigeteilt. Eingangsvariablen &#039;&#039;&#039;und&#039;&#039;&#039; aktuelle Zustände werden üblicherweise auf der linken Seite („vor dem Takt“), Folgezustände und ggf Ausgangsvariablen rechts („nach dem Takt“) notiert.  Aus der Zustandsfolgetabelle können, wenn sie als Wahrheitstabelle interpretiert wird, die Übergangsfunktionen der Zustandsspeicher entnommen werden.&lt;br /&gt;
== 3 ==&lt;br /&gt;
Mechanische Bedienelemente elektrischer Geräte wie Kippschalter, Tastenaggregate, Drehschalter usw sind dankbare Objekte für die Emulation durch ein elektronisches Schaltwerk.&amp;lt;br /&amp;gt;&lt;br /&gt;
Das hier gezeigte Beispiel bildet einen Drehschalter, der auf 4 Schaltstellungen begrenzt ist, nach. &lt;br /&gt;
=== 3 ===&lt;br /&gt;
In der nebenstehenden Abbildung ist dargestellt, wie der mechanische Drehschalter in seine elektronische Entsprechung überführt werden soll. Der linke Teil der Abbildung zeigt die Kontakte K1..K4, [[Datei:StufenschalterSchaltwerk.png|rechts|rahmen]]die anwählbaren Stellungen des Schleifers, sowie den zentralen Anschluss K0. Neben den Kontakten ist ein weiteres Attribut eingetragen, hierbei handelt es sich um die Verknüpfung von Schalterstellung und jeweiligem Zustand des Schaltwerks.&amp;lt;br /&amp;gt;&lt;br /&gt;
Im rechten Teil sind das Schaltwerk und seine äußeren Anschlüsse skizziert. Das Schaltwerk reagiert auf zwei Taster. Sie stehen für die linke und/oder rechte Drehung des Schalter und generieren die Eingangssignale &#039;&#039;U&#039;&#039; und &#039;&#039;W&#039;&#039;. Die 4 Stellungen des Drehschalters werden durch die Ausgangssignale &#039;&#039;Stellung1..Stellung4&#039;&#039; repräsentiert.&amp;lt;br /&amp;gt;&lt;br /&gt;
Das Schaltwerk emuliert ausschließlich die mechanische Bewegung des Drehschalters, die elektrischen Eigenschaften des Schalters müssen von separaten Schaltungsteilen umgesetzt werden.&lt;br /&gt;
&lt;br /&gt;
=== 4 ===&lt;br /&gt;
Das Zustandsdiagramm setzt Eingangssignale und  Zustände des Schaltwerks miteinander in Beziehung. &lt;br /&gt;
[[Datei:Zustandsdiagramm.png|rahmen|rechts]]Das Schaltwerk befindet sich nach dem Einschalten in Z0, der den rechten Anschlag des 	emulierten Schalters bildet, denn das Aktivieren der „Taste rechts“ oder der „Tasten links+rechts“ bewirkt an dieser Stelle keine Zustandsänderung. Durch wiederholtes Betätigen der „Taste links“ gelangt man zu den nächsten Zuständen, bis der linke Anschlag erreicht ist. Die „Taste links“ bewirkt in Z3 keine Zustandsänderung. Mit der „Taste rechts“ kann dieser Zustand verlassen werden. Zwischen den Zuständen kann man sich mit den Tasten beliebig hin und her bewegen. Das gleichzeitige Betätigen beider Tasten „Tasten links+rechts“ versetzt das Schaltwerk aus jedem Zustand heraus in den Anfangszustand Z0, ein Verhalten, das mit einem mechanischen Drehschalter nicht möglich ist. Ist keine Taste aktiv verbleibt das Schaltwerk in seinem aktuellen Zustand.&lt;br /&gt;
=== 5 ===&lt;br /&gt;
Die Übergangstabelle enthält die Information des Zustandsdiagramms in tabellarischer Form. Die Signale &#039;&#039;U&#039;&#039; und &#039;&#039;W&#039;&#039; sind als &#039;1&#039;-aktiv eingetragen.&lt;br /&gt;
{|&lt;br /&gt;
| style=&amp;quot;width:45%&amp;quot;|&amp;amp;nbsp;&lt;br /&gt;
|&lt;br /&gt;
{|{{tabelle}}&lt;br /&gt;
|+ &#039;&#039;&#039;Übergangstabelle&#039;&#039;&#039;&lt;br /&gt;
|-style=&amp;quot;text-align:center; &amp;quot;&lt;br /&gt;
!style=&amp;quot;background:#EAECF0&amp;quot;|Folgezustand &lt;br /&gt;
|style=&amp;quot;background:#FFEBAD&amp;quot; colspan=&amp;quot;4&amp;quot;| Eingangssignale U W&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| aktueller Zustand &lt;br /&gt;
|style=&amp;quot;background:#FFEBAD&amp;quot;| 00 || style=&amp;quot;background:#FFEBAD&amp;quot; |01 ||style=&amp;quot;background:#FFEBAD&amp;quot;| 10 || style=&amp;quot;background:#FFEBAD&amp;quot; | 11&lt;br /&gt;
|-style=&amp;quot;text-align:center; background:#EAECF0&amp;quot; &lt;br /&gt;
| style=&amp;quot; background:#F8F9FA&amp;quot; | 0 &lt;br /&gt;
! 0 ||0 ||1 || 0&lt;br /&gt;
|-style=&amp;quot;text-align:center; background:#EAECF0&amp;quot; &lt;br /&gt;
| style=&amp;quot;background:#F8F9FA&amp;quot; | 1&lt;br /&gt;
! 1 || 0 || 2 || 0&lt;br /&gt;
|-style=&amp;quot;text-align:center; background:#EAECF0&amp;quot; &lt;br /&gt;
|style=&amp;quot;background:#F8F9FA&amp;quot; |2&lt;br /&gt;
! 2 || 1 || 3 || 0&lt;br /&gt;
|-style=&amp;quot;text-align:center; background:#EAECF0&amp;quot; &lt;br /&gt;
|style=&amp;quot;background:#F8F9FA&amp;quot; |3&lt;br /&gt;
! 3 || 2 || 3 || 0&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
Bei umfangreichen Schaltwerken kann an dieser Stelle versucht werden, Zustände zusammenzufassen.&lt;br /&gt;
&lt;br /&gt;
=== 6 ===&lt;br /&gt;
Unter Berücksichtigung der Übergangstabelle wird die Zustandsfolgetabelle aufgebaut. Sie enthält die Eingangssignale, den aktuellen Zustand und den Folgezustand des Schaltwerks.&amp;lt;br /&amp;gt;&lt;br /&gt;
Die Zustände liegen in der Wahrheitstabelle in codierter Form vor, in diesem Beispiel sind sie binär codiert und es genügen zwei Zustandsvariablen, &#039;&#039;A&amp;lt;sup&amp;gt;n&amp;lt;/sup&amp;gt;&#039;&#039;(LSD) und &#039;&#039;B&amp;lt;sup&amp;gt;n&amp;lt;/sup&amp;gt;&#039;&#039;(MSD), da das Schaltwerk 4 Zustände einnehmen kann.&lt;br /&gt;
{|&lt;br /&gt;
| style=&amp;quot;width:10%&amp;quot;|&amp;amp;nbsp;&lt;br /&gt;
|&lt;br /&gt;
{|{{tabelle}} &lt;br /&gt;
|+&#039;&#039;&#039;Zustandsfolgetabelle&#039;&#039;&#039;&lt;br /&gt;
|-style=&amp;quot;background:#EAECF0&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;2&amp;quot;|Eingangssignale||colspan=&amp;quot;2&amp;quot;|aktueller Zustand|| style=&amp;quot;border-left:2px solid&amp;quot; colspan=&amp;quot;2&amp;quot;| Folgezustand||style=&amp;quot;background:#FFFFFF; vertical-align:top&amp;quot; rowspan=&amp;quot;2&amp;quot;|Beschreibung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|U || W || B&amp;lt;sup&amp;gt;n&amp;lt;/sup&amp;gt; || A &amp;lt;sup&amp;gt;n&amp;lt;/sup&amp;gt;||style=&amp;quot;border-left:2px solid&amp;quot;| B&amp;lt;sup&amp;gt;n+1&amp;lt;/sup&amp;gt; || A&amp;lt;sup&amp;gt;n+1&amp;lt;/sup&amp;gt;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 0 || 0 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; Start&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 0 || 0 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 1 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;; nach &amp;quot;links&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 1 || 0 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; nach &amp;quot;rechts&amp;quot; → keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 1 || 0 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 0 || 0 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 1 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;; keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 0 || 0 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;; nach &amp;quot;links&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 1 || 0 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; nach &amp;quot;rechts&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 1 || 0 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; Rücksprung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 0 || 1 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;; keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 0 || 1 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 1 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt;; nach &amp;quot;links&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 1 || 1 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 1 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;; nach &amp;quot;rechts&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 1 || 1 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; Rücksprung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 0 || 1 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 1 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt;; keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 0 || 1 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 1 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt;; nach &amp;quot;links&amp;quot; → keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 1 || 1 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;; nach &amp;quot;rechts&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 1 || 1 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; Rücksprung&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
Aus der Zustandsfolgetabelle werden die Übergangsfunktionen der Zustandsvariablen &#039;&#039;A&amp;lt;sup&amp;gt;n+1&amp;lt;/sup&amp;gt;&#039;&#039; und &#039;&#039;B&amp;lt;sup&amp;gt;n+1&amp;lt;/sup&amp;gt;&#039;&#039; entnommen. Sie sind Ausgangspunkt für die rechnerische Bestimmung der Eingangsschaltnetze  der Zustandsvariablenspeicher.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Alle nachfolgend beschriebenen Schaltwerkversionen besitzen die gleichen Ausgangssignale, die aus den Zustandsvariablen des Momentanzustandes ermittelt werden. Die Ausgangssignale sind ´1´-aktiv und werden durch die &amp;quot;Methode des scharfen Ansehens&amp;quot; aus obiger Tabelle erhalten:&amp;lt;br /&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
| style=&amp;quot;width:70%&amp;quot;|&amp;amp;nbsp;&lt;br /&gt;
|&lt;br /&gt;
{|style=&amp;quot; font-style: italic&amp;quot;&lt;br /&gt;
|Stellung1 || =|| style=&amp;quot;text-decoration:overline&amp;quot;| A || &amp;amp;sdot; ||  style=&amp;quot;text-decoration:overline&amp;quot;| B &lt;br /&gt;
|-style=&amp;quot;font-style: italic&amp;quot;&lt;br /&gt;
|Stellung2 || =||  A || &amp;amp;sdot; || style=&amp;quot;text-decoration:overline&amp;quot;| B &lt;br /&gt;
|-style=&amp;quot;font-style: italic&amp;quot;&lt;br /&gt;
|Stellung3 || =|| style=&amp;quot;text-decoration:overline&amp;quot;| A || &amp;amp;sdot; || B &lt;br /&gt;
|-style=&amp;quot;font-style: italic&amp;quot;&lt;br /&gt;
|Stellung4 || =|| A || &amp;amp;sdot; || B &lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 7 Gatterversion ===&lt;br /&gt;
Die klassische Methode, das Eingangsschaltnetz aufzubauen, besteht darin, logische Schaltkreise entsprechend den Übergangsfunktionen miteinander zu kombinieren.&amp;lt;br /&amp;gt;&lt;br /&gt;
Die Liste enthält verschiedene Aspekte dieser Ausführung:&lt;br /&gt;
* [[Media: Stufenschalter1.pdf|Schaltplan der Gatterversion]]&lt;br /&gt;
* [[Media: FFs1Gleichungen.pdf|Berechnungen zur Gatterversion]]&lt;br /&gt;
* [https://www.youtube.com/watch?v=LuBIOe8P5pU Video - das Schaltwerk in Aktion]&lt;br /&gt;
=== 8 Multiplexer Version ===&lt;br /&gt;
Mit einem Multiplexer, der über &#039;&#039;n&#039;&#039; Steuer(Select)eingänge verfügt, können an seinem Ausgang alle&lt;br /&gt;
Kombinationen von &#039;&#039;(n+1)&#039;&#039;-Bool&#039;schen Variablen dargestellt werden. Beispiel: Es liegt ein (4 zu 1)-Multiplexer vor. Dieser ist für 3 Variablen ausreichend, denn &#039;&#039;4=2&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;&#039;&#039;, daher ist &#039;&#039;n=2&#039;&#039; und &#039;&#039;n+1=3&#039;&#039;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Die nachfolgende Liste stellt diese Version des Schaltwerks vor:&lt;br /&gt;
*[[Media:Stufenschalter2.pdf|Schaltplan]]&lt;br /&gt;
*[[Media:ULPs1Gleichungen.pdf|Berechnungen zur Multiplexer Version]]&lt;br /&gt;
&lt;br /&gt;
=== 9 ROM Version ===&lt;br /&gt;
Neben den bisher beschriebenen Verfahren, Schaltfunktionen in Hardware umzusetzen, gibt es die Möglichkeit, diese in einem (nichtflüchtigen) Speicherelement zu realisieren.&amp;lt;br /&amp;gt;&lt;br /&gt;
Ein Festwertspeicher ordnet jeder Eingangskombination(Adresse) der Variablen ein Ausgangsmuster(Daten), das vorgegeben wird, zu. Die Eingangsmatrix des Festwertspeichers kann als UND-Verknüpfung der Eingangsvariablen, die Ausgangsmatrix als ODER-Verknüpfung des Zellinhalts aufgefasst werden - der Speicher bildet die disjunktive Normalform der Eingangsvariablen, wie die Abbildung zeigt:&lt;br /&gt;
{|&lt;br /&gt;
| style=&amp;quot;width:30%&amp;quot;|&amp;amp;nbsp;&lt;br /&gt;
|&lt;br /&gt;
{|style=&amp;quot; font-style: italic&amp;quot;&lt;br /&gt;
|f&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; || =|| style=&amp;quot;text-decoration:overline&amp;quot;| A || style=&amp;quot;text-decoration:overline&amp;quot;| B || + || A ||style=&amp;quot;text-decoration:overline&amp;quot;| B&lt;br /&gt;
|-style=&amp;quot;font-style: italic&amp;quot;&lt;br /&gt;
|f&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; || =||style=&amp;quot;text-decoration:overline&amp;quot;|  A || B || + || A || B&lt;br /&gt;
|-style=&amp;quot;font-style: italic&amp;quot;&lt;br /&gt;
|f&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; || =|| ?&lt;br /&gt;
|}&lt;br /&gt;
| style=&amp;quot;width:10%&amp;quot;|&amp;amp;nbsp;&lt;br /&gt;
|[[Datei:Rommatrix.png|rahmen]]&lt;br /&gt;
|}&lt;br /&gt;
Bei der Übertragung der Schaltfunktion in einen Festwertspeicher ist im allgemeinen keine Optimierung erforderlich. Ist sie allerdings umgeformt, sollten zwei Dinge berücksichtigt werden:&lt;br /&gt;
# die Funktion muß vollständig sein, ggf muß sie auf ihre Normalform gebracht werden&lt;br /&gt;
# falls Redundanzen vorliegen, dann&lt;br /&gt;
#:sollten diese aufgelöst werden (weiter mit Punkt 1) oder&lt;br /&gt;
#:im Falle eines Schaltwerks einen sicheren Zustand adressieren&amp;lt;br /&amp;gt;&lt;br /&gt;
Um den Inhalt des Speichers, der im Schaltwerk eingesetzt werden soll, zu bestimmen, wird von der schon vorhandenen Zustandsfolgetabelle ausgegangen.Die Tabelle wird um zwei Spalten ergänzt, Adressen und Daten.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Eine Adresse wird gebildet, indem man das zeilenweise Bitmuster der Eingangsvariablen als Binärzahl interpretiert und in der Adressspalte notiert. Das gleiche Verfahren wird auf das Bitmuster des Folgezustands angewendet und das Ergebnis in die Datenspalte eingetragen.&lt;br /&gt;
{|{{tabelle}} &lt;br /&gt;
|+&#039;&#039;&#039;Modifizierte Zustandsfolgetabelle&#039;&#039;&#039;&lt;br /&gt;
|-style=&amp;quot;background:#EAECF0&amp;quot;&lt;br /&gt;
!style=&amp;quot;background:#FFEBAD; vertical-align:top&amp;quot; rowspan=&amp;quot;2&amp;quot;|Adresse || colspan=&amp;quot;2&amp;quot;|Eingangssignale||colspan=&amp;quot;2&amp;quot;|aktueller Zustand|| style=&amp;quot;border-left:2px solid&amp;quot; colspan=&amp;quot;2&amp;quot;| Folgezustand|| style=&amp;quot;background:#FFEBAD; vertical-align:top&amp;quot; rowspan=&amp;quot;2&amp;quot; | Daten ||style=&amp;quot;background:#FFFFFF; vertical-align:top&amp;quot; rowspan=&amp;quot;2&amp;quot;|Beschreibung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|U || W || B&amp;lt;sup&amp;gt;n&amp;lt;/sup&amp;gt; || A &amp;lt;sup&amp;gt;n&amp;lt;/sup&amp;gt;||style=&amp;quot;border-left:2px solid&amp;quot;| B&amp;lt;sup&amp;gt;n+1&amp;lt;/sup&amp;gt; || A&amp;lt;sup&amp;gt;n+1&amp;lt;/sup&amp;gt;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0x00|| 0 || 0 || 0 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || 0x00 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; Start&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x08 || 1 || 0 || 0 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 1 ||0x01 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;; nach &amp;quot;links&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x04|| 0 || 1 || 0 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 ||0x00; || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; nach &amp;quot;rechts&amp;quot; → keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x0c|| 1 || 1 || 0 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 ||0x00 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x01|| 0 || 0 || 0 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 1 ||0x01 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;; keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x09|| 1 || 0 || 0 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 0 ||0x02 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;; nach &amp;quot;links&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x05|| 0 || 1 || 0 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 ||0x00 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; nach &amp;quot;rechts&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x0d|| 1 || 1 || 0 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 ||0x00 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; Rücksprung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x02|| 0 || 0 || 1 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 0 ||0x02 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;; keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x0a|| 1 || 0 || 1 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 1 ||0x03 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt;; nach &amp;quot;links&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x06|| 0 || 1 || 1 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 1 ||0x01 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;; nach &amp;quot;rechts&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x0e|| 1 || 1 || 1 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 ||0x00 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; Rücksprung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x03|| 0 || 0 || 1 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 1 ||0x03 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt;; keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x0b|| 1 || 0 || 1 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 1 ||0x03 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt;; nach &amp;quot;links&amp;quot; → keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x07|| 0 || 1 || 1 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 0 ||0x02 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;; nach &amp;quot;rechts&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x0f|| 1 || 1 || 1 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 ||0x00 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; Rücksprung&lt;br /&gt;
|}&lt;br /&gt;
Aus der Tabelle ergibt sich folgende nach Adresse sortierte Speicherbelegung:&lt;br /&gt;
{|{{tabelle}}&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background:#EAECF0&amp;quot;|&amp;lt;b&amp;gt;Adresse&amp;lt;/b&amp;gt;||0x00||0x01||0x02||0x03||0x04||0x05||0x06||0x07||0x08||0x09||0x0a||0x0b||0x0c||0x0d||0x0e||0x0f&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background:#EAECF0&amp;quot;|&amp;lt;b&amp;gt;Daten&amp;lt;/b&amp;gt;||0x00||0x01||0x02||0x03||0x00||0x00||0x01||0x02||0x01||0x02||0x03||0x03||0x00||0x00||0x00||0x00&lt;br /&gt;
|}&lt;br /&gt;
Der Eingangsvektor ist vollständig, die Datenwortbreite beträgt zwei Bit.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Die Schaltbilder zeigen diese Form des Schaltwerks.&lt;br /&gt;
:[[Media: Stufenschalter3.pdf|Schaltplan der ROM-Version: EPROM als Festwertspeicher]]&lt;br /&gt;
::Eine Variante des Festwertspeichers ist die Diodenmatrix. Sie kann ohne aufwändige Hilfsmittel&lt;br /&gt;
::realisiert werden. &lt;br /&gt;
:[[Media: Stufenschalter4.pdf|Schaltplan der ROM-Version: Diodenmatrix als Festwertspeicher]]&lt;br /&gt;
=== 10 Zwischenbilanz ===&lt;br /&gt;
Anhand des diskutierten Beispiels wurden verschiedene Möglichkeiten der Realisierung eines einfachen Schaltwerks demonstriert.&lt;br /&gt;
*Übergangsfunktion durch allgemeine Logigbausteine dargestellt&lt;br /&gt;
*Übergangsfunktion durch Multiplexer dargestellt&lt;br /&gt;
*Übergangsfunktion durch ROM (in Tabellenform) dargestellt&lt;br /&gt;
Die Anwendung algebraischer und graphischer(tabellarischer) Methoden zur Bestimmung der Schaltungskomponenten ermöglichte die praktische Umsetzung des geplanten Schaltwerks.&lt;br /&gt;
Allerdings, mit zunehmender Breite des Eingangsvektors  steigt der Aufwand zur Ermittlung der Schaltwerkskomponenten stark an, so dass diese Methoden an ihre Grenzen stossen und andere Vorgehensweisen erforderlich sind.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dennoch lohnt es sich, den Einsatz eines einfachen Schaltwerks in Erwägung zu ziehen, wie die nachfolgenden Beispiele zeigen.&lt;br /&gt;
&lt;br /&gt;
== Weitere Beispiele ==&lt;br /&gt;
Der Aufwand beim Entwurf von Schaltwerken kann sehr überschaubar sein. Mit etwas Algebra kommt man schnell zum Ziel und der Text zeigt wie&#039;s geht: [[Media:Verschiedenes.pdf|Vermischtes]]&amp;lt;br /&amp;gt;&lt;br /&gt;
Mittels der folgenden Schaltung soll der hohe Gebrauchswert eines einfachen Schaltwerks gezeigt werden:&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Automatische Messbereichswahl für den DVM-Baustein 7107&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
Das DVM-IC 7107 gehört zu einer Reihe ähnlicher ICs, die in sogenannten Panelmetern (Schalttafelintrumenten)eine außerordentlich weite Verbreitung gefunden haben. Sie arbeiten nach dem Prinzip des Doppel-Flanken-Wandlers. Dieses Wandlungsprinzip ist zwar nicht besonders schnell, jedoch genau und bei geeigneter Komponentenwahl der äußeren Beschaltung sehr  störunempfindlich. Der 7107 ist für den  Betrieb mit Siebensegmentanzeigen (LED) vorgesehen, die ein 3½-stelliges Display bilden. Abhängig von der Referenzspannung beträgt die sicher darstellbare Messspannung maximal 0,1999V oder 1,999V, höhere Eingangsspannungen müssen abgeschwächt werden.&amp;lt;br /&amp;gt;&lt;br /&gt;
Eine automatische Messbereichumschaltung trägt zur Gerätesicherheit bei und steigert den Bedienungskomfort.&amp;lt;br &amp;gt;&lt;br /&gt;
&lt;br /&gt;
In der vorliegenden Schaltung sind drei Messbereiche vorgesehen:&lt;br /&gt;
{|&lt;br /&gt;
| style=&amp;quot;width:35%&amp;quot;|&amp;amp;nbsp;&lt;br /&gt;
|&lt;br /&gt;
{| {{tabelle}} &lt;br /&gt;
|-style=&amp;quot;background:#EAECF0; text-align:center&amp;quot;&lt;br /&gt;
! Messbereich Nr !! Untere Grenze !! Obere Grenze&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 0,000V || 1,999V&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 2 || 2,000V || 19,99V&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 3 || 20,00V || 199,9V&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
Zustandsdiagramm&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Jedem Messbereich ist ein Zustand zugeordnet.&lt;br /&gt;
[[Datei:DVMZustand.png|miniatur|rechts|Zustandsdiagramm]] Bei Erhöhung der angelegten Spannung  wählt die Bereichautomatik kontinuierlich das nächsthöhere Messintervall an. Beim Unterschreiten der jeweiligen Grenze kehrt das Schaltwerk immer in den Grundzustand zurück. Falls dann ein Überlaufsignal vorliegt, wird in den übergeordneten Bereich umgeschaltet. Dieses Verhalten bewirkt, dass der Anzeigebereich bei einer sprunghaften Änderung der Spannung von hohen zu niederen Werten, dh bei großem Änderungsverhältnis,  bestmöglich ausgenutzt wird.&amp;lt;br /&amp;gt;&lt;br /&gt;
Blockschaltbild&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Datei:DVMBlock.png|miniatur|rechts|Blockschaltbild]]&lt;br /&gt;
Das Blockschaltbild zeigt die wesentlichen Funktionsblöcke und die sie verbindenden Signale.&lt;br /&gt;
&lt;br /&gt;
Die Länge eines Messzyklus variiert mit der Höhe der Eingangsspan-nung.  Um Schaltwerk und DVM zu synchronisieren wird das  Taktsignal deshalb aus der Wandler-beschaltung des ICs abgeleitet.  Der Oszillator des 7107, von aussen zugänglich, ist für diesen Zweck  ungeeignet.&lt;br /&gt;
Das Über- und Unterlaufsignal werden aus den Ansteuersignalen der Anzeige generiert, denn das IC selbst stellt diese Signale nicht bereit.&lt;br /&gt;
Der Eingangsabschwächer ist als zweistufiger umschaltbarer (elektronischer) Spannungsteiler ausgebildet, dessen Stellung durch die eingezeichneten Select-Signale festgelegt wird, ihre Benennung soll den zugeordneten Teilerfaktor verdeutlichen.&lt;br /&gt;
Die in den Siebensegmentanzeigen vorhandenen Dezimalpunkte kennzeichnen den gerade aktiven Messbereich, sie werden ebenfalls vom Schaltwerk angesteuert.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Media:AutoDVM7107.pdf|Schaltbild der Bereichautomatik]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Das Foto zeigt die aufgebaute Schaltung.&lt;br /&gt;
[[Datei:DSC01357.jpg|mitte|Die aufgebaute Schaltung]]&lt;/div&gt;</summary>
		<author><name>Aminox86</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Datei:DSC01357.jpg&amp;diff=100376</id>
		<title>Datei:DSC01357.jpg</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Datei:DSC01357.jpg&amp;diff=100376"/>
		<updated>2019-03-02T12:58:49Z</updated>

		<summary type="html">&lt;p&gt;Aminox86: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;DSC01357&lt;/div&gt;</summary>
		<author><name>Aminox86</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Datei:AutoDVM7107.pdf&amp;diff=100375</id>
		<title>Datei:AutoDVM7107.pdf</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Datei:AutoDVM7107.pdf&amp;diff=100375"/>
		<updated>2019-03-02T12:48:01Z</updated>

		<summary type="html">&lt;p&gt;Aminox86: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;AutoDVM7107.pdf&lt;/div&gt;</summary>
		<author><name>Aminox86</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Datei:DVMBlock.png&amp;diff=100374</id>
		<title>Datei:DVMBlock.png</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Datei:DVMBlock.png&amp;diff=100374"/>
		<updated>2019-03-02T12:34:30Z</updated>

		<summary type="html">&lt;p&gt;Aminox86: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;DVMBlock&lt;/div&gt;</summary>
		<author><name>Aminox86</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Datei:DVMZustand.png&amp;diff=100373</id>
		<title>Datei:DVMZustand.png</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Datei:DVMZustand.png&amp;diff=100373"/>
		<updated>2019-03-02T12:26:50Z</updated>

		<summary type="html">&lt;p&gt;Aminox86: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;DVMZustand&lt;/div&gt;</summary>
		<author><name>Aminox86</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Methodischer_Entwurf_einfacher_Schaltwerke&amp;diff=100370</id>
		<title>Methodischer Entwurf einfacher Schaltwerke</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Methodischer_Entwurf_einfacher_Schaltwerke&amp;diff=100370"/>
		<updated>2019-02-28T11:05:36Z</updated>

		<summary type="html">&lt;p&gt;Aminox86: /* Weitere Beispiele */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Dieser Artikel beschreibt die Vorgehensweise, einfache sequentielle Schaltungen in der Praxis umzusetzen.&lt;br /&gt;
&lt;br /&gt;
== Intention ==&lt;br /&gt;
Um eine LED blinken zu lassen, muß nicht unbedingt ein Mikrokontroller bemüht werden, wenn sich dieselbe Funktion auch mit ein paar Gattern und Flipflops realisieren lässt. Dabei soll unter einem &amp;quot;einfachen&amp;quot; Schaltwerk eine digitale Schaltung verstanden werden, deren &amp;quot;Verarbeitungsmöglichkeit&amp;quot; begrenzt ist, die zB &amp;quot;nur&amp;quot; zehn Eingangsvariablen aufnehmen kann oder zB &amp;quot;nur&amp;quot; 32 interne Zustände besitzt. Es soll sich daher um ein Gebilde handeln, das im einfachsten Fall aus digitalen Grundbausteinen besteht.&lt;br /&gt;
&lt;br /&gt;
Anhand eines konkreten Beispiels werden verschiedene Möglichkeiten der Realisierung eines Schaltwerks vorgestellt. Hierbei steht die praktische und systematische Umsetzung des gewählten Schaltwerkaufbaus im Vordergrund.&lt;br /&gt;
== 1 ==&lt;br /&gt;
Die Ausgangssignale eines Schaltwerks bzw dessen Zustand zum Betrachtungszeitpunkt werden nicht nur durch die aktuell anliegenden Eingangssignale sondern auch durch die Historie aller Eingangssignale bis zu diesem Zeitpunkt bestimmt. Diese Vorgeschichte wird in Speicherelementen, zB Flipflops, festgehalten. Ihr Inhalt wird an den Eingang des Schaltwerks zurückgeführt und dort mit den externen Signalen verknüpft, wodurch sich ggf der Zustand des Schaltwerks ändert.&amp;lt;br /&amp;gt;&lt;br /&gt;
Die zeitliche Reihenfolge der Zustände ist vorgeben, sie stellt die Funktionalität des Schaltwerks dar.&amp;lt;br /&amp;gt;&lt;br /&gt;
Diese Zustandsänderungen können sofort nach Wertänderung der Eingangsvariablen erfolgen, es liegt ein Asynchronschaltwerk vor, oder nur zu klar voneinander abgegrenzten  Zeitpunkten, es handelt sich dann um ein Synchronschaltwerk. Dieser Artikel beschäftigt sich mit Synchronschaltwerken, die die Struktur eines Moore-Automaten haben.&lt;br /&gt;
[[Bild:SchaltwerkSchema1.png|rechts|rahmen|Schaltwerk]]&lt;br /&gt;
Es liegt in der Natur des gewählten Themas, dass die hier beschriebenen Schaltwerke vorzugsweise aus handelsüblichen Komponenten (Gattern, Flipflops usw.) aufgebaut werden.&lt;br /&gt;
Das Übertragungsverhalten der FF ist durch ihren Aufbau vorgegeben und kann nicht beeinflußt werden.&amp;lt;br /&amp;gt;&lt;br /&gt;
Daher widmet sich dieser Artikel in erster Linie den Gestaltungsmöglichkeiten des Eingangsschaltnetzes unter Berücksichtigung des FF-Typs, auf die Dimensionierung des Ausgangsschaltnetzes wird bei Bedarf eingegangen.&lt;br /&gt;
&lt;br /&gt;
== 2 ==&lt;br /&gt;
Der Entwurf sollte schrittweise erfolgen. Die unten angeführte Reihenfolge ist bewährt, wobei die angeführten Positionen unterschiedlich umfangreich, abhängig von den Anforderungen, ausgestaltet werden können.&lt;br /&gt;
#Funktionsbeschreibung. Diese kann verbal (schriftlich, Handskizze) erfolgen oder durch zB ein Impulsdiagramm vorgegeben sein.&lt;br /&gt;
#Formale Beschreibung. Die in der Funktionsbeschreibung vorgegebenen Rahmenbedingungen werden in ein Zustandsdiagramm überführt. Hier erfolgt die vollständige Beschreibung des Schaltwerks, indem die Aufeinanderfolge der (festzulegenden) Zustände als Reaktion auf Eingangs- und Zustandsvektor bestimmt wird. Ebenfalls kann an dieser Stelle der Ausgangsvektor formuliert werden.&lt;br /&gt;
#Schaltwerkstabelle. Die Schaltwerkstabelle stellt das Zustandsdiagramm in tabellarischer Form dar. Mit ihrer Hilfe kann eine Zustandsminimierung (Zusammenfassen identischer Zustände) des Schaltwerks durchgeführt werden, die idR zu verringertem Bauteilebedarf führt. Änderungen in der Schaltwerkstabelle wirken auf das Zustandsdiagramm zurück.&lt;br /&gt;
#Zustandscodierung. Die Art der Zustandscodierung, insbesondere bei einfachen Synchronschaltwerken, unterliegt keinen Beschränkungen (im Gegensatz zu Asynchronschaltwerken). Die Codierung muß eindeutig sein und hat evtl Einfluß auf den Bauteileaufwand.&lt;br /&gt;
# Zustandsfolgetabelle. Ausgangspunkt der Zustandsfolgetabelle ist das Zustandsdiagramm. In dieser Tabelle findet das sequentielle Verhalten der Schaltung seinen Ausdruck, denn sie ist deutlich zweigeteilt. Eingangsvariablen &#039;&#039;&#039;und&#039;&#039;&#039; aktuelle Zustände werden üblicherweise auf der linken Seite („vor dem Takt“), Folgezustände und ggf Ausgangsvariablen rechts („nach dem Takt“) notiert.  Aus der Zustandsfolgetabelle können, wenn sie als Wahrheitstabelle interpretiert wird, die Übergangsfunktionen der Zustandsspeicher entnommen werden.&lt;br /&gt;
== 3 ==&lt;br /&gt;
Mechanische Bedienelemente elektrischer Geräte wie Kippschalter, Tastenaggregate, Drehschalter usw sind dankbare Objekte für die Emulation durch ein elektronisches Schaltwerk.&amp;lt;br /&amp;gt;&lt;br /&gt;
Das hier gezeigte Beispiel bildet einen Drehschalter, der auf 4 Schaltstellungen begrenzt ist, nach. &lt;br /&gt;
=== 3 ===&lt;br /&gt;
In der nebenstehenden Abbildung ist dargestellt, wie der mechanische Drehschalter in seine elektronische Entsprechung überführt werden soll. Der linke Teil der Abbildung zeigt die Kontakte K1..K4, [[Datei:StufenschalterSchaltwerk.png|rechts|rahmen]]die anwählbaren Stellungen des Schleifers, sowie den zentralen Anschluss K0. Neben den Kontakten ist ein weiteres Attribut eingetragen, hierbei handelt es sich um die Verknüpfung von Schalterstellung und jeweiligem Zustand des Schaltwerks.&amp;lt;br /&amp;gt;&lt;br /&gt;
Im rechten Teil sind das Schaltwerk und seine äußeren Anschlüsse skizziert. Das Schaltwerk reagiert auf zwei Taster. Sie stehen für die linke und/oder rechte Drehung des Schalter und generieren die Eingangssignale &#039;&#039;U&#039;&#039; und &#039;&#039;W&#039;&#039;. Die 4 Stellungen des Drehschalters werden durch die Ausgangssignale &#039;&#039;Stellung1..Stellung4&#039;&#039; repräsentiert.&amp;lt;br /&amp;gt;&lt;br /&gt;
Das Schaltwerk emuliert ausschließlich die mechanische Bewegung des Drehschalters, die elektrischen Eigenschaften des Schalters müssen von separaten Schaltungsteilen umgesetzt werden.&lt;br /&gt;
&lt;br /&gt;
=== 4 ===&lt;br /&gt;
Das Zustandsdiagramm setzt Eingangssignale und  Zustände des Schaltwerks miteinander in Beziehung. &lt;br /&gt;
[[Datei:Zustandsdiagramm.png|rahmen|rechts]]Das Schaltwerk befindet sich nach dem Einschalten in Z0, der den rechten Anschlag des 	emulierten Schalters bildet, denn das Aktivieren der „Taste rechts“ oder der „Tasten links+rechts“ bewirkt an dieser Stelle keine Zustandsänderung. Durch wiederholtes Betätigen der „Taste links“ gelangt man zu den nächsten Zuständen, bis der linke Anschlag erreicht ist. Die „Taste links“ bewirkt in Z3 keine Zustandsänderung. Mit der „Taste rechts“ kann dieser Zustand verlassen werden. Zwischen den Zuständen kann man sich mit den Tasten beliebig hin und her bewegen. Das gleichzeitige Betätigen beider Tasten „Tasten links+rechts“ versetzt das Schaltwerk aus jedem Zustand heraus in den Anfangszustand Z0, ein Verhalten, das mit einem mechanischen Drehschalter nicht möglich ist. Ist keine Taste aktiv verbleibt das Schaltwerk in seinem aktuellen Zustand.&lt;br /&gt;
=== 5 ===&lt;br /&gt;
Die Übergangstabelle enthält die Information des Zustandsdiagramms in tabellarischer Form. Die Signale &#039;&#039;U&#039;&#039; und &#039;&#039;W&#039;&#039; sind als &#039;1&#039;-aktiv eingetragen.&lt;br /&gt;
{|&lt;br /&gt;
| style=&amp;quot;width:45%&amp;quot;|&amp;amp;nbsp;&lt;br /&gt;
|&lt;br /&gt;
{|{{tabelle}}&lt;br /&gt;
|+ &#039;&#039;&#039;Übergangstabelle&#039;&#039;&#039;&lt;br /&gt;
|-style=&amp;quot;text-align:center; &amp;quot;&lt;br /&gt;
!style=&amp;quot;background:#EAECF0&amp;quot;|Folgezustand &lt;br /&gt;
|style=&amp;quot;background:#FFEBAD&amp;quot; colspan=&amp;quot;4&amp;quot;| Eingangssignale U W&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| aktueller Zustand &lt;br /&gt;
|style=&amp;quot;background:#FFEBAD&amp;quot;| 00 || style=&amp;quot;background:#FFEBAD&amp;quot; |01 ||style=&amp;quot;background:#FFEBAD&amp;quot;| 10 || style=&amp;quot;background:#FFEBAD&amp;quot; | 11&lt;br /&gt;
|-style=&amp;quot;text-align:center; background:#EAECF0&amp;quot; &lt;br /&gt;
| style=&amp;quot; background:#F8F9FA&amp;quot; | 0 &lt;br /&gt;
! 0 ||0 ||1 || 0&lt;br /&gt;
|-style=&amp;quot;text-align:center; background:#EAECF0&amp;quot; &lt;br /&gt;
| style=&amp;quot;background:#F8F9FA&amp;quot; | 1&lt;br /&gt;
! 1 || 0 || 2 || 0&lt;br /&gt;
|-style=&amp;quot;text-align:center; background:#EAECF0&amp;quot; &lt;br /&gt;
|style=&amp;quot;background:#F8F9FA&amp;quot; |2&lt;br /&gt;
! 2 || 1 || 3 || 0&lt;br /&gt;
|-style=&amp;quot;text-align:center; background:#EAECF0&amp;quot; &lt;br /&gt;
|style=&amp;quot;background:#F8F9FA&amp;quot; |3&lt;br /&gt;
! 3 || 2 || 3 || 0&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
Bei umfangreichen Schaltwerken kann an dieser Stelle versucht werden, Zustände zusammenzufassen.&lt;br /&gt;
&lt;br /&gt;
=== 6 ===&lt;br /&gt;
Unter Berücksichtigung der Übergangstabelle wird die Zustandsfolgetabelle aufgebaut. Sie enthält die Eingangssignale, den aktuellen Zustand und den Folgezustand des Schaltwerks.&amp;lt;br /&amp;gt;&lt;br /&gt;
Die Zustände liegen in der Wahrheitstabelle in codierter Form vor, in diesem Beispiel sind sie binär codiert und es genügen zwei Zustandsvariablen, &#039;&#039;A&amp;lt;sup&amp;gt;n&amp;lt;/sup&amp;gt;&#039;&#039;(LSD) und &#039;&#039;B&amp;lt;sup&amp;gt;n&amp;lt;/sup&amp;gt;&#039;&#039;(MSD), da das Schaltwerk 4 Zustände einnehmen kann.&lt;br /&gt;
{|&lt;br /&gt;
| style=&amp;quot;width:10%&amp;quot;|&amp;amp;nbsp;&lt;br /&gt;
|&lt;br /&gt;
{|{{tabelle}} &lt;br /&gt;
|+&#039;&#039;&#039;Zustandsfolgetabelle&#039;&#039;&#039;&lt;br /&gt;
|-style=&amp;quot;background:#EAECF0&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;2&amp;quot;|Eingangssignale||colspan=&amp;quot;2&amp;quot;|aktueller Zustand|| style=&amp;quot;border-left:2px solid&amp;quot; colspan=&amp;quot;2&amp;quot;| Folgezustand||style=&amp;quot;background:#FFFFFF; vertical-align:top&amp;quot; rowspan=&amp;quot;2&amp;quot;|Beschreibung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|U || W || B&amp;lt;sup&amp;gt;n&amp;lt;/sup&amp;gt; || A &amp;lt;sup&amp;gt;n&amp;lt;/sup&amp;gt;||style=&amp;quot;border-left:2px solid&amp;quot;| B&amp;lt;sup&amp;gt;n+1&amp;lt;/sup&amp;gt; || A&amp;lt;sup&amp;gt;n+1&amp;lt;/sup&amp;gt;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 0 || 0 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; Start&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 0 || 0 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 1 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;; nach &amp;quot;links&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 1 || 0 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; nach &amp;quot;rechts&amp;quot; → keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 1 || 0 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 0 || 0 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 1 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;; keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 0 || 0 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;; nach &amp;quot;links&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 1 || 0 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; nach &amp;quot;rechts&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 1 || 0 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; Rücksprung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 0 || 1 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;; keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 0 || 1 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 1 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt;; nach &amp;quot;links&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 1 || 1 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 1 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;; nach &amp;quot;rechts&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 1 || 1 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; Rücksprung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 0 || 1 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 1 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt;; keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 0 || 1 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 1 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt;; nach &amp;quot;links&amp;quot; → keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 1 || 1 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;; nach &amp;quot;rechts&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 1 || 1 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; Rücksprung&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
Aus der Zustandsfolgetabelle werden die Übergangsfunktionen der Zustandsvariablen &#039;&#039;A&amp;lt;sup&amp;gt;n+1&amp;lt;/sup&amp;gt;&#039;&#039; und &#039;&#039;B&amp;lt;sup&amp;gt;n+1&amp;lt;/sup&amp;gt;&#039;&#039; entnommen. Sie sind Ausgangspunkt für die rechnerische Bestimmung der Eingangsschaltnetze  der Zustandsvariablenspeicher.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Alle nachfolgend beschriebenen Schaltwerkversionen besitzen die gleichen Ausgangssignale, die aus den Zustandsvariablen des Momentanzustandes ermittelt werden. Die Ausgangssignale sind ´1´-aktiv und werden durch die &amp;quot;Methode des scharfen Ansehens&amp;quot; aus obiger Tabelle erhalten:&amp;lt;br /&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
| style=&amp;quot;width:70%&amp;quot;|&amp;amp;nbsp;&lt;br /&gt;
|&lt;br /&gt;
{|style=&amp;quot; font-style: italic&amp;quot;&lt;br /&gt;
|Stellung1 || =|| style=&amp;quot;text-decoration:overline&amp;quot;| A || &amp;amp;sdot; ||  style=&amp;quot;text-decoration:overline&amp;quot;| B &lt;br /&gt;
|-style=&amp;quot;font-style: italic&amp;quot;&lt;br /&gt;
|Stellung2 || =||  A || &amp;amp;sdot; || style=&amp;quot;text-decoration:overline&amp;quot;| B &lt;br /&gt;
|-style=&amp;quot;font-style: italic&amp;quot;&lt;br /&gt;
|Stellung3 || =|| style=&amp;quot;text-decoration:overline&amp;quot;| A || &amp;amp;sdot; || B &lt;br /&gt;
|-style=&amp;quot;font-style: italic&amp;quot;&lt;br /&gt;
|Stellung4 || =|| A || &amp;amp;sdot; || B &lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 7 Gatterversion ===&lt;br /&gt;
Die klassische Methode, das Eingangsschaltnetz aufzubauen, besteht darin, logische Schaltkreise entsprechend den Übergangsfunktionen miteinander zu kombinieren.&amp;lt;br /&amp;gt;&lt;br /&gt;
Die Liste enthält verschiedene Aspekte dieser Ausführung:&lt;br /&gt;
* [[Media: Stufenschalter1.pdf|Schaltplan der Gatterversion]]&lt;br /&gt;
* [[Media: FFs1Gleichungen.pdf|Berechnungen zur Gatterversion]]&lt;br /&gt;
* [https://www.youtube.com/watch?v=LuBIOe8P5pU Video - das Schaltwerk in Aktion]&lt;br /&gt;
=== 8 Multiplexer Version ===&lt;br /&gt;
Mit einem Multiplexer, der über &#039;&#039;n&#039;&#039; Steuer(Select)eingänge verfügt, können an seinem Ausgang alle&lt;br /&gt;
Kombinationen von &#039;&#039;(n+1)&#039;&#039;-Bool&#039;schen Variablen dargestellt werden. Beispiel: Es liegt ein (4 zu 1)-Multiplexer vor. Dieser ist für 3 Variablen ausreichend, denn &#039;&#039;4=2&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;&#039;&#039;, daher ist &#039;&#039;n=2&#039;&#039; und &#039;&#039;n+1=3&#039;&#039;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Die nachfolgende Liste stellt diese Version des Schaltwerks vor:&lt;br /&gt;
*[[Media:Stufenschalter2.pdf|Schaltplan]]&lt;br /&gt;
*[[Media:ULPs1Gleichungen.pdf|Berechnungen zur Multiplexer Version]]&lt;br /&gt;
&lt;br /&gt;
=== 9 ROM Version ===&lt;br /&gt;
Neben den bisher beschriebenen Verfahren, Schaltfunktionen in Hardware umzusetzen, gibt es die Möglichkeit, diese in einem (nichtflüchtigen) Speicherelement zu realisieren.&amp;lt;br /&amp;gt;&lt;br /&gt;
Ein Festwertspeicher ordnet jeder Eingangskombination(Adresse) der Variablen ein Ausgangsmuster(Daten), das vorgegeben wird, zu. Die Eingangsmatrix des Festwertspeichers kann als UND-Verknüpfung der Eingangsvariablen, die Ausgangsmatrix als ODER-Verknüpfung des Zellinhalts aufgefasst werden - der Speicher bildet die disjunktive Normalform der Eingangsvariablen, wie die Abbildung zeigt:&lt;br /&gt;
{|&lt;br /&gt;
| style=&amp;quot;width:30%&amp;quot;|&amp;amp;nbsp;&lt;br /&gt;
|&lt;br /&gt;
{|style=&amp;quot; font-style: italic&amp;quot;&lt;br /&gt;
|f&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; || =|| style=&amp;quot;text-decoration:overline&amp;quot;| A || style=&amp;quot;text-decoration:overline&amp;quot;| B || + || A ||style=&amp;quot;text-decoration:overline&amp;quot;| B&lt;br /&gt;
|-style=&amp;quot;font-style: italic&amp;quot;&lt;br /&gt;
|f&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; || =||style=&amp;quot;text-decoration:overline&amp;quot;|  A || B || + || A || B&lt;br /&gt;
|-style=&amp;quot;font-style: italic&amp;quot;&lt;br /&gt;
|f&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; || =|| ?&lt;br /&gt;
|}&lt;br /&gt;
| style=&amp;quot;width:10%&amp;quot;|&amp;amp;nbsp;&lt;br /&gt;
|[[Datei:Rommatrix.png|rahmen]]&lt;br /&gt;
|}&lt;br /&gt;
Bei der Übertragung der Schaltfunktion in einen Festwertspeicher ist im allgemeinen keine Optimierung erforderlich. Ist sie allerdings umgeformt, sollten zwei Dinge berücksichtigt werden:&lt;br /&gt;
# die Funktion muß vollständig sein, ggf muß sie auf ihre Normalform gebracht werden&lt;br /&gt;
# falls Redundanzen vorliegen, dann&lt;br /&gt;
#:sollten diese aufgelöst werden (weiter mit Punkt 1) oder&lt;br /&gt;
#:im Falle eines Schaltwerks einen sicheren Zustand adressieren&amp;lt;br /&amp;gt;&lt;br /&gt;
Um den Inhalt des Speichers, der im Schaltwerk eingesetzt werden soll, zu bestimmen, wird von der schon vorhandenen Zustandsfolgetabelle ausgegangen.Die Tabelle wird um zwei Spalten ergänzt, Adressen und Daten.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Eine Adresse wird gebildet, indem man das zeilenweise Bitmuster der Eingangsvariablen als Binärzahl interpretiert und in der Adressspalte notiert. Das gleiche Verfahren wird auf das Bitmuster des Folgezustands angewendet und das Ergebnis in die Datenspalte eingetragen.&lt;br /&gt;
{|{{tabelle}} &lt;br /&gt;
|+&#039;&#039;&#039;Modifizierte Zustandsfolgetabelle&#039;&#039;&#039;&lt;br /&gt;
|-style=&amp;quot;background:#EAECF0&amp;quot;&lt;br /&gt;
!style=&amp;quot;background:#FFEBAD; vertical-align:top&amp;quot; rowspan=&amp;quot;2&amp;quot;|Adresse || colspan=&amp;quot;2&amp;quot;|Eingangssignale||colspan=&amp;quot;2&amp;quot;|aktueller Zustand|| style=&amp;quot;border-left:2px solid&amp;quot; colspan=&amp;quot;2&amp;quot;| Folgezustand|| style=&amp;quot;background:#FFEBAD; vertical-align:top&amp;quot; rowspan=&amp;quot;2&amp;quot; | Daten ||style=&amp;quot;background:#FFFFFF; vertical-align:top&amp;quot; rowspan=&amp;quot;2&amp;quot;|Beschreibung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|U || W || B&amp;lt;sup&amp;gt;n&amp;lt;/sup&amp;gt; || A &amp;lt;sup&amp;gt;n&amp;lt;/sup&amp;gt;||style=&amp;quot;border-left:2px solid&amp;quot;| B&amp;lt;sup&amp;gt;n+1&amp;lt;/sup&amp;gt; || A&amp;lt;sup&amp;gt;n+1&amp;lt;/sup&amp;gt;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0x00|| 0 || 0 || 0 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || 0x00 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; Start&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x08 || 1 || 0 || 0 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 1 ||0x01 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;; nach &amp;quot;links&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x04|| 0 || 1 || 0 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 ||0x00; || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; nach &amp;quot;rechts&amp;quot; → keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x0c|| 1 || 1 || 0 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 ||0x00 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x01|| 0 || 0 || 0 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 1 ||0x01 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;; keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x09|| 1 || 0 || 0 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 0 ||0x02 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;; nach &amp;quot;links&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x05|| 0 || 1 || 0 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 ||0x00 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; nach &amp;quot;rechts&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x0d|| 1 || 1 || 0 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 ||0x00 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; Rücksprung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x02|| 0 || 0 || 1 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 0 ||0x02 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;; keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x0a|| 1 || 0 || 1 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 1 ||0x03 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt;; nach &amp;quot;links&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x06|| 0 || 1 || 1 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 1 ||0x01 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;; nach &amp;quot;rechts&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x0e|| 1 || 1 || 1 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 ||0x00 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; Rücksprung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x03|| 0 || 0 || 1 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 1 ||0x03 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt;; keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x0b|| 1 || 0 || 1 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 1 ||0x03 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt;; nach &amp;quot;links&amp;quot; → keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x07|| 0 || 1 || 1 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 0 ||0x02 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;; nach &amp;quot;rechts&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x0f|| 1 || 1 || 1 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 ||0x00 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; Rücksprung&lt;br /&gt;
|}&lt;br /&gt;
Aus der Tabelle ergibt sich folgende nach Adresse sortierte Speicherbelegung:&lt;br /&gt;
{|{{tabelle}}&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background:#EAECF0&amp;quot;|&amp;lt;b&amp;gt;Adresse&amp;lt;/b&amp;gt;||0x00||0x01||0x02||0x03||0x04||0x05||0x06||0x07||0x08||0x09||0x0a||0x0b||0x0c||0x0d||0x0e||0x0f&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background:#EAECF0&amp;quot;|&amp;lt;b&amp;gt;Daten&amp;lt;/b&amp;gt;||0x00||0x01||0x02||0x03||0x00||0x00||0x01||0x02||0x01||0x02||0x03||0x03||0x00||0x00||0x00||0x00&lt;br /&gt;
|}&lt;br /&gt;
Der Eingangsvektor ist vollständig, die Datenwortbreite beträgt zwei Bit.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Die Schaltbilder zeigen diese Form des Schaltwerks.&lt;br /&gt;
:[[Media: Stufenschalter3.pdf|Schaltplan der ROM-Version: EPROM als Festwertspeicher]]&lt;br /&gt;
::Eine Variante des Festwertspeichers ist die Diodenmatrix. Sie kann ohne aufwändige Hilfsmittel&lt;br /&gt;
::realisiert werden. &lt;br /&gt;
:[[Media: Stufenschalter4.pdf|Schaltplan der ROM-Version: Diodenmatrix als Festwertspeicher]]&lt;br /&gt;
=== 10 Zwischenbilanz ===&lt;br /&gt;
Anhand des diskutierten Beispiels wurden verschiedene Möglichkeiten der Realisierung eines einfachen Schaltwerks demonstriert.&lt;br /&gt;
*Übergangsfunktion durch allgemeine Logigbausteine dargestellt&lt;br /&gt;
*Übergangsfunktion durch Multiplexer dargestellt&lt;br /&gt;
*Übergangsfunktion durch ROM (in Tabellenform) dargestellt&lt;br /&gt;
Die Anwendung algebraischer und graphischer(tabellarischer) Methoden zur Bestimmung der Schaltungskomponenten ermöglichte die praktische Umsetzung des geplanten Schaltwerks.&lt;br /&gt;
Allerdings, mit zunehmender Breite des Eingangsvektors  steigt der Aufwand zur Ermittlung der Schaltwerkskomponenten stark an, so dass diese Methoden an ihre Grenzen stossen und andere Vorgehensweisen erforderlich sind.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dennoch lohnt es sich, den Einsatz eines einfachen Schaltwerks in Erwägung zu ziehen, wie die nachfolgenden Beispiele zeigen.&lt;br /&gt;
&lt;br /&gt;
== Weitere Beispiele ==&lt;br /&gt;
Der Aufwand beim Entwurf von Schaltwerken kann sehr überschaubar sein. Mit etwas Algebra kommt man schnell zum Ziel und der Text zeigt wie&#039;s geht: [[Media:Verschiedenes.pdf|Vermischtes]]&amp;lt;br /&amp;gt;&lt;br /&gt;
Mittels der folgenden Schaltung soll der hohe Gebrauchswert eines einfachen Schaltwerks gezeigt werden:&lt;br /&gt;
:Automatische Messbereichswahl für den DVM-Baustein 7107&lt;/div&gt;</summary>
		<author><name>Aminox86</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Datei:Verschiedenes.pdf&amp;diff=100369</id>
		<title>Datei:Verschiedenes.pdf</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Datei:Verschiedenes.pdf&amp;diff=100369"/>
		<updated>2019-02-28T10:45:34Z</updated>

		<summary type="html">&lt;p&gt;Aminox86: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt; Verschiedenes&lt;/div&gt;</summary>
		<author><name>Aminox86</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Methodischer_Entwurf_einfacher_Schaltwerke&amp;diff=100368</id>
		<title>Methodischer Entwurf einfacher Schaltwerke</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Methodischer_Entwurf_einfacher_Schaltwerke&amp;diff=100368"/>
		<updated>2019-02-28T10:27:23Z</updated>

		<summary type="html">&lt;p&gt;Aminox86: /* 10 Zwischenbilanz */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Dieser Artikel beschreibt die Vorgehensweise, einfache sequentielle Schaltungen in der Praxis umzusetzen.&lt;br /&gt;
&lt;br /&gt;
== Intention ==&lt;br /&gt;
Um eine LED blinken zu lassen, muß nicht unbedingt ein Mikrokontroller bemüht werden, wenn sich dieselbe Funktion auch mit ein paar Gattern und Flipflops realisieren lässt. Dabei soll unter einem &amp;quot;einfachen&amp;quot; Schaltwerk eine digitale Schaltung verstanden werden, deren &amp;quot;Verarbeitungsmöglichkeit&amp;quot; begrenzt ist, die zB &amp;quot;nur&amp;quot; zehn Eingangsvariablen aufnehmen kann oder zB &amp;quot;nur&amp;quot; 32 interne Zustände besitzt. Es soll sich daher um ein Gebilde handeln, das im einfachsten Fall aus digitalen Grundbausteinen besteht.&lt;br /&gt;
&lt;br /&gt;
Anhand eines konkreten Beispiels werden verschiedene Möglichkeiten der Realisierung eines Schaltwerks vorgestellt. Hierbei steht die praktische und systematische Umsetzung des gewählten Schaltwerkaufbaus im Vordergrund.&lt;br /&gt;
== 1 ==&lt;br /&gt;
Die Ausgangssignale eines Schaltwerks bzw dessen Zustand zum Betrachtungszeitpunkt werden nicht nur durch die aktuell anliegenden Eingangssignale sondern auch durch die Historie aller Eingangssignale bis zu diesem Zeitpunkt bestimmt. Diese Vorgeschichte wird in Speicherelementen, zB Flipflops, festgehalten. Ihr Inhalt wird an den Eingang des Schaltwerks zurückgeführt und dort mit den externen Signalen verknüpft, wodurch sich ggf der Zustand des Schaltwerks ändert.&amp;lt;br /&amp;gt;&lt;br /&gt;
Die zeitliche Reihenfolge der Zustände ist vorgeben, sie stellt die Funktionalität des Schaltwerks dar.&amp;lt;br /&amp;gt;&lt;br /&gt;
Diese Zustandsänderungen können sofort nach Wertänderung der Eingangsvariablen erfolgen, es liegt ein Asynchronschaltwerk vor, oder nur zu klar voneinander abgegrenzten  Zeitpunkten, es handelt sich dann um ein Synchronschaltwerk. Dieser Artikel beschäftigt sich mit Synchronschaltwerken, die die Struktur eines Moore-Automaten haben.&lt;br /&gt;
[[Bild:SchaltwerkSchema1.png|rechts|rahmen|Schaltwerk]]&lt;br /&gt;
Es liegt in der Natur des gewählten Themas, dass die hier beschriebenen Schaltwerke vorzugsweise aus handelsüblichen Komponenten (Gattern, Flipflops usw.) aufgebaut werden.&lt;br /&gt;
Das Übertragungsverhalten der FF ist durch ihren Aufbau vorgegeben und kann nicht beeinflußt werden.&amp;lt;br /&amp;gt;&lt;br /&gt;
Daher widmet sich dieser Artikel in erster Linie den Gestaltungsmöglichkeiten des Eingangsschaltnetzes unter Berücksichtigung des FF-Typs, auf die Dimensionierung des Ausgangsschaltnetzes wird bei Bedarf eingegangen.&lt;br /&gt;
&lt;br /&gt;
== 2 ==&lt;br /&gt;
Der Entwurf sollte schrittweise erfolgen. Die unten angeführte Reihenfolge ist bewährt, wobei die angeführten Positionen unterschiedlich umfangreich, abhängig von den Anforderungen, ausgestaltet werden können.&lt;br /&gt;
#Funktionsbeschreibung. Diese kann verbal (schriftlich, Handskizze) erfolgen oder durch zB ein Impulsdiagramm vorgegeben sein.&lt;br /&gt;
#Formale Beschreibung. Die in der Funktionsbeschreibung vorgegebenen Rahmenbedingungen werden in ein Zustandsdiagramm überführt. Hier erfolgt die vollständige Beschreibung des Schaltwerks, indem die Aufeinanderfolge der (festzulegenden) Zustände als Reaktion auf Eingangs- und Zustandsvektor bestimmt wird. Ebenfalls kann an dieser Stelle der Ausgangsvektor formuliert werden.&lt;br /&gt;
#Schaltwerkstabelle. Die Schaltwerkstabelle stellt das Zustandsdiagramm in tabellarischer Form dar. Mit ihrer Hilfe kann eine Zustandsminimierung (Zusammenfassen identischer Zustände) des Schaltwerks durchgeführt werden, die idR zu verringertem Bauteilebedarf führt. Änderungen in der Schaltwerkstabelle wirken auf das Zustandsdiagramm zurück.&lt;br /&gt;
#Zustandscodierung. Die Art der Zustandscodierung, insbesondere bei einfachen Synchronschaltwerken, unterliegt keinen Beschränkungen (im Gegensatz zu Asynchronschaltwerken). Die Codierung muß eindeutig sein und hat evtl Einfluß auf den Bauteileaufwand.&lt;br /&gt;
# Zustandsfolgetabelle. Ausgangspunkt der Zustandsfolgetabelle ist das Zustandsdiagramm. In dieser Tabelle findet das sequentielle Verhalten der Schaltung seinen Ausdruck, denn sie ist deutlich zweigeteilt. Eingangsvariablen &#039;&#039;&#039;und&#039;&#039;&#039; aktuelle Zustände werden üblicherweise auf der linken Seite („vor dem Takt“), Folgezustände und ggf Ausgangsvariablen rechts („nach dem Takt“) notiert.  Aus der Zustandsfolgetabelle können, wenn sie als Wahrheitstabelle interpretiert wird, die Übergangsfunktionen der Zustandsspeicher entnommen werden.&lt;br /&gt;
== 3 ==&lt;br /&gt;
Mechanische Bedienelemente elektrischer Geräte wie Kippschalter, Tastenaggregate, Drehschalter usw sind dankbare Objekte für die Emulation durch ein elektronisches Schaltwerk.&amp;lt;br /&amp;gt;&lt;br /&gt;
Das hier gezeigte Beispiel bildet einen Drehschalter, der auf 4 Schaltstellungen begrenzt ist, nach. &lt;br /&gt;
=== 3 ===&lt;br /&gt;
In der nebenstehenden Abbildung ist dargestellt, wie der mechanische Drehschalter in seine elektronische Entsprechung überführt werden soll. Der linke Teil der Abbildung zeigt die Kontakte K1..K4, [[Datei:StufenschalterSchaltwerk.png|rechts|rahmen]]die anwählbaren Stellungen des Schleifers, sowie den zentralen Anschluss K0. Neben den Kontakten ist ein weiteres Attribut eingetragen, hierbei handelt es sich um die Verknüpfung von Schalterstellung und jeweiligem Zustand des Schaltwerks.&amp;lt;br /&amp;gt;&lt;br /&gt;
Im rechten Teil sind das Schaltwerk und seine äußeren Anschlüsse skizziert. Das Schaltwerk reagiert auf zwei Taster. Sie stehen für die linke und/oder rechte Drehung des Schalter und generieren die Eingangssignale &#039;&#039;U&#039;&#039; und &#039;&#039;W&#039;&#039;. Die 4 Stellungen des Drehschalters werden durch die Ausgangssignale &#039;&#039;Stellung1..Stellung4&#039;&#039; repräsentiert.&amp;lt;br /&amp;gt;&lt;br /&gt;
Das Schaltwerk emuliert ausschließlich die mechanische Bewegung des Drehschalters, die elektrischen Eigenschaften des Schalters müssen von separaten Schaltungsteilen umgesetzt werden.&lt;br /&gt;
&lt;br /&gt;
=== 4 ===&lt;br /&gt;
Das Zustandsdiagramm setzt Eingangssignale und  Zustände des Schaltwerks miteinander in Beziehung. &lt;br /&gt;
[[Datei:Zustandsdiagramm.png|rahmen|rechts]]Das Schaltwerk befindet sich nach dem Einschalten in Z0, der den rechten Anschlag des 	emulierten Schalters bildet, denn das Aktivieren der „Taste rechts“ oder der „Tasten links+rechts“ bewirkt an dieser Stelle keine Zustandsänderung. Durch wiederholtes Betätigen der „Taste links“ gelangt man zu den nächsten Zuständen, bis der linke Anschlag erreicht ist. Die „Taste links“ bewirkt in Z3 keine Zustandsänderung. Mit der „Taste rechts“ kann dieser Zustand verlassen werden. Zwischen den Zuständen kann man sich mit den Tasten beliebig hin und her bewegen. Das gleichzeitige Betätigen beider Tasten „Tasten links+rechts“ versetzt das Schaltwerk aus jedem Zustand heraus in den Anfangszustand Z0, ein Verhalten, das mit einem mechanischen Drehschalter nicht möglich ist. Ist keine Taste aktiv verbleibt das Schaltwerk in seinem aktuellen Zustand.&lt;br /&gt;
=== 5 ===&lt;br /&gt;
Die Übergangstabelle enthält die Information des Zustandsdiagramms in tabellarischer Form. Die Signale &#039;&#039;U&#039;&#039; und &#039;&#039;W&#039;&#039; sind als &#039;1&#039;-aktiv eingetragen.&lt;br /&gt;
{|&lt;br /&gt;
| style=&amp;quot;width:45%&amp;quot;|&amp;amp;nbsp;&lt;br /&gt;
|&lt;br /&gt;
{|{{tabelle}}&lt;br /&gt;
|+ &#039;&#039;&#039;Übergangstabelle&#039;&#039;&#039;&lt;br /&gt;
|-style=&amp;quot;text-align:center; &amp;quot;&lt;br /&gt;
!style=&amp;quot;background:#EAECF0&amp;quot;|Folgezustand &lt;br /&gt;
|style=&amp;quot;background:#FFEBAD&amp;quot; colspan=&amp;quot;4&amp;quot;| Eingangssignale U W&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| aktueller Zustand &lt;br /&gt;
|style=&amp;quot;background:#FFEBAD&amp;quot;| 00 || style=&amp;quot;background:#FFEBAD&amp;quot; |01 ||style=&amp;quot;background:#FFEBAD&amp;quot;| 10 || style=&amp;quot;background:#FFEBAD&amp;quot; | 11&lt;br /&gt;
|-style=&amp;quot;text-align:center; background:#EAECF0&amp;quot; &lt;br /&gt;
| style=&amp;quot; background:#F8F9FA&amp;quot; | 0 &lt;br /&gt;
! 0 ||0 ||1 || 0&lt;br /&gt;
|-style=&amp;quot;text-align:center; background:#EAECF0&amp;quot; &lt;br /&gt;
| style=&amp;quot;background:#F8F9FA&amp;quot; | 1&lt;br /&gt;
! 1 || 0 || 2 || 0&lt;br /&gt;
|-style=&amp;quot;text-align:center; background:#EAECF0&amp;quot; &lt;br /&gt;
|style=&amp;quot;background:#F8F9FA&amp;quot; |2&lt;br /&gt;
! 2 || 1 || 3 || 0&lt;br /&gt;
|-style=&amp;quot;text-align:center; background:#EAECF0&amp;quot; &lt;br /&gt;
|style=&amp;quot;background:#F8F9FA&amp;quot; |3&lt;br /&gt;
! 3 || 2 || 3 || 0&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
Bei umfangreichen Schaltwerken kann an dieser Stelle versucht werden, Zustände zusammenzufassen.&lt;br /&gt;
&lt;br /&gt;
=== 6 ===&lt;br /&gt;
Unter Berücksichtigung der Übergangstabelle wird die Zustandsfolgetabelle aufgebaut. Sie enthält die Eingangssignale, den aktuellen Zustand und den Folgezustand des Schaltwerks.&amp;lt;br /&amp;gt;&lt;br /&gt;
Die Zustände liegen in der Wahrheitstabelle in codierter Form vor, in diesem Beispiel sind sie binär codiert und es genügen zwei Zustandsvariablen, &#039;&#039;A&amp;lt;sup&amp;gt;n&amp;lt;/sup&amp;gt;&#039;&#039;(LSD) und &#039;&#039;B&amp;lt;sup&amp;gt;n&amp;lt;/sup&amp;gt;&#039;&#039;(MSD), da das Schaltwerk 4 Zustände einnehmen kann.&lt;br /&gt;
{|&lt;br /&gt;
| style=&amp;quot;width:10%&amp;quot;|&amp;amp;nbsp;&lt;br /&gt;
|&lt;br /&gt;
{|{{tabelle}} &lt;br /&gt;
|+&#039;&#039;&#039;Zustandsfolgetabelle&#039;&#039;&#039;&lt;br /&gt;
|-style=&amp;quot;background:#EAECF0&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;2&amp;quot;|Eingangssignale||colspan=&amp;quot;2&amp;quot;|aktueller Zustand|| style=&amp;quot;border-left:2px solid&amp;quot; colspan=&amp;quot;2&amp;quot;| Folgezustand||style=&amp;quot;background:#FFFFFF; vertical-align:top&amp;quot; rowspan=&amp;quot;2&amp;quot;|Beschreibung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|U || W || B&amp;lt;sup&amp;gt;n&amp;lt;/sup&amp;gt; || A &amp;lt;sup&amp;gt;n&amp;lt;/sup&amp;gt;||style=&amp;quot;border-left:2px solid&amp;quot;| B&amp;lt;sup&amp;gt;n+1&amp;lt;/sup&amp;gt; || A&amp;lt;sup&amp;gt;n+1&amp;lt;/sup&amp;gt;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 0 || 0 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; Start&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 0 || 0 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 1 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;; nach &amp;quot;links&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 1 || 0 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; nach &amp;quot;rechts&amp;quot; → keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 1 || 0 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 0 || 0 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 1 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;; keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 0 || 0 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;; nach &amp;quot;links&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 1 || 0 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; nach &amp;quot;rechts&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 1 || 0 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; Rücksprung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 0 || 1 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;; keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 0 || 1 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 1 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt;; nach &amp;quot;links&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 1 || 1 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 1 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;; nach &amp;quot;rechts&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 1 || 1 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; Rücksprung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 0 || 1 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 1 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt;; keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 0 || 1 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 1 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt;; nach &amp;quot;links&amp;quot; → keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 1 || 1 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;; nach &amp;quot;rechts&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 1 || 1 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; Rücksprung&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
Aus der Zustandsfolgetabelle werden die Übergangsfunktionen der Zustandsvariablen &#039;&#039;A&amp;lt;sup&amp;gt;n+1&amp;lt;/sup&amp;gt;&#039;&#039; und &#039;&#039;B&amp;lt;sup&amp;gt;n+1&amp;lt;/sup&amp;gt;&#039;&#039; entnommen. Sie sind Ausgangspunkt für die rechnerische Bestimmung der Eingangsschaltnetze  der Zustandsvariablenspeicher.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Alle nachfolgend beschriebenen Schaltwerkversionen besitzen die gleichen Ausgangssignale, die aus den Zustandsvariablen des Momentanzustandes ermittelt werden. Die Ausgangssignale sind ´1´-aktiv und werden durch die &amp;quot;Methode des scharfen Ansehens&amp;quot; aus obiger Tabelle erhalten:&amp;lt;br /&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
| style=&amp;quot;width:70%&amp;quot;|&amp;amp;nbsp;&lt;br /&gt;
|&lt;br /&gt;
{|style=&amp;quot; font-style: italic&amp;quot;&lt;br /&gt;
|Stellung1 || =|| style=&amp;quot;text-decoration:overline&amp;quot;| A || &amp;amp;sdot; ||  style=&amp;quot;text-decoration:overline&amp;quot;| B &lt;br /&gt;
|-style=&amp;quot;font-style: italic&amp;quot;&lt;br /&gt;
|Stellung2 || =||  A || &amp;amp;sdot; || style=&amp;quot;text-decoration:overline&amp;quot;| B &lt;br /&gt;
|-style=&amp;quot;font-style: italic&amp;quot;&lt;br /&gt;
|Stellung3 || =|| style=&amp;quot;text-decoration:overline&amp;quot;| A || &amp;amp;sdot; || B &lt;br /&gt;
|-style=&amp;quot;font-style: italic&amp;quot;&lt;br /&gt;
|Stellung4 || =|| A || &amp;amp;sdot; || B &lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 7 Gatterversion ===&lt;br /&gt;
Die klassische Methode, das Eingangsschaltnetz aufzubauen, besteht darin, logische Schaltkreise entsprechend den Übergangsfunktionen miteinander zu kombinieren.&amp;lt;br /&amp;gt;&lt;br /&gt;
Die Liste enthält verschiedene Aspekte dieser Ausführung:&lt;br /&gt;
* [[Media: Stufenschalter1.pdf|Schaltplan der Gatterversion]]&lt;br /&gt;
* [[Media: FFs1Gleichungen.pdf|Berechnungen zur Gatterversion]]&lt;br /&gt;
* [https://www.youtube.com/watch?v=LuBIOe8P5pU Video - das Schaltwerk in Aktion]&lt;br /&gt;
=== 8 Multiplexer Version ===&lt;br /&gt;
Mit einem Multiplexer, der über &#039;&#039;n&#039;&#039; Steuer(Select)eingänge verfügt, können an seinem Ausgang alle&lt;br /&gt;
Kombinationen von &#039;&#039;(n+1)&#039;&#039;-Bool&#039;schen Variablen dargestellt werden. Beispiel: Es liegt ein (4 zu 1)-Multiplexer vor. Dieser ist für 3 Variablen ausreichend, denn &#039;&#039;4=2&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;&#039;&#039;, daher ist &#039;&#039;n=2&#039;&#039; und &#039;&#039;n+1=3&#039;&#039;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Die nachfolgende Liste stellt diese Version des Schaltwerks vor:&lt;br /&gt;
*[[Media:Stufenschalter2.pdf|Schaltplan]]&lt;br /&gt;
*[[Media:ULPs1Gleichungen.pdf|Berechnungen zur Multiplexer Version]]&lt;br /&gt;
&lt;br /&gt;
=== 9 ROM Version ===&lt;br /&gt;
Neben den bisher beschriebenen Verfahren, Schaltfunktionen in Hardware umzusetzen, gibt es die Möglichkeit, diese in einem (nichtflüchtigen) Speicherelement zu realisieren.&amp;lt;br /&amp;gt;&lt;br /&gt;
Ein Festwertspeicher ordnet jeder Eingangskombination(Adresse) der Variablen ein Ausgangsmuster(Daten), das vorgegeben wird, zu. Die Eingangsmatrix des Festwertspeichers kann als UND-Verknüpfung der Eingangsvariablen, die Ausgangsmatrix als ODER-Verknüpfung des Zellinhalts aufgefasst werden - der Speicher bildet die disjunktive Normalform der Eingangsvariablen, wie die Abbildung zeigt:&lt;br /&gt;
{|&lt;br /&gt;
| style=&amp;quot;width:30%&amp;quot;|&amp;amp;nbsp;&lt;br /&gt;
|&lt;br /&gt;
{|style=&amp;quot; font-style: italic&amp;quot;&lt;br /&gt;
|f&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; || =|| style=&amp;quot;text-decoration:overline&amp;quot;| A || style=&amp;quot;text-decoration:overline&amp;quot;| B || + || A ||style=&amp;quot;text-decoration:overline&amp;quot;| B&lt;br /&gt;
|-style=&amp;quot;font-style: italic&amp;quot;&lt;br /&gt;
|f&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; || =||style=&amp;quot;text-decoration:overline&amp;quot;|  A || B || + || A || B&lt;br /&gt;
|-style=&amp;quot;font-style: italic&amp;quot;&lt;br /&gt;
|f&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; || =|| ?&lt;br /&gt;
|}&lt;br /&gt;
| style=&amp;quot;width:10%&amp;quot;|&amp;amp;nbsp;&lt;br /&gt;
|[[Datei:Rommatrix.png|rahmen]]&lt;br /&gt;
|}&lt;br /&gt;
Bei der Übertragung der Schaltfunktion in einen Festwertspeicher ist im allgemeinen keine Optimierung erforderlich. Ist sie allerdings umgeformt, sollten zwei Dinge berücksichtigt werden:&lt;br /&gt;
# die Funktion muß vollständig sein, ggf muß sie auf ihre Normalform gebracht werden&lt;br /&gt;
# falls Redundanzen vorliegen, dann&lt;br /&gt;
#:sollten diese aufgelöst werden (weiter mit Punkt 1) oder&lt;br /&gt;
#:im Falle eines Schaltwerks einen sicheren Zustand adressieren&amp;lt;br /&amp;gt;&lt;br /&gt;
Um den Inhalt des Speichers, der im Schaltwerk eingesetzt werden soll, zu bestimmen, wird von der schon vorhandenen Zustandsfolgetabelle ausgegangen.Die Tabelle wird um zwei Spalten ergänzt, Adressen und Daten.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Eine Adresse wird gebildet, indem man das zeilenweise Bitmuster der Eingangsvariablen als Binärzahl interpretiert und in der Adressspalte notiert. Das gleiche Verfahren wird auf das Bitmuster des Folgezustands angewendet und das Ergebnis in die Datenspalte eingetragen.&lt;br /&gt;
{|{{tabelle}} &lt;br /&gt;
|+&#039;&#039;&#039;Modifizierte Zustandsfolgetabelle&#039;&#039;&#039;&lt;br /&gt;
|-style=&amp;quot;background:#EAECF0&amp;quot;&lt;br /&gt;
!style=&amp;quot;background:#FFEBAD; vertical-align:top&amp;quot; rowspan=&amp;quot;2&amp;quot;|Adresse || colspan=&amp;quot;2&amp;quot;|Eingangssignale||colspan=&amp;quot;2&amp;quot;|aktueller Zustand|| style=&amp;quot;border-left:2px solid&amp;quot; colspan=&amp;quot;2&amp;quot;| Folgezustand|| style=&amp;quot;background:#FFEBAD; vertical-align:top&amp;quot; rowspan=&amp;quot;2&amp;quot; | Daten ||style=&amp;quot;background:#FFFFFF; vertical-align:top&amp;quot; rowspan=&amp;quot;2&amp;quot;|Beschreibung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|U || W || B&amp;lt;sup&amp;gt;n&amp;lt;/sup&amp;gt; || A &amp;lt;sup&amp;gt;n&amp;lt;/sup&amp;gt;||style=&amp;quot;border-left:2px solid&amp;quot;| B&amp;lt;sup&amp;gt;n+1&amp;lt;/sup&amp;gt; || A&amp;lt;sup&amp;gt;n+1&amp;lt;/sup&amp;gt;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0x00|| 0 || 0 || 0 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || 0x00 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; Start&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x08 || 1 || 0 || 0 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 1 ||0x01 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;; nach &amp;quot;links&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x04|| 0 || 1 || 0 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 ||0x00; || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; nach &amp;quot;rechts&amp;quot; → keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x0c|| 1 || 1 || 0 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 ||0x00 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x01|| 0 || 0 || 0 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 1 ||0x01 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;; keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x09|| 1 || 0 || 0 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 0 ||0x02 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;; nach &amp;quot;links&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x05|| 0 || 1 || 0 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 ||0x00 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; nach &amp;quot;rechts&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x0d|| 1 || 1 || 0 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 ||0x00 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; Rücksprung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x02|| 0 || 0 || 1 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 0 ||0x02 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;; keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x0a|| 1 || 0 || 1 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 1 ||0x03 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt;; nach &amp;quot;links&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x06|| 0 || 1 || 1 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 1 ||0x01 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;; nach &amp;quot;rechts&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x0e|| 1 || 1 || 1 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 ||0x00 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; Rücksprung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x03|| 0 || 0 || 1 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 1 ||0x03 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt;; keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x0b|| 1 || 0 || 1 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 1 ||0x03 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt;; nach &amp;quot;links&amp;quot; → keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x07|| 0 || 1 || 1 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 0 ||0x02 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;; nach &amp;quot;rechts&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x0f|| 1 || 1 || 1 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 ||0x00 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; Rücksprung&lt;br /&gt;
|}&lt;br /&gt;
Aus der Tabelle ergibt sich folgende nach Adresse sortierte Speicherbelegung:&lt;br /&gt;
{|{{tabelle}}&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background:#EAECF0&amp;quot;|&amp;lt;b&amp;gt;Adresse&amp;lt;/b&amp;gt;||0x00||0x01||0x02||0x03||0x04||0x05||0x06||0x07||0x08||0x09||0x0a||0x0b||0x0c||0x0d||0x0e||0x0f&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background:#EAECF0&amp;quot;|&amp;lt;b&amp;gt;Daten&amp;lt;/b&amp;gt;||0x00||0x01||0x02||0x03||0x00||0x00||0x01||0x02||0x01||0x02||0x03||0x03||0x00||0x00||0x00||0x00&lt;br /&gt;
|}&lt;br /&gt;
Der Eingangsvektor ist vollständig, die Datenwortbreite beträgt zwei Bit.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Die Schaltbilder zeigen diese Form des Schaltwerks.&lt;br /&gt;
:[[Media: Stufenschalter3.pdf|Schaltplan der ROM-Version: EPROM als Festwertspeicher]]&lt;br /&gt;
::Eine Variante des Festwertspeichers ist die Diodenmatrix. Sie kann ohne aufwändige Hilfsmittel&lt;br /&gt;
::realisiert werden. &lt;br /&gt;
:[[Media: Stufenschalter4.pdf|Schaltplan der ROM-Version: Diodenmatrix als Festwertspeicher]]&lt;br /&gt;
=== 10 Zwischenbilanz ===&lt;br /&gt;
Anhand des diskutierten Beispiels wurden verschiedene Möglichkeiten der Realisierung eines einfachen Schaltwerks demonstriert.&lt;br /&gt;
*Übergangsfunktion durch allgemeine Logigbausteine dargestellt&lt;br /&gt;
*Übergangsfunktion durch Multiplexer dargestellt&lt;br /&gt;
*Übergangsfunktion durch ROM (in Tabellenform) dargestellt&lt;br /&gt;
Die Anwendung algebraischer und graphischer(tabellarischer) Methoden zur Bestimmung der Schaltungskomponenten ermöglichte die praktische Umsetzung des geplanten Schaltwerks.&lt;br /&gt;
Allerdings, mit zunehmender Breite des Eingangsvektors  steigt der Aufwand zur Ermittlung der Schaltwerkskomponenten stark an, so dass diese Methoden an ihre Grenzen stossen und andere Vorgehensweisen erforderlich sind.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dennoch lohnt es sich, den Einsatz eines einfachen Schaltwerks in Erwägung zu ziehen, wie die nachfolgenden Beispiele zeigen.&lt;br /&gt;
&lt;br /&gt;
== Weitere Beispiele ==&lt;/div&gt;</summary>
		<author><name>Aminox86</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Methodischer_Entwurf_einfacher_Schaltwerke&amp;diff=100367</id>
		<title>Methodischer Entwurf einfacher Schaltwerke</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Methodischer_Entwurf_einfacher_Schaltwerke&amp;diff=100367"/>
		<updated>2019-02-28T09:04:01Z</updated>

		<summary type="html">&lt;p&gt;Aminox86: /* 10 Zwischenbilanz */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Dieser Artikel beschreibt die Vorgehensweise, einfache sequentielle Schaltungen in der Praxis umzusetzen.&lt;br /&gt;
&lt;br /&gt;
== Intention ==&lt;br /&gt;
Um eine LED blinken zu lassen, muß nicht unbedingt ein Mikrokontroller bemüht werden, wenn sich dieselbe Funktion auch mit ein paar Gattern und Flipflops realisieren lässt. Dabei soll unter einem &amp;quot;einfachen&amp;quot; Schaltwerk eine digitale Schaltung verstanden werden, deren &amp;quot;Verarbeitungsmöglichkeit&amp;quot; begrenzt ist, die zB &amp;quot;nur&amp;quot; zehn Eingangsvariablen aufnehmen kann oder zB &amp;quot;nur&amp;quot; 32 interne Zustände besitzt. Es soll sich daher um ein Gebilde handeln, das im einfachsten Fall aus digitalen Grundbausteinen besteht.&lt;br /&gt;
&lt;br /&gt;
Anhand eines konkreten Beispiels werden verschiedene Möglichkeiten der Realisierung eines Schaltwerks vorgestellt. Hierbei steht die praktische und systematische Umsetzung des gewählten Schaltwerkaufbaus im Vordergrund.&lt;br /&gt;
== 1 ==&lt;br /&gt;
Die Ausgangssignale eines Schaltwerks bzw dessen Zustand zum Betrachtungszeitpunkt werden nicht nur durch die aktuell anliegenden Eingangssignale sondern auch durch die Historie aller Eingangssignale bis zu diesem Zeitpunkt bestimmt. Diese Vorgeschichte wird in Speicherelementen, zB Flipflops, festgehalten. Ihr Inhalt wird an den Eingang des Schaltwerks zurückgeführt und dort mit den externen Signalen verknüpft, wodurch sich ggf der Zustand des Schaltwerks ändert.&amp;lt;br /&amp;gt;&lt;br /&gt;
Die zeitliche Reihenfolge der Zustände ist vorgeben, sie stellt die Funktionalität des Schaltwerks dar.&amp;lt;br /&amp;gt;&lt;br /&gt;
Diese Zustandsänderungen können sofort nach Wertänderung der Eingangsvariablen erfolgen, es liegt ein Asynchronschaltwerk vor, oder nur zu klar voneinander abgegrenzten  Zeitpunkten, es handelt sich dann um ein Synchronschaltwerk. Dieser Artikel beschäftigt sich mit Synchronschaltwerken, die die Struktur eines Moore-Automaten haben.&lt;br /&gt;
[[Bild:SchaltwerkSchema1.png|rechts|rahmen|Schaltwerk]]&lt;br /&gt;
Es liegt in der Natur des gewählten Themas, dass die hier beschriebenen Schaltwerke vorzugsweise aus handelsüblichen Komponenten (Gattern, Flipflops usw.) aufgebaut werden.&lt;br /&gt;
Das Übertragungsverhalten der FF ist durch ihren Aufbau vorgegeben und kann nicht beeinflußt werden.&amp;lt;br /&amp;gt;&lt;br /&gt;
Daher widmet sich dieser Artikel in erster Linie den Gestaltungsmöglichkeiten des Eingangsschaltnetzes unter Berücksichtigung des FF-Typs, auf die Dimensionierung des Ausgangsschaltnetzes wird bei Bedarf eingegangen.&lt;br /&gt;
&lt;br /&gt;
== 2 ==&lt;br /&gt;
Der Entwurf sollte schrittweise erfolgen. Die unten angeführte Reihenfolge ist bewährt, wobei die angeführten Positionen unterschiedlich umfangreich, abhängig von den Anforderungen, ausgestaltet werden können.&lt;br /&gt;
#Funktionsbeschreibung. Diese kann verbal (schriftlich, Handskizze) erfolgen oder durch zB ein Impulsdiagramm vorgegeben sein.&lt;br /&gt;
#Formale Beschreibung. Die in der Funktionsbeschreibung vorgegebenen Rahmenbedingungen werden in ein Zustandsdiagramm überführt. Hier erfolgt die vollständige Beschreibung des Schaltwerks, indem die Aufeinanderfolge der (festzulegenden) Zustände als Reaktion auf Eingangs- und Zustandsvektor bestimmt wird. Ebenfalls kann an dieser Stelle der Ausgangsvektor formuliert werden.&lt;br /&gt;
#Schaltwerkstabelle. Die Schaltwerkstabelle stellt das Zustandsdiagramm in tabellarischer Form dar. Mit ihrer Hilfe kann eine Zustandsminimierung (Zusammenfassen identischer Zustände) des Schaltwerks durchgeführt werden, die idR zu verringertem Bauteilebedarf führt. Änderungen in der Schaltwerkstabelle wirken auf das Zustandsdiagramm zurück.&lt;br /&gt;
#Zustandscodierung. Die Art der Zustandscodierung, insbesondere bei einfachen Synchronschaltwerken, unterliegt keinen Beschränkungen (im Gegensatz zu Asynchronschaltwerken). Die Codierung muß eindeutig sein und hat evtl Einfluß auf den Bauteileaufwand.&lt;br /&gt;
# Zustandsfolgetabelle. Ausgangspunkt der Zustandsfolgetabelle ist das Zustandsdiagramm. In dieser Tabelle findet das sequentielle Verhalten der Schaltung seinen Ausdruck, denn sie ist deutlich zweigeteilt. Eingangsvariablen &#039;&#039;&#039;und&#039;&#039;&#039; aktuelle Zustände werden üblicherweise auf der linken Seite („vor dem Takt“), Folgezustände und ggf Ausgangsvariablen rechts („nach dem Takt“) notiert.  Aus der Zustandsfolgetabelle können, wenn sie als Wahrheitstabelle interpretiert wird, die Übergangsfunktionen der Zustandsspeicher entnommen werden.&lt;br /&gt;
== 3 ==&lt;br /&gt;
Mechanische Bedienelemente elektrischer Geräte wie Kippschalter, Tastenaggregate, Drehschalter usw sind dankbare Objekte für die Emulation durch ein elektronisches Schaltwerk.&amp;lt;br /&amp;gt;&lt;br /&gt;
Das hier gezeigte Beispiel bildet einen Drehschalter, der auf 4 Schaltstellungen begrenzt ist, nach. &lt;br /&gt;
=== 3 ===&lt;br /&gt;
In der nebenstehenden Abbildung ist dargestellt, wie der mechanische Drehschalter in seine elektronische Entsprechung überführt werden soll. Der linke Teil der Abbildung zeigt die Kontakte K1..K4, [[Datei:StufenschalterSchaltwerk.png|rechts|rahmen]]die anwählbaren Stellungen des Schleifers, sowie den zentralen Anschluss K0. Neben den Kontakten ist ein weiteres Attribut eingetragen, hierbei handelt es sich um die Verknüpfung von Schalterstellung und jeweiligem Zustand des Schaltwerks.&amp;lt;br /&amp;gt;&lt;br /&gt;
Im rechten Teil sind das Schaltwerk und seine äußeren Anschlüsse skizziert. Das Schaltwerk reagiert auf zwei Taster. Sie stehen für die linke und/oder rechte Drehung des Schalter und generieren die Eingangssignale &#039;&#039;U&#039;&#039; und &#039;&#039;W&#039;&#039;. Die 4 Stellungen des Drehschalters werden durch die Ausgangssignale &#039;&#039;Stellung1..Stellung4&#039;&#039; repräsentiert.&amp;lt;br /&amp;gt;&lt;br /&gt;
Das Schaltwerk emuliert ausschließlich die mechanische Bewegung des Drehschalters, die elektrischen Eigenschaften des Schalters müssen von separaten Schaltungsteilen umgesetzt werden.&lt;br /&gt;
&lt;br /&gt;
=== 4 ===&lt;br /&gt;
Das Zustandsdiagramm setzt Eingangssignale und  Zustände des Schaltwerks miteinander in Beziehung. &lt;br /&gt;
[[Datei:Zustandsdiagramm.png|rahmen|rechts]]Das Schaltwerk befindet sich nach dem Einschalten in Z0, der den rechten Anschlag des 	emulierten Schalters bildet, denn das Aktivieren der „Taste rechts“ oder der „Tasten links+rechts“ bewirkt an dieser Stelle keine Zustandsänderung. Durch wiederholtes Betätigen der „Taste links“ gelangt man zu den nächsten Zuständen, bis der linke Anschlag erreicht ist. Die „Taste links“ bewirkt in Z3 keine Zustandsänderung. Mit der „Taste rechts“ kann dieser Zustand verlassen werden. Zwischen den Zuständen kann man sich mit den Tasten beliebig hin und her bewegen. Das gleichzeitige Betätigen beider Tasten „Tasten links+rechts“ versetzt das Schaltwerk aus jedem Zustand heraus in den Anfangszustand Z0, ein Verhalten, das mit einem mechanischen Drehschalter nicht möglich ist. Ist keine Taste aktiv verbleibt das Schaltwerk in seinem aktuellen Zustand.&lt;br /&gt;
=== 5 ===&lt;br /&gt;
Die Übergangstabelle enthält die Information des Zustandsdiagramms in tabellarischer Form. Die Signale &#039;&#039;U&#039;&#039; und &#039;&#039;W&#039;&#039; sind als &#039;1&#039;-aktiv eingetragen.&lt;br /&gt;
{|&lt;br /&gt;
| style=&amp;quot;width:45%&amp;quot;|&amp;amp;nbsp;&lt;br /&gt;
|&lt;br /&gt;
{|{{tabelle}}&lt;br /&gt;
|+ &#039;&#039;&#039;Übergangstabelle&#039;&#039;&#039;&lt;br /&gt;
|-style=&amp;quot;text-align:center; &amp;quot;&lt;br /&gt;
!style=&amp;quot;background:#EAECF0&amp;quot;|Folgezustand &lt;br /&gt;
|style=&amp;quot;background:#FFEBAD&amp;quot; colspan=&amp;quot;4&amp;quot;| Eingangssignale U W&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| aktueller Zustand &lt;br /&gt;
|style=&amp;quot;background:#FFEBAD&amp;quot;| 00 || style=&amp;quot;background:#FFEBAD&amp;quot; |01 ||style=&amp;quot;background:#FFEBAD&amp;quot;| 10 || style=&amp;quot;background:#FFEBAD&amp;quot; | 11&lt;br /&gt;
|-style=&amp;quot;text-align:center; background:#EAECF0&amp;quot; &lt;br /&gt;
| style=&amp;quot; background:#F8F9FA&amp;quot; | 0 &lt;br /&gt;
! 0 ||0 ||1 || 0&lt;br /&gt;
|-style=&amp;quot;text-align:center; background:#EAECF0&amp;quot; &lt;br /&gt;
| style=&amp;quot;background:#F8F9FA&amp;quot; | 1&lt;br /&gt;
! 1 || 0 || 2 || 0&lt;br /&gt;
|-style=&amp;quot;text-align:center; background:#EAECF0&amp;quot; &lt;br /&gt;
|style=&amp;quot;background:#F8F9FA&amp;quot; |2&lt;br /&gt;
! 2 || 1 || 3 || 0&lt;br /&gt;
|-style=&amp;quot;text-align:center; background:#EAECF0&amp;quot; &lt;br /&gt;
|style=&amp;quot;background:#F8F9FA&amp;quot; |3&lt;br /&gt;
! 3 || 2 || 3 || 0&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
Bei umfangreichen Schaltwerken kann an dieser Stelle versucht werden, Zustände zusammenzufassen.&lt;br /&gt;
&lt;br /&gt;
=== 6 ===&lt;br /&gt;
Unter Berücksichtigung der Übergangstabelle wird die Zustandsfolgetabelle aufgebaut. Sie enthält die Eingangssignale, den aktuellen Zustand und den Folgezustand des Schaltwerks.&amp;lt;br /&amp;gt;&lt;br /&gt;
Die Zustände liegen in der Wahrheitstabelle in codierter Form vor, in diesem Beispiel sind sie binär codiert und es genügen zwei Zustandsvariablen, &#039;&#039;A&amp;lt;sup&amp;gt;n&amp;lt;/sup&amp;gt;&#039;&#039;(LSD) und &#039;&#039;B&amp;lt;sup&amp;gt;n&amp;lt;/sup&amp;gt;&#039;&#039;(MSD), da das Schaltwerk 4 Zustände einnehmen kann.&lt;br /&gt;
{|&lt;br /&gt;
| style=&amp;quot;width:10%&amp;quot;|&amp;amp;nbsp;&lt;br /&gt;
|&lt;br /&gt;
{|{{tabelle}} &lt;br /&gt;
|+&#039;&#039;&#039;Zustandsfolgetabelle&#039;&#039;&#039;&lt;br /&gt;
|-style=&amp;quot;background:#EAECF0&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;2&amp;quot;|Eingangssignale||colspan=&amp;quot;2&amp;quot;|aktueller Zustand|| style=&amp;quot;border-left:2px solid&amp;quot; colspan=&amp;quot;2&amp;quot;| Folgezustand||style=&amp;quot;background:#FFFFFF; vertical-align:top&amp;quot; rowspan=&amp;quot;2&amp;quot;|Beschreibung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|U || W || B&amp;lt;sup&amp;gt;n&amp;lt;/sup&amp;gt; || A &amp;lt;sup&amp;gt;n&amp;lt;/sup&amp;gt;||style=&amp;quot;border-left:2px solid&amp;quot;| B&amp;lt;sup&amp;gt;n+1&amp;lt;/sup&amp;gt; || A&amp;lt;sup&amp;gt;n+1&amp;lt;/sup&amp;gt;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 0 || 0 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; Start&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 0 || 0 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 1 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;; nach &amp;quot;links&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 1 || 0 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; nach &amp;quot;rechts&amp;quot; → keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 1 || 0 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 0 || 0 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 1 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;; keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 0 || 0 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;; nach &amp;quot;links&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 1 || 0 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; nach &amp;quot;rechts&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 1 || 0 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; Rücksprung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 0 || 1 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;; keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 0 || 1 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 1 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt;; nach &amp;quot;links&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 1 || 1 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 1 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;; nach &amp;quot;rechts&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 1 || 1 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; Rücksprung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 0 || 1 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 1 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt;; keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 0 || 1 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 1 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt;; nach &amp;quot;links&amp;quot; → keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 1 || 1 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;; nach &amp;quot;rechts&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 1 || 1 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; Rücksprung&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
Aus der Zustandsfolgetabelle werden die Übergangsfunktionen der Zustandsvariablen &#039;&#039;A&amp;lt;sup&amp;gt;n+1&amp;lt;/sup&amp;gt;&#039;&#039; und &#039;&#039;B&amp;lt;sup&amp;gt;n+1&amp;lt;/sup&amp;gt;&#039;&#039; entnommen. Sie sind Ausgangspunkt für die rechnerische Bestimmung der Eingangsschaltnetze  der Zustandsvariablenspeicher.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Alle nachfolgend beschriebenen Schaltwerkversionen besitzen die gleichen Ausgangssignale, die aus den Zustandsvariablen des Momentanzustandes ermittelt werden. Die Ausgangssignale sind ´1´-aktiv und werden durch die &amp;quot;Methode des scharfen Ansehens&amp;quot; aus obiger Tabelle erhalten:&amp;lt;br /&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
| style=&amp;quot;width:70%&amp;quot;|&amp;amp;nbsp;&lt;br /&gt;
|&lt;br /&gt;
{|style=&amp;quot; font-style: italic&amp;quot;&lt;br /&gt;
|Stellung1 || =|| style=&amp;quot;text-decoration:overline&amp;quot;| A || &amp;amp;sdot; ||  style=&amp;quot;text-decoration:overline&amp;quot;| B &lt;br /&gt;
|-style=&amp;quot;font-style: italic&amp;quot;&lt;br /&gt;
|Stellung2 || =||  A || &amp;amp;sdot; || style=&amp;quot;text-decoration:overline&amp;quot;| B &lt;br /&gt;
|-style=&amp;quot;font-style: italic&amp;quot;&lt;br /&gt;
|Stellung3 || =|| style=&amp;quot;text-decoration:overline&amp;quot;| A || &amp;amp;sdot; || B &lt;br /&gt;
|-style=&amp;quot;font-style: italic&amp;quot;&lt;br /&gt;
|Stellung4 || =|| A || &amp;amp;sdot; || B &lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 7 Gatterversion ===&lt;br /&gt;
Die klassische Methode, das Eingangsschaltnetz aufzubauen, besteht darin, logische Schaltkreise entsprechend den Übergangsfunktionen miteinander zu kombinieren.&amp;lt;br /&amp;gt;&lt;br /&gt;
Die Liste enthält verschiedene Aspekte dieser Ausführung:&lt;br /&gt;
* [[Media: Stufenschalter1.pdf|Schaltplan der Gatterversion]]&lt;br /&gt;
* [[Media: FFs1Gleichungen.pdf|Berechnungen zur Gatterversion]]&lt;br /&gt;
* [https://www.youtube.com/watch?v=LuBIOe8P5pU Video - das Schaltwerk in Aktion]&lt;br /&gt;
=== 8 Multiplexer Version ===&lt;br /&gt;
Mit einem Multiplexer, der über &#039;&#039;n&#039;&#039; Steuer(Select)eingänge verfügt, können an seinem Ausgang alle&lt;br /&gt;
Kombinationen von &#039;&#039;(n+1)&#039;&#039;-Bool&#039;schen Variablen dargestellt werden. Beispiel: Es liegt ein (4 zu 1)-Multiplexer vor. Dieser ist für 3 Variablen ausreichend, denn &#039;&#039;4=2&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;&#039;&#039;, daher ist &#039;&#039;n=2&#039;&#039; und &#039;&#039;n+1=3&#039;&#039;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Die nachfolgende Liste stellt diese Version des Schaltwerks vor:&lt;br /&gt;
*[[Media:Stufenschalter2.pdf|Schaltplan]]&lt;br /&gt;
*[[Media:ULPs1Gleichungen.pdf|Berechnungen zur Multiplexer Version]]&lt;br /&gt;
&lt;br /&gt;
=== 9 ROM Version ===&lt;br /&gt;
Neben den bisher beschriebenen Verfahren, Schaltfunktionen in Hardware umzusetzen, gibt es die Möglichkeit, diese in einem (nichtflüchtigen) Speicherelement zu realisieren.&amp;lt;br /&amp;gt;&lt;br /&gt;
Ein Festwertspeicher ordnet jeder Eingangskombination(Adresse) der Variablen ein Ausgangsmuster(Daten), das vorgegeben wird, zu. Die Eingangsmatrix des Festwertspeichers kann als UND-Verknüpfung der Eingangsvariablen, die Ausgangsmatrix als ODER-Verknüpfung des Zellinhalts aufgefasst werden - der Speicher bildet die disjunktive Normalform der Eingangsvariablen, wie die Abbildung zeigt:&lt;br /&gt;
{|&lt;br /&gt;
| style=&amp;quot;width:30%&amp;quot;|&amp;amp;nbsp;&lt;br /&gt;
|&lt;br /&gt;
{|style=&amp;quot; font-style: italic&amp;quot;&lt;br /&gt;
|f&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; || =|| style=&amp;quot;text-decoration:overline&amp;quot;| A || style=&amp;quot;text-decoration:overline&amp;quot;| B || + || A ||style=&amp;quot;text-decoration:overline&amp;quot;| B&lt;br /&gt;
|-style=&amp;quot;font-style: italic&amp;quot;&lt;br /&gt;
|f&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; || =||style=&amp;quot;text-decoration:overline&amp;quot;|  A || B || + || A || B&lt;br /&gt;
|-style=&amp;quot;font-style: italic&amp;quot;&lt;br /&gt;
|f&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; || =|| ?&lt;br /&gt;
|}&lt;br /&gt;
| style=&amp;quot;width:10%&amp;quot;|&amp;amp;nbsp;&lt;br /&gt;
|[[Datei:Rommatrix.png|rahmen]]&lt;br /&gt;
|}&lt;br /&gt;
Bei der Übertragung der Schaltfunktion in einen Festwertspeicher ist im allgemeinen keine Optimierung erforderlich. Ist sie allerdings umgeformt, sollten zwei Dinge berücksichtigt werden:&lt;br /&gt;
# die Funktion muß vollständig sein, ggf muß sie auf ihre Normalform gebracht werden&lt;br /&gt;
# falls Redundanzen vorliegen, dann&lt;br /&gt;
#:sollten diese aufgelöst werden (weiter mit Punkt 1) oder&lt;br /&gt;
#:im Falle eines Schaltwerks einen sicheren Zustand adressieren&amp;lt;br /&amp;gt;&lt;br /&gt;
Um den Inhalt des Speichers, der im Schaltwerk eingesetzt werden soll, zu bestimmen, wird von der schon vorhandenen Zustandsfolgetabelle ausgegangen.Die Tabelle wird um zwei Spalten ergänzt, Adressen und Daten.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Eine Adresse wird gebildet, indem man das zeilenweise Bitmuster der Eingangsvariablen als Binärzahl interpretiert und in der Adressspalte notiert. Das gleiche Verfahren wird auf das Bitmuster des Folgezustands angewendet und das Ergebnis in die Datenspalte eingetragen.&lt;br /&gt;
{|{{tabelle}} &lt;br /&gt;
|+&#039;&#039;&#039;Modifizierte Zustandsfolgetabelle&#039;&#039;&#039;&lt;br /&gt;
|-style=&amp;quot;background:#EAECF0&amp;quot;&lt;br /&gt;
!style=&amp;quot;background:#FFEBAD; vertical-align:top&amp;quot; rowspan=&amp;quot;2&amp;quot;|Adresse || colspan=&amp;quot;2&amp;quot;|Eingangssignale||colspan=&amp;quot;2&amp;quot;|aktueller Zustand|| style=&amp;quot;border-left:2px solid&amp;quot; colspan=&amp;quot;2&amp;quot;| Folgezustand|| style=&amp;quot;background:#FFEBAD; vertical-align:top&amp;quot; rowspan=&amp;quot;2&amp;quot; | Daten ||style=&amp;quot;background:#FFFFFF; vertical-align:top&amp;quot; rowspan=&amp;quot;2&amp;quot;|Beschreibung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|U || W || B&amp;lt;sup&amp;gt;n&amp;lt;/sup&amp;gt; || A &amp;lt;sup&amp;gt;n&amp;lt;/sup&amp;gt;||style=&amp;quot;border-left:2px solid&amp;quot;| B&amp;lt;sup&amp;gt;n+1&amp;lt;/sup&amp;gt; || A&amp;lt;sup&amp;gt;n+1&amp;lt;/sup&amp;gt;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0x00|| 0 || 0 || 0 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || 0x00 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; Start&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x08 || 1 || 0 || 0 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 1 ||0x01 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;; nach &amp;quot;links&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x04|| 0 || 1 || 0 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 ||0x00; || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; nach &amp;quot;rechts&amp;quot; → keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x0c|| 1 || 1 || 0 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 ||0x00 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x01|| 0 || 0 || 0 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 1 ||0x01 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;; keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x09|| 1 || 0 || 0 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 0 ||0x02 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;; nach &amp;quot;links&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x05|| 0 || 1 || 0 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 ||0x00 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; nach &amp;quot;rechts&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x0d|| 1 || 1 || 0 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 ||0x00 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; Rücksprung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x02|| 0 || 0 || 1 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 0 ||0x02 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;; keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x0a|| 1 || 0 || 1 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 1 ||0x03 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt;; nach &amp;quot;links&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x06|| 0 || 1 || 1 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 1 ||0x01 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;; nach &amp;quot;rechts&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x0e|| 1 || 1 || 1 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 ||0x00 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; Rücksprung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x03|| 0 || 0 || 1 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 1 ||0x03 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt;; keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x0b|| 1 || 0 || 1 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 1 ||0x03 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt;; nach &amp;quot;links&amp;quot; → keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x07|| 0 || 1 || 1 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 0 ||0x02 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;; nach &amp;quot;rechts&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x0f|| 1 || 1 || 1 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 ||0x00 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; Rücksprung&lt;br /&gt;
|}&lt;br /&gt;
Aus der Tabelle ergibt sich folgende nach Adresse sortierte Speicherbelegung:&lt;br /&gt;
{|{{tabelle}}&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background:#EAECF0&amp;quot;|&amp;lt;b&amp;gt;Adresse&amp;lt;/b&amp;gt;||0x00||0x01||0x02||0x03||0x04||0x05||0x06||0x07||0x08||0x09||0x0a||0x0b||0x0c||0x0d||0x0e||0x0f&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background:#EAECF0&amp;quot;|&amp;lt;b&amp;gt;Daten&amp;lt;/b&amp;gt;||0x00||0x01||0x02||0x03||0x00||0x00||0x01||0x02||0x01||0x02||0x03||0x03||0x00||0x00||0x00||0x00&lt;br /&gt;
|}&lt;br /&gt;
Der Eingangsvektor ist vollständig, die Datenwortbreite beträgt zwei Bit.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Die Schaltbilder zeigen diese Form des Schaltwerks.&lt;br /&gt;
:[[Media: Stufenschalter3.pdf|Schaltplan der ROM-Version: EPROM als Festwertspeicher]]&lt;br /&gt;
::Eine Variante des Festwertspeichers ist die Diodenmatrix. Sie kann ohne aufwändige Hilfsmittel&lt;br /&gt;
::realisiert werden. &lt;br /&gt;
:[[Media: Stufenschalter4.pdf|Schaltplan der ROM-Version: Diodenmatrix als Festwertspeicher]]&lt;br /&gt;
=== 10 Zwischenbilanz ===&lt;br /&gt;
Anhand des diskutierten Beispiels wurden verschiedene Möglichkeiten der Realisierung eines einfachen Schaltwerks demonstriert.&lt;br /&gt;
*Übergangsfunktion durch allgemeine Logigbausteine dargestellt&lt;br /&gt;
*Übergangsfunktion durch Multiplexer dargestellt&lt;br /&gt;
*Übergangsfunktion durch ROM (in Tabellenform) dargestellt&lt;br /&gt;
Der Einsatz algebraischer und graphischer(tabellarischer) Methoden zur Bestimmung der Schaltungskomponenten ermöglichte die praktische Umsetzung des geplanten Schaltwerks.&lt;br /&gt;
Allerdings, mit zunehmender Breite des Eingangsvektors  steigt der Aufwand zur Ermittlung der Schaltwerkskomponenten stark an, so dass diese Methoden an ihre Grenzen stossen und andere Vorgehensweisen erforderlich sind.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dennoch lohnt es sich, den Einsatz eines einfachen Schaltwerks in Erwägung zu ziehen, wie die nachfolgenden Beispiele zeigen.&lt;br /&gt;
&lt;br /&gt;
== Weitere Beispiele ==&lt;/div&gt;</summary>
		<author><name>Aminox86</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Methodischer_Entwurf_einfacher_Schaltwerke&amp;diff=100366</id>
		<title>Methodischer Entwurf einfacher Schaltwerke</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Methodischer_Entwurf_einfacher_Schaltwerke&amp;diff=100366"/>
		<updated>2019-02-28T09:01:43Z</updated>

		<summary type="html">&lt;p&gt;Aminox86: /* 10 Zwischenbilanz */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Dieser Artikel beschreibt die Vorgehensweise, einfache sequentielle Schaltungen in der Praxis umzusetzen.&lt;br /&gt;
&lt;br /&gt;
== Intention ==&lt;br /&gt;
Um eine LED blinken zu lassen, muß nicht unbedingt ein Mikrokontroller bemüht werden, wenn sich dieselbe Funktion auch mit ein paar Gattern und Flipflops realisieren lässt. Dabei soll unter einem &amp;quot;einfachen&amp;quot; Schaltwerk eine digitale Schaltung verstanden werden, deren &amp;quot;Verarbeitungsmöglichkeit&amp;quot; begrenzt ist, die zB &amp;quot;nur&amp;quot; zehn Eingangsvariablen aufnehmen kann oder zB &amp;quot;nur&amp;quot; 32 interne Zustände besitzt. Es soll sich daher um ein Gebilde handeln, das im einfachsten Fall aus digitalen Grundbausteinen besteht.&lt;br /&gt;
&lt;br /&gt;
Anhand eines konkreten Beispiels werden verschiedene Möglichkeiten der Realisierung eines Schaltwerks vorgestellt. Hierbei steht die praktische und systematische Umsetzung des gewählten Schaltwerkaufbaus im Vordergrund.&lt;br /&gt;
== 1 ==&lt;br /&gt;
Die Ausgangssignale eines Schaltwerks bzw dessen Zustand zum Betrachtungszeitpunkt werden nicht nur durch die aktuell anliegenden Eingangssignale sondern auch durch die Historie aller Eingangssignale bis zu diesem Zeitpunkt bestimmt. Diese Vorgeschichte wird in Speicherelementen, zB Flipflops, festgehalten. Ihr Inhalt wird an den Eingang des Schaltwerks zurückgeführt und dort mit den externen Signalen verknüpft, wodurch sich ggf der Zustand des Schaltwerks ändert.&amp;lt;br /&amp;gt;&lt;br /&gt;
Die zeitliche Reihenfolge der Zustände ist vorgeben, sie stellt die Funktionalität des Schaltwerks dar.&amp;lt;br /&amp;gt;&lt;br /&gt;
Diese Zustandsänderungen können sofort nach Wertänderung der Eingangsvariablen erfolgen, es liegt ein Asynchronschaltwerk vor, oder nur zu klar voneinander abgegrenzten  Zeitpunkten, es handelt sich dann um ein Synchronschaltwerk. Dieser Artikel beschäftigt sich mit Synchronschaltwerken, die die Struktur eines Moore-Automaten haben.&lt;br /&gt;
[[Bild:SchaltwerkSchema1.png|rechts|rahmen|Schaltwerk]]&lt;br /&gt;
Es liegt in der Natur des gewählten Themas, dass die hier beschriebenen Schaltwerke vorzugsweise aus handelsüblichen Komponenten (Gattern, Flipflops usw.) aufgebaut werden.&lt;br /&gt;
Das Übertragungsverhalten der FF ist durch ihren Aufbau vorgegeben und kann nicht beeinflußt werden.&amp;lt;br /&amp;gt;&lt;br /&gt;
Daher widmet sich dieser Artikel in erster Linie den Gestaltungsmöglichkeiten des Eingangsschaltnetzes unter Berücksichtigung des FF-Typs, auf die Dimensionierung des Ausgangsschaltnetzes wird bei Bedarf eingegangen.&lt;br /&gt;
&lt;br /&gt;
== 2 ==&lt;br /&gt;
Der Entwurf sollte schrittweise erfolgen. Die unten angeführte Reihenfolge ist bewährt, wobei die angeführten Positionen unterschiedlich umfangreich, abhängig von den Anforderungen, ausgestaltet werden können.&lt;br /&gt;
#Funktionsbeschreibung. Diese kann verbal (schriftlich, Handskizze) erfolgen oder durch zB ein Impulsdiagramm vorgegeben sein.&lt;br /&gt;
#Formale Beschreibung. Die in der Funktionsbeschreibung vorgegebenen Rahmenbedingungen werden in ein Zustandsdiagramm überführt. Hier erfolgt die vollständige Beschreibung des Schaltwerks, indem die Aufeinanderfolge der (festzulegenden) Zustände als Reaktion auf Eingangs- und Zustandsvektor bestimmt wird. Ebenfalls kann an dieser Stelle der Ausgangsvektor formuliert werden.&lt;br /&gt;
#Schaltwerkstabelle. Die Schaltwerkstabelle stellt das Zustandsdiagramm in tabellarischer Form dar. Mit ihrer Hilfe kann eine Zustandsminimierung (Zusammenfassen identischer Zustände) des Schaltwerks durchgeführt werden, die idR zu verringertem Bauteilebedarf führt. Änderungen in der Schaltwerkstabelle wirken auf das Zustandsdiagramm zurück.&lt;br /&gt;
#Zustandscodierung. Die Art der Zustandscodierung, insbesondere bei einfachen Synchronschaltwerken, unterliegt keinen Beschränkungen (im Gegensatz zu Asynchronschaltwerken). Die Codierung muß eindeutig sein und hat evtl Einfluß auf den Bauteileaufwand.&lt;br /&gt;
# Zustandsfolgetabelle. Ausgangspunkt der Zustandsfolgetabelle ist das Zustandsdiagramm. In dieser Tabelle findet das sequentielle Verhalten der Schaltung seinen Ausdruck, denn sie ist deutlich zweigeteilt. Eingangsvariablen &#039;&#039;&#039;und&#039;&#039;&#039; aktuelle Zustände werden üblicherweise auf der linken Seite („vor dem Takt“), Folgezustände und ggf Ausgangsvariablen rechts („nach dem Takt“) notiert.  Aus der Zustandsfolgetabelle können, wenn sie als Wahrheitstabelle interpretiert wird, die Übergangsfunktionen der Zustandsspeicher entnommen werden.&lt;br /&gt;
== 3 ==&lt;br /&gt;
Mechanische Bedienelemente elektrischer Geräte wie Kippschalter, Tastenaggregate, Drehschalter usw sind dankbare Objekte für die Emulation durch ein elektronisches Schaltwerk.&amp;lt;br /&amp;gt;&lt;br /&gt;
Das hier gezeigte Beispiel bildet einen Drehschalter, der auf 4 Schaltstellungen begrenzt ist, nach. &lt;br /&gt;
=== 3 ===&lt;br /&gt;
In der nebenstehenden Abbildung ist dargestellt, wie der mechanische Drehschalter in seine elektronische Entsprechung überführt werden soll. Der linke Teil der Abbildung zeigt die Kontakte K1..K4, [[Datei:StufenschalterSchaltwerk.png|rechts|rahmen]]die anwählbaren Stellungen des Schleifers, sowie den zentralen Anschluss K0. Neben den Kontakten ist ein weiteres Attribut eingetragen, hierbei handelt es sich um die Verknüpfung von Schalterstellung und jeweiligem Zustand des Schaltwerks.&amp;lt;br /&amp;gt;&lt;br /&gt;
Im rechten Teil sind das Schaltwerk und seine äußeren Anschlüsse skizziert. Das Schaltwerk reagiert auf zwei Taster. Sie stehen für die linke und/oder rechte Drehung des Schalter und generieren die Eingangssignale &#039;&#039;U&#039;&#039; und &#039;&#039;W&#039;&#039;. Die 4 Stellungen des Drehschalters werden durch die Ausgangssignale &#039;&#039;Stellung1..Stellung4&#039;&#039; repräsentiert.&amp;lt;br /&amp;gt;&lt;br /&gt;
Das Schaltwerk emuliert ausschließlich die mechanische Bewegung des Drehschalters, die elektrischen Eigenschaften des Schalters müssen von separaten Schaltungsteilen umgesetzt werden.&lt;br /&gt;
&lt;br /&gt;
=== 4 ===&lt;br /&gt;
Das Zustandsdiagramm setzt Eingangssignale und  Zustände des Schaltwerks miteinander in Beziehung. &lt;br /&gt;
[[Datei:Zustandsdiagramm.png|rahmen|rechts]]Das Schaltwerk befindet sich nach dem Einschalten in Z0, der den rechten Anschlag des 	emulierten Schalters bildet, denn das Aktivieren der „Taste rechts“ oder der „Tasten links+rechts“ bewirkt an dieser Stelle keine Zustandsänderung. Durch wiederholtes Betätigen der „Taste links“ gelangt man zu den nächsten Zuständen, bis der linke Anschlag erreicht ist. Die „Taste links“ bewirkt in Z3 keine Zustandsänderung. Mit der „Taste rechts“ kann dieser Zustand verlassen werden. Zwischen den Zuständen kann man sich mit den Tasten beliebig hin und her bewegen. Das gleichzeitige Betätigen beider Tasten „Tasten links+rechts“ versetzt das Schaltwerk aus jedem Zustand heraus in den Anfangszustand Z0, ein Verhalten, das mit einem mechanischen Drehschalter nicht möglich ist. Ist keine Taste aktiv verbleibt das Schaltwerk in seinem aktuellen Zustand.&lt;br /&gt;
=== 5 ===&lt;br /&gt;
Die Übergangstabelle enthält die Information des Zustandsdiagramms in tabellarischer Form. Die Signale &#039;&#039;U&#039;&#039; und &#039;&#039;W&#039;&#039; sind als &#039;1&#039;-aktiv eingetragen.&lt;br /&gt;
{|&lt;br /&gt;
| style=&amp;quot;width:45%&amp;quot;|&amp;amp;nbsp;&lt;br /&gt;
|&lt;br /&gt;
{|{{tabelle}}&lt;br /&gt;
|+ &#039;&#039;&#039;Übergangstabelle&#039;&#039;&#039;&lt;br /&gt;
|-style=&amp;quot;text-align:center; &amp;quot;&lt;br /&gt;
!style=&amp;quot;background:#EAECF0&amp;quot;|Folgezustand &lt;br /&gt;
|style=&amp;quot;background:#FFEBAD&amp;quot; colspan=&amp;quot;4&amp;quot;| Eingangssignale U W&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| aktueller Zustand &lt;br /&gt;
|style=&amp;quot;background:#FFEBAD&amp;quot;| 00 || style=&amp;quot;background:#FFEBAD&amp;quot; |01 ||style=&amp;quot;background:#FFEBAD&amp;quot;| 10 || style=&amp;quot;background:#FFEBAD&amp;quot; | 11&lt;br /&gt;
|-style=&amp;quot;text-align:center; background:#EAECF0&amp;quot; &lt;br /&gt;
| style=&amp;quot; background:#F8F9FA&amp;quot; | 0 &lt;br /&gt;
! 0 ||0 ||1 || 0&lt;br /&gt;
|-style=&amp;quot;text-align:center; background:#EAECF0&amp;quot; &lt;br /&gt;
| style=&amp;quot;background:#F8F9FA&amp;quot; | 1&lt;br /&gt;
! 1 || 0 || 2 || 0&lt;br /&gt;
|-style=&amp;quot;text-align:center; background:#EAECF0&amp;quot; &lt;br /&gt;
|style=&amp;quot;background:#F8F9FA&amp;quot; |2&lt;br /&gt;
! 2 || 1 || 3 || 0&lt;br /&gt;
|-style=&amp;quot;text-align:center; background:#EAECF0&amp;quot; &lt;br /&gt;
|style=&amp;quot;background:#F8F9FA&amp;quot; |3&lt;br /&gt;
! 3 || 2 || 3 || 0&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
Bei umfangreichen Schaltwerken kann an dieser Stelle versucht werden, Zustände zusammenzufassen.&lt;br /&gt;
&lt;br /&gt;
=== 6 ===&lt;br /&gt;
Unter Berücksichtigung der Übergangstabelle wird die Zustandsfolgetabelle aufgebaut. Sie enthält die Eingangssignale, den aktuellen Zustand und den Folgezustand des Schaltwerks.&amp;lt;br /&amp;gt;&lt;br /&gt;
Die Zustände liegen in der Wahrheitstabelle in codierter Form vor, in diesem Beispiel sind sie binär codiert und es genügen zwei Zustandsvariablen, &#039;&#039;A&amp;lt;sup&amp;gt;n&amp;lt;/sup&amp;gt;&#039;&#039;(LSD) und &#039;&#039;B&amp;lt;sup&amp;gt;n&amp;lt;/sup&amp;gt;&#039;&#039;(MSD), da das Schaltwerk 4 Zustände einnehmen kann.&lt;br /&gt;
{|&lt;br /&gt;
| style=&amp;quot;width:10%&amp;quot;|&amp;amp;nbsp;&lt;br /&gt;
|&lt;br /&gt;
{|{{tabelle}} &lt;br /&gt;
|+&#039;&#039;&#039;Zustandsfolgetabelle&#039;&#039;&#039;&lt;br /&gt;
|-style=&amp;quot;background:#EAECF0&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;2&amp;quot;|Eingangssignale||colspan=&amp;quot;2&amp;quot;|aktueller Zustand|| style=&amp;quot;border-left:2px solid&amp;quot; colspan=&amp;quot;2&amp;quot;| Folgezustand||style=&amp;quot;background:#FFFFFF; vertical-align:top&amp;quot; rowspan=&amp;quot;2&amp;quot;|Beschreibung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|U || W || B&amp;lt;sup&amp;gt;n&amp;lt;/sup&amp;gt; || A &amp;lt;sup&amp;gt;n&amp;lt;/sup&amp;gt;||style=&amp;quot;border-left:2px solid&amp;quot;| B&amp;lt;sup&amp;gt;n+1&amp;lt;/sup&amp;gt; || A&amp;lt;sup&amp;gt;n+1&amp;lt;/sup&amp;gt;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 0 || 0 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; Start&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 0 || 0 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 1 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;; nach &amp;quot;links&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 1 || 0 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; nach &amp;quot;rechts&amp;quot; → keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 1 || 0 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 0 || 0 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 1 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;; keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 0 || 0 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;; nach &amp;quot;links&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 1 || 0 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; nach &amp;quot;rechts&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 1 || 0 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; Rücksprung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 0 || 1 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;; keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 0 || 1 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 1 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt;; nach &amp;quot;links&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 1 || 1 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 1 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;; nach &amp;quot;rechts&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 1 || 1 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; Rücksprung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 0 || 1 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 1 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt;; keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 0 || 1 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 1 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt;; nach &amp;quot;links&amp;quot; → keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 1 || 1 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;; nach &amp;quot;rechts&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 1 || 1 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; Rücksprung&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
Aus der Zustandsfolgetabelle werden die Übergangsfunktionen der Zustandsvariablen &#039;&#039;A&amp;lt;sup&amp;gt;n+1&amp;lt;/sup&amp;gt;&#039;&#039; und &#039;&#039;B&amp;lt;sup&amp;gt;n+1&amp;lt;/sup&amp;gt;&#039;&#039; entnommen. Sie sind Ausgangspunkt für die rechnerische Bestimmung der Eingangsschaltnetze  der Zustandsvariablenspeicher.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Alle nachfolgend beschriebenen Schaltwerkversionen besitzen die gleichen Ausgangssignale, die aus den Zustandsvariablen des Momentanzustandes ermittelt werden. Die Ausgangssignale sind ´1´-aktiv und werden durch die &amp;quot;Methode des scharfen Ansehens&amp;quot; aus obiger Tabelle erhalten:&amp;lt;br /&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
| style=&amp;quot;width:70%&amp;quot;|&amp;amp;nbsp;&lt;br /&gt;
|&lt;br /&gt;
{|style=&amp;quot; font-style: italic&amp;quot;&lt;br /&gt;
|Stellung1 || =|| style=&amp;quot;text-decoration:overline&amp;quot;| A || &amp;amp;sdot; ||  style=&amp;quot;text-decoration:overline&amp;quot;| B &lt;br /&gt;
|-style=&amp;quot;font-style: italic&amp;quot;&lt;br /&gt;
|Stellung2 || =||  A || &amp;amp;sdot; || style=&amp;quot;text-decoration:overline&amp;quot;| B &lt;br /&gt;
|-style=&amp;quot;font-style: italic&amp;quot;&lt;br /&gt;
|Stellung3 || =|| style=&amp;quot;text-decoration:overline&amp;quot;| A || &amp;amp;sdot; || B &lt;br /&gt;
|-style=&amp;quot;font-style: italic&amp;quot;&lt;br /&gt;
|Stellung4 || =|| A || &amp;amp;sdot; || B &lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 7 Gatterversion ===&lt;br /&gt;
Die klassische Methode, das Eingangsschaltnetz aufzubauen, besteht darin, logische Schaltkreise entsprechend den Übergangsfunktionen miteinander zu kombinieren.&amp;lt;br /&amp;gt;&lt;br /&gt;
Die Liste enthält verschiedene Aspekte dieser Ausführung:&lt;br /&gt;
* [[Media: Stufenschalter1.pdf|Schaltplan der Gatterversion]]&lt;br /&gt;
* [[Media: FFs1Gleichungen.pdf|Berechnungen zur Gatterversion]]&lt;br /&gt;
* [https://www.youtube.com/watch?v=LuBIOe8P5pU Video - das Schaltwerk in Aktion]&lt;br /&gt;
=== 8 Multiplexer Version ===&lt;br /&gt;
Mit einem Multiplexer, der über &#039;&#039;n&#039;&#039; Steuer(Select)eingänge verfügt, können an seinem Ausgang alle&lt;br /&gt;
Kombinationen von &#039;&#039;(n+1)&#039;&#039;-Bool&#039;schen Variablen dargestellt werden. Beispiel: Es liegt ein (4 zu 1)-Multiplexer vor. Dieser ist für 3 Variablen ausreichend, denn &#039;&#039;4=2&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;&#039;&#039;, daher ist &#039;&#039;n=2&#039;&#039; und &#039;&#039;n+1=3&#039;&#039;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Die nachfolgende Liste stellt diese Version des Schaltwerks vor:&lt;br /&gt;
*[[Media:Stufenschalter2.pdf|Schaltplan]]&lt;br /&gt;
*[[Media:ULPs1Gleichungen.pdf|Berechnungen zur Multiplexer Version]]&lt;br /&gt;
&lt;br /&gt;
=== 9 ROM Version ===&lt;br /&gt;
Neben den bisher beschriebenen Verfahren, Schaltfunktionen in Hardware umzusetzen, gibt es die Möglichkeit, diese in einem (nichtflüchtigen) Speicherelement zu realisieren.&amp;lt;br /&amp;gt;&lt;br /&gt;
Ein Festwertspeicher ordnet jeder Eingangskombination(Adresse) der Variablen ein Ausgangsmuster(Daten), das vorgegeben wird, zu. Die Eingangsmatrix des Festwertspeichers kann als UND-Verknüpfung der Eingangsvariablen, die Ausgangsmatrix als ODER-Verknüpfung des Zellinhalts aufgefasst werden - der Speicher bildet die disjunktive Normalform der Eingangsvariablen, wie die Abbildung zeigt:&lt;br /&gt;
{|&lt;br /&gt;
| style=&amp;quot;width:30%&amp;quot;|&amp;amp;nbsp;&lt;br /&gt;
|&lt;br /&gt;
{|style=&amp;quot; font-style: italic&amp;quot;&lt;br /&gt;
|f&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; || =|| style=&amp;quot;text-decoration:overline&amp;quot;| A || style=&amp;quot;text-decoration:overline&amp;quot;| B || + || A ||style=&amp;quot;text-decoration:overline&amp;quot;| B&lt;br /&gt;
|-style=&amp;quot;font-style: italic&amp;quot;&lt;br /&gt;
|f&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; || =||style=&amp;quot;text-decoration:overline&amp;quot;|  A || B || + || A || B&lt;br /&gt;
|-style=&amp;quot;font-style: italic&amp;quot;&lt;br /&gt;
|f&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; || =|| ?&lt;br /&gt;
|}&lt;br /&gt;
| style=&amp;quot;width:10%&amp;quot;|&amp;amp;nbsp;&lt;br /&gt;
|[[Datei:Rommatrix.png|rahmen]]&lt;br /&gt;
|}&lt;br /&gt;
Bei der Übertragung der Schaltfunktion in einen Festwertspeicher ist im allgemeinen keine Optimierung erforderlich. Ist sie allerdings umgeformt, sollten zwei Dinge berücksichtigt werden:&lt;br /&gt;
# die Funktion muß vollständig sein, ggf muß sie auf ihre Normalform gebracht werden&lt;br /&gt;
# falls Redundanzen vorliegen, dann&lt;br /&gt;
#:sollten diese aufgelöst werden (weiter mit Punkt 1) oder&lt;br /&gt;
#:im Falle eines Schaltwerks einen sicheren Zustand adressieren&amp;lt;br /&amp;gt;&lt;br /&gt;
Um den Inhalt des Speichers, der im Schaltwerk eingesetzt werden soll, zu bestimmen, wird von der schon vorhandenen Zustandsfolgetabelle ausgegangen.Die Tabelle wird um zwei Spalten ergänzt, Adressen und Daten.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Eine Adresse wird gebildet, indem man das zeilenweise Bitmuster der Eingangsvariablen als Binärzahl interpretiert und in der Adressspalte notiert. Das gleiche Verfahren wird auf das Bitmuster des Folgezustands angewendet und das Ergebnis in die Datenspalte eingetragen.&lt;br /&gt;
{|{{tabelle}} &lt;br /&gt;
|+&#039;&#039;&#039;Modifizierte Zustandsfolgetabelle&#039;&#039;&#039;&lt;br /&gt;
|-style=&amp;quot;background:#EAECF0&amp;quot;&lt;br /&gt;
!style=&amp;quot;background:#FFEBAD; vertical-align:top&amp;quot; rowspan=&amp;quot;2&amp;quot;|Adresse || colspan=&amp;quot;2&amp;quot;|Eingangssignale||colspan=&amp;quot;2&amp;quot;|aktueller Zustand|| style=&amp;quot;border-left:2px solid&amp;quot; colspan=&amp;quot;2&amp;quot;| Folgezustand|| style=&amp;quot;background:#FFEBAD; vertical-align:top&amp;quot; rowspan=&amp;quot;2&amp;quot; | Daten ||style=&amp;quot;background:#FFFFFF; vertical-align:top&amp;quot; rowspan=&amp;quot;2&amp;quot;|Beschreibung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|U || W || B&amp;lt;sup&amp;gt;n&amp;lt;/sup&amp;gt; || A &amp;lt;sup&amp;gt;n&amp;lt;/sup&amp;gt;||style=&amp;quot;border-left:2px solid&amp;quot;| B&amp;lt;sup&amp;gt;n+1&amp;lt;/sup&amp;gt; || A&amp;lt;sup&amp;gt;n+1&amp;lt;/sup&amp;gt;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0x00|| 0 || 0 || 0 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || 0x00 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; Start&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x08 || 1 || 0 || 0 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 1 ||0x01 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;; nach &amp;quot;links&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x04|| 0 || 1 || 0 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 ||0x00; || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; nach &amp;quot;rechts&amp;quot; → keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x0c|| 1 || 1 || 0 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 ||0x00 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x01|| 0 || 0 || 0 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 1 ||0x01 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;; keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x09|| 1 || 0 || 0 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 0 ||0x02 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;; nach &amp;quot;links&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x05|| 0 || 1 || 0 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 ||0x00 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; nach &amp;quot;rechts&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x0d|| 1 || 1 || 0 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 ||0x00 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; Rücksprung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x02|| 0 || 0 || 1 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 0 ||0x02 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;; keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x0a|| 1 || 0 || 1 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 1 ||0x03 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt;; nach &amp;quot;links&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x06|| 0 || 1 || 1 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 1 ||0x01 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;; nach &amp;quot;rechts&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x0e|| 1 || 1 || 1 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 ||0x00 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; Rücksprung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x03|| 0 || 0 || 1 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 1 ||0x03 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt;; keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x0b|| 1 || 0 || 1 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 1 ||0x03 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt;; nach &amp;quot;links&amp;quot; → keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x07|| 0 || 1 || 1 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 0 ||0x02 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;; nach &amp;quot;rechts&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x0f|| 1 || 1 || 1 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 ||0x00 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; Rücksprung&lt;br /&gt;
|}&lt;br /&gt;
Aus der Tabelle ergibt sich folgende nach Adresse sortierte Speicherbelegung:&lt;br /&gt;
{|{{tabelle}}&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background:#EAECF0&amp;quot;|&amp;lt;b&amp;gt;Adresse&amp;lt;/b&amp;gt;||0x00||0x01||0x02||0x03||0x04||0x05||0x06||0x07||0x08||0x09||0x0a||0x0b||0x0c||0x0d||0x0e||0x0f&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background:#EAECF0&amp;quot;|&amp;lt;b&amp;gt;Daten&amp;lt;/b&amp;gt;||0x00||0x01||0x02||0x03||0x00||0x00||0x01||0x02||0x01||0x02||0x03||0x03||0x00||0x00||0x00||0x00&lt;br /&gt;
|}&lt;br /&gt;
Der Eingangsvektor ist vollständig, die Datenwortbreite beträgt zwei Bit.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Die Schaltbilder zeigen diese Form des Schaltwerks.&lt;br /&gt;
:[[Media: Stufenschalter3.pdf|Schaltplan der ROM-Version: EPROM als Festwertspeicher]]&lt;br /&gt;
::Eine Variante des Festwertspeichers ist die Diodenmatrix. Sie kann ohne aufwändige Hilfsmittel&lt;br /&gt;
::realisiert werden. &lt;br /&gt;
:[[Media: Stufenschalter4.pdf|Schaltplan der ROM-Version: Diodenmatrix als Festwertspeicher]]&lt;br /&gt;
=== 10 Zwischenbilanz ===&lt;br /&gt;
Anhand des diskutierten Beispiels wurden verschiedene Möglichkeiten der Realisierung eines einfachen Schaltwerks demonstriert.&lt;br /&gt;
*Übergangsfunktion durch allgemeine Logigbausteine dargestellt&lt;br /&gt;
*Übergangsfunktion durch Multiplexer dargestellt&lt;br /&gt;
*Übergangsfunktion durch ROM (in Tabellenform) dargestellt&lt;br /&gt;
Der Einsatz algebraischer und graphischer(tabellarischer) Methoden zur Bestimmung der Schaltungskomponenten ermöglichte die praktische Umsetzung des geplanten Schaltwerks.&lt;br /&gt;
Allerdings, mit zunehmender Breite des Eingangsvektors  steigt der Aufwand zur Ermittlung der Schaltwerkskomponenten stark(exponentiell) an, so dass diese Methoden an ihre Grenzen stossen und andere Vorgehensweisen erforderlich sind.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dennoch lohnt es sich, den Einsatz eines einfachen Schaltwerks in Erwägung zu ziehen, wie die nachfolgenden Beispiele zeigen.&lt;br /&gt;
== Weitere Beispiele ==&lt;/div&gt;</summary>
		<author><name>Aminox86</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Methodischer_Entwurf_einfacher_Schaltwerke&amp;diff=100365</id>
		<title>Methodischer Entwurf einfacher Schaltwerke</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Methodischer_Entwurf_einfacher_Schaltwerke&amp;diff=100365"/>
		<updated>2019-02-28T08:44:51Z</updated>

		<summary type="html">&lt;p&gt;Aminox86: /* 9 ROM Version */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Dieser Artikel beschreibt die Vorgehensweise, einfache sequentielle Schaltungen in der Praxis umzusetzen.&lt;br /&gt;
&lt;br /&gt;
== Intention ==&lt;br /&gt;
Um eine LED blinken zu lassen, muß nicht unbedingt ein Mikrokontroller bemüht werden, wenn sich dieselbe Funktion auch mit ein paar Gattern und Flipflops realisieren lässt. Dabei soll unter einem &amp;quot;einfachen&amp;quot; Schaltwerk eine digitale Schaltung verstanden werden, deren &amp;quot;Verarbeitungsmöglichkeit&amp;quot; begrenzt ist, die zB &amp;quot;nur&amp;quot; zehn Eingangsvariablen aufnehmen kann oder zB &amp;quot;nur&amp;quot; 32 interne Zustände besitzt. Es soll sich daher um ein Gebilde handeln, das im einfachsten Fall aus digitalen Grundbausteinen besteht.&lt;br /&gt;
&lt;br /&gt;
Anhand eines konkreten Beispiels werden verschiedene Möglichkeiten der Realisierung eines Schaltwerks vorgestellt. Hierbei steht die praktische und systematische Umsetzung des gewählten Schaltwerkaufbaus im Vordergrund.&lt;br /&gt;
== 1 ==&lt;br /&gt;
Die Ausgangssignale eines Schaltwerks bzw dessen Zustand zum Betrachtungszeitpunkt werden nicht nur durch die aktuell anliegenden Eingangssignale sondern auch durch die Historie aller Eingangssignale bis zu diesem Zeitpunkt bestimmt. Diese Vorgeschichte wird in Speicherelementen, zB Flipflops, festgehalten. Ihr Inhalt wird an den Eingang des Schaltwerks zurückgeführt und dort mit den externen Signalen verknüpft, wodurch sich ggf der Zustand des Schaltwerks ändert.&amp;lt;br /&amp;gt;&lt;br /&gt;
Die zeitliche Reihenfolge der Zustände ist vorgeben, sie stellt die Funktionalität des Schaltwerks dar.&amp;lt;br /&amp;gt;&lt;br /&gt;
Diese Zustandsänderungen können sofort nach Wertänderung der Eingangsvariablen erfolgen, es liegt ein Asynchronschaltwerk vor, oder nur zu klar voneinander abgegrenzten  Zeitpunkten, es handelt sich dann um ein Synchronschaltwerk. Dieser Artikel beschäftigt sich mit Synchronschaltwerken, die die Struktur eines Moore-Automaten haben.&lt;br /&gt;
[[Bild:SchaltwerkSchema1.png|rechts|rahmen|Schaltwerk]]&lt;br /&gt;
Es liegt in der Natur des gewählten Themas, dass die hier beschriebenen Schaltwerke vorzugsweise aus handelsüblichen Komponenten (Gattern, Flipflops usw.) aufgebaut werden.&lt;br /&gt;
Das Übertragungsverhalten der FF ist durch ihren Aufbau vorgegeben und kann nicht beeinflußt werden.&amp;lt;br /&amp;gt;&lt;br /&gt;
Daher widmet sich dieser Artikel in erster Linie den Gestaltungsmöglichkeiten des Eingangsschaltnetzes unter Berücksichtigung des FF-Typs, auf die Dimensionierung des Ausgangsschaltnetzes wird bei Bedarf eingegangen.&lt;br /&gt;
&lt;br /&gt;
== 2 ==&lt;br /&gt;
Der Entwurf sollte schrittweise erfolgen. Die unten angeführte Reihenfolge ist bewährt, wobei die angeführten Positionen unterschiedlich umfangreich, abhängig von den Anforderungen, ausgestaltet werden können.&lt;br /&gt;
#Funktionsbeschreibung. Diese kann verbal (schriftlich, Handskizze) erfolgen oder durch zB ein Impulsdiagramm vorgegeben sein.&lt;br /&gt;
#Formale Beschreibung. Die in der Funktionsbeschreibung vorgegebenen Rahmenbedingungen werden in ein Zustandsdiagramm überführt. Hier erfolgt die vollständige Beschreibung des Schaltwerks, indem die Aufeinanderfolge der (festzulegenden) Zustände als Reaktion auf Eingangs- und Zustandsvektor bestimmt wird. Ebenfalls kann an dieser Stelle der Ausgangsvektor formuliert werden.&lt;br /&gt;
#Schaltwerkstabelle. Die Schaltwerkstabelle stellt das Zustandsdiagramm in tabellarischer Form dar. Mit ihrer Hilfe kann eine Zustandsminimierung (Zusammenfassen identischer Zustände) des Schaltwerks durchgeführt werden, die idR zu verringertem Bauteilebedarf führt. Änderungen in der Schaltwerkstabelle wirken auf das Zustandsdiagramm zurück.&lt;br /&gt;
#Zustandscodierung. Die Art der Zustandscodierung, insbesondere bei einfachen Synchronschaltwerken, unterliegt keinen Beschränkungen (im Gegensatz zu Asynchronschaltwerken). Die Codierung muß eindeutig sein und hat evtl Einfluß auf den Bauteileaufwand.&lt;br /&gt;
# Zustandsfolgetabelle. Ausgangspunkt der Zustandsfolgetabelle ist das Zustandsdiagramm. In dieser Tabelle findet das sequentielle Verhalten der Schaltung seinen Ausdruck, denn sie ist deutlich zweigeteilt. Eingangsvariablen &#039;&#039;&#039;und&#039;&#039;&#039; aktuelle Zustände werden üblicherweise auf der linken Seite („vor dem Takt“), Folgezustände und ggf Ausgangsvariablen rechts („nach dem Takt“) notiert.  Aus der Zustandsfolgetabelle können, wenn sie als Wahrheitstabelle interpretiert wird, die Übergangsfunktionen der Zustandsspeicher entnommen werden.&lt;br /&gt;
== 3 ==&lt;br /&gt;
Mechanische Bedienelemente elektrischer Geräte wie Kippschalter, Tastenaggregate, Drehschalter usw sind dankbare Objekte für die Emulation durch ein elektronisches Schaltwerk.&amp;lt;br /&amp;gt;&lt;br /&gt;
Das hier gezeigte Beispiel bildet einen Drehschalter, der auf 4 Schaltstellungen begrenzt ist, nach. &lt;br /&gt;
=== 3 ===&lt;br /&gt;
In der nebenstehenden Abbildung ist dargestellt, wie der mechanische Drehschalter in seine elektronische Entsprechung überführt werden soll. Der linke Teil der Abbildung zeigt die Kontakte K1..K4, [[Datei:StufenschalterSchaltwerk.png|rechts|rahmen]]die anwählbaren Stellungen des Schleifers, sowie den zentralen Anschluss K0. Neben den Kontakten ist ein weiteres Attribut eingetragen, hierbei handelt es sich um die Verknüpfung von Schalterstellung und jeweiligem Zustand des Schaltwerks.&amp;lt;br /&amp;gt;&lt;br /&gt;
Im rechten Teil sind das Schaltwerk und seine äußeren Anschlüsse skizziert. Das Schaltwerk reagiert auf zwei Taster. Sie stehen für die linke und/oder rechte Drehung des Schalter und generieren die Eingangssignale &#039;&#039;U&#039;&#039; und &#039;&#039;W&#039;&#039;. Die 4 Stellungen des Drehschalters werden durch die Ausgangssignale &#039;&#039;Stellung1..Stellung4&#039;&#039; repräsentiert.&amp;lt;br /&amp;gt;&lt;br /&gt;
Das Schaltwerk emuliert ausschließlich die mechanische Bewegung des Drehschalters, die elektrischen Eigenschaften des Schalters müssen von separaten Schaltungsteilen umgesetzt werden.&lt;br /&gt;
&lt;br /&gt;
=== 4 ===&lt;br /&gt;
Das Zustandsdiagramm setzt Eingangssignale und  Zustände des Schaltwerks miteinander in Beziehung. &lt;br /&gt;
[[Datei:Zustandsdiagramm.png|rahmen|rechts]]Das Schaltwerk befindet sich nach dem Einschalten in Z0, der den rechten Anschlag des 	emulierten Schalters bildet, denn das Aktivieren der „Taste rechts“ oder der „Tasten links+rechts“ bewirkt an dieser Stelle keine Zustandsänderung. Durch wiederholtes Betätigen der „Taste links“ gelangt man zu den nächsten Zuständen, bis der linke Anschlag erreicht ist. Die „Taste links“ bewirkt in Z3 keine Zustandsänderung. Mit der „Taste rechts“ kann dieser Zustand verlassen werden. Zwischen den Zuständen kann man sich mit den Tasten beliebig hin und her bewegen. Das gleichzeitige Betätigen beider Tasten „Tasten links+rechts“ versetzt das Schaltwerk aus jedem Zustand heraus in den Anfangszustand Z0, ein Verhalten, das mit einem mechanischen Drehschalter nicht möglich ist. Ist keine Taste aktiv verbleibt das Schaltwerk in seinem aktuellen Zustand.&lt;br /&gt;
=== 5 ===&lt;br /&gt;
Die Übergangstabelle enthält die Information des Zustandsdiagramms in tabellarischer Form. Die Signale &#039;&#039;U&#039;&#039; und &#039;&#039;W&#039;&#039; sind als &#039;1&#039;-aktiv eingetragen.&lt;br /&gt;
{|&lt;br /&gt;
| style=&amp;quot;width:45%&amp;quot;|&amp;amp;nbsp;&lt;br /&gt;
|&lt;br /&gt;
{|{{tabelle}}&lt;br /&gt;
|+ &#039;&#039;&#039;Übergangstabelle&#039;&#039;&#039;&lt;br /&gt;
|-style=&amp;quot;text-align:center; &amp;quot;&lt;br /&gt;
!style=&amp;quot;background:#EAECF0&amp;quot;|Folgezustand &lt;br /&gt;
|style=&amp;quot;background:#FFEBAD&amp;quot; colspan=&amp;quot;4&amp;quot;| Eingangssignale U W&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| aktueller Zustand &lt;br /&gt;
|style=&amp;quot;background:#FFEBAD&amp;quot;| 00 || style=&amp;quot;background:#FFEBAD&amp;quot; |01 ||style=&amp;quot;background:#FFEBAD&amp;quot;| 10 || style=&amp;quot;background:#FFEBAD&amp;quot; | 11&lt;br /&gt;
|-style=&amp;quot;text-align:center; background:#EAECF0&amp;quot; &lt;br /&gt;
| style=&amp;quot; background:#F8F9FA&amp;quot; | 0 &lt;br /&gt;
! 0 ||0 ||1 || 0&lt;br /&gt;
|-style=&amp;quot;text-align:center; background:#EAECF0&amp;quot; &lt;br /&gt;
| style=&amp;quot;background:#F8F9FA&amp;quot; | 1&lt;br /&gt;
! 1 || 0 || 2 || 0&lt;br /&gt;
|-style=&amp;quot;text-align:center; background:#EAECF0&amp;quot; &lt;br /&gt;
|style=&amp;quot;background:#F8F9FA&amp;quot; |2&lt;br /&gt;
! 2 || 1 || 3 || 0&lt;br /&gt;
|-style=&amp;quot;text-align:center; background:#EAECF0&amp;quot; &lt;br /&gt;
|style=&amp;quot;background:#F8F9FA&amp;quot; |3&lt;br /&gt;
! 3 || 2 || 3 || 0&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
Bei umfangreichen Schaltwerken kann an dieser Stelle versucht werden, Zustände zusammenzufassen.&lt;br /&gt;
&lt;br /&gt;
=== 6 ===&lt;br /&gt;
Unter Berücksichtigung der Übergangstabelle wird die Zustandsfolgetabelle aufgebaut. Sie enthält die Eingangssignale, den aktuellen Zustand und den Folgezustand des Schaltwerks.&amp;lt;br /&amp;gt;&lt;br /&gt;
Die Zustände liegen in der Wahrheitstabelle in codierter Form vor, in diesem Beispiel sind sie binär codiert und es genügen zwei Zustandsvariablen, &#039;&#039;A&amp;lt;sup&amp;gt;n&amp;lt;/sup&amp;gt;&#039;&#039;(LSD) und &#039;&#039;B&amp;lt;sup&amp;gt;n&amp;lt;/sup&amp;gt;&#039;&#039;(MSD), da das Schaltwerk 4 Zustände einnehmen kann.&lt;br /&gt;
{|&lt;br /&gt;
| style=&amp;quot;width:10%&amp;quot;|&amp;amp;nbsp;&lt;br /&gt;
|&lt;br /&gt;
{|{{tabelle}} &lt;br /&gt;
|+&#039;&#039;&#039;Zustandsfolgetabelle&#039;&#039;&#039;&lt;br /&gt;
|-style=&amp;quot;background:#EAECF0&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;2&amp;quot;|Eingangssignale||colspan=&amp;quot;2&amp;quot;|aktueller Zustand|| style=&amp;quot;border-left:2px solid&amp;quot; colspan=&amp;quot;2&amp;quot;| Folgezustand||style=&amp;quot;background:#FFFFFF; vertical-align:top&amp;quot; rowspan=&amp;quot;2&amp;quot;|Beschreibung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|U || W || B&amp;lt;sup&amp;gt;n&amp;lt;/sup&amp;gt; || A &amp;lt;sup&amp;gt;n&amp;lt;/sup&amp;gt;||style=&amp;quot;border-left:2px solid&amp;quot;| B&amp;lt;sup&amp;gt;n+1&amp;lt;/sup&amp;gt; || A&amp;lt;sup&amp;gt;n+1&amp;lt;/sup&amp;gt;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 0 || 0 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; Start&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 0 || 0 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 1 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;; nach &amp;quot;links&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 1 || 0 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; nach &amp;quot;rechts&amp;quot; → keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 1 || 0 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 0 || 0 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 1 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;; keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 0 || 0 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;; nach &amp;quot;links&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 1 || 0 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; nach &amp;quot;rechts&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 1 || 0 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; Rücksprung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 0 || 1 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;; keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 0 || 1 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 1 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt;; nach &amp;quot;links&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 1 || 1 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 1 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;; nach &amp;quot;rechts&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 1 || 1 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; Rücksprung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 0 || 1 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 1 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt;; keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 0 || 1 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 1 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt;; nach &amp;quot;links&amp;quot; → keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 1 || 1 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;; nach &amp;quot;rechts&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 1 || 1 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; Rücksprung&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
Aus der Zustandsfolgetabelle werden die Übergangsfunktionen der Zustandsvariablen &#039;&#039;A&amp;lt;sup&amp;gt;n+1&amp;lt;/sup&amp;gt;&#039;&#039; und &#039;&#039;B&amp;lt;sup&amp;gt;n+1&amp;lt;/sup&amp;gt;&#039;&#039; entnommen. Sie sind Ausgangspunkt für die rechnerische Bestimmung der Eingangsschaltnetze  der Zustandsvariablenspeicher.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Alle nachfolgend beschriebenen Schaltwerkversionen besitzen die gleichen Ausgangssignale, die aus den Zustandsvariablen des Momentanzustandes ermittelt werden. Die Ausgangssignale sind ´1´-aktiv und werden durch die &amp;quot;Methode des scharfen Ansehens&amp;quot; aus obiger Tabelle erhalten:&amp;lt;br /&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
| style=&amp;quot;width:70%&amp;quot;|&amp;amp;nbsp;&lt;br /&gt;
|&lt;br /&gt;
{|style=&amp;quot; font-style: italic&amp;quot;&lt;br /&gt;
|Stellung1 || =|| style=&amp;quot;text-decoration:overline&amp;quot;| A || &amp;amp;sdot; ||  style=&amp;quot;text-decoration:overline&amp;quot;| B &lt;br /&gt;
|-style=&amp;quot;font-style: italic&amp;quot;&lt;br /&gt;
|Stellung2 || =||  A || &amp;amp;sdot; || style=&amp;quot;text-decoration:overline&amp;quot;| B &lt;br /&gt;
|-style=&amp;quot;font-style: italic&amp;quot;&lt;br /&gt;
|Stellung3 || =|| style=&amp;quot;text-decoration:overline&amp;quot;| A || &amp;amp;sdot; || B &lt;br /&gt;
|-style=&amp;quot;font-style: italic&amp;quot;&lt;br /&gt;
|Stellung4 || =|| A || &amp;amp;sdot; || B &lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 7 Gatterversion ===&lt;br /&gt;
Die klassische Methode, das Eingangsschaltnetz aufzubauen, besteht darin, logische Schaltkreise entsprechend den Übergangsfunktionen miteinander zu kombinieren.&amp;lt;br /&amp;gt;&lt;br /&gt;
Die Liste enthält verschiedene Aspekte dieser Ausführung:&lt;br /&gt;
* [[Media: Stufenschalter1.pdf|Schaltplan der Gatterversion]]&lt;br /&gt;
* [[Media: FFs1Gleichungen.pdf|Berechnungen zur Gatterversion]]&lt;br /&gt;
* [https://www.youtube.com/watch?v=LuBIOe8P5pU Video - das Schaltwerk in Aktion]&lt;br /&gt;
=== 8 Multiplexer Version ===&lt;br /&gt;
Mit einem Multiplexer, der über &#039;&#039;n&#039;&#039; Steuer(Select)eingänge verfügt, können an seinem Ausgang alle&lt;br /&gt;
Kombinationen von &#039;&#039;(n+1)&#039;&#039;-Bool&#039;schen Variablen dargestellt werden. Beispiel: Es liegt ein (4 zu 1)-Multiplexer vor. Dieser ist für 3 Variablen ausreichend, denn &#039;&#039;4=2&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;&#039;&#039;, daher ist &#039;&#039;n=2&#039;&#039; und &#039;&#039;n+1=3&#039;&#039;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Die nachfolgende Liste stellt diese Version des Schaltwerks vor:&lt;br /&gt;
*[[Media:Stufenschalter2.pdf|Schaltplan]]&lt;br /&gt;
*[[Media:ULPs1Gleichungen.pdf|Berechnungen zur Multiplexer Version]]&lt;br /&gt;
&lt;br /&gt;
=== 9 ROM Version ===&lt;br /&gt;
Neben den bisher beschriebenen Verfahren, Schaltfunktionen in Hardware umzusetzen, gibt es die Möglichkeit, diese in einem (nichtflüchtigen) Speicherelement zu realisieren.&amp;lt;br /&amp;gt;&lt;br /&gt;
Ein Festwertspeicher ordnet jeder Eingangskombination(Adresse) der Variablen ein Ausgangsmuster(Daten), das vorgegeben wird, zu. Die Eingangsmatrix des Festwertspeichers kann als UND-Verknüpfung der Eingangsvariablen, die Ausgangsmatrix als ODER-Verknüpfung des Zellinhalts aufgefasst werden - der Speicher bildet die disjunktive Normalform der Eingangsvariablen, wie die Abbildung zeigt:&lt;br /&gt;
{|&lt;br /&gt;
| style=&amp;quot;width:30%&amp;quot;|&amp;amp;nbsp;&lt;br /&gt;
|&lt;br /&gt;
{|style=&amp;quot; font-style: italic&amp;quot;&lt;br /&gt;
|f&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; || =|| style=&amp;quot;text-decoration:overline&amp;quot;| A || style=&amp;quot;text-decoration:overline&amp;quot;| B || + || A ||style=&amp;quot;text-decoration:overline&amp;quot;| B&lt;br /&gt;
|-style=&amp;quot;font-style: italic&amp;quot;&lt;br /&gt;
|f&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; || =||style=&amp;quot;text-decoration:overline&amp;quot;|  A || B || + || A || B&lt;br /&gt;
|-style=&amp;quot;font-style: italic&amp;quot;&lt;br /&gt;
|f&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; || =|| ?&lt;br /&gt;
|}&lt;br /&gt;
| style=&amp;quot;width:10%&amp;quot;|&amp;amp;nbsp;&lt;br /&gt;
|[[Datei:Rommatrix.png|rahmen]]&lt;br /&gt;
|}&lt;br /&gt;
Bei der Übertragung der Schaltfunktion in einen Festwertspeicher ist im allgemeinen keine Optimierung erforderlich. Ist sie allerdings umgeformt, sollten zwei Dinge berücksichtigt werden:&lt;br /&gt;
# die Funktion muß vollständig sein, ggf muß sie auf ihre Normalform gebracht werden&lt;br /&gt;
# falls Redundanzen vorliegen, dann&lt;br /&gt;
#:sollten diese aufgelöst werden (weiter mit Punkt 1) oder&lt;br /&gt;
#:im Falle eines Schaltwerks einen sicheren Zustand adressieren&amp;lt;br /&amp;gt;&lt;br /&gt;
Um den Inhalt des Speichers, der im Schaltwerk eingesetzt werden soll, zu bestimmen, wird von der schon vorhandenen Zustandsfolgetabelle ausgegangen.Die Tabelle wird um zwei Spalten ergänzt, Adressen und Daten.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Eine Adresse wird gebildet, indem man das zeilenweise Bitmuster der Eingangsvariablen als Binärzahl interpretiert und in der Adressspalte notiert. Das gleiche Verfahren wird auf das Bitmuster des Folgezustands angewendet und das Ergebnis in die Datenspalte eingetragen.&lt;br /&gt;
{|{{tabelle}} &lt;br /&gt;
|+&#039;&#039;&#039;Modifizierte Zustandsfolgetabelle&#039;&#039;&#039;&lt;br /&gt;
|-style=&amp;quot;background:#EAECF0&amp;quot;&lt;br /&gt;
!style=&amp;quot;background:#FFEBAD; vertical-align:top&amp;quot; rowspan=&amp;quot;2&amp;quot;|Adresse || colspan=&amp;quot;2&amp;quot;|Eingangssignale||colspan=&amp;quot;2&amp;quot;|aktueller Zustand|| style=&amp;quot;border-left:2px solid&amp;quot; colspan=&amp;quot;2&amp;quot;| Folgezustand|| style=&amp;quot;background:#FFEBAD; vertical-align:top&amp;quot; rowspan=&amp;quot;2&amp;quot; | Daten ||style=&amp;quot;background:#FFFFFF; vertical-align:top&amp;quot; rowspan=&amp;quot;2&amp;quot;|Beschreibung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|U || W || B&amp;lt;sup&amp;gt;n&amp;lt;/sup&amp;gt; || A &amp;lt;sup&amp;gt;n&amp;lt;/sup&amp;gt;||style=&amp;quot;border-left:2px solid&amp;quot;| B&amp;lt;sup&amp;gt;n+1&amp;lt;/sup&amp;gt; || A&amp;lt;sup&amp;gt;n+1&amp;lt;/sup&amp;gt;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0x00|| 0 || 0 || 0 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || 0x00 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; Start&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x08 || 1 || 0 || 0 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 1 ||0x01 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;; nach &amp;quot;links&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x04|| 0 || 1 || 0 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 ||0x00; || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; nach &amp;quot;rechts&amp;quot; → keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x0c|| 1 || 1 || 0 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 ||0x00 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x01|| 0 || 0 || 0 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 1 ||0x01 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;; keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x09|| 1 || 0 || 0 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 0 ||0x02 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;; nach &amp;quot;links&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x05|| 0 || 1 || 0 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 ||0x00 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; nach &amp;quot;rechts&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x0d|| 1 || 1 || 0 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 ||0x00 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; Rücksprung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x02|| 0 || 0 || 1 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 0 ||0x02 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;; keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x0a|| 1 || 0 || 1 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 1 ||0x03 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt;; nach &amp;quot;links&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x06|| 0 || 1 || 1 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 1 ||0x01 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;; nach &amp;quot;rechts&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x0e|| 1 || 1 || 1 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 ||0x00 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; Rücksprung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x03|| 0 || 0 || 1 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 1 ||0x03 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt;; keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x0b|| 1 || 0 || 1 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 1 ||0x03 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt;; nach &amp;quot;links&amp;quot; → keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x07|| 0 || 1 || 1 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 0 ||0x02 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;; nach &amp;quot;rechts&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x0f|| 1 || 1 || 1 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 ||0x00 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; Rücksprung&lt;br /&gt;
|}&lt;br /&gt;
Aus der Tabelle ergibt sich folgende nach Adresse sortierte Speicherbelegung:&lt;br /&gt;
{|{{tabelle}}&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background:#EAECF0&amp;quot;|&amp;lt;b&amp;gt;Adresse&amp;lt;/b&amp;gt;||0x00||0x01||0x02||0x03||0x04||0x05||0x06||0x07||0x08||0x09||0x0a||0x0b||0x0c||0x0d||0x0e||0x0f&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background:#EAECF0&amp;quot;|&amp;lt;b&amp;gt;Daten&amp;lt;/b&amp;gt;||0x00||0x01||0x02||0x03||0x00||0x00||0x01||0x02||0x01||0x02||0x03||0x03||0x00||0x00||0x00||0x00&lt;br /&gt;
|}&lt;br /&gt;
Der Eingangsvektor ist vollständig, die Datenwortbreite beträgt zwei Bit.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Die Schaltbilder zeigen diese Form des Schaltwerks.&lt;br /&gt;
:[[Media: Stufenschalter3.pdf|Schaltplan der ROM-Version: EPROM als Festwertspeicher]]&lt;br /&gt;
::Eine Variante des Festwertspeichers ist die Diodenmatrix. Sie kann ohne aufwändige Hilfsmittel&lt;br /&gt;
::realisiert werden. &lt;br /&gt;
:[[Media: Stufenschalter4.pdf|Schaltplan der ROM-Version: Diodenmatrix als Festwertspeicher]]&lt;br /&gt;
=== 10 Zwischenbilanz ===&lt;/div&gt;</summary>
		<author><name>Aminox86</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Datei:Stufenschalter4.pdf&amp;diff=100364</id>
		<title>Datei:Stufenschalter4.pdf</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Datei:Stufenschalter4.pdf&amp;diff=100364"/>
		<updated>2019-02-28T08:20:38Z</updated>

		<summary type="html">&lt;p&gt;Aminox86: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Aminox86</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Methodischer_Entwurf_einfacher_Schaltwerke&amp;diff=100363</id>
		<title>Methodischer Entwurf einfacher Schaltwerke</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Methodischer_Entwurf_einfacher_Schaltwerke&amp;diff=100363"/>
		<updated>2019-02-28T08:20:02Z</updated>

		<summary type="html">&lt;p&gt;Aminox86: /* 9 ROM Version */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Dieser Artikel beschreibt die Vorgehensweise, einfache sequentielle Schaltungen in der Praxis umzusetzen.&lt;br /&gt;
&lt;br /&gt;
== Intention ==&lt;br /&gt;
Um eine LED blinken zu lassen, muß nicht unbedingt ein Mikrokontroller bemüht werden, wenn sich dieselbe Funktion auch mit ein paar Gattern und Flipflops realisieren lässt. Dabei soll unter einem &amp;quot;einfachen&amp;quot; Schaltwerk eine digitale Schaltung verstanden werden, deren &amp;quot;Verarbeitungsmöglichkeit&amp;quot; begrenzt ist, die zB &amp;quot;nur&amp;quot; zehn Eingangsvariablen aufnehmen kann oder zB &amp;quot;nur&amp;quot; 32 interne Zustände besitzt. Es soll sich daher um ein Gebilde handeln, das im einfachsten Fall aus digitalen Grundbausteinen besteht.&lt;br /&gt;
&lt;br /&gt;
Anhand eines konkreten Beispiels werden verschiedene Möglichkeiten der Realisierung eines Schaltwerks vorgestellt. Hierbei steht die praktische und systematische Umsetzung des gewählten Schaltwerkaufbaus im Vordergrund.&lt;br /&gt;
== 1 ==&lt;br /&gt;
Die Ausgangssignale eines Schaltwerks bzw dessen Zustand zum Betrachtungszeitpunkt werden nicht nur durch die aktuell anliegenden Eingangssignale sondern auch durch die Historie aller Eingangssignale bis zu diesem Zeitpunkt bestimmt. Diese Vorgeschichte wird in Speicherelementen, zB Flipflops, festgehalten. Ihr Inhalt wird an den Eingang des Schaltwerks zurückgeführt und dort mit den externen Signalen verknüpft, wodurch sich ggf der Zustand des Schaltwerks ändert.&amp;lt;br /&amp;gt;&lt;br /&gt;
Die zeitliche Reihenfolge der Zustände ist vorgeben, sie stellt die Funktionalität des Schaltwerks dar.&amp;lt;br /&amp;gt;&lt;br /&gt;
Diese Zustandsänderungen können sofort nach Wertänderung der Eingangsvariablen erfolgen, es liegt ein Asynchronschaltwerk vor, oder nur zu klar voneinander abgegrenzten  Zeitpunkten, es handelt sich dann um ein Synchronschaltwerk. Dieser Artikel beschäftigt sich mit Synchronschaltwerken, die die Struktur eines Moore-Automaten haben.&lt;br /&gt;
[[Bild:SchaltwerkSchema1.png|rechts|rahmen|Schaltwerk]]&lt;br /&gt;
Es liegt in der Natur des gewählten Themas, dass die hier beschriebenen Schaltwerke vorzugsweise aus handelsüblichen Komponenten (Gattern, Flipflops usw.) aufgebaut werden.&lt;br /&gt;
Das Übertragungsverhalten der FF ist durch ihren Aufbau vorgegeben und kann nicht beeinflußt werden.&amp;lt;br /&amp;gt;&lt;br /&gt;
Daher widmet sich dieser Artikel in erster Linie den Gestaltungsmöglichkeiten des Eingangsschaltnetzes unter Berücksichtigung des FF-Typs, auf die Dimensionierung des Ausgangsschaltnetzes wird bei Bedarf eingegangen.&lt;br /&gt;
&lt;br /&gt;
== 2 ==&lt;br /&gt;
Der Entwurf sollte schrittweise erfolgen. Die unten angeführte Reihenfolge ist bewährt, wobei die angeführten Positionen unterschiedlich umfangreich, abhängig von den Anforderungen, ausgestaltet werden können.&lt;br /&gt;
#Funktionsbeschreibung. Diese kann verbal (schriftlich, Handskizze) erfolgen oder durch zB ein Impulsdiagramm vorgegeben sein.&lt;br /&gt;
#Formale Beschreibung. Die in der Funktionsbeschreibung vorgegebenen Rahmenbedingungen werden in ein Zustandsdiagramm überführt. Hier erfolgt die vollständige Beschreibung des Schaltwerks, indem die Aufeinanderfolge der (festzulegenden) Zustände als Reaktion auf Eingangs- und Zustandsvektor bestimmt wird. Ebenfalls kann an dieser Stelle der Ausgangsvektor formuliert werden.&lt;br /&gt;
#Schaltwerkstabelle. Die Schaltwerkstabelle stellt das Zustandsdiagramm in tabellarischer Form dar. Mit ihrer Hilfe kann eine Zustandsminimierung (Zusammenfassen identischer Zustände) des Schaltwerks durchgeführt werden, die idR zu verringertem Bauteilebedarf führt. Änderungen in der Schaltwerkstabelle wirken auf das Zustandsdiagramm zurück.&lt;br /&gt;
#Zustandscodierung. Die Art der Zustandscodierung, insbesondere bei einfachen Synchronschaltwerken, unterliegt keinen Beschränkungen (im Gegensatz zu Asynchronschaltwerken). Die Codierung muß eindeutig sein und hat evtl Einfluß auf den Bauteileaufwand.&lt;br /&gt;
# Zustandsfolgetabelle. Ausgangspunkt der Zustandsfolgetabelle ist das Zustandsdiagramm. In dieser Tabelle findet das sequentielle Verhalten der Schaltung seinen Ausdruck, denn sie ist deutlich zweigeteilt. Eingangsvariablen &#039;&#039;&#039;und&#039;&#039;&#039; aktuelle Zustände werden üblicherweise auf der linken Seite („vor dem Takt“), Folgezustände und ggf Ausgangsvariablen rechts („nach dem Takt“) notiert.  Aus der Zustandsfolgetabelle können, wenn sie als Wahrheitstabelle interpretiert wird, die Übergangsfunktionen der Zustandsspeicher entnommen werden.&lt;br /&gt;
== 3 ==&lt;br /&gt;
Mechanische Bedienelemente elektrischer Geräte wie Kippschalter, Tastenaggregate, Drehschalter usw sind dankbare Objekte für die Emulation durch ein elektronisches Schaltwerk.&amp;lt;br /&amp;gt;&lt;br /&gt;
Das hier gezeigte Beispiel bildet einen Drehschalter, der auf 4 Schaltstellungen begrenzt ist, nach. &lt;br /&gt;
=== 3 ===&lt;br /&gt;
In der nebenstehenden Abbildung ist dargestellt, wie der mechanische Drehschalter in seine elektronische Entsprechung überführt werden soll. Der linke Teil der Abbildung zeigt die Kontakte K1..K4, [[Datei:StufenschalterSchaltwerk.png|rechts|rahmen]]die anwählbaren Stellungen des Schleifers, sowie den zentralen Anschluss K0. Neben den Kontakten ist ein weiteres Attribut eingetragen, hierbei handelt es sich um die Verknüpfung von Schalterstellung und jeweiligem Zustand des Schaltwerks.&amp;lt;br /&amp;gt;&lt;br /&gt;
Im rechten Teil sind das Schaltwerk und seine äußeren Anschlüsse skizziert. Das Schaltwerk reagiert auf zwei Taster. Sie stehen für die linke und/oder rechte Drehung des Schalter und generieren die Eingangssignale &#039;&#039;U&#039;&#039; und &#039;&#039;W&#039;&#039;. Die 4 Stellungen des Drehschalters werden durch die Ausgangssignale &#039;&#039;Stellung1..Stellung4&#039;&#039; repräsentiert.&amp;lt;br /&amp;gt;&lt;br /&gt;
Das Schaltwerk emuliert ausschließlich die mechanische Bewegung des Drehschalters, die elektrischen Eigenschaften des Schalters müssen von separaten Schaltungsteilen umgesetzt werden.&lt;br /&gt;
&lt;br /&gt;
=== 4 ===&lt;br /&gt;
Das Zustandsdiagramm setzt Eingangssignale und  Zustände des Schaltwerks miteinander in Beziehung. &lt;br /&gt;
[[Datei:Zustandsdiagramm.png|rahmen|rechts]]Das Schaltwerk befindet sich nach dem Einschalten in Z0, der den rechten Anschlag des 	emulierten Schalters bildet, denn das Aktivieren der „Taste rechts“ oder der „Tasten links+rechts“ bewirkt an dieser Stelle keine Zustandsänderung. Durch wiederholtes Betätigen der „Taste links“ gelangt man zu den nächsten Zuständen, bis der linke Anschlag erreicht ist. Die „Taste links“ bewirkt in Z3 keine Zustandsänderung. Mit der „Taste rechts“ kann dieser Zustand verlassen werden. Zwischen den Zuständen kann man sich mit den Tasten beliebig hin und her bewegen. Das gleichzeitige Betätigen beider Tasten „Tasten links+rechts“ versetzt das Schaltwerk aus jedem Zustand heraus in den Anfangszustand Z0, ein Verhalten, das mit einem mechanischen Drehschalter nicht möglich ist. Ist keine Taste aktiv verbleibt das Schaltwerk in seinem aktuellen Zustand.&lt;br /&gt;
=== 5 ===&lt;br /&gt;
Die Übergangstabelle enthält die Information des Zustandsdiagramms in tabellarischer Form. Die Signale &#039;&#039;U&#039;&#039; und &#039;&#039;W&#039;&#039; sind als &#039;1&#039;-aktiv eingetragen.&lt;br /&gt;
{|&lt;br /&gt;
| style=&amp;quot;width:45%&amp;quot;|&amp;amp;nbsp;&lt;br /&gt;
|&lt;br /&gt;
{|{{tabelle}}&lt;br /&gt;
|+ &#039;&#039;&#039;Übergangstabelle&#039;&#039;&#039;&lt;br /&gt;
|-style=&amp;quot;text-align:center; &amp;quot;&lt;br /&gt;
!style=&amp;quot;background:#EAECF0&amp;quot;|Folgezustand &lt;br /&gt;
|style=&amp;quot;background:#FFEBAD&amp;quot; colspan=&amp;quot;4&amp;quot;| Eingangssignale U W&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| aktueller Zustand &lt;br /&gt;
|style=&amp;quot;background:#FFEBAD&amp;quot;| 00 || style=&amp;quot;background:#FFEBAD&amp;quot; |01 ||style=&amp;quot;background:#FFEBAD&amp;quot;| 10 || style=&amp;quot;background:#FFEBAD&amp;quot; | 11&lt;br /&gt;
|-style=&amp;quot;text-align:center; background:#EAECF0&amp;quot; &lt;br /&gt;
| style=&amp;quot; background:#F8F9FA&amp;quot; | 0 &lt;br /&gt;
! 0 ||0 ||1 || 0&lt;br /&gt;
|-style=&amp;quot;text-align:center; background:#EAECF0&amp;quot; &lt;br /&gt;
| style=&amp;quot;background:#F8F9FA&amp;quot; | 1&lt;br /&gt;
! 1 || 0 || 2 || 0&lt;br /&gt;
|-style=&amp;quot;text-align:center; background:#EAECF0&amp;quot; &lt;br /&gt;
|style=&amp;quot;background:#F8F9FA&amp;quot; |2&lt;br /&gt;
! 2 || 1 || 3 || 0&lt;br /&gt;
|-style=&amp;quot;text-align:center; background:#EAECF0&amp;quot; &lt;br /&gt;
|style=&amp;quot;background:#F8F9FA&amp;quot; |3&lt;br /&gt;
! 3 || 2 || 3 || 0&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
Bei umfangreichen Schaltwerken kann an dieser Stelle versucht werden, Zustände zusammenzufassen.&lt;br /&gt;
&lt;br /&gt;
=== 6 ===&lt;br /&gt;
Unter Berücksichtigung der Übergangstabelle wird die Zustandsfolgetabelle aufgebaut. Sie enthält die Eingangssignale, den aktuellen Zustand und den Folgezustand des Schaltwerks.&amp;lt;br /&amp;gt;&lt;br /&gt;
Die Zustände liegen in der Wahrheitstabelle in codierter Form vor, in diesem Beispiel sind sie binär codiert und es genügen zwei Zustandsvariablen, &#039;&#039;A&amp;lt;sup&amp;gt;n&amp;lt;/sup&amp;gt;&#039;&#039;(LSD) und &#039;&#039;B&amp;lt;sup&amp;gt;n&amp;lt;/sup&amp;gt;&#039;&#039;(MSD), da das Schaltwerk 4 Zustände einnehmen kann.&lt;br /&gt;
{|&lt;br /&gt;
| style=&amp;quot;width:10%&amp;quot;|&amp;amp;nbsp;&lt;br /&gt;
|&lt;br /&gt;
{|{{tabelle}} &lt;br /&gt;
|+&#039;&#039;&#039;Zustandsfolgetabelle&#039;&#039;&#039;&lt;br /&gt;
|-style=&amp;quot;background:#EAECF0&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;2&amp;quot;|Eingangssignale||colspan=&amp;quot;2&amp;quot;|aktueller Zustand|| style=&amp;quot;border-left:2px solid&amp;quot; colspan=&amp;quot;2&amp;quot;| Folgezustand||style=&amp;quot;background:#FFFFFF; vertical-align:top&amp;quot; rowspan=&amp;quot;2&amp;quot;|Beschreibung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|U || W || B&amp;lt;sup&amp;gt;n&amp;lt;/sup&amp;gt; || A &amp;lt;sup&amp;gt;n&amp;lt;/sup&amp;gt;||style=&amp;quot;border-left:2px solid&amp;quot;| B&amp;lt;sup&amp;gt;n+1&amp;lt;/sup&amp;gt; || A&amp;lt;sup&amp;gt;n+1&amp;lt;/sup&amp;gt;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 0 || 0 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; Start&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 0 || 0 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 1 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;; nach &amp;quot;links&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 1 || 0 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; nach &amp;quot;rechts&amp;quot; → keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 1 || 0 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 0 || 0 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 1 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;; keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 0 || 0 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;; nach &amp;quot;links&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 1 || 0 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; nach &amp;quot;rechts&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 1 || 0 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; Rücksprung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 0 || 1 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;; keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 0 || 1 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 1 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt;; nach &amp;quot;links&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 1 || 1 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 1 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;; nach &amp;quot;rechts&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 1 || 1 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; Rücksprung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 0 || 1 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 1 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt;; keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 0 || 1 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 1 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt;; nach &amp;quot;links&amp;quot; → keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 1 || 1 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;; nach &amp;quot;rechts&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 1 || 1 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; Rücksprung&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
Aus der Zustandsfolgetabelle werden die Übergangsfunktionen der Zustandsvariablen &#039;&#039;A&amp;lt;sup&amp;gt;n+1&amp;lt;/sup&amp;gt;&#039;&#039; und &#039;&#039;B&amp;lt;sup&amp;gt;n+1&amp;lt;/sup&amp;gt;&#039;&#039; entnommen. Sie sind Ausgangspunkt für die rechnerische Bestimmung der Eingangsschaltnetze  der Zustandsvariablenspeicher.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Alle nachfolgend beschriebenen Schaltwerkversionen besitzen die gleichen Ausgangssignale, die aus den Zustandsvariablen des Momentanzustandes ermittelt werden. Die Ausgangssignale sind ´1´-aktiv und werden durch die &amp;quot;Methode des scharfen Ansehens&amp;quot; aus obiger Tabelle erhalten:&amp;lt;br /&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
| style=&amp;quot;width:70%&amp;quot;|&amp;amp;nbsp;&lt;br /&gt;
|&lt;br /&gt;
{|style=&amp;quot; font-style: italic&amp;quot;&lt;br /&gt;
|Stellung1 || =|| style=&amp;quot;text-decoration:overline&amp;quot;| A || &amp;amp;sdot; ||  style=&amp;quot;text-decoration:overline&amp;quot;| B &lt;br /&gt;
|-style=&amp;quot;font-style: italic&amp;quot;&lt;br /&gt;
|Stellung2 || =||  A || &amp;amp;sdot; || style=&amp;quot;text-decoration:overline&amp;quot;| B &lt;br /&gt;
|-style=&amp;quot;font-style: italic&amp;quot;&lt;br /&gt;
|Stellung3 || =|| style=&amp;quot;text-decoration:overline&amp;quot;| A || &amp;amp;sdot; || B &lt;br /&gt;
|-style=&amp;quot;font-style: italic&amp;quot;&lt;br /&gt;
|Stellung4 || =|| A || &amp;amp;sdot; || B &lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 7 Gatterversion ===&lt;br /&gt;
Die klassische Methode, das Eingangsschaltnetz aufzubauen, besteht darin, logische Schaltkreise entsprechend den Übergangsfunktionen miteinander zu kombinieren.&amp;lt;br /&amp;gt;&lt;br /&gt;
Die Liste enthält verschiedene Aspekte dieser Ausführung:&lt;br /&gt;
* [[Media: Stufenschalter1.pdf|Schaltplan der Gatterversion]]&lt;br /&gt;
* [[Media: FFs1Gleichungen.pdf|Berechnungen zur Gatterversion]]&lt;br /&gt;
* [https://www.youtube.com/watch?v=LuBIOe8P5pU Video - das Schaltwerk in Aktion]&lt;br /&gt;
=== 8 Multiplexer Version ===&lt;br /&gt;
Mit einem Multiplexer, der über &#039;&#039;n&#039;&#039; Steuer(Select)eingänge verfügt, können an seinem Ausgang alle&lt;br /&gt;
Kombinationen von &#039;&#039;(n+1)&#039;&#039;-Bool&#039;schen Variablen dargestellt werden. Beispiel: Es liegt ein (4 zu 1)-Multiplexer vor. Dieser ist für 3 Variablen ausreichend, denn &#039;&#039;4=2&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;&#039;&#039;, daher ist &#039;&#039;n=2&#039;&#039; und &#039;&#039;n+1=3&#039;&#039;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Die nachfolgende Liste stellt diese Version des Schaltwerks vor:&lt;br /&gt;
*[[Media:Stufenschalter2.pdf|Schaltplan]]&lt;br /&gt;
*[[Media:ULPs1Gleichungen.pdf|Berechnungen zur Multiplexer Version]]&lt;br /&gt;
&lt;br /&gt;
=== 9 ROM Version ===&lt;br /&gt;
Neben den bisher beschriebenen Verfahren, Schaltfunktionen in Hardware umzusetzen, gibt es die Möglichkeit, diese in einem (nichtflüchtigen) Speicherelement zu realisieren.&amp;lt;br /&amp;gt;&lt;br /&gt;
Ein Festwertspeicher ordnet jeder Eingangskombination(Adresse) der Variablen ein Ausgangsmuster(Daten), das vorgegeben wird, zu. Die Eingangsmatrix des Festwertspeichers kann als UND-Verknüpfung der Eingangsvariablen, die Ausgangsmatrix als ODER-Verknüpfung des Zellinhalts aufgefasst werden - der Speicher bildet die disjunktive Normalform der Eingangsvariablen, wie die Abbildung zeigt:&lt;br /&gt;
{|&lt;br /&gt;
| style=&amp;quot;width:30%&amp;quot;|&amp;amp;nbsp;&lt;br /&gt;
|&lt;br /&gt;
{|style=&amp;quot; font-style: italic&amp;quot;&lt;br /&gt;
|f&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; || =|| style=&amp;quot;text-decoration:overline&amp;quot;| A || style=&amp;quot;text-decoration:overline&amp;quot;| B || + || A ||style=&amp;quot;text-decoration:overline&amp;quot;| B&lt;br /&gt;
|-style=&amp;quot;font-style: italic&amp;quot;&lt;br /&gt;
|f&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; || =||style=&amp;quot;text-decoration:overline&amp;quot;|  A || B || + || A || B&lt;br /&gt;
|-style=&amp;quot;font-style: italic&amp;quot;&lt;br /&gt;
|f&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; || =|| ?&lt;br /&gt;
|}&lt;br /&gt;
| style=&amp;quot;width:10%&amp;quot;|&amp;amp;nbsp;&lt;br /&gt;
|[[Datei:Rommatrix.png|rahmen]]&lt;br /&gt;
|}&lt;br /&gt;
Zwei Dinge sollten bei der Übertragung einer Schaltfunktion in einen Festwertspeicher berücksichtigt werden:&lt;br /&gt;
# die Funktion muß vollständig sein, ggf muß sie auf ihre Normalform gebracht werden&lt;br /&gt;
# falls Redundanzen vorliegen, dann&lt;br /&gt;
#:sollten diese aufgelöst werden (weiter mit Punkt 1) oder&lt;br /&gt;
#:im Falle eines Schaltwerks einen sicheren Zustand adressieren&amp;lt;br /&amp;gt;&lt;br /&gt;
Um den Inhalt des Speichers, der im Schaltwerk eingesetzt werden soll, zu bestimmen, wird von der schon vorhandenen Zustandsfolgetabelle ausgegangen.Die Tabelle wird um zwei Spalten ergänzt, Adressen und Daten.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Eine Adresse wird gebildet, indem man das zeilenweise Bitmuster der Eingangsvariablen als Binärzahl interpretiert und in der Adressspalte notiert. Das gleiche Verfahren wird auf das Bitmuster des Folgezustands angewendet und das Ergebnis in die Datenspalte eingetragen.&lt;br /&gt;
{|{{tabelle}} &lt;br /&gt;
|+&#039;&#039;&#039;Modifizierte Zustandsfolgetabelle&#039;&#039;&#039;&lt;br /&gt;
|-style=&amp;quot;background:#EAECF0&amp;quot;&lt;br /&gt;
!style=&amp;quot;background:#FFEBAD; vertical-align:top&amp;quot; rowspan=&amp;quot;2&amp;quot;|Adresse || colspan=&amp;quot;2&amp;quot;|Eingangssignale||colspan=&amp;quot;2&amp;quot;|aktueller Zustand|| style=&amp;quot;border-left:2px solid&amp;quot; colspan=&amp;quot;2&amp;quot;| Folgezustand|| style=&amp;quot;background:#FFEBAD; vertical-align:top&amp;quot; rowspan=&amp;quot;2&amp;quot; | Daten ||style=&amp;quot;background:#FFFFFF; vertical-align:top&amp;quot; rowspan=&amp;quot;2&amp;quot;|Beschreibung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|U || W || B&amp;lt;sup&amp;gt;n&amp;lt;/sup&amp;gt; || A &amp;lt;sup&amp;gt;n&amp;lt;/sup&amp;gt;||style=&amp;quot;border-left:2px solid&amp;quot;| B&amp;lt;sup&amp;gt;n+1&amp;lt;/sup&amp;gt; || A&amp;lt;sup&amp;gt;n+1&amp;lt;/sup&amp;gt;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0x00|| 0 || 0 || 0 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || 0x00 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; Start&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x08 || 1 || 0 || 0 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 1 ||0x01 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;; nach &amp;quot;links&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x04|| 0 || 1 || 0 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 ||0x00; || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; nach &amp;quot;rechts&amp;quot; → keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x0c|| 1 || 1 || 0 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 ||0x00 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x01|| 0 || 0 || 0 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 1 ||0x01 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;; keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x09|| 1 || 0 || 0 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 0 ||0x02 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;; nach &amp;quot;links&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x05|| 0 || 1 || 0 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 ||0x00 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; nach &amp;quot;rechts&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x0d|| 1 || 1 || 0 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 ||0x00 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; Rücksprung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x02|| 0 || 0 || 1 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 0 ||0x02 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;; keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x0a|| 1 || 0 || 1 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 1 ||0x03 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt;; nach &amp;quot;links&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x06|| 0 || 1 || 1 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 1 ||0x01 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;; nach &amp;quot;rechts&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x0e|| 1 || 1 || 1 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 ||0x00 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; Rücksprung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x03|| 0 || 0 || 1 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 1 ||0x03 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt;; keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x0b|| 1 || 0 || 1 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 1 ||0x03 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt;; nach &amp;quot;links&amp;quot; → keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x07|| 0 || 1 || 1 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 0 ||0x02 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;; nach &amp;quot;rechts&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x0f|| 1 || 1 || 1 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 ||0x00 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; Rücksprung&lt;br /&gt;
|}&lt;br /&gt;
Aus der Tabelle ergibt sich folgende nach Adresse sortierte Speicherbelegung:&lt;br /&gt;
{|{{tabelle}}&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background:#EAECF0&amp;quot;|&amp;lt;b&amp;gt;Adresse&amp;lt;/b&amp;gt;||0x00||0x01||0x02||0x03||0x04||0x05||0x06||0x07||0x08||0x09||0x0a||0x0b||0x0c||0x0d||0x0e||0x0f&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background:#EAECF0&amp;quot;|&amp;lt;b&amp;gt;Daten&amp;lt;/b&amp;gt;||0x00||0x01||0x02||0x03||0x00||0x00||0x01||0x02||0x01||0x02||0x03||0x03||0x00||0x00||0x00||0x00&lt;br /&gt;
|}&lt;br /&gt;
Der Eingangsvektor ist vollständig, die Datenwortbreite beträgt zwei Bit.&amp;lt;br /&amp;gt;&lt;br /&gt;
Die Schaltbilder zeigen diese Form des Schaltwerks.&lt;br /&gt;
*[[Media: Stufenschalter3.pdf|Schaltplan der ROM-Version: EPROM als Festwertspeicher]]&lt;br /&gt;
*[[Media: Stufenschalter4.pdf|Schaltplan der ROM-Version: Diodenmatrix als Festwertspeicher]]&lt;/div&gt;</summary>
		<author><name>Aminox86</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Datei:Stufenschalter4.sch&amp;diff=100362</id>
		<title>Datei:Stufenschalter4.sch</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Datei:Stufenschalter4.sch&amp;diff=100362"/>
		<updated>2019-02-28T08:12:39Z</updated>

		<summary type="html">&lt;p&gt;Aminox86: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Stufenschalter4&lt;/div&gt;</summary>
		<author><name>Aminox86</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Methodischer_Entwurf_einfacher_Schaltwerke&amp;diff=100361</id>
		<title>Methodischer Entwurf einfacher Schaltwerke</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Methodischer_Entwurf_einfacher_Schaltwerke&amp;diff=100361"/>
		<updated>2019-02-28T08:06:16Z</updated>

		<summary type="html">&lt;p&gt;Aminox86: /* 9 ROM Version */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Dieser Artikel beschreibt die Vorgehensweise, einfache sequentielle Schaltungen in der Praxis umzusetzen.&lt;br /&gt;
&lt;br /&gt;
== Intention ==&lt;br /&gt;
Um eine LED blinken zu lassen, muß nicht unbedingt ein Mikrokontroller bemüht werden, wenn sich dieselbe Funktion auch mit ein paar Gattern und Flipflops realisieren lässt. Dabei soll unter einem &amp;quot;einfachen&amp;quot; Schaltwerk eine digitale Schaltung verstanden werden, deren &amp;quot;Verarbeitungsmöglichkeit&amp;quot; begrenzt ist, die zB &amp;quot;nur&amp;quot; zehn Eingangsvariablen aufnehmen kann oder zB &amp;quot;nur&amp;quot; 32 interne Zustände besitzt. Es soll sich daher um ein Gebilde handeln, das im einfachsten Fall aus digitalen Grundbausteinen besteht.&lt;br /&gt;
&lt;br /&gt;
Anhand eines konkreten Beispiels werden verschiedene Möglichkeiten der Realisierung eines Schaltwerks vorgestellt. Hierbei steht die praktische und systematische Umsetzung des gewählten Schaltwerkaufbaus im Vordergrund.&lt;br /&gt;
== 1 ==&lt;br /&gt;
Die Ausgangssignale eines Schaltwerks bzw dessen Zustand zum Betrachtungszeitpunkt werden nicht nur durch die aktuell anliegenden Eingangssignale sondern auch durch die Historie aller Eingangssignale bis zu diesem Zeitpunkt bestimmt. Diese Vorgeschichte wird in Speicherelementen, zB Flipflops, festgehalten. Ihr Inhalt wird an den Eingang des Schaltwerks zurückgeführt und dort mit den externen Signalen verknüpft, wodurch sich ggf der Zustand des Schaltwerks ändert.&amp;lt;br /&amp;gt;&lt;br /&gt;
Die zeitliche Reihenfolge der Zustände ist vorgeben, sie stellt die Funktionalität des Schaltwerks dar.&amp;lt;br /&amp;gt;&lt;br /&gt;
Diese Zustandsänderungen können sofort nach Wertänderung der Eingangsvariablen erfolgen, es liegt ein Asynchronschaltwerk vor, oder nur zu klar voneinander abgegrenzten  Zeitpunkten, es handelt sich dann um ein Synchronschaltwerk. Dieser Artikel beschäftigt sich mit Synchronschaltwerken, die die Struktur eines Moore-Automaten haben.&lt;br /&gt;
[[Bild:SchaltwerkSchema1.png|rechts|rahmen|Schaltwerk]]&lt;br /&gt;
Es liegt in der Natur des gewählten Themas, dass die hier beschriebenen Schaltwerke vorzugsweise aus handelsüblichen Komponenten (Gattern, Flipflops usw.) aufgebaut werden.&lt;br /&gt;
Das Übertragungsverhalten der FF ist durch ihren Aufbau vorgegeben und kann nicht beeinflußt werden.&amp;lt;br /&amp;gt;&lt;br /&gt;
Daher widmet sich dieser Artikel in erster Linie den Gestaltungsmöglichkeiten des Eingangsschaltnetzes unter Berücksichtigung des FF-Typs, auf die Dimensionierung des Ausgangsschaltnetzes wird bei Bedarf eingegangen.&lt;br /&gt;
&lt;br /&gt;
== 2 ==&lt;br /&gt;
Der Entwurf sollte schrittweise erfolgen. Die unten angeführte Reihenfolge ist bewährt, wobei die angeführten Positionen unterschiedlich umfangreich, abhängig von den Anforderungen, ausgestaltet werden können.&lt;br /&gt;
#Funktionsbeschreibung. Diese kann verbal (schriftlich, Handskizze) erfolgen oder durch zB ein Impulsdiagramm vorgegeben sein.&lt;br /&gt;
#Formale Beschreibung. Die in der Funktionsbeschreibung vorgegebenen Rahmenbedingungen werden in ein Zustandsdiagramm überführt. Hier erfolgt die vollständige Beschreibung des Schaltwerks, indem die Aufeinanderfolge der (festzulegenden) Zustände als Reaktion auf Eingangs- und Zustandsvektor bestimmt wird. Ebenfalls kann an dieser Stelle der Ausgangsvektor formuliert werden.&lt;br /&gt;
#Schaltwerkstabelle. Die Schaltwerkstabelle stellt das Zustandsdiagramm in tabellarischer Form dar. Mit ihrer Hilfe kann eine Zustandsminimierung (Zusammenfassen identischer Zustände) des Schaltwerks durchgeführt werden, die idR zu verringertem Bauteilebedarf führt. Änderungen in der Schaltwerkstabelle wirken auf das Zustandsdiagramm zurück.&lt;br /&gt;
#Zustandscodierung. Die Art der Zustandscodierung, insbesondere bei einfachen Synchronschaltwerken, unterliegt keinen Beschränkungen (im Gegensatz zu Asynchronschaltwerken). Die Codierung muß eindeutig sein und hat evtl Einfluß auf den Bauteileaufwand.&lt;br /&gt;
# Zustandsfolgetabelle. Ausgangspunkt der Zustandsfolgetabelle ist das Zustandsdiagramm. In dieser Tabelle findet das sequentielle Verhalten der Schaltung seinen Ausdruck, denn sie ist deutlich zweigeteilt. Eingangsvariablen &#039;&#039;&#039;und&#039;&#039;&#039; aktuelle Zustände werden üblicherweise auf der linken Seite („vor dem Takt“), Folgezustände und ggf Ausgangsvariablen rechts („nach dem Takt“) notiert.  Aus der Zustandsfolgetabelle können, wenn sie als Wahrheitstabelle interpretiert wird, die Übergangsfunktionen der Zustandsspeicher entnommen werden.&lt;br /&gt;
== 3 ==&lt;br /&gt;
Mechanische Bedienelemente elektrischer Geräte wie Kippschalter, Tastenaggregate, Drehschalter usw sind dankbare Objekte für die Emulation durch ein elektronisches Schaltwerk.&amp;lt;br /&amp;gt;&lt;br /&gt;
Das hier gezeigte Beispiel bildet einen Drehschalter, der auf 4 Schaltstellungen begrenzt ist, nach. &lt;br /&gt;
=== 3 ===&lt;br /&gt;
In der nebenstehenden Abbildung ist dargestellt, wie der mechanische Drehschalter in seine elektronische Entsprechung überführt werden soll. Der linke Teil der Abbildung zeigt die Kontakte K1..K4, [[Datei:StufenschalterSchaltwerk.png|rechts|rahmen]]die anwählbaren Stellungen des Schleifers, sowie den zentralen Anschluss K0. Neben den Kontakten ist ein weiteres Attribut eingetragen, hierbei handelt es sich um die Verknüpfung von Schalterstellung und jeweiligem Zustand des Schaltwerks.&amp;lt;br /&amp;gt;&lt;br /&gt;
Im rechten Teil sind das Schaltwerk und seine äußeren Anschlüsse skizziert. Das Schaltwerk reagiert auf zwei Taster. Sie stehen für die linke und/oder rechte Drehung des Schalter und generieren die Eingangssignale &#039;&#039;U&#039;&#039; und &#039;&#039;W&#039;&#039;. Die 4 Stellungen des Drehschalters werden durch die Ausgangssignale &#039;&#039;Stellung1..Stellung4&#039;&#039; repräsentiert.&amp;lt;br /&amp;gt;&lt;br /&gt;
Das Schaltwerk emuliert ausschließlich die mechanische Bewegung des Drehschalters, die elektrischen Eigenschaften des Schalters müssen von separaten Schaltungsteilen umgesetzt werden.&lt;br /&gt;
&lt;br /&gt;
=== 4 ===&lt;br /&gt;
Das Zustandsdiagramm setzt Eingangssignale und  Zustände des Schaltwerks miteinander in Beziehung. &lt;br /&gt;
[[Datei:Zustandsdiagramm.png|rahmen|rechts]]Das Schaltwerk befindet sich nach dem Einschalten in Z0, der den rechten Anschlag des 	emulierten Schalters bildet, denn das Aktivieren der „Taste rechts“ oder der „Tasten links+rechts“ bewirkt an dieser Stelle keine Zustandsänderung. Durch wiederholtes Betätigen der „Taste links“ gelangt man zu den nächsten Zuständen, bis der linke Anschlag erreicht ist. Die „Taste links“ bewirkt in Z3 keine Zustandsänderung. Mit der „Taste rechts“ kann dieser Zustand verlassen werden. Zwischen den Zuständen kann man sich mit den Tasten beliebig hin und her bewegen. Das gleichzeitige Betätigen beider Tasten „Tasten links+rechts“ versetzt das Schaltwerk aus jedem Zustand heraus in den Anfangszustand Z0, ein Verhalten, das mit einem mechanischen Drehschalter nicht möglich ist. Ist keine Taste aktiv verbleibt das Schaltwerk in seinem aktuellen Zustand.&lt;br /&gt;
=== 5 ===&lt;br /&gt;
Die Übergangstabelle enthält die Information des Zustandsdiagramms in tabellarischer Form. Die Signale &#039;&#039;U&#039;&#039; und &#039;&#039;W&#039;&#039; sind als &#039;1&#039;-aktiv eingetragen.&lt;br /&gt;
{|&lt;br /&gt;
| style=&amp;quot;width:45%&amp;quot;|&amp;amp;nbsp;&lt;br /&gt;
|&lt;br /&gt;
{|{{tabelle}}&lt;br /&gt;
|+ &#039;&#039;&#039;Übergangstabelle&#039;&#039;&#039;&lt;br /&gt;
|-style=&amp;quot;text-align:center; &amp;quot;&lt;br /&gt;
!style=&amp;quot;background:#EAECF0&amp;quot;|Folgezustand &lt;br /&gt;
|style=&amp;quot;background:#FFEBAD&amp;quot; colspan=&amp;quot;4&amp;quot;| Eingangssignale U W&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| aktueller Zustand &lt;br /&gt;
|style=&amp;quot;background:#FFEBAD&amp;quot;| 00 || style=&amp;quot;background:#FFEBAD&amp;quot; |01 ||style=&amp;quot;background:#FFEBAD&amp;quot;| 10 || style=&amp;quot;background:#FFEBAD&amp;quot; | 11&lt;br /&gt;
|-style=&amp;quot;text-align:center; background:#EAECF0&amp;quot; &lt;br /&gt;
| style=&amp;quot; background:#F8F9FA&amp;quot; | 0 &lt;br /&gt;
! 0 ||0 ||1 || 0&lt;br /&gt;
|-style=&amp;quot;text-align:center; background:#EAECF0&amp;quot; &lt;br /&gt;
| style=&amp;quot;background:#F8F9FA&amp;quot; | 1&lt;br /&gt;
! 1 || 0 || 2 || 0&lt;br /&gt;
|-style=&amp;quot;text-align:center; background:#EAECF0&amp;quot; &lt;br /&gt;
|style=&amp;quot;background:#F8F9FA&amp;quot; |2&lt;br /&gt;
! 2 || 1 || 3 || 0&lt;br /&gt;
|-style=&amp;quot;text-align:center; background:#EAECF0&amp;quot; &lt;br /&gt;
|style=&amp;quot;background:#F8F9FA&amp;quot; |3&lt;br /&gt;
! 3 || 2 || 3 || 0&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
Bei umfangreichen Schaltwerken kann an dieser Stelle versucht werden, Zustände zusammenzufassen.&lt;br /&gt;
&lt;br /&gt;
=== 6 ===&lt;br /&gt;
Unter Berücksichtigung der Übergangstabelle wird die Zustandsfolgetabelle aufgebaut. Sie enthält die Eingangssignale, den aktuellen Zustand und den Folgezustand des Schaltwerks.&amp;lt;br /&amp;gt;&lt;br /&gt;
Die Zustände liegen in der Wahrheitstabelle in codierter Form vor, in diesem Beispiel sind sie binär codiert und es genügen zwei Zustandsvariablen, &#039;&#039;A&amp;lt;sup&amp;gt;n&amp;lt;/sup&amp;gt;&#039;&#039;(LSD) und &#039;&#039;B&amp;lt;sup&amp;gt;n&amp;lt;/sup&amp;gt;&#039;&#039;(MSD), da das Schaltwerk 4 Zustände einnehmen kann.&lt;br /&gt;
{|&lt;br /&gt;
| style=&amp;quot;width:10%&amp;quot;|&amp;amp;nbsp;&lt;br /&gt;
|&lt;br /&gt;
{|{{tabelle}} &lt;br /&gt;
|+&#039;&#039;&#039;Zustandsfolgetabelle&#039;&#039;&#039;&lt;br /&gt;
|-style=&amp;quot;background:#EAECF0&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;2&amp;quot;|Eingangssignale||colspan=&amp;quot;2&amp;quot;|aktueller Zustand|| style=&amp;quot;border-left:2px solid&amp;quot; colspan=&amp;quot;2&amp;quot;| Folgezustand||style=&amp;quot;background:#FFFFFF; vertical-align:top&amp;quot; rowspan=&amp;quot;2&amp;quot;|Beschreibung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|U || W || B&amp;lt;sup&amp;gt;n&amp;lt;/sup&amp;gt; || A &amp;lt;sup&amp;gt;n&amp;lt;/sup&amp;gt;||style=&amp;quot;border-left:2px solid&amp;quot;| B&amp;lt;sup&amp;gt;n+1&amp;lt;/sup&amp;gt; || A&amp;lt;sup&amp;gt;n+1&amp;lt;/sup&amp;gt;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 0 || 0 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; Start&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 0 || 0 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 1 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;; nach &amp;quot;links&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 1 || 0 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; nach &amp;quot;rechts&amp;quot; → keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 1 || 0 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 0 || 0 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 1 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;; keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 0 || 0 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;; nach &amp;quot;links&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 1 || 0 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; nach &amp;quot;rechts&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 1 || 0 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; Rücksprung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 0 || 1 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;; keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 0 || 1 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 1 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt;; nach &amp;quot;links&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 1 || 1 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 1 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;; nach &amp;quot;rechts&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 1 || 1 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; Rücksprung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 0 || 1 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 1 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt;; keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 0 || 1 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 1 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt;; nach &amp;quot;links&amp;quot; → keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 1 || 1 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;; nach &amp;quot;rechts&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 1 || 1 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; Rücksprung&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
Aus der Zustandsfolgetabelle werden die Übergangsfunktionen der Zustandsvariablen &#039;&#039;A&amp;lt;sup&amp;gt;n+1&amp;lt;/sup&amp;gt;&#039;&#039; und &#039;&#039;B&amp;lt;sup&amp;gt;n+1&amp;lt;/sup&amp;gt;&#039;&#039; entnommen. Sie sind Ausgangspunkt für die rechnerische Bestimmung der Eingangsschaltnetze  der Zustandsvariablenspeicher.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Alle nachfolgend beschriebenen Schaltwerkversionen besitzen die gleichen Ausgangssignale, die aus den Zustandsvariablen des Momentanzustandes ermittelt werden. Die Ausgangssignale sind ´1´-aktiv und werden durch die &amp;quot;Methode des scharfen Ansehens&amp;quot; aus obiger Tabelle erhalten:&amp;lt;br /&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
| style=&amp;quot;width:70%&amp;quot;|&amp;amp;nbsp;&lt;br /&gt;
|&lt;br /&gt;
{|style=&amp;quot; font-style: italic&amp;quot;&lt;br /&gt;
|Stellung1 || =|| style=&amp;quot;text-decoration:overline&amp;quot;| A || &amp;amp;sdot; ||  style=&amp;quot;text-decoration:overline&amp;quot;| B &lt;br /&gt;
|-style=&amp;quot;font-style: italic&amp;quot;&lt;br /&gt;
|Stellung2 || =||  A || &amp;amp;sdot; || style=&amp;quot;text-decoration:overline&amp;quot;| B &lt;br /&gt;
|-style=&amp;quot;font-style: italic&amp;quot;&lt;br /&gt;
|Stellung3 || =|| style=&amp;quot;text-decoration:overline&amp;quot;| A || &amp;amp;sdot; || B &lt;br /&gt;
|-style=&amp;quot;font-style: italic&amp;quot;&lt;br /&gt;
|Stellung4 || =|| A || &amp;amp;sdot; || B &lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 7 Gatterversion ===&lt;br /&gt;
Die klassische Methode, das Eingangsschaltnetz aufzubauen, besteht darin, logische Schaltkreise entsprechend den Übergangsfunktionen miteinander zu kombinieren.&amp;lt;br /&amp;gt;&lt;br /&gt;
Die Liste enthält verschiedene Aspekte dieser Ausführung:&lt;br /&gt;
* [[Media: Stufenschalter1.pdf|Schaltplan der Gatterversion]]&lt;br /&gt;
* [[Media: FFs1Gleichungen.pdf|Berechnungen zur Gatterversion]]&lt;br /&gt;
* [https://www.youtube.com/watch?v=LuBIOe8P5pU Video - das Schaltwerk in Aktion]&lt;br /&gt;
=== 8 Multiplexer Version ===&lt;br /&gt;
Mit einem Multiplexer, der über &#039;&#039;n&#039;&#039; Steuer(Select)eingänge verfügt, können an seinem Ausgang alle&lt;br /&gt;
Kombinationen von &#039;&#039;(n+1)&#039;&#039;-Bool&#039;schen Variablen dargestellt werden. Beispiel: Es liegt ein (4 zu 1)-Multiplexer vor. Dieser ist für 3 Variablen ausreichend, denn &#039;&#039;4=2&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;&#039;&#039;, daher ist &#039;&#039;n=2&#039;&#039; und &#039;&#039;n+1=3&#039;&#039;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Die nachfolgende Liste stellt diese Version des Schaltwerks vor:&lt;br /&gt;
*[[Media:Stufenschalter2.pdf|Schaltplan]]&lt;br /&gt;
*[[Media:ULPs1Gleichungen.pdf|Berechnungen zur Multiplexer Version]]&lt;br /&gt;
&lt;br /&gt;
=== 9 ROM Version ===&lt;br /&gt;
Neben den bisher beschriebenen Verfahren, Schaltfunktionen in Hardware umzusetzen, gibt es die Möglichkeit, diese in einem (nichtflüchtigen) Speicherelement zu realisieren.&amp;lt;br /&amp;gt;&lt;br /&gt;
Ein Festwertspeicher ordnet jeder Eingangskombination(Adresse) der Variablen ein Ausgangsmuster(Daten), das vorgegeben wird, zu. Die Eingangsmatrix des Festwertspeichers kann als UND-Verknüpfung der Eingangsvariablen, die Ausgangsmatrix als ODER-Verknüpfung des Zellinhalts aufgefasst werden - der Speicher bildet die disjunktive Normalform der Eingangsvariablen, wie die Abbildung zeigt:&lt;br /&gt;
{|&lt;br /&gt;
| style=&amp;quot;width:30%&amp;quot;|&amp;amp;nbsp;&lt;br /&gt;
|&lt;br /&gt;
{|style=&amp;quot; font-style: italic&amp;quot;&lt;br /&gt;
|f&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; || =|| style=&amp;quot;text-decoration:overline&amp;quot;| A || style=&amp;quot;text-decoration:overline&amp;quot;| B || + || A ||style=&amp;quot;text-decoration:overline&amp;quot;| B&lt;br /&gt;
|-style=&amp;quot;font-style: italic&amp;quot;&lt;br /&gt;
|f&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; || =||style=&amp;quot;text-decoration:overline&amp;quot;|  A || B || + || A || B&lt;br /&gt;
|-style=&amp;quot;font-style: italic&amp;quot;&lt;br /&gt;
|f&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; || =|| ?&lt;br /&gt;
|}&lt;br /&gt;
| style=&amp;quot;width:10%&amp;quot;|&amp;amp;nbsp;&lt;br /&gt;
|[[Datei:Rommatrix.png|rahmen]]&lt;br /&gt;
|}&lt;br /&gt;
Zwei Dinge sollten bei der Übertragung einer Schaltfunktion in einen Festwertspeicher berücksichtigt werden:&lt;br /&gt;
# die Funktion muß vollständig sein, ggf muß sie auf ihre Normalform gebracht werden&lt;br /&gt;
# falls Redundanzen vorliegen, dann&lt;br /&gt;
#:sollten diese aufgelöst werden (weiter mit Punkt 1) oder&lt;br /&gt;
#:im Falle eines Schaltwerks einen sicheren Zustand adressieren&amp;lt;br /&amp;gt;&lt;br /&gt;
Um den Inhalt des Speichers, der im Schaltwerk eingesetzt werden soll, zu bestimmen, wird von der schon vorhandenen Zustandsfolgetabelle ausgegangen.Die Tabelle wird um zwei Spalten ergänzt, Adressen und Daten.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Eine Adresse wird gebildet, indem man das zeilenweise Bitmuster der Eingangsvariablen als Binärzahl interpretiert und in der Adressspalte notiert. Das gleiche Verfahren wird auf das Bitmuster des Folgezustands angewendet und das Ergebnis in die Datenspalte eingetragen.&lt;br /&gt;
{|{{tabelle}} &lt;br /&gt;
|+&#039;&#039;&#039;Modifizierte Zustandsfolgetabelle&#039;&#039;&#039;&lt;br /&gt;
|-style=&amp;quot;background:#EAECF0&amp;quot;&lt;br /&gt;
!style=&amp;quot;background:#FFEBAD; vertical-align:top&amp;quot; rowspan=&amp;quot;2&amp;quot;|Adresse || colspan=&amp;quot;2&amp;quot;|Eingangssignale||colspan=&amp;quot;2&amp;quot;|aktueller Zustand|| style=&amp;quot;border-left:2px solid&amp;quot; colspan=&amp;quot;2&amp;quot;| Folgezustand|| style=&amp;quot;background:#FFEBAD; vertical-align:top&amp;quot; rowspan=&amp;quot;2&amp;quot; | Daten ||style=&amp;quot;background:#FFFFFF; vertical-align:top&amp;quot; rowspan=&amp;quot;2&amp;quot;|Beschreibung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|U || W || B&amp;lt;sup&amp;gt;n&amp;lt;/sup&amp;gt; || A &amp;lt;sup&amp;gt;n&amp;lt;/sup&amp;gt;||style=&amp;quot;border-left:2px solid&amp;quot;| B&amp;lt;sup&amp;gt;n+1&amp;lt;/sup&amp;gt; || A&amp;lt;sup&amp;gt;n+1&amp;lt;/sup&amp;gt;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0x00|| 0 || 0 || 0 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || 0x00 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; Start&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x08 || 1 || 0 || 0 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 1 ||0x01 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;; nach &amp;quot;links&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x04|| 0 || 1 || 0 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 ||0x00; || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; nach &amp;quot;rechts&amp;quot; → keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x0c|| 1 || 1 || 0 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 ||0x00 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x01|| 0 || 0 || 0 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 1 ||0x01 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;; keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x09|| 1 || 0 || 0 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 0 ||0x02 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;; nach &amp;quot;links&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x05|| 0 || 1 || 0 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 ||0x00 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; nach &amp;quot;rechts&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x0d|| 1 || 1 || 0 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 ||0x00 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; Rücksprung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x02|| 0 || 0 || 1 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 0 ||0x02 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;; keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x0a|| 1 || 0 || 1 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 1 ||0x03 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt;; nach &amp;quot;links&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x06|| 0 || 1 || 1 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 1 ||0x01 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;; nach &amp;quot;rechts&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x0e|| 1 || 1 || 1 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 ||0x00 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; Rücksprung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x03|| 0 || 0 || 1 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 1 ||0x03 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt;; keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x0b|| 1 || 0 || 1 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 1 ||0x03 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt;; nach &amp;quot;links&amp;quot; → keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x07|| 0 || 1 || 1 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 0 ||0x02 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;; nach &amp;quot;rechts&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x0f|| 1 || 1 || 1 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 ||0x00 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; Rücksprung&lt;br /&gt;
|}&lt;br /&gt;
Aus der Tabelle ergibt sich folgende nach Adresse sortierte Speicherbelegung:&lt;br /&gt;
{|{{tabelle}}&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background:#EAECF0&amp;quot;|&amp;lt;b&amp;gt;Adresse&amp;lt;/b&amp;gt;||0x00||0x01||0x02||0x03||0x04||0x05||0x06||0x07||0x08||0x09||0x0a||0x0b||0x0c||0x0d||0x0e||0x0f&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background:#EAECF0&amp;quot;|&amp;lt;b&amp;gt;Daten&amp;lt;/b&amp;gt;||0x00||0x01||0x02||0x03||0x00||0x00||0x01||0x02||0x01||0x02||0x03||0x03||0x00||0x00||0x00||0x00&lt;br /&gt;
|}&lt;br /&gt;
Der Eingangsvektor ist vollständig, die Datenwortbreite beträgt zwei Bit.&amp;lt;br /&amp;gt;&lt;br /&gt;
Die Schaltbilder zeigen diese Form des Schaltwerks.&lt;br /&gt;
*[[Stufenschalter3.pdf|Schaltplan der ROM-Version: EPROM als Festwertspeicher]]&lt;/div&gt;</summary>
		<author><name>Aminox86</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Datei:Stufenschalter3.pdf&amp;diff=100360</id>
		<title>Datei:Stufenschalter3.pdf</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Datei:Stufenschalter3.pdf&amp;diff=100360"/>
		<updated>2019-02-28T08:04:41Z</updated>

		<summary type="html">&lt;p&gt;Aminox86: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Aminox86</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Methodischer_Entwurf_einfacher_Schaltwerke&amp;diff=100359</id>
		<title>Methodischer Entwurf einfacher Schaltwerke</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Methodischer_Entwurf_einfacher_Schaltwerke&amp;diff=100359"/>
		<updated>2019-02-28T08:01:16Z</updated>

		<summary type="html">&lt;p&gt;Aminox86: /* 9 ROM Version */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Dieser Artikel beschreibt die Vorgehensweise, einfache sequentielle Schaltungen in der Praxis umzusetzen.&lt;br /&gt;
&lt;br /&gt;
== Intention ==&lt;br /&gt;
Um eine LED blinken zu lassen, muß nicht unbedingt ein Mikrokontroller bemüht werden, wenn sich dieselbe Funktion auch mit ein paar Gattern und Flipflops realisieren lässt. Dabei soll unter einem &amp;quot;einfachen&amp;quot; Schaltwerk eine digitale Schaltung verstanden werden, deren &amp;quot;Verarbeitungsmöglichkeit&amp;quot; begrenzt ist, die zB &amp;quot;nur&amp;quot; zehn Eingangsvariablen aufnehmen kann oder zB &amp;quot;nur&amp;quot; 32 interne Zustände besitzt. Es soll sich daher um ein Gebilde handeln, das im einfachsten Fall aus digitalen Grundbausteinen besteht.&lt;br /&gt;
&lt;br /&gt;
Anhand eines konkreten Beispiels werden verschiedene Möglichkeiten der Realisierung eines Schaltwerks vorgestellt. Hierbei steht die praktische und systematische Umsetzung des gewählten Schaltwerkaufbaus im Vordergrund.&lt;br /&gt;
== 1 ==&lt;br /&gt;
Die Ausgangssignale eines Schaltwerks bzw dessen Zustand zum Betrachtungszeitpunkt werden nicht nur durch die aktuell anliegenden Eingangssignale sondern auch durch die Historie aller Eingangssignale bis zu diesem Zeitpunkt bestimmt. Diese Vorgeschichte wird in Speicherelementen, zB Flipflops, festgehalten. Ihr Inhalt wird an den Eingang des Schaltwerks zurückgeführt und dort mit den externen Signalen verknüpft, wodurch sich ggf der Zustand des Schaltwerks ändert.&amp;lt;br /&amp;gt;&lt;br /&gt;
Die zeitliche Reihenfolge der Zustände ist vorgeben, sie stellt die Funktionalität des Schaltwerks dar.&amp;lt;br /&amp;gt;&lt;br /&gt;
Diese Zustandsänderungen können sofort nach Wertänderung der Eingangsvariablen erfolgen, es liegt ein Asynchronschaltwerk vor, oder nur zu klar voneinander abgegrenzten  Zeitpunkten, es handelt sich dann um ein Synchronschaltwerk. Dieser Artikel beschäftigt sich mit Synchronschaltwerken, die die Struktur eines Moore-Automaten haben.&lt;br /&gt;
[[Bild:SchaltwerkSchema1.png|rechts|rahmen|Schaltwerk]]&lt;br /&gt;
Es liegt in der Natur des gewählten Themas, dass die hier beschriebenen Schaltwerke vorzugsweise aus handelsüblichen Komponenten (Gattern, Flipflops usw.) aufgebaut werden.&lt;br /&gt;
Das Übertragungsverhalten der FF ist durch ihren Aufbau vorgegeben und kann nicht beeinflußt werden.&amp;lt;br /&amp;gt;&lt;br /&gt;
Daher widmet sich dieser Artikel in erster Linie den Gestaltungsmöglichkeiten des Eingangsschaltnetzes unter Berücksichtigung des FF-Typs, auf die Dimensionierung des Ausgangsschaltnetzes wird bei Bedarf eingegangen.&lt;br /&gt;
&lt;br /&gt;
== 2 ==&lt;br /&gt;
Der Entwurf sollte schrittweise erfolgen. Die unten angeführte Reihenfolge ist bewährt, wobei die angeführten Positionen unterschiedlich umfangreich, abhängig von den Anforderungen, ausgestaltet werden können.&lt;br /&gt;
#Funktionsbeschreibung. Diese kann verbal (schriftlich, Handskizze) erfolgen oder durch zB ein Impulsdiagramm vorgegeben sein.&lt;br /&gt;
#Formale Beschreibung. Die in der Funktionsbeschreibung vorgegebenen Rahmenbedingungen werden in ein Zustandsdiagramm überführt. Hier erfolgt die vollständige Beschreibung des Schaltwerks, indem die Aufeinanderfolge der (festzulegenden) Zustände als Reaktion auf Eingangs- und Zustandsvektor bestimmt wird. Ebenfalls kann an dieser Stelle der Ausgangsvektor formuliert werden.&lt;br /&gt;
#Schaltwerkstabelle. Die Schaltwerkstabelle stellt das Zustandsdiagramm in tabellarischer Form dar. Mit ihrer Hilfe kann eine Zustandsminimierung (Zusammenfassen identischer Zustände) des Schaltwerks durchgeführt werden, die idR zu verringertem Bauteilebedarf führt. Änderungen in der Schaltwerkstabelle wirken auf das Zustandsdiagramm zurück.&lt;br /&gt;
#Zustandscodierung. Die Art der Zustandscodierung, insbesondere bei einfachen Synchronschaltwerken, unterliegt keinen Beschränkungen (im Gegensatz zu Asynchronschaltwerken). Die Codierung muß eindeutig sein und hat evtl Einfluß auf den Bauteileaufwand.&lt;br /&gt;
# Zustandsfolgetabelle. Ausgangspunkt der Zustandsfolgetabelle ist das Zustandsdiagramm. In dieser Tabelle findet das sequentielle Verhalten der Schaltung seinen Ausdruck, denn sie ist deutlich zweigeteilt. Eingangsvariablen &#039;&#039;&#039;und&#039;&#039;&#039; aktuelle Zustände werden üblicherweise auf der linken Seite („vor dem Takt“), Folgezustände und ggf Ausgangsvariablen rechts („nach dem Takt“) notiert.  Aus der Zustandsfolgetabelle können, wenn sie als Wahrheitstabelle interpretiert wird, die Übergangsfunktionen der Zustandsspeicher entnommen werden.&lt;br /&gt;
== 3 ==&lt;br /&gt;
Mechanische Bedienelemente elektrischer Geräte wie Kippschalter, Tastenaggregate, Drehschalter usw sind dankbare Objekte für die Emulation durch ein elektronisches Schaltwerk.&amp;lt;br /&amp;gt;&lt;br /&gt;
Das hier gezeigte Beispiel bildet einen Drehschalter, der auf 4 Schaltstellungen begrenzt ist, nach. &lt;br /&gt;
=== 3 ===&lt;br /&gt;
In der nebenstehenden Abbildung ist dargestellt, wie der mechanische Drehschalter in seine elektronische Entsprechung überführt werden soll. Der linke Teil der Abbildung zeigt die Kontakte K1..K4, [[Datei:StufenschalterSchaltwerk.png|rechts|rahmen]]die anwählbaren Stellungen des Schleifers, sowie den zentralen Anschluss K0. Neben den Kontakten ist ein weiteres Attribut eingetragen, hierbei handelt es sich um die Verknüpfung von Schalterstellung und jeweiligem Zustand des Schaltwerks.&amp;lt;br /&amp;gt;&lt;br /&gt;
Im rechten Teil sind das Schaltwerk und seine äußeren Anschlüsse skizziert. Das Schaltwerk reagiert auf zwei Taster. Sie stehen für die linke und/oder rechte Drehung des Schalter und generieren die Eingangssignale &#039;&#039;U&#039;&#039; und &#039;&#039;W&#039;&#039;. Die 4 Stellungen des Drehschalters werden durch die Ausgangssignale &#039;&#039;Stellung1..Stellung4&#039;&#039; repräsentiert.&amp;lt;br /&amp;gt;&lt;br /&gt;
Das Schaltwerk emuliert ausschließlich die mechanische Bewegung des Drehschalters, die elektrischen Eigenschaften des Schalters müssen von separaten Schaltungsteilen umgesetzt werden.&lt;br /&gt;
&lt;br /&gt;
=== 4 ===&lt;br /&gt;
Das Zustandsdiagramm setzt Eingangssignale und  Zustände des Schaltwerks miteinander in Beziehung. &lt;br /&gt;
[[Datei:Zustandsdiagramm.png|rahmen|rechts]]Das Schaltwerk befindet sich nach dem Einschalten in Z0, der den rechten Anschlag des 	emulierten Schalters bildet, denn das Aktivieren der „Taste rechts“ oder der „Tasten links+rechts“ bewirkt an dieser Stelle keine Zustandsänderung. Durch wiederholtes Betätigen der „Taste links“ gelangt man zu den nächsten Zuständen, bis der linke Anschlag erreicht ist. Die „Taste links“ bewirkt in Z3 keine Zustandsänderung. Mit der „Taste rechts“ kann dieser Zustand verlassen werden. Zwischen den Zuständen kann man sich mit den Tasten beliebig hin und her bewegen. Das gleichzeitige Betätigen beider Tasten „Tasten links+rechts“ versetzt das Schaltwerk aus jedem Zustand heraus in den Anfangszustand Z0, ein Verhalten, das mit einem mechanischen Drehschalter nicht möglich ist. Ist keine Taste aktiv verbleibt das Schaltwerk in seinem aktuellen Zustand.&lt;br /&gt;
=== 5 ===&lt;br /&gt;
Die Übergangstabelle enthält die Information des Zustandsdiagramms in tabellarischer Form. Die Signale &#039;&#039;U&#039;&#039; und &#039;&#039;W&#039;&#039; sind als &#039;1&#039;-aktiv eingetragen.&lt;br /&gt;
{|&lt;br /&gt;
| style=&amp;quot;width:45%&amp;quot;|&amp;amp;nbsp;&lt;br /&gt;
|&lt;br /&gt;
{|{{tabelle}}&lt;br /&gt;
|+ &#039;&#039;&#039;Übergangstabelle&#039;&#039;&#039;&lt;br /&gt;
|-style=&amp;quot;text-align:center; &amp;quot;&lt;br /&gt;
!style=&amp;quot;background:#EAECF0&amp;quot;|Folgezustand &lt;br /&gt;
|style=&amp;quot;background:#FFEBAD&amp;quot; colspan=&amp;quot;4&amp;quot;| Eingangssignale U W&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| aktueller Zustand &lt;br /&gt;
|style=&amp;quot;background:#FFEBAD&amp;quot;| 00 || style=&amp;quot;background:#FFEBAD&amp;quot; |01 ||style=&amp;quot;background:#FFEBAD&amp;quot;| 10 || style=&amp;quot;background:#FFEBAD&amp;quot; | 11&lt;br /&gt;
|-style=&amp;quot;text-align:center; background:#EAECF0&amp;quot; &lt;br /&gt;
| style=&amp;quot; background:#F8F9FA&amp;quot; | 0 &lt;br /&gt;
! 0 ||0 ||1 || 0&lt;br /&gt;
|-style=&amp;quot;text-align:center; background:#EAECF0&amp;quot; &lt;br /&gt;
| style=&amp;quot;background:#F8F9FA&amp;quot; | 1&lt;br /&gt;
! 1 || 0 || 2 || 0&lt;br /&gt;
|-style=&amp;quot;text-align:center; background:#EAECF0&amp;quot; &lt;br /&gt;
|style=&amp;quot;background:#F8F9FA&amp;quot; |2&lt;br /&gt;
! 2 || 1 || 3 || 0&lt;br /&gt;
|-style=&amp;quot;text-align:center; background:#EAECF0&amp;quot; &lt;br /&gt;
|style=&amp;quot;background:#F8F9FA&amp;quot; |3&lt;br /&gt;
! 3 || 2 || 3 || 0&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
Bei umfangreichen Schaltwerken kann an dieser Stelle versucht werden, Zustände zusammenzufassen.&lt;br /&gt;
&lt;br /&gt;
=== 6 ===&lt;br /&gt;
Unter Berücksichtigung der Übergangstabelle wird die Zustandsfolgetabelle aufgebaut. Sie enthält die Eingangssignale, den aktuellen Zustand und den Folgezustand des Schaltwerks.&amp;lt;br /&amp;gt;&lt;br /&gt;
Die Zustände liegen in der Wahrheitstabelle in codierter Form vor, in diesem Beispiel sind sie binär codiert und es genügen zwei Zustandsvariablen, &#039;&#039;A&amp;lt;sup&amp;gt;n&amp;lt;/sup&amp;gt;&#039;&#039;(LSD) und &#039;&#039;B&amp;lt;sup&amp;gt;n&amp;lt;/sup&amp;gt;&#039;&#039;(MSD), da das Schaltwerk 4 Zustände einnehmen kann.&lt;br /&gt;
{|&lt;br /&gt;
| style=&amp;quot;width:10%&amp;quot;|&amp;amp;nbsp;&lt;br /&gt;
|&lt;br /&gt;
{|{{tabelle}} &lt;br /&gt;
|+&#039;&#039;&#039;Zustandsfolgetabelle&#039;&#039;&#039;&lt;br /&gt;
|-style=&amp;quot;background:#EAECF0&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;2&amp;quot;|Eingangssignale||colspan=&amp;quot;2&amp;quot;|aktueller Zustand|| style=&amp;quot;border-left:2px solid&amp;quot; colspan=&amp;quot;2&amp;quot;| Folgezustand||style=&amp;quot;background:#FFFFFF; vertical-align:top&amp;quot; rowspan=&amp;quot;2&amp;quot;|Beschreibung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|U || W || B&amp;lt;sup&amp;gt;n&amp;lt;/sup&amp;gt; || A &amp;lt;sup&amp;gt;n&amp;lt;/sup&amp;gt;||style=&amp;quot;border-left:2px solid&amp;quot;| B&amp;lt;sup&amp;gt;n+1&amp;lt;/sup&amp;gt; || A&amp;lt;sup&amp;gt;n+1&amp;lt;/sup&amp;gt;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 0 || 0 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; Start&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 0 || 0 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 1 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;; nach &amp;quot;links&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 1 || 0 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; nach &amp;quot;rechts&amp;quot; → keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 1 || 0 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 0 || 0 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 1 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;; keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 0 || 0 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;; nach &amp;quot;links&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 1 || 0 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; nach &amp;quot;rechts&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 1 || 0 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; Rücksprung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 0 || 1 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;; keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 0 || 1 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 1 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt;; nach &amp;quot;links&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 1 || 1 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 1 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;; nach &amp;quot;rechts&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 1 || 1 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; Rücksprung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 0 || 1 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 1 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt;; keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 0 || 1 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 1 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt;; nach &amp;quot;links&amp;quot; → keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 1 || 1 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;; nach &amp;quot;rechts&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 1 || 1 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; Rücksprung&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
Aus der Zustandsfolgetabelle werden die Übergangsfunktionen der Zustandsvariablen &#039;&#039;A&amp;lt;sup&amp;gt;n+1&amp;lt;/sup&amp;gt;&#039;&#039; und &#039;&#039;B&amp;lt;sup&amp;gt;n+1&amp;lt;/sup&amp;gt;&#039;&#039; entnommen. Sie sind Ausgangspunkt für die rechnerische Bestimmung der Eingangsschaltnetze  der Zustandsvariablenspeicher.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Alle nachfolgend beschriebenen Schaltwerkversionen besitzen die gleichen Ausgangssignale, die aus den Zustandsvariablen des Momentanzustandes ermittelt werden. Die Ausgangssignale sind ´1´-aktiv und werden durch die &amp;quot;Methode des scharfen Ansehens&amp;quot; aus obiger Tabelle erhalten:&amp;lt;br /&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
| style=&amp;quot;width:70%&amp;quot;|&amp;amp;nbsp;&lt;br /&gt;
|&lt;br /&gt;
{|style=&amp;quot; font-style: italic&amp;quot;&lt;br /&gt;
|Stellung1 || =|| style=&amp;quot;text-decoration:overline&amp;quot;| A || &amp;amp;sdot; ||  style=&amp;quot;text-decoration:overline&amp;quot;| B &lt;br /&gt;
|-style=&amp;quot;font-style: italic&amp;quot;&lt;br /&gt;
|Stellung2 || =||  A || &amp;amp;sdot; || style=&amp;quot;text-decoration:overline&amp;quot;| B &lt;br /&gt;
|-style=&amp;quot;font-style: italic&amp;quot;&lt;br /&gt;
|Stellung3 || =|| style=&amp;quot;text-decoration:overline&amp;quot;| A || &amp;amp;sdot; || B &lt;br /&gt;
|-style=&amp;quot;font-style: italic&amp;quot;&lt;br /&gt;
|Stellung4 || =|| A || &amp;amp;sdot; || B &lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 7 Gatterversion ===&lt;br /&gt;
Die klassische Methode, das Eingangsschaltnetz aufzubauen, besteht darin, logische Schaltkreise entsprechend den Übergangsfunktionen miteinander zu kombinieren.&amp;lt;br /&amp;gt;&lt;br /&gt;
Die Liste enthält verschiedene Aspekte dieser Ausführung:&lt;br /&gt;
* [[Media: Stufenschalter1.pdf|Schaltplan der Gatterversion]]&lt;br /&gt;
* [[Media: FFs1Gleichungen.pdf|Berechnungen zur Gatterversion]]&lt;br /&gt;
* [https://www.youtube.com/watch?v=LuBIOe8P5pU Video - das Schaltwerk in Aktion]&lt;br /&gt;
=== 8 Multiplexer Version ===&lt;br /&gt;
Mit einem Multiplexer, der über &#039;&#039;n&#039;&#039; Steuer(Select)eingänge verfügt, können an seinem Ausgang alle&lt;br /&gt;
Kombinationen von &#039;&#039;(n+1)&#039;&#039;-Bool&#039;schen Variablen dargestellt werden. Beispiel: Es liegt ein (4 zu 1)-Multiplexer vor. Dieser ist für 3 Variablen ausreichend, denn &#039;&#039;4=2&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;&#039;&#039;, daher ist &#039;&#039;n=2&#039;&#039; und &#039;&#039;n+1=3&#039;&#039;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Die nachfolgende Liste stellt diese Version des Schaltwerks vor:&lt;br /&gt;
*[[Media:Stufenschalter2.pdf|Schaltplan]]&lt;br /&gt;
*[[Media:ULPs1Gleichungen.pdf|Berechnungen zur Multiplexer Version]]&lt;br /&gt;
&lt;br /&gt;
=== 9 ROM Version ===&lt;br /&gt;
Neben den bisher beschriebenen Verfahren, Schaltfunktionen in Hardware umzusetzen, gibt es die Möglichkeit, diese in einem (nichtflüchtigen) Speicherelement zu realisieren.&amp;lt;br /&amp;gt;&lt;br /&gt;
Ein Festwertspeicher ordnet jeder Eingangskombination(Adresse) der Variablen ein Ausgangsmuster(Daten), das vorgegeben wird, zu. Die Eingangsmatrix des Festwertspeichers kann als UND-Verknüpfung der Eingangsvariablen, die Ausgangsmatrix als ODER-Verknüpfung des Zellinhalts aufgefasst werden - der Speicher bildet die disjunktive Normalform der Eingangsvariablen, wie die Abbildung zeigt:&lt;br /&gt;
{|&lt;br /&gt;
| style=&amp;quot;width:30%&amp;quot;|&amp;amp;nbsp;&lt;br /&gt;
|&lt;br /&gt;
{|style=&amp;quot; font-style: italic&amp;quot;&lt;br /&gt;
|f&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; || =|| style=&amp;quot;text-decoration:overline&amp;quot;| A || style=&amp;quot;text-decoration:overline&amp;quot;| B || + || A ||style=&amp;quot;text-decoration:overline&amp;quot;| B&lt;br /&gt;
|-style=&amp;quot;font-style: italic&amp;quot;&lt;br /&gt;
|f&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; || =||style=&amp;quot;text-decoration:overline&amp;quot;|  A || B || + || A || B&lt;br /&gt;
|-style=&amp;quot;font-style: italic&amp;quot;&lt;br /&gt;
|f&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; || =|| ?&lt;br /&gt;
|}&lt;br /&gt;
| style=&amp;quot;width:10%&amp;quot;|&amp;amp;nbsp;&lt;br /&gt;
|[[Datei:Rommatrix.png|rahmen]]&lt;br /&gt;
|}&lt;br /&gt;
Zwei Dinge sollten bei der Übertragung einer Schaltfunktion in einen Festwertspeicher berücksichtigt werden:&lt;br /&gt;
# die Funktion muß vollständig sein, ggf muß sie auf ihre Normalform gebracht werden&lt;br /&gt;
# falls Redundanzen vorliegen, dann&lt;br /&gt;
#:sollten diese aufgelöst werden (weiter mit Punkt 1) oder&lt;br /&gt;
#:im Falle eines Schaltwerks einen sicheren Zustand adressieren&amp;lt;br /&amp;gt;&lt;br /&gt;
Um den Inhalt des Speichers, der im Schaltwerk eingesetzt werden soll, zu bestimmen, wird von der schon vorhandenen Zustandsfolgetabelle ausgegangen.Die Tabelle wird um zwei Spalten ergänzt, Adressen und Daten.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Eine Adresse wird gebildet, indem man das zeilenweise Bitmuster der Eingangsvariablen als Binärzahl interpretiert und in der Adressspalte notiert. Das gleiche Verfahren wird auf das Bitmuster des Folgezustands angewendet und das Ergebnis in die Datenspalte eingetragen.&lt;br /&gt;
{|{{tabelle}} &lt;br /&gt;
|+&#039;&#039;&#039;Modifizierte Zustandsfolgetabelle&#039;&#039;&#039;&lt;br /&gt;
|-style=&amp;quot;background:#EAECF0&amp;quot;&lt;br /&gt;
!style=&amp;quot;background:#FFEBAD; vertical-align:top&amp;quot; rowspan=&amp;quot;2&amp;quot;|Adresse || colspan=&amp;quot;2&amp;quot;|Eingangssignale||colspan=&amp;quot;2&amp;quot;|aktueller Zustand|| style=&amp;quot;border-left:2px solid&amp;quot; colspan=&amp;quot;2&amp;quot;| Folgezustand|| style=&amp;quot;background:#FFEBAD; vertical-align:top&amp;quot; rowspan=&amp;quot;2&amp;quot; | Daten ||style=&amp;quot;background:#FFFFFF; vertical-align:top&amp;quot; rowspan=&amp;quot;2&amp;quot;|Beschreibung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|U || W || B&amp;lt;sup&amp;gt;n&amp;lt;/sup&amp;gt; || A &amp;lt;sup&amp;gt;n&amp;lt;/sup&amp;gt;||style=&amp;quot;border-left:2px solid&amp;quot;| B&amp;lt;sup&amp;gt;n+1&amp;lt;/sup&amp;gt; || A&amp;lt;sup&amp;gt;n+1&amp;lt;/sup&amp;gt;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0x00|| 0 || 0 || 0 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || 0x00 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; Start&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x08 || 1 || 0 || 0 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 1 ||0x01 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;; nach &amp;quot;links&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x04|| 0 || 1 || 0 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 ||0x00; || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; nach &amp;quot;rechts&amp;quot; → keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x0c|| 1 || 1 || 0 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 ||0x00 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x01|| 0 || 0 || 0 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 1 ||0x01 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;; keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x09|| 1 || 0 || 0 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 0 ||0x02 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;; nach &amp;quot;links&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x05|| 0 || 1 || 0 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 ||0x00 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; nach &amp;quot;rechts&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x0d|| 1 || 1 || 0 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 ||0x00 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; Rücksprung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x02|| 0 || 0 || 1 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 0 ||0x02 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;; keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x0a|| 1 || 0 || 1 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 1 ||0x03 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt;; nach &amp;quot;links&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x06|| 0 || 1 || 1 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 1 ||0x01 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;; nach &amp;quot;rechts&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x0e|| 1 || 1 || 1 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 ||0x00 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; Rücksprung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x03|| 0 || 0 || 1 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 1 ||0x03 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt;; keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x0b|| 1 || 0 || 1 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 1 ||0x03 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt;; nach &amp;quot;links&amp;quot; → keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x07|| 0 || 1 || 1 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 0 ||0x02 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;; nach &amp;quot;rechts&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x0f|| 1 || 1 || 1 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 ||0x00 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; Rücksprung&lt;br /&gt;
|}&lt;br /&gt;
Aus der Tabelle ergibt sich folgende nach Adresse sortierte Speicherbelegung:&lt;br /&gt;
{|{{tabelle}}&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background:#EAECF0&amp;quot;|&amp;lt;b&amp;gt;Adresse&amp;lt;/b&amp;gt;||0x00||0x01||0x02||0x03||0x04||0x05||0x06||0x07||0x08||0x09||0x0a||0x0b||0x0c||0x0d||0x0e||0x0f&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background:#EAECF0&amp;quot;|&amp;lt;b&amp;gt;Daten&amp;lt;/b&amp;gt;||0x00||0x01||0x02||0x03||0x00||0x00||0x01||0x02||0x01||0x02||0x03||0x03||0x00||0x00||0x00||0x00&lt;br /&gt;
|}&lt;br /&gt;
Der Eingangsvektor ist vollständig, die Datenwortbreite beträgt zwei Bit.&amp;lt;br /&amp;gt;&lt;br /&gt;
Die Schaltbilder zeigen diese Form des Schaltwerks.&lt;br /&gt;
*&lt;br /&gt;
Schaltplan der ROM-Version: EPROM als Festwertspeicher&lt;/div&gt;</summary>
		<author><name>Aminox86</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Datei:Stufenschalter3.png&amp;diff=100358</id>
		<title>Datei:Stufenschalter3.png</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Datei:Stufenschalter3.png&amp;diff=100358"/>
		<updated>2019-02-28T07:58:09Z</updated>

		<summary type="html">&lt;p&gt;Aminox86: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Stufenschalter3&lt;/div&gt;</summary>
		<author><name>Aminox86</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Methodischer_Entwurf_einfacher_Schaltwerke&amp;diff=100352</id>
		<title>Methodischer Entwurf einfacher Schaltwerke</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Methodischer_Entwurf_einfacher_Schaltwerke&amp;diff=100352"/>
		<updated>2019-02-25T12:45:32Z</updated>

		<summary type="html">&lt;p&gt;Aminox86: /* 9 ROM Version */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Dieser Artikel beschreibt die Vorgehensweise, einfache sequentielle Schaltungen in der Praxis umzusetzen.&lt;br /&gt;
&lt;br /&gt;
== Intention ==&lt;br /&gt;
Um eine LED blinken zu lassen, muß nicht unbedingt ein Mikrokontroller bemüht werden, wenn sich dieselbe Funktion auch mit ein paar Gattern und Flipflops realisieren lässt. Dabei soll unter einem &amp;quot;einfachen&amp;quot; Schaltwerk eine digitale Schaltung verstanden werden, deren &amp;quot;Verarbeitungsmöglichkeit&amp;quot; begrenzt ist, die zB &amp;quot;nur&amp;quot; zehn Eingangsvariablen aufnehmen kann oder zB &amp;quot;nur&amp;quot; 32 interne Zustände besitzt. Es soll sich daher um ein Gebilde handeln, das im einfachsten Fall aus digitalen Grundbausteinen besteht.&lt;br /&gt;
&lt;br /&gt;
Anhand eines konkreten Beispiels werden verschiedene Möglichkeiten der Realisierung eines Schaltwerks vorgestellt. Hierbei steht die praktische und systematische Umsetzung des gewählten Schaltwerkaufbaus im Vordergrund.&lt;br /&gt;
== 1 ==&lt;br /&gt;
Die Ausgangssignale eines Schaltwerks bzw dessen Zustand zum Betrachtungszeitpunkt werden nicht nur durch die aktuell anliegenden Eingangssignale sondern auch durch die Historie aller Eingangssignale bis zu diesem Zeitpunkt bestimmt. Diese Vorgeschichte wird in Speicherelementen, zB Flipflops, festgehalten. Ihr Inhalt wird an den Eingang des Schaltwerks zurückgeführt und dort mit den externen Signalen verknüpft, wodurch sich ggf der Zustand des Schaltwerks ändert.&amp;lt;br /&amp;gt;&lt;br /&gt;
Die zeitliche Reihenfolge der Zustände ist vorgeben, sie stellt die Funktionalität des Schaltwerks dar.&amp;lt;br /&amp;gt;&lt;br /&gt;
Diese Zustandsänderungen können sofort nach Wertänderung der Eingangsvariablen erfolgen, es liegt ein Asynchronschaltwerk vor, oder nur zu klar voneinander abgegrenzten  Zeitpunkten, es handelt sich dann um ein Synchronschaltwerk. Dieser Artikel beschäftigt sich mit Synchronschaltwerken, die die Struktur eines Moore-Automaten haben.&lt;br /&gt;
[[Bild:SchaltwerkSchema1.png|rechts|rahmen|Schaltwerk]]&lt;br /&gt;
Es liegt in der Natur des gewählten Themas, dass die hier beschriebenen Schaltwerke vorzugsweise aus handelsüblichen Komponenten (Gattern, Flipflops usw.) aufgebaut werden.&lt;br /&gt;
Das Übertragungsverhalten der FF ist durch ihren Aufbau vorgegeben und kann nicht beeinflußt werden.&amp;lt;br /&amp;gt;&lt;br /&gt;
Daher widmet sich dieser Artikel in erster Linie den Gestaltungsmöglichkeiten des Eingangsschaltnetzes unter Berücksichtigung des FF-Typs, auf die Dimensionierung des Ausgangsschaltnetzes wird bei Bedarf eingegangen.&lt;br /&gt;
&lt;br /&gt;
== 2 ==&lt;br /&gt;
Der Entwurf sollte schrittweise erfolgen. Die unten angeführte Reihenfolge ist bewährt, wobei die angeführten Positionen unterschiedlich umfangreich, abhängig von den Anforderungen, ausgestaltet werden können.&lt;br /&gt;
#Funktionsbeschreibung. Diese kann verbal (schriftlich, Handskizze) erfolgen oder durch zB ein Impulsdiagramm vorgegeben sein.&lt;br /&gt;
#Formale Beschreibung. Die in der Funktionsbeschreibung vorgegebenen Rahmenbedingungen werden in ein Zustandsdiagramm überführt. Hier erfolgt die vollständige Beschreibung des Schaltwerks, indem die Aufeinanderfolge der (festzulegenden) Zustände als Reaktion auf Eingangs- und Zustandsvektor bestimmt wird. Ebenfalls kann an dieser Stelle der Ausgangsvektor formuliert werden.&lt;br /&gt;
#Schaltwerkstabelle. Die Schaltwerkstabelle stellt das Zustandsdiagramm in tabellarischer Form dar. Mit ihrer Hilfe kann eine Zustandsminimierung (Zusammenfassen identischer Zustände) des Schaltwerks durchgeführt werden, die idR zu verringertem Bauteilebedarf führt. Änderungen in der Schaltwerkstabelle wirken auf das Zustandsdiagramm zurück.&lt;br /&gt;
#Zustandscodierung. Die Art der Zustandscodierung, insbesondere bei einfachen Synchronschaltwerken, unterliegt keinen Beschränkungen (im Gegensatz zu Asynchronschaltwerken). Die Codierung muß eindeutig sein und hat evtl Einfluß auf den Bauteileaufwand.&lt;br /&gt;
# Zustandsfolgetabelle. Ausgangspunkt der Zustandsfolgetabelle ist das Zustandsdiagramm. In dieser Tabelle findet das sequentielle Verhalten der Schaltung seinen Ausdruck, denn sie ist deutlich zweigeteilt. Eingangsvariablen &#039;&#039;&#039;und&#039;&#039;&#039; aktuelle Zustände werden üblicherweise auf der linken Seite („vor dem Takt“), Folgezustände und ggf Ausgangsvariablen rechts („nach dem Takt“) notiert.  Aus der Zustandsfolgetabelle können, wenn sie als Wahrheitstabelle interpretiert wird, die Übergangsfunktionen der Zustandsspeicher entnommen werden.&lt;br /&gt;
== 3 ==&lt;br /&gt;
Mechanische Bedienelemente elektrischer Geräte wie Kippschalter, Tastenaggregate, Drehschalter usw sind dankbare Objekte für die Emulation durch ein elektronisches Schaltwerk.&amp;lt;br /&amp;gt;&lt;br /&gt;
Das hier gezeigte Beispiel bildet einen Drehschalter, der auf 4 Schaltstellungen begrenzt ist, nach. &lt;br /&gt;
=== 3 ===&lt;br /&gt;
In der nebenstehenden Abbildung ist dargestellt, wie der mechanische Drehschalter in seine elektronische Entsprechung überführt werden soll. Der linke Teil der Abbildung zeigt die Kontakte K1..K4, [[Datei:StufenschalterSchaltwerk.png|rechts|rahmen]]die anwählbaren Stellungen des Schleifers, sowie den zentralen Anschluss K0. Neben den Kontakten ist ein weiteres Attribut eingetragen, hierbei handelt es sich um die Verknüpfung von Schalterstellung und jeweiligem Zustand des Schaltwerks.&amp;lt;br /&amp;gt;&lt;br /&gt;
Im rechten Teil sind das Schaltwerk und seine äußeren Anschlüsse skizziert. Das Schaltwerk reagiert auf zwei Taster. Sie stehen für die linke und/oder rechte Drehung des Schalter und generieren die Eingangssignale &#039;&#039;U&#039;&#039; und &#039;&#039;W&#039;&#039;. Die 4 Stellungen des Drehschalters werden durch die Ausgangssignale &#039;&#039;Stellung1..Stellung4&#039;&#039; repräsentiert.&amp;lt;br /&amp;gt;&lt;br /&gt;
Das Schaltwerk emuliert ausschließlich die mechanische Bewegung des Drehschalters, die elektrischen Eigenschaften des Schalters müssen von separaten Schaltungsteilen umgesetzt werden.&lt;br /&gt;
&lt;br /&gt;
=== 4 ===&lt;br /&gt;
Das Zustandsdiagramm setzt Eingangssignale und  Zustände des Schaltwerks miteinander in Beziehung. &lt;br /&gt;
[[Datei:Zustandsdiagramm.png|rahmen|rechts]]Das Schaltwerk befindet sich nach dem Einschalten in Z0, der den rechten Anschlag des 	emulierten Schalters bildet, denn das Aktivieren der „Taste rechts“ oder der „Tasten links+rechts“ bewirkt an dieser Stelle keine Zustandsänderung. Durch wiederholtes Betätigen der „Taste links“ gelangt man zu den nächsten Zuständen, bis der linke Anschlag erreicht ist. Die „Taste links“ bewirkt in Z3 keine Zustandsänderung. Mit der „Taste rechts“ kann dieser Zustand verlassen werden. Zwischen den Zuständen kann man sich mit den Tasten beliebig hin und her bewegen. Das gleichzeitige Betätigen beider Tasten „Tasten links+rechts“ versetzt das Schaltwerk aus jedem Zustand heraus in den Anfangszustand Z0, ein Verhalten, das mit einem mechanischen Drehschalter nicht möglich ist. Ist keine Taste aktiv verbleibt das Schaltwerk in seinem aktuellen Zustand.&lt;br /&gt;
=== 5 ===&lt;br /&gt;
Die Übergangstabelle enthält die Information des Zustandsdiagramms in tabellarischer Form. Die Signale &#039;&#039;U&#039;&#039; und &#039;&#039;W&#039;&#039; sind als &#039;1&#039;-aktiv eingetragen.&lt;br /&gt;
{|&lt;br /&gt;
| style=&amp;quot;width:45%&amp;quot;|&amp;amp;nbsp;&lt;br /&gt;
|&lt;br /&gt;
{|{{tabelle}}&lt;br /&gt;
|+ &#039;&#039;&#039;Übergangstabelle&#039;&#039;&#039;&lt;br /&gt;
|-style=&amp;quot;text-align:center; &amp;quot;&lt;br /&gt;
!style=&amp;quot;background:#EAECF0&amp;quot;|Folgezustand &lt;br /&gt;
|style=&amp;quot;background:#FFEBAD&amp;quot; colspan=&amp;quot;4&amp;quot;| Eingangssignale U W&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| aktueller Zustand &lt;br /&gt;
|style=&amp;quot;background:#FFEBAD&amp;quot;| 00 || style=&amp;quot;background:#FFEBAD&amp;quot; |01 ||style=&amp;quot;background:#FFEBAD&amp;quot;| 10 || style=&amp;quot;background:#FFEBAD&amp;quot; | 11&lt;br /&gt;
|-style=&amp;quot;text-align:center; background:#EAECF0&amp;quot; &lt;br /&gt;
| style=&amp;quot; background:#F8F9FA&amp;quot; | 0 &lt;br /&gt;
! 0 ||0 ||1 || 0&lt;br /&gt;
|-style=&amp;quot;text-align:center; background:#EAECF0&amp;quot; &lt;br /&gt;
| style=&amp;quot;background:#F8F9FA&amp;quot; | 1&lt;br /&gt;
! 1 || 0 || 2 || 0&lt;br /&gt;
|-style=&amp;quot;text-align:center; background:#EAECF0&amp;quot; &lt;br /&gt;
|style=&amp;quot;background:#F8F9FA&amp;quot; |2&lt;br /&gt;
! 2 || 1 || 3 || 0&lt;br /&gt;
|-style=&amp;quot;text-align:center; background:#EAECF0&amp;quot; &lt;br /&gt;
|style=&amp;quot;background:#F8F9FA&amp;quot; |3&lt;br /&gt;
! 3 || 2 || 3 || 0&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
Bei umfangreichen Schaltwerken kann an dieser Stelle versucht werden, Zustände zusammenzufassen.&lt;br /&gt;
&lt;br /&gt;
=== 6 ===&lt;br /&gt;
Unter Berücksichtigung der Übergangstabelle wird die Zustandsfolgetabelle aufgebaut. Sie enthält die Eingangssignale, den aktuellen Zustand und den Folgezustand des Schaltwerks.&amp;lt;br /&amp;gt;&lt;br /&gt;
Die Zustände liegen in der Wahrheitstabelle in codierter Form vor, in diesem Beispiel sind sie binär codiert und es genügen zwei Zustandsvariablen, &#039;&#039;A&amp;lt;sup&amp;gt;n&amp;lt;/sup&amp;gt;&#039;&#039;(LSD) und &#039;&#039;B&amp;lt;sup&amp;gt;n&amp;lt;/sup&amp;gt;&#039;&#039;(MSD), da das Schaltwerk 4 Zustände einnehmen kann.&lt;br /&gt;
{|&lt;br /&gt;
| style=&amp;quot;width:10%&amp;quot;|&amp;amp;nbsp;&lt;br /&gt;
|&lt;br /&gt;
{|{{tabelle}} &lt;br /&gt;
|+&#039;&#039;&#039;Zustandsfolgetabelle&#039;&#039;&#039;&lt;br /&gt;
|-style=&amp;quot;background:#EAECF0&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;2&amp;quot;|Eingangssignale||colspan=&amp;quot;2&amp;quot;|aktueller Zustand|| style=&amp;quot;border-left:2px solid&amp;quot; colspan=&amp;quot;2&amp;quot;| Folgezustand||style=&amp;quot;background:#FFFFFF; vertical-align:top&amp;quot; rowspan=&amp;quot;2&amp;quot;|Beschreibung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|U || W || B&amp;lt;sup&amp;gt;n&amp;lt;/sup&amp;gt; || A &amp;lt;sup&amp;gt;n&amp;lt;/sup&amp;gt;||style=&amp;quot;border-left:2px solid&amp;quot;| B&amp;lt;sup&amp;gt;n+1&amp;lt;/sup&amp;gt; || A&amp;lt;sup&amp;gt;n+1&amp;lt;/sup&amp;gt;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 0 || 0 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; Start&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 0 || 0 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 1 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;; nach &amp;quot;links&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 1 || 0 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; nach &amp;quot;rechts&amp;quot; → keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 1 || 0 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 0 || 0 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 1 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;; keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 0 || 0 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;; nach &amp;quot;links&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 1 || 0 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; nach &amp;quot;rechts&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 1 || 0 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; Rücksprung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 0 || 1 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;; keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 0 || 1 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 1 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt;; nach &amp;quot;links&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 1 || 1 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 1 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;; nach &amp;quot;rechts&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 1 || 1 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; Rücksprung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 0 || 1 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 1 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt;; keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 0 || 1 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 1 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt;; nach &amp;quot;links&amp;quot; → keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 1 || 1 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;; nach &amp;quot;rechts&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 1 || 1 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; Rücksprung&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
Aus der Zustandsfolgetabelle werden die Übergangsfunktionen der Zustandsvariablen &#039;&#039;A&amp;lt;sup&amp;gt;n+1&amp;lt;/sup&amp;gt;&#039;&#039; und &#039;&#039;B&amp;lt;sup&amp;gt;n+1&amp;lt;/sup&amp;gt;&#039;&#039; entnommen. Sie sind Ausgangspunkt für die rechnerische Bestimmung der Eingangsschaltnetze  der Zustandsvariablenspeicher.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Alle nachfolgend beschriebenen Schaltwerkversionen besitzen die gleichen Ausgangssignale, die aus den Zustandsvariablen des Momentanzustandes ermittelt werden. Die Ausgangssignale sind ´1´-aktiv und werden durch die &amp;quot;Methode des scharfen Ansehens&amp;quot; aus obiger Tabelle erhalten:&amp;lt;br /&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
| style=&amp;quot;width:70%&amp;quot;|&amp;amp;nbsp;&lt;br /&gt;
|&lt;br /&gt;
{|style=&amp;quot; font-style: italic&amp;quot;&lt;br /&gt;
|Stellung1 || =|| style=&amp;quot;text-decoration:overline&amp;quot;| A || &amp;amp;sdot; ||  style=&amp;quot;text-decoration:overline&amp;quot;| B &lt;br /&gt;
|-style=&amp;quot;font-style: italic&amp;quot;&lt;br /&gt;
|Stellung2 || =||  A || &amp;amp;sdot; || style=&amp;quot;text-decoration:overline&amp;quot;| B &lt;br /&gt;
|-style=&amp;quot;font-style: italic&amp;quot;&lt;br /&gt;
|Stellung3 || =|| style=&amp;quot;text-decoration:overline&amp;quot;| A || &amp;amp;sdot; || B &lt;br /&gt;
|-style=&amp;quot;font-style: italic&amp;quot;&lt;br /&gt;
|Stellung4 || =|| A || &amp;amp;sdot; || B &lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 7 Gatterversion ===&lt;br /&gt;
Die klassische Methode, das Eingangsschaltnetz aufzubauen, besteht darin, logische Schaltkreise entsprechend den Übergangsfunktionen miteinander zu kombinieren.&amp;lt;br /&amp;gt;&lt;br /&gt;
Die Liste enthält verschiedene Aspekte dieser Ausführung:&lt;br /&gt;
* [[Media: Stufenschalter1.pdf|Schaltplan der Gatterversion]]&lt;br /&gt;
* [[Media: FFs1Gleichungen.pdf|Berechnungen zur Gatterversion]]&lt;br /&gt;
* [https://www.youtube.com/watch?v=LuBIOe8P5pU Video - das Schaltwerk in Aktion]&lt;br /&gt;
=== 8 Multiplexer Version ===&lt;br /&gt;
Mit einem Multiplexer, der über &#039;&#039;n&#039;&#039; Steuer(Select)eingänge verfügt, können an seinem Ausgang alle&lt;br /&gt;
Kombinationen von &#039;&#039;(n+1)&#039;&#039;-Bool&#039;schen Variablen dargestellt werden. Beispiel: Es liegt ein (4 zu 1)-Multiplexer vor. Dieser ist für 3 Variablen ausreichend, denn &#039;&#039;4=2&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;&#039;&#039;, daher ist &#039;&#039;n=2&#039;&#039; und &#039;&#039;n+1=3&#039;&#039;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Die nachfolgende Liste stellt diese Version des Schaltwerks vor:&lt;br /&gt;
*[[Media:Stufenschalter2.pdf|Schaltplan]]&lt;br /&gt;
*[[Media:ULPs1Gleichungen.pdf|Berechnungen zur Multiplexer Version]]&lt;br /&gt;
&lt;br /&gt;
=== 9 ROM Version ===&lt;br /&gt;
Neben den bisher beschriebenen Verfahren, Schaltfunktionen in Hardware umzusetzen, gibt es die Möglichkeit, diese in einem (nichtflüchtigen) Speicherelement zu realisieren.&amp;lt;br /&amp;gt;&lt;br /&gt;
Ein Festwertspeicher ordnet jeder Eingangskombination(Adresse) der Variablen ein Ausgangsmuster(Daten), das vorgegeben wird, zu. Die Eingangsmatrix des Festwertspeichers kann als UND-Verknüpfung der Eingangsvariablen, die Ausgangsmatrix als ODER-Verknüpfung des Zellinhalts aufgefasst werden - der Speicher bildet die disjunktive Normalform der Eingangsvariablen, wie die Abbildung zeigt:&lt;br /&gt;
{|&lt;br /&gt;
| style=&amp;quot;width:30%&amp;quot;|&amp;amp;nbsp;&lt;br /&gt;
|&lt;br /&gt;
{|style=&amp;quot; font-style: italic&amp;quot;&lt;br /&gt;
|f&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; || =|| style=&amp;quot;text-decoration:overline&amp;quot;| A || style=&amp;quot;text-decoration:overline&amp;quot;| B || + || A ||style=&amp;quot;text-decoration:overline&amp;quot;| B&lt;br /&gt;
|-style=&amp;quot;font-style: italic&amp;quot;&lt;br /&gt;
|f&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; || =||style=&amp;quot;text-decoration:overline&amp;quot;|  A || B || + || A || B&lt;br /&gt;
|-style=&amp;quot;font-style: italic&amp;quot;&lt;br /&gt;
|f&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; || =|| ?&lt;br /&gt;
|}&lt;br /&gt;
| style=&amp;quot;width:10%&amp;quot;|&amp;amp;nbsp;&lt;br /&gt;
|[[Datei:Rommatrix.png|rahmen]]&lt;br /&gt;
|}&lt;br /&gt;
Zwei Dinge sollten bei der Übertragung einer Schaltfunktion in einen Festwertspeicher berücksichtigt werden:&lt;br /&gt;
# die Funktion muß vollständig sein, ggf muß sie auf ihre Normalform gebracht werden&lt;br /&gt;
# falls Redundanzen vorliegen, dann&lt;br /&gt;
#:sollten diese aufgelöst werden (weiter mit Punkt 1) oder&lt;br /&gt;
#:im Falle eines Schaltwerks einen sicheren Zustand adressieren&amp;lt;br /&amp;gt;&lt;br /&gt;
Um den ROM-Inhalt des Speichers, der im Schaltwerk eingesetzt werden soll, zu bestimmen, wird von der schon vorhandenen Zustandsfolgetabelle ausgegangen.Die Tabelle wird um zwei Spalten ergänzt, Adressen und Daten.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Eine Adresse wird gebildet, indem man das zeilenweise Bitmuster der Eingangsvariablen als Binärzahl interpretiert und in der Adressspalte notiert. Das gleiche Verfahren wird auf das Bitmuster des Folgezustands angewendet und das Ergebnis in die Datenspalte eingetragen.&lt;br /&gt;
{|{{tabelle}} &lt;br /&gt;
|+&#039;&#039;&#039;Modifizierte Zustandsfolgetabelle&#039;&#039;&#039;&lt;br /&gt;
|-style=&amp;quot;background:#EAECF0&amp;quot;&lt;br /&gt;
!style=&amp;quot;background:#FFEBAD; vertical-align:top&amp;quot; rowspan=&amp;quot;2&amp;quot;|Adresse || colspan=&amp;quot;2&amp;quot;|Eingangssignale||colspan=&amp;quot;2&amp;quot;|aktueller Zustand|| style=&amp;quot;border-left:2px solid&amp;quot; colspan=&amp;quot;2&amp;quot;| Folgezustand|| style=&amp;quot;background:#FFEBAD; vertical-align:top&amp;quot; rowspan=&amp;quot;2&amp;quot; | Daten ||style=&amp;quot;background:#FFFFFF; vertical-align:top&amp;quot; rowspan=&amp;quot;2&amp;quot;|Beschreibung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|U || W || B&amp;lt;sup&amp;gt;n&amp;lt;/sup&amp;gt; || A &amp;lt;sup&amp;gt;n&amp;lt;/sup&amp;gt;||style=&amp;quot;border-left:2px solid&amp;quot;| B&amp;lt;sup&amp;gt;n+1&amp;lt;/sup&amp;gt; || A&amp;lt;sup&amp;gt;n+1&amp;lt;/sup&amp;gt;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0x00|| 0 || 0 || 0 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || 0x00 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; Start&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x08 || 1 || 0 || 0 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 1 ||0x01 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;; nach &amp;quot;links&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x04|| 0 || 1 || 0 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 ||0x00; || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; nach &amp;quot;rechts&amp;quot; → keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x0c|| 1 || 1 || 0 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 ||0x00 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x01|| 0 || 0 || 0 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 1 ||0x01 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;; keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x09|| 1 || 0 || 0 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 0 ||0x02 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;; nach &amp;quot;links&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x05|| 0 || 1 || 0 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 ||0x00 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; nach &amp;quot;rechts&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x0d|| 1 || 1 || 0 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 ||0x00 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; Rücksprung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x02|| 0 || 0 || 1 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 0 ||0x02 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;; keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x0a|| 1 || 0 || 1 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 1 ||0x03 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt;; nach &amp;quot;links&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x06|| 0 || 1 || 1 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 1 ||0x01 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;; nach &amp;quot;rechts&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x0e|| 1 || 1 || 1 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 ||0x00 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; Rücksprung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x03|| 0 || 0 || 1 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 1 ||0x03 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt;; keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x0b|| 1 || 0 || 1 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 1 ||0x03 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt;; nach &amp;quot;links&amp;quot; → keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x07|| 0 || 1 || 1 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 0 ||0x02 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;; nach &amp;quot;rechts&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|0x0f|| 1 || 1 || 1 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 ||0x00 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; Rücksprung&lt;br /&gt;
|}&lt;br /&gt;
Aus der Tabelle ergibt sich folgende nach Adresse sortierte Speicherbelegung:&lt;br /&gt;
{|{{tabelle}}&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background:#EAECF0&amp;quot;|&amp;lt;b&amp;gt;Adresse&amp;lt;/b&amp;gt;||0x00||0x01||0x02||0x03||0x04||0x05||0x06||0x07||0x08||0x09||0x0a||0x0b||0x0c||0x0d||0x0e||0x0f&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background:#EAECF0&amp;quot;|&amp;lt;b&amp;gt;Daten&amp;lt;/b&amp;gt;||0x00||0x01||0x02||0x03||0x00||0x00||0x01||0x02||0x01||0x02||0x03||0x03||0x00||0x00||0x00||0x00&lt;br /&gt;
|}&lt;br /&gt;
Alle möglichen Adressen(Variablenkombinationen) sind vorhanden, die Datenwortbreite beträgt zwei Bit.&lt;/div&gt;</summary>
		<author><name>Aminox86</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Methodischer_Entwurf_einfacher_Schaltwerke&amp;diff=100351</id>
		<title>Methodischer Entwurf einfacher Schaltwerke</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Methodischer_Entwurf_einfacher_Schaltwerke&amp;diff=100351"/>
		<updated>2019-02-25T11:16:57Z</updated>

		<summary type="html">&lt;p&gt;Aminox86: /* 9 ROM Version */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Dieser Artikel beschreibt die Vorgehensweise, einfache sequentielle Schaltungen in der Praxis umzusetzen.&lt;br /&gt;
&lt;br /&gt;
== Intention ==&lt;br /&gt;
Um eine LED blinken zu lassen, muß nicht unbedingt ein Mikrokontroller bemüht werden, wenn sich dieselbe Funktion auch mit ein paar Gattern und Flipflops realisieren lässt. Dabei soll unter einem &amp;quot;einfachen&amp;quot; Schaltwerk eine digitale Schaltung verstanden werden, deren &amp;quot;Verarbeitungsmöglichkeit&amp;quot; begrenzt ist, die zB &amp;quot;nur&amp;quot; zehn Eingangsvariablen aufnehmen kann oder zB &amp;quot;nur&amp;quot; 32 interne Zustände besitzt. Es soll sich daher um ein Gebilde handeln, das im einfachsten Fall aus digitalen Grundbausteinen besteht.&lt;br /&gt;
&lt;br /&gt;
Anhand eines konkreten Beispiels werden verschiedene Möglichkeiten der Realisierung eines Schaltwerks vorgestellt. Hierbei steht die praktische und systematische Umsetzung des gewählten Schaltwerkaufbaus im Vordergrund.&lt;br /&gt;
== 1 ==&lt;br /&gt;
Die Ausgangssignale eines Schaltwerks bzw dessen Zustand zum Betrachtungszeitpunkt werden nicht nur durch die aktuell anliegenden Eingangssignale sondern auch durch die Historie aller Eingangssignale bis zu diesem Zeitpunkt bestimmt. Diese Vorgeschichte wird in Speicherelementen, zB Flipflops, festgehalten. Ihr Inhalt wird an den Eingang des Schaltwerks zurückgeführt und dort mit den externen Signalen verknüpft, wodurch sich ggf der Zustand des Schaltwerks ändert.&amp;lt;br /&amp;gt;&lt;br /&gt;
Die zeitliche Reihenfolge der Zustände ist vorgeben, sie stellt die Funktionalität des Schaltwerks dar.&amp;lt;br /&amp;gt;&lt;br /&gt;
Diese Zustandsänderungen können sofort nach Wertänderung der Eingangsvariablen erfolgen, es liegt ein Asynchronschaltwerk vor, oder nur zu klar voneinander abgegrenzten  Zeitpunkten, es handelt sich dann um ein Synchronschaltwerk. Dieser Artikel beschäftigt sich mit Synchronschaltwerken, die die Struktur eines Moore-Automaten haben.&lt;br /&gt;
[[Bild:SchaltwerkSchema1.png|rechts|rahmen|Schaltwerk]]&lt;br /&gt;
Es liegt in der Natur des gewählten Themas, dass die hier beschriebenen Schaltwerke vorzugsweise aus handelsüblichen Komponenten (Gattern, Flipflops usw.) aufgebaut werden.&lt;br /&gt;
Das Übertragungsverhalten der FF ist durch ihren Aufbau vorgegeben und kann nicht beeinflußt werden.&amp;lt;br /&amp;gt;&lt;br /&gt;
Daher widmet sich dieser Artikel in erster Linie den Gestaltungsmöglichkeiten des Eingangsschaltnetzes unter Berücksichtigung des FF-Typs, auf die Dimensionierung des Ausgangsschaltnetzes wird bei Bedarf eingegangen.&lt;br /&gt;
&lt;br /&gt;
== 2 ==&lt;br /&gt;
Der Entwurf sollte schrittweise erfolgen. Die unten angeführte Reihenfolge ist bewährt, wobei die angeführten Positionen unterschiedlich umfangreich, abhängig von den Anforderungen, ausgestaltet werden können.&lt;br /&gt;
#Funktionsbeschreibung. Diese kann verbal (schriftlich, Handskizze) erfolgen oder durch zB ein Impulsdiagramm vorgegeben sein.&lt;br /&gt;
#Formale Beschreibung. Die in der Funktionsbeschreibung vorgegebenen Rahmenbedingungen werden in ein Zustandsdiagramm überführt. Hier erfolgt die vollständige Beschreibung des Schaltwerks, indem die Aufeinanderfolge der (festzulegenden) Zustände als Reaktion auf Eingangs- und Zustandsvektor bestimmt wird. Ebenfalls kann an dieser Stelle der Ausgangsvektor formuliert werden.&lt;br /&gt;
#Schaltwerkstabelle. Die Schaltwerkstabelle stellt das Zustandsdiagramm in tabellarischer Form dar. Mit ihrer Hilfe kann eine Zustandsminimierung (Zusammenfassen identischer Zustände) des Schaltwerks durchgeführt werden, die idR zu verringertem Bauteilebedarf führt. Änderungen in der Schaltwerkstabelle wirken auf das Zustandsdiagramm zurück.&lt;br /&gt;
#Zustandscodierung. Die Art der Zustandscodierung, insbesondere bei einfachen Synchronschaltwerken, unterliegt keinen Beschränkungen (im Gegensatz zu Asynchronschaltwerken). Die Codierung muß eindeutig sein und hat evtl Einfluß auf den Bauteileaufwand.&lt;br /&gt;
# Zustandsfolgetabelle. Ausgangspunkt der Zustandsfolgetabelle ist das Zustandsdiagramm. In dieser Tabelle findet das sequentielle Verhalten der Schaltung seinen Ausdruck, denn sie ist deutlich zweigeteilt. Eingangsvariablen &#039;&#039;&#039;und&#039;&#039;&#039; aktuelle Zustände werden üblicherweise auf der linken Seite („vor dem Takt“), Folgezustände und ggf Ausgangsvariablen rechts („nach dem Takt“) notiert.  Aus der Zustandsfolgetabelle können, wenn sie als Wahrheitstabelle interpretiert wird, die Übergangsfunktionen der Zustandsspeicher entnommen werden.&lt;br /&gt;
== 3 ==&lt;br /&gt;
Mechanische Bedienelemente elektrischer Geräte wie Kippschalter, Tastenaggregate, Drehschalter usw sind dankbare Objekte für die Emulation durch ein elektronisches Schaltwerk.&amp;lt;br /&amp;gt;&lt;br /&gt;
Das hier gezeigte Beispiel bildet einen Drehschalter, der auf 4 Schaltstellungen begrenzt ist, nach. &lt;br /&gt;
=== 3 ===&lt;br /&gt;
In der nebenstehenden Abbildung ist dargestellt, wie der mechanische Drehschalter in seine elektronische Entsprechung überführt werden soll. Der linke Teil der Abbildung zeigt die Kontakte K1..K4, [[Datei:StufenschalterSchaltwerk.png|rechts|rahmen]]die anwählbaren Stellungen des Schleifers, sowie den zentralen Anschluss K0. Neben den Kontakten ist ein weiteres Attribut eingetragen, hierbei handelt es sich um die Verknüpfung von Schalterstellung und jeweiligem Zustand des Schaltwerks.&amp;lt;br /&amp;gt;&lt;br /&gt;
Im rechten Teil sind das Schaltwerk und seine äußeren Anschlüsse skizziert. Das Schaltwerk reagiert auf zwei Taster. Sie stehen für die linke und/oder rechte Drehung des Schalter und generieren die Eingangssignale &#039;&#039;U&#039;&#039; und &#039;&#039;W&#039;&#039;. Die 4 Stellungen des Drehschalters werden durch die Ausgangssignale &#039;&#039;Stellung1..Stellung4&#039;&#039; repräsentiert.&amp;lt;br /&amp;gt;&lt;br /&gt;
Das Schaltwerk emuliert ausschließlich die mechanische Bewegung des Drehschalters, die elektrischen Eigenschaften des Schalters müssen von separaten Schaltungsteilen umgesetzt werden.&lt;br /&gt;
&lt;br /&gt;
=== 4 ===&lt;br /&gt;
Das Zustandsdiagramm setzt Eingangssignale und  Zustände des Schaltwerks miteinander in Beziehung. &lt;br /&gt;
[[Datei:Zustandsdiagramm.png|rahmen|rechts]]Das Schaltwerk befindet sich nach dem Einschalten in Z0, der den rechten Anschlag des 	emulierten Schalters bildet, denn das Aktivieren der „Taste rechts“ oder der „Tasten links+rechts“ bewirkt an dieser Stelle keine Zustandsänderung. Durch wiederholtes Betätigen der „Taste links“ gelangt man zu den nächsten Zuständen, bis der linke Anschlag erreicht ist. Die „Taste links“ bewirkt in Z3 keine Zustandsänderung. Mit der „Taste rechts“ kann dieser Zustand verlassen werden. Zwischen den Zuständen kann man sich mit den Tasten beliebig hin und her bewegen. Das gleichzeitige Betätigen beider Tasten „Tasten links+rechts“ versetzt das Schaltwerk aus jedem Zustand heraus in den Anfangszustand Z0, ein Verhalten, das mit einem mechanischen Drehschalter nicht möglich ist. Ist keine Taste aktiv verbleibt das Schaltwerk in seinem aktuellen Zustand.&lt;br /&gt;
=== 5 ===&lt;br /&gt;
Die Übergangstabelle enthält die Information des Zustandsdiagramms in tabellarischer Form. Die Signale &#039;&#039;U&#039;&#039; und &#039;&#039;W&#039;&#039; sind als &#039;1&#039;-aktiv eingetragen.&lt;br /&gt;
{|&lt;br /&gt;
| style=&amp;quot;width:45%&amp;quot;|&amp;amp;nbsp;&lt;br /&gt;
|&lt;br /&gt;
{|{{tabelle}}&lt;br /&gt;
|+ &#039;&#039;&#039;Übergangstabelle&#039;&#039;&#039;&lt;br /&gt;
|-style=&amp;quot;text-align:center; &amp;quot;&lt;br /&gt;
!style=&amp;quot;background:#EAECF0&amp;quot;|Folgezustand &lt;br /&gt;
|style=&amp;quot;background:#FFEBAD&amp;quot; colspan=&amp;quot;4&amp;quot;| Eingangssignale U W&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| aktueller Zustand &lt;br /&gt;
|style=&amp;quot;background:#FFEBAD&amp;quot;| 00 || style=&amp;quot;background:#FFEBAD&amp;quot; |01 ||style=&amp;quot;background:#FFEBAD&amp;quot;| 10 || style=&amp;quot;background:#FFEBAD&amp;quot; | 11&lt;br /&gt;
|-style=&amp;quot;text-align:center; background:#EAECF0&amp;quot; &lt;br /&gt;
| style=&amp;quot; background:#F8F9FA&amp;quot; | 0 &lt;br /&gt;
! 0 ||0 ||1 || 0&lt;br /&gt;
|-style=&amp;quot;text-align:center; background:#EAECF0&amp;quot; &lt;br /&gt;
| style=&amp;quot;background:#F8F9FA&amp;quot; | 1&lt;br /&gt;
! 1 || 0 || 2 || 0&lt;br /&gt;
|-style=&amp;quot;text-align:center; background:#EAECF0&amp;quot; &lt;br /&gt;
|style=&amp;quot;background:#F8F9FA&amp;quot; |2&lt;br /&gt;
! 2 || 1 || 3 || 0&lt;br /&gt;
|-style=&amp;quot;text-align:center; background:#EAECF0&amp;quot; &lt;br /&gt;
|style=&amp;quot;background:#F8F9FA&amp;quot; |3&lt;br /&gt;
! 3 || 2 || 3 || 0&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
Bei umfangreichen Schaltwerken kann an dieser Stelle versucht werden, Zustände zusammenzufassen.&lt;br /&gt;
&lt;br /&gt;
=== 6 ===&lt;br /&gt;
Unter Berücksichtigung der Übergangstabelle wird die Zustandsfolgetabelle aufgebaut. Sie enthält die Eingangssignale, den aktuellen Zustand und den Folgezustand des Schaltwerks.&amp;lt;br /&amp;gt;&lt;br /&gt;
Die Zustände liegen in der Wahrheitstabelle in codierter Form vor, in diesem Beispiel sind sie binär codiert und es genügen zwei Zustandsvariablen, &#039;&#039;A&amp;lt;sup&amp;gt;n&amp;lt;/sup&amp;gt;&#039;&#039;(LSD) und &#039;&#039;B&amp;lt;sup&amp;gt;n&amp;lt;/sup&amp;gt;&#039;&#039;(MSD), da das Schaltwerk 4 Zustände einnehmen kann.&lt;br /&gt;
{|&lt;br /&gt;
| style=&amp;quot;width:10%&amp;quot;|&amp;amp;nbsp;&lt;br /&gt;
|&lt;br /&gt;
{|{{tabelle}} &lt;br /&gt;
|+&#039;&#039;&#039;Zustandsfolgetabelle&#039;&#039;&#039;&lt;br /&gt;
|-style=&amp;quot;background:#EAECF0&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;2&amp;quot;|Eingangssignale||colspan=&amp;quot;2&amp;quot;|aktueller Zustand|| style=&amp;quot;border-left:2px solid&amp;quot; colspan=&amp;quot;2&amp;quot;| Folgezustand||style=&amp;quot;background:#FFFFFF; vertical-align:top&amp;quot; rowspan=&amp;quot;2&amp;quot;|Beschreibung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|U || W || B&amp;lt;sup&amp;gt;n&amp;lt;/sup&amp;gt; || A &amp;lt;sup&amp;gt;n&amp;lt;/sup&amp;gt;||style=&amp;quot;border-left:2px solid&amp;quot;| B&amp;lt;sup&amp;gt;n+1&amp;lt;/sup&amp;gt; || A&amp;lt;sup&amp;gt;n+1&amp;lt;/sup&amp;gt;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 0 || 0 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; Start&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 0 || 0 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 1 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;; nach &amp;quot;links&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 1 || 0 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; nach &amp;quot;rechts&amp;quot; → keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 1 || 0 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 0 || 0 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 1 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;; keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 0 || 0 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;; nach &amp;quot;links&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 1 || 0 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; nach &amp;quot;rechts&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 1 || 0 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; Rücksprung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 0 || 1 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;; keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 0 || 1 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 1 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt;; nach &amp;quot;links&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 1 || 1 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 1 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;; nach &amp;quot;rechts&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 1 || 1 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; Rücksprung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 0 || 1 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 1 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt;; keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 0 || 1 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 1 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt;; nach &amp;quot;links&amp;quot; → keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 1 || 1 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;; nach &amp;quot;rechts&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 1 || 1 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; Rücksprung&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
Aus der Zustandsfolgetabelle werden die Übergangsfunktionen der Zustandsvariablen &#039;&#039;A&amp;lt;sup&amp;gt;n+1&amp;lt;/sup&amp;gt;&#039;&#039; und &#039;&#039;B&amp;lt;sup&amp;gt;n+1&amp;lt;/sup&amp;gt;&#039;&#039; entnommen. Sie sind Ausgangspunkt für die rechnerische Bestimmung der Eingangsschaltnetze  der Zustandsvariablenspeicher.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Alle nachfolgend beschriebenen Schaltwerkversionen besitzen die gleichen Ausgangssignale, die aus den Zustandsvariablen des Momentanzustandes ermittelt werden. Die Ausgangssignale sind ´1´-aktiv und werden durch die &amp;quot;Methode des scharfen Ansehens&amp;quot; aus obiger Tabelle erhalten:&amp;lt;br /&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
| style=&amp;quot;width:70%&amp;quot;|&amp;amp;nbsp;&lt;br /&gt;
|&lt;br /&gt;
{|style=&amp;quot; font-style: italic&amp;quot;&lt;br /&gt;
|Stellung1 || =|| style=&amp;quot;text-decoration:overline&amp;quot;| A || &amp;amp;sdot; ||  style=&amp;quot;text-decoration:overline&amp;quot;| B &lt;br /&gt;
|-style=&amp;quot;font-style: italic&amp;quot;&lt;br /&gt;
|Stellung2 || =||  A || &amp;amp;sdot; || style=&amp;quot;text-decoration:overline&amp;quot;| B &lt;br /&gt;
|-style=&amp;quot;font-style: italic&amp;quot;&lt;br /&gt;
|Stellung3 || =|| style=&amp;quot;text-decoration:overline&amp;quot;| A || &amp;amp;sdot; || B &lt;br /&gt;
|-style=&amp;quot;font-style: italic&amp;quot;&lt;br /&gt;
|Stellung4 || =|| A || &amp;amp;sdot; || B &lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 7 Gatterversion ===&lt;br /&gt;
Die klassische Methode, das Eingangsschaltnetz aufzubauen, besteht darin, logische Schaltkreise entsprechend den Übergangsfunktionen miteinander zu kombinieren.&amp;lt;br /&amp;gt;&lt;br /&gt;
Die Liste enthält verschiedene Aspekte dieser Ausführung:&lt;br /&gt;
* [[Media: Stufenschalter1.pdf|Schaltplan der Gatterversion]]&lt;br /&gt;
* [[Media: FFs1Gleichungen.pdf|Berechnungen zur Gatterversion]]&lt;br /&gt;
* [https://www.youtube.com/watch?v=LuBIOe8P5pU Video - das Schaltwerk in Aktion]&lt;br /&gt;
=== 8 Multiplexer Version ===&lt;br /&gt;
Mit einem Multiplexer, der über &#039;&#039;n&#039;&#039; Steuer(Select)eingänge verfügt, können an seinem Ausgang alle&lt;br /&gt;
Kombinationen von &#039;&#039;(n+1)&#039;&#039;-Bool&#039;schen Variablen dargestellt werden. Beispiel: Es liegt ein (4 zu 1)-Multiplexer vor. Dieser ist für 3 Variablen ausreichend, denn &#039;&#039;4=2&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;&#039;&#039;, daher ist &#039;&#039;n=2&#039;&#039; und &#039;&#039;n+1=3&#039;&#039;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Die nachfolgende Liste stellt diese Version des Schaltwerks vor:&lt;br /&gt;
*[[Media:Stufenschalter2.pdf|Schaltplan]]&lt;br /&gt;
*[[Media:ULPs1Gleichungen.pdf|Berechnungen zur Multiplexer Version]]&lt;br /&gt;
&lt;br /&gt;
=== 9 ROM Version ===&lt;br /&gt;
Neben den bisher beschriebenen Verfahren, Schaltfunktionen in Hardware umzusetzen, gibt es die Möglichkeit, diese in einem (nichtflüchtigen) Speicherelement zu realisieren.&amp;lt;br /&amp;gt;&lt;br /&gt;
Ein Festwertspeicher ordnet jeder Eingangskombination(Adresse) der Variablen ein Ausgangsmuster(Daten), das vorgegeben wird, zu. Die Eingangsmatrix des Festwertspeichers kann als UND-Verknüpfung der Eingangsvariablen, die Ausgangsmatrix als ODER-Verknüpfung des Zellinhalts aufgefasst werden - der Speicher bildet die disjunktive Normalform der Eingangsvariablen, wie die Abbildung zeigt:&lt;br /&gt;
{|&lt;br /&gt;
| style=&amp;quot;width:30%&amp;quot;|&amp;amp;nbsp;&lt;br /&gt;
|&lt;br /&gt;
{|style=&amp;quot; font-style: italic&amp;quot;&lt;br /&gt;
|f&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; || =|| style=&amp;quot;text-decoration:overline&amp;quot;| A || style=&amp;quot;text-decoration:overline&amp;quot;| B || + || A ||style=&amp;quot;text-decoration:overline&amp;quot;| B&lt;br /&gt;
|-style=&amp;quot;font-style: italic&amp;quot;&lt;br /&gt;
|f&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; || =||style=&amp;quot;text-decoration:overline&amp;quot;|  A || B || + || A || B&lt;br /&gt;
|-style=&amp;quot;font-style: italic&amp;quot;&lt;br /&gt;
|f&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; || =|| ?&lt;br /&gt;
|}&lt;br /&gt;
| style=&amp;quot;width:10%&amp;quot;|&amp;amp;nbsp;&lt;br /&gt;
|[[Datei:Rommatrix.png|rahmen]]&lt;br /&gt;
|}&lt;br /&gt;
Zwei Dinge sollten bei der Übertragung einer Schaltfunktion in einen Festwertspeicher berücksichtigt werden:&lt;br /&gt;
# die Funktion muß vollständig sein, ggf muß sie auf ihre Normalform gebracht werden&lt;br /&gt;
# falls Redundanzen vorliegen, dann&lt;br /&gt;
#:sollten diese aufgelöst werden (weiter mit Punkt 1) oder&lt;br /&gt;
#:im Falle eines Schaltwerks einen sicheren Zustand adressieren&amp;lt;br /&amp;gt;&lt;br /&gt;
Um den ROM-Inhalt des Speichers, der im Schaltwerk eingesetzt werden soll, zu bestimmen, wird von der schon vorhandenen Zustandsfolgetabelle ausgegangen. Die Tabelle wird um zwei Spalten ergänzt, Adressen und Daten.&amp;lt;br /&amp;gt;&lt;br /&gt;
Eine Adressen wird gebildet, indem man das zeilenweise Bitmuster der Eingangsvariablen als Binärzahl interpretiert und in der Adressspalte notiert, das gleiche Verfahren auf das Bitmuster des Folgezustands anwendet und das Ergebnis in die Datenspalte einträgt.&lt;/div&gt;</summary>
		<author><name>Aminox86</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Methodischer_Entwurf_einfacher_Schaltwerke&amp;diff=100350</id>
		<title>Methodischer Entwurf einfacher Schaltwerke</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Methodischer_Entwurf_einfacher_Schaltwerke&amp;diff=100350"/>
		<updated>2019-02-25T10:18:01Z</updated>

		<summary type="html">&lt;p&gt;Aminox86: /* 9 ROM Version */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Dieser Artikel beschreibt die Vorgehensweise, einfache sequentielle Schaltungen in der Praxis umzusetzen.&lt;br /&gt;
&lt;br /&gt;
== Intention ==&lt;br /&gt;
Um eine LED blinken zu lassen, muß nicht unbedingt ein Mikrokontroller bemüht werden, wenn sich dieselbe Funktion auch mit ein paar Gattern und Flipflops realisieren lässt. Dabei soll unter einem &amp;quot;einfachen&amp;quot; Schaltwerk eine digitale Schaltung verstanden werden, deren &amp;quot;Verarbeitungsmöglichkeit&amp;quot; begrenzt ist, die zB &amp;quot;nur&amp;quot; zehn Eingangsvariablen aufnehmen kann oder zB &amp;quot;nur&amp;quot; 32 interne Zustände besitzt. Es soll sich daher um ein Gebilde handeln, das im einfachsten Fall aus digitalen Grundbausteinen besteht.&lt;br /&gt;
&lt;br /&gt;
Anhand eines konkreten Beispiels werden verschiedene Möglichkeiten der Realisierung eines Schaltwerks vorgestellt. Hierbei steht die praktische und systematische Umsetzung des gewählten Schaltwerkaufbaus im Vordergrund.&lt;br /&gt;
== 1 ==&lt;br /&gt;
Die Ausgangssignale eines Schaltwerks bzw dessen Zustand zum Betrachtungszeitpunkt werden nicht nur durch die aktuell anliegenden Eingangssignale sondern auch durch die Historie aller Eingangssignale bis zu diesem Zeitpunkt bestimmt. Diese Vorgeschichte wird in Speicherelementen, zB Flipflops, festgehalten. Ihr Inhalt wird an den Eingang des Schaltwerks zurückgeführt und dort mit den externen Signalen verknüpft, wodurch sich ggf der Zustand des Schaltwerks ändert.&amp;lt;br /&amp;gt;&lt;br /&gt;
Die zeitliche Reihenfolge der Zustände ist vorgeben, sie stellt die Funktionalität des Schaltwerks dar.&amp;lt;br /&amp;gt;&lt;br /&gt;
Diese Zustandsänderungen können sofort nach Wertänderung der Eingangsvariablen erfolgen, es liegt ein Asynchronschaltwerk vor, oder nur zu klar voneinander abgegrenzten  Zeitpunkten, es handelt sich dann um ein Synchronschaltwerk. Dieser Artikel beschäftigt sich mit Synchronschaltwerken, die die Struktur eines Moore-Automaten haben.&lt;br /&gt;
[[Bild:SchaltwerkSchema1.png|rechts|rahmen|Schaltwerk]]&lt;br /&gt;
Es liegt in der Natur des gewählten Themas, dass die hier beschriebenen Schaltwerke vorzugsweise aus handelsüblichen Komponenten (Gattern, Flipflops usw.) aufgebaut werden.&lt;br /&gt;
Das Übertragungsverhalten der FF ist durch ihren Aufbau vorgegeben und kann nicht beeinflußt werden.&amp;lt;br /&amp;gt;&lt;br /&gt;
Daher widmet sich dieser Artikel in erster Linie den Gestaltungsmöglichkeiten des Eingangsschaltnetzes unter Berücksichtigung des FF-Typs, auf die Dimensionierung des Ausgangsschaltnetzes wird bei Bedarf eingegangen.&lt;br /&gt;
&lt;br /&gt;
== 2 ==&lt;br /&gt;
Der Entwurf sollte schrittweise erfolgen. Die unten angeführte Reihenfolge ist bewährt, wobei die angeführten Positionen unterschiedlich umfangreich, abhängig von den Anforderungen, ausgestaltet werden können.&lt;br /&gt;
#Funktionsbeschreibung. Diese kann verbal (schriftlich, Handskizze) erfolgen oder durch zB ein Impulsdiagramm vorgegeben sein.&lt;br /&gt;
#Formale Beschreibung. Die in der Funktionsbeschreibung vorgegebenen Rahmenbedingungen werden in ein Zustandsdiagramm überführt. Hier erfolgt die vollständige Beschreibung des Schaltwerks, indem die Aufeinanderfolge der (festzulegenden) Zustände als Reaktion auf Eingangs- und Zustandsvektor bestimmt wird. Ebenfalls kann an dieser Stelle der Ausgangsvektor formuliert werden.&lt;br /&gt;
#Schaltwerkstabelle. Die Schaltwerkstabelle stellt das Zustandsdiagramm in tabellarischer Form dar. Mit ihrer Hilfe kann eine Zustandsminimierung (Zusammenfassen identischer Zustände) des Schaltwerks durchgeführt werden, die idR zu verringertem Bauteilebedarf führt. Änderungen in der Schaltwerkstabelle wirken auf das Zustandsdiagramm zurück.&lt;br /&gt;
#Zustandscodierung. Die Art der Zustandscodierung, insbesondere bei einfachen Synchronschaltwerken, unterliegt keinen Beschränkungen (im Gegensatz zu Asynchronschaltwerken). Die Codierung muß eindeutig sein und hat evtl Einfluß auf den Bauteileaufwand.&lt;br /&gt;
# Zustandsfolgetabelle. Ausgangspunkt der Zustandsfolgetabelle ist das Zustandsdiagramm. In dieser Tabelle findet das sequentielle Verhalten der Schaltung seinen Ausdruck, denn sie ist deutlich zweigeteilt. Eingangsvariablen &#039;&#039;&#039;und&#039;&#039;&#039; aktuelle Zustände werden üblicherweise auf der linken Seite („vor dem Takt“), Folgezustände und ggf Ausgangsvariablen rechts („nach dem Takt“) notiert.  Aus der Zustandsfolgetabelle können, wenn sie als Wahrheitstabelle interpretiert wird, die Übergangsfunktionen der Zustandsspeicher entnommen werden.&lt;br /&gt;
== 3 ==&lt;br /&gt;
Mechanische Bedienelemente elektrischer Geräte wie Kippschalter, Tastenaggregate, Drehschalter usw sind dankbare Objekte für die Emulation durch ein elektronisches Schaltwerk.&amp;lt;br /&amp;gt;&lt;br /&gt;
Das hier gezeigte Beispiel bildet einen Drehschalter, der auf 4 Schaltstellungen begrenzt ist, nach. &lt;br /&gt;
=== 3 ===&lt;br /&gt;
In der nebenstehenden Abbildung ist dargestellt, wie der mechanische Drehschalter in seine elektronische Entsprechung überführt werden soll. Der linke Teil der Abbildung zeigt die Kontakte K1..K4, [[Datei:StufenschalterSchaltwerk.png|rechts|rahmen]]die anwählbaren Stellungen des Schleifers, sowie den zentralen Anschluss K0. Neben den Kontakten ist ein weiteres Attribut eingetragen, hierbei handelt es sich um die Verknüpfung von Schalterstellung und jeweiligem Zustand des Schaltwerks.&amp;lt;br /&amp;gt;&lt;br /&gt;
Im rechten Teil sind das Schaltwerk und seine äußeren Anschlüsse skizziert. Das Schaltwerk reagiert auf zwei Taster. Sie stehen für die linke und/oder rechte Drehung des Schalter und generieren die Eingangssignale &#039;&#039;U&#039;&#039; und &#039;&#039;W&#039;&#039;. Die 4 Stellungen des Drehschalters werden durch die Ausgangssignale &#039;&#039;Stellung1..Stellung4&#039;&#039; repräsentiert.&amp;lt;br /&amp;gt;&lt;br /&gt;
Das Schaltwerk emuliert ausschließlich die mechanische Bewegung des Drehschalters, die elektrischen Eigenschaften des Schalters müssen von separaten Schaltungsteilen umgesetzt werden.&lt;br /&gt;
&lt;br /&gt;
=== 4 ===&lt;br /&gt;
Das Zustandsdiagramm setzt Eingangssignale und  Zustände des Schaltwerks miteinander in Beziehung. &lt;br /&gt;
[[Datei:Zustandsdiagramm.png|rahmen|rechts]]Das Schaltwerk befindet sich nach dem Einschalten in Z0, der den rechten Anschlag des 	emulierten Schalters bildet, denn das Aktivieren der „Taste rechts“ oder der „Tasten links+rechts“ bewirkt an dieser Stelle keine Zustandsänderung. Durch wiederholtes Betätigen der „Taste links“ gelangt man zu den nächsten Zuständen, bis der linke Anschlag erreicht ist. Die „Taste links“ bewirkt in Z3 keine Zustandsänderung. Mit der „Taste rechts“ kann dieser Zustand verlassen werden. Zwischen den Zuständen kann man sich mit den Tasten beliebig hin und her bewegen. Das gleichzeitige Betätigen beider Tasten „Tasten links+rechts“ versetzt das Schaltwerk aus jedem Zustand heraus in den Anfangszustand Z0, ein Verhalten, das mit einem mechanischen Drehschalter nicht möglich ist. Ist keine Taste aktiv verbleibt das Schaltwerk in seinem aktuellen Zustand.&lt;br /&gt;
=== 5 ===&lt;br /&gt;
Die Übergangstabelle enthält die Information des Zustandsdiagramms in tabellarischer Form. Die Signale &#039;&#039;U&#039;&#039; und &#039;&#039;W&#039;&#039; sind als &#039;1&#039;-aktiv eingetragen.&lt;br /&gt;
{|&lt;br /&gt;
| style=&amp;quot;width:45%&amp;quot;|&amp;amp;nbsp;&lt;br /&gt;
|&lt;br /&gt;
{|{{tabelle}}&lt;br /&gt;
|+ &#039;&#039;&#039;Übergangstabelle&#039;&#039;&#039;&lt;br /&gt;
|-style=&amp;quot;text-align:center; &amp;quot;&lt;br /&gt;
!style=&amp;quot;background:#EAECF0&amp;quot;|Folgezustand &lt;br /&gt;
|style=&amp;quot;background:#FFEBAD&amp;quot; colspan=&amp;quot;4&amp;quot;| Eingangssignale U W&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| aktueller Zustand &lt;br /&gt;
|style=&amp;quot;background:#FFEBAD&amp;quot;| 00 || style=&amp;quot;background:#FFEBAD&amp;quot; |01 ||style=&amp;quot;background:#FFEBAD&amp;quot;| 10 || style=&amp;quot;background:#FFEBAD&amp;quot; | 11&lt;br /&gt;
|-style=&amp;quot;text-align:center; background:#EAECF0&amp;quot; &lt;br /&gt;
| style=&amp;quot; background:#F8F9FA&amp;quot; | 0 &lt;br /&gt;
! 0 ||0 ||1 || 0&lt;br /&gt;
|-style=&amp;quot;text-align:center; background:#EAECF0&amp;quot; &lt;br /&gt;
| style=&amp;quot;background:#F8F9FA&amp;quot; | 1&lt;br /&gt;
! 1 || 0 || 2 || 0&lt;br /&gt;
|-style=&amp;quot;text-align:center; background:#EAECF0&amp;quot; &lt;br /&gt;
|style=&amp;quot;background:#F8F9FA&amp;quot; |2&lt;br /&gt;
! 2 || 1 || 3 || 0&lt;br /&gt;
|-style=&amp;quot;text-align:center; background:#EAECF0&amp;quot; &lt;br /&gt;
|style=&amp;quot;background:#F8F9FA&amp;quot; |3&lt;br /&gt;
! 3 || 2 || 3 || 0&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
Bei umfangreichen Schaltwerken kann an dieser Stelle versucht werden, Zustände zusammenzufassen.&lt;br /&gt;
&lt;br /&gt;
=== 6 ===&lt;br /&gt;
Unter Berücksichtigung der Übergangstabelle wird die Zustandsfolgetabelle aufgebaut. Sie enthält die Eingangssignale, den aktuellen Zustand und den Folgezustand des Schaltwerks.&amp;lt;br /&amp;gt;&lt;br /&gt;
Die Zustände liegen in der Wahrheitstabelle in codierter Form vor, in diesem Beispiel sind sie binär codiert und es genügen zwei Zustandsvariablen, &#039;&#039;A&amp;lt;sup&amp;gt;n&amp;lt;/sup&amp;gt;&#039;&#039;(LSD) und &#039;&#039;B&amp;lt;sup&amp;gt;n&amp;lt;/sup&amp;gt;&#039;&#039;(MSD), da das Schaltwerk 4 Zustände einnehmen kann.&lt;br /&gt;
{|&lt;br /&gt;
| style=&amp;quot;width:10%&amp;quot;|&amp;amp;nbsp;&lt;br /&gt;
|&lt;br /&gt;
{|{{tabelle}} &lt;br /&gt;
|+&#039;&#039;&#039;Zustandsfolgetabelle&#039;&#039;&#039;&lt;br /&gt;
|-style=&amp;quot;background:#EAECF0&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;2&amp;quot;|Eingangssignale||colspan=&amp;quot;2&amp;quot;|aktueller Zustand|| style=&amp;quot;border-left:2px solid&amp;quot; colspan=&amp;quot;2&amp;quot;| Folgezustand||style=&amp;quot;background:#FFFFFF; vertical-align:top&amp;quot; rowspan=&amp;quot;2&amp;quot;|Beschreibung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|U || W || B&amp;lt;sup&amp;gt;n&amp;lt;/sup&amp;gt; || A &amp;lt;sup&amp;gt;n&amp;lt;/sup&amp;gt;||style=&amp;quot;border-left:2px solid&amp;quot;| B&amp;lt;sup&amp;gt;n+1&amp;lt;/sup&amp;gt; || A&amp;lt;sup&amp;gt;n+1&amp;lt;/sup&amp;gt;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 0 || 0 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; Start&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 0 || 0 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 1 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;; nach &amp;quot;links&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 1 || 0 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; nach &amp;quot;rechts&amp;quot; → keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 1 || 0 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 0 || 0 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 1 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;; keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 0 || 0 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;; nach &amp;quot;links&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 1 || 0 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; nach &amp;quot;rechts&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 1 || 0 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; Rücksprung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 0 || 1 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;; keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 0 || 1 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 1 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt;; nach &amp;quot;links&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 1 || 1 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 1 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;; nach &amp;quot;rechts&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 1 || 1 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; Rücksprung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 0 || 1 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 1 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt;; keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 0 || 1 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 1 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt;; nach &amp;quot;links&amp;quot; → keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 1 || 1 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;; nach &amp;quot;rechts&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 1 || 1 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; Rücksprung&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
Aus der Zustandsfolgetabelle werden die Übergangsfunktionen der Zustandsvariablen &#039;&#039;A&amp;lt;sup&amp;gt;n+1&amp;lt;/sup&amp;gt;&#039;&#039; und &#039;&#039;B&amp;lt;sup&amp;gt;n+1&amp;lt;/sup&amp;gt;&#039;&#039; entnommen. Sie sind Ausgangspunkt für die rechnerische Bestimmung der Eingangsschaltnetze  der Zustandsvariablenspeicher.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Alle nachfolgend beschriebenen Schaltwerkversionen besitzen die gleichen Ausgangssignale, die aus den Zustandsvariablen des Momentanzustandes ermittelt werden. Die Ausgangssignale sind ´1´-aktiv und werden durch die &amp;quot;Methode des scharfen Ansehens&amp;quot; aus obiger Tabelle erhalten:&amp;lt;br /&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
| style=&amp;quot;width:70%&amp;quot;|&amp;amp;nbsp;&lt;br /&gt;
|&lt;br /&gt;
{|style=&amp;quot; font-style: italic&amp;quot;&lt;br /&gt;
|Stellung1 || =|| style=&amp;quot;text-decoration:overline&amp;quot;| A || &amp;amp;sdot; ||  style=&amp;quot;text-decoration:overline&amp;quot;| B &lt;br /&gt;
|-style=&amp;quot;font-style: italic&amp;quot;&lt;br /&gt;
|Stellung2 || =||  A || &amp;amp;sdot; || style=&amp;quot;text-decoration:overline&amp;quot;| B &lt;br /&gt;
|-style=&amp;quot;font-style: italic&amp;quot;&lt;br /&gt;
|Stellung3 || =|| style=&amp;quot;text-decoration:overline&amp;quot;| A || &amp;amp;sdot; || B &lt;br /&gt;
|-style=&amp;quot;font-style: italic&amp;quot;&lt;br /&gt;
|Stellung4 || =|| A || &amp;amp;sdot; || B &lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 7 Gatterversion ===&lt;br /&gt;
Die klassische Methode, das Eingangsschaltnetz aufzubauen, besteht darin, logische Schaltkreise entsprechend den Übergangsfunktionen miteinander zu kombinieren.&amp;lt;br /&amp;gt;&lt;br /&gt;
Die Liste enthält verschiedene Aspekte dieser Ausführung:&lt;br /&gt;
* [[Media: Stufenschalter1.pdf|Schaltplan der Gatterversion]]&lt;br /&gt;
* [[Media: FFs1Gleichungen.pdf|Berechnungen zur Gatterversion]]&lt;br /&gt;
* [https://www.youtube.com/watch?v=LuBIOe8P5pU Video - das Schaltwerk in Aktion]&lt;br /&gt;
=== 8 Multiplexer Version ===&lt;br /&gt;
Mit einem Multiplexer, der über &#039;&#039;n&#039;&#039; Steuer(Select)eingänge verfügt, können an seinem Ausgang alle&lt;br /&gt;
Kombinationen von &#039;&#039;(n+1)&#039;&#039;-Bool&#039;schen Variablen dargestellt werden. Beispiel: Es liegt ein (4 zu 1)-Multiplexer vor. Dieser ist für 3 Variablen ausreichend, denn &#039;&#039;4=2&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;&#039;&#039;, daher ist &#039;&#039;n=2&#039;&#039; und &#039;&#039;n+1=3&#039;&#039;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Die nachfolgende Liste stellt diese Version des Schaltwerks vor:&lt;br /&gt;
*[[Media:Stufenschalter2.pdf|Schaltplan]]&lt;br /&gt;
*[[Media:ULPs1Gleichungen.pdf|Berechnungen zur Multiplexer Version]]&lt;br /&gt;
&lt;br /&gt;
=== 9 ROM Version ===&lt;br /&gt;
Neben den bisher beschriebenen Verfahren, Schaltfunktionen in Hardware umzusetzen, gibt es die Möglichkeit, diese in einem (nichtflüchtigen) Speicherelement zu realisieren.&amp;lt;br /&amp;gt;&lt;br /&gt;
Ein Festwertspeicher ordnet jeder Eingangskombination(Adresse) der Variablen ein Ausgangsmuster(Daten), das vorgegeben wird, zu. Die Eingangsmatrix des Festwertspeichers kann als UND-Verknüpfung der Eingangsvariablen, die Ausgangsmatrix als ODER-Verknüpfung des Zellinhalts aufgefasst werden - der Speicher bildet die disjunktive Normalform der Eingangsvariablen, wie die Abbildung zeigt:&lt;br /&gt;
{|&lt;br /&gt;
| style=&amp;quot;width:30%&amp;quot;|&amp;amp;nbsp;&lt;br /&gt;
|&lt;br /&gt;
{|style=&amp;quot; font-style: italic&amp;quot;&lt;br /&gt;
|f&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; || =|| style=&amp;quot;text-decoration:overline&amp;quot;| A || style=&amp;quot;text-decoration:overline&amp;quot;| B || + || A ||style=&amp;quot;text-decoration:overline&amp;quot;| B&lt;br /&gt;
|-style=&amp;quot;font-style: italic&amp;quot;&lt;br /&gt;
|f&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; || =||style=&amp;quot;text-decoration:overline&amp;quot;|  A || B || + || A || B&lt;br /&gt;
|-style=&amp;quot;font-style: italic&amp;quot;&lt;br /&gt;
|f&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; || =|| ?&lt;br /&gt;
|}&lt;br /&gt;
| style=&amp;quot;width:10%&amp;quot;|&amp;amp;nbsp;&lt;br /&gt;
|[[Datei:Rommatrix.png|rahmen]]&lt;br /&gt;
|}&lt;br /&gt;
Zwei Dinge sollten bei der Übertragung einer Schaltfunktion in einen Festwertspeicher berücksichtigt werden:&lt;br /&gt;
# die Funktion muß vollständig sein, ggf muß sie auf ihre Normalform gebracht werden&lt;br /&gt;
# sollten Redundanzen vorliegen, dann&lt;/div&gt;</summary>
		<author><name>Aminox86</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Datei:Rommatrix.png&amp;diff=100349</id>
		<title>Datei:Rommatrix.png</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Datei:Rommatrix.png&amp;diff=100349"/>
		<updated>2019-02-25T09:45:47Z</updated>

		<summary type="html">&lt;p&gt;Aminox86: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Festwertspeicher&lt;/div&gt;</summary>
		<author><name>Aminox86</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Methodischer_Entwurf_einfacher_Schaltwerke&amp;diff=100348</id>
		<title>Methodischer Entwurf einfacher Schaltwerke</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Methodischer_Entwurf_einfacher_Schaltwerke&amp;diff=100348"/>
		<updated>2019-02-25T09:00:58Z</updated>

		<summary type="html">&lt;p&gt;Aminox86: /* 6 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Dieser Artikel beschreibt die Vorgehensweise, einfache sequentielle Schaltungen in der Praxis umzusetzen.&lt;br /&gt;
&lt;br /&gt;
== Intention ==&lt;br /&gt;
Um eine LED blinken zu lassen, muß nicht unbedingt ein Mikrokontroller bemüht werden, wenn sich dieselbe Funktion auch mit ein paar Gattern und Flipflops realisieren lässt. Dabei soll unter einem &amp;quot;einfachen&amp;quot; Schaltwerk eine digitale Schaltung verstanden werden, deren &amp;quot;Verarbeitungsmöglichkeit&amp;quot; begrenzt ist, die zB &amp;quot;nur&amp;quot; zehn Eingangsvariablen aufnehmen kann oder zB &amp;quot;nur&amp;quot; 32 interne Zustände besitzt. Es soll sich daher um ein Gebilde handeln, das im einfachsten Fall aus digitalen Grundbausteinen besteht.&lt;br /&gt;
&lt;br /&gt;
Anhand eines konkreten Beispiels werden verschiedene Möglichkeiten der Realisierung eines Schaltwerks vorgestellt. Hierbei steht die praktische und systematische Umsetzung des gewählten Schaltwerkaufbaus im Vordergrund.&lt;br /&gt;
== 1 ==&lt;br /&gt;
Die Ausgangssignale eines Schaltwerks bzw dessen Zustand zum Betrachtungszeitpunkt werden nicht nur durch die aktuell anliegenden Eingangssignale sondern auch durch die Historie aller Eingangssignale bis zu diesem Zeitpunkt bestimmt. Diese Vorgeschichte wird in Speicherelementen, zB Flipflops, festgehalten. Ihr Inhalt wird an den Eingang des Schaltwerks zurückgeführt und dort mit den externen Signalen verknüpft, wodurch sich ggf der Zustand des Schaltwerks ändert.&amp;lt;br /&amp;gt;&lt;br /&gt;
Die zeitliche Reihenfolge der Zustände ist vorgeben, sie stellt die Funktionalität des Schaltwerks dar.&amp;lt;br /&amp;gt;&lt;br /&gt;
Diese Zustandsänderungen können sofort nach Wertänderung der Eingangsvariablen erfolgen, es liegt ein Asynchronschaltwerk vor, oder nur zu klar voneinander abgegrenzten  Zeitpunkten, es handelt sich dann um ein Synchronschaltwerk. Dieser Artikel beschäftigt sich mit Synchronschaltwerken, die die Struktur eines Moore-Automaten haben.&lt;br /&gt;
[[Bild:SchaltwerkSchema1.png|rechts|rahmen|Schaltwerk]]&lt;br /&gt;
Es liegt in der Natur des gewählten Themas, dass die hier beschriebenen Schaltwerke vorzugsweise aus handelsüblichen Komponenten (Gattern, Flipflops usw.) aufgebaut werden.&lt;br /&gt;
Das Übertragungsverhalten der FF ist durch ihren Aufbau vorgegeben und kann nicht beeinflußt werden.&amp;lt;br /&amp;gt;&lt;br /&gt;
Daher widmet sich dieser Artikel in erster Linie den Gestaltungsmöglichkeiten des Eingangsschaltnetzes unter Berücksichtigung des FF-Typs, auf die Dimensionierung des Ausgangsschaltnetzes wird bei Bedarf eingegangen.&lt;br /&gt;
&lt;br /&gt;
== 2 ==&lt;br /&gt;
Der Entwurf sollte schrittweise erfolgen. Die unten angeführte Reihenfolge ist bewährt, wobei die angeführten Positionen unterschiedlich umfangreich, abhängig von den Anforderungen, ausgestaltet werden können.&lt;br /&gt;
#Funktionsbeschreibung. Diese kann verbal (schriftlich, Handskizze) erfolgen oder durch zB ein Impulsdiagramm vorgegeben sein.&lt;br /&gt;
#Formale Beschreibung. Die in der Funktionsbeschreibung vorgegebenen Rahmenbedingungen werden in ein Zustandsdiagramm überführt. Hier erfolgt die vollständige Beschreibung des Schaltwerks, indem die Aufeinanderfolge der (festzulegenden) Zustände als Reaktion auf Eingangs- und Zustandsvektor bestimmt wird. Ebenfalls kann an dieser Stelle der Ausgangsvektor formuliert werden.&lt;br /&gt;
#Schaltwerkstabelle. Die Schaltwerkstabelle stellt das Zustandsdiagramm in tabellarischer Form dar. Mit ihrer Hilfe kann eine Zustandsminimierung (Zusammenfassen identischer Zustände) des Schaltwerks durchgeführt werden, die idR zu verringertem Bauteilebedarf führt. Änderungen in der Schaltwerkstabelle wirken auf das Zustandsdiagramm zurück.&lt;br /&gt;
#Zustandscodierung. Die Art der Zustandscodierung, insbesondere bei einfachen Synchronschaltwerken, unterliegt keinen Beschränkungen (im Gegensatz zu Asynchronschaltwerken). Die Codierung muß eindeutig sein und hat evtl Einfluß auf den Bauteileaufwand.&lt;br /&gt;
# Zustandsfolgetabelle. Ausgangspunkt der Zustandsfolgetabelle ist das Zustandsdiagramm. In dieser Tabelle findet das sequentielle Verhalten der Schaltung seinen Ausdruck, denn sie ist deutlich zweigeteilt. Eingangsvariablen &#039;&#039;&#039;und&#039;&#039;&#039; aktuelle Zustände werden üblicherweise auf der linken Seite („vor dem Takt“), Folgezustände und ggf Ausgangsvariablen rechts („nach dem Takt“) notiert.  Aus der Zustandsfolgetabelle können, wenn sie als Wahrheitstabelle interpretiert wird, die Übergangsfunktionen der Zustandsspeicher entnommen werden.&lt;br /&gt;
== 3 ==&lt;br /&gt;
Mechanische Bedienelemente elektrischer Geräte wie Kippschalter, Tastenaggregate, Drehschalter usw sind dankbare Objekte für die Emulation durch ein elektronisches Schaltwerk.&amp;lt;br /&amp;gt;&lt;br /&gt;
Das hier gezeigte Beispiel bildet einen Drehschalter, der auf 4 Schaltstellungen begrenzt ist, nach. &lt;br /&gt;
=== 3 ===&lt;br /&gt;
In der nebenstehenden Abbildung ist dargestellt, wie der mechanische Drehschalter in seine elektronische Entsprechung überführt werden soll. Der linke Teil der Abbildung zeigt die Kontakte K1..K4, [[Datei:StufenschalterSchaltwerk.png|rechts|rahmen]]die anwählbaren Stellungen des Schleifers, sowie den zentralen Anschluss K0. Neben den Kontakten ist ein weiteres Attribut eingetragen, hierbei handelt es sich um die Verknüpfung von Schalterstellung und jeweiligem Zustand des Schaltwerks.&amp;lt;br /&amp;gt;&lt;br /&gt;
Im rechten Teil sind das Schaltwerk und seine äußeren Anschlüsse skizziert. Das Schaltwerk reagiert auf zwei Taster. Sie stehen für die linke und/oder rechte Drehung des Schalter und generieren die Eingangssignale &#039;&#039;U&#039;&#039; und &#039;&#039;W&#039;&#039;. Die 4 Stellungen des Drehschalters werden durch die Ausgangssignale &#039;&#039;Stellung1..Stellung4&#039;&#039; repräsentiert.&amp;lt;br /&amp;gt;&lt;br /&gt;
Das Schaltwerk emuliert ausschließlich die mechanische Bewegung des Drehschalters, die elektrischen Eigenschaften des Schalters müssen von separaten Schaltungsteilen umgesetzt werden.&lt;br /&gt;
&lt;br /&gt;
=== 4 ===&lt;br /&gt;
Das Zustandsdiagramm setzt Eingangssignale und  Zustände des Schaltwerks miteinander in Beziehung. &lt;br /&gt;
[[Datei:Zustandsdiagramm.png|rahmen|rechts]]Das Schaltwerk befindet sich nach dem Einschalten in Z0, der den rechten Anschlag des 	emulierten Schalters bildet, denn das Aktivieren der „Taste rechts“ oder der „Tasten links+rechts“ bewirkt an dieser Stelle keine Zustandsänderung. Durch wiederholtes Betätigen der „Taste links“ gelangt man zu den nächsten Zuständen, bis der linke Anschlag erreicht ist. Die „Taste links“ bewirkt in Z3 keine Zustandsänderung. Mit der „Taste rechts“ kann dieser Zustand verlassen werden. Zwischen den Zuständen kann man sich mit den Tasten beliebig hin und her bewegen. Das gleichzeitige Betätigen beider Tasten „Tasten links+rechts“ versetzt das Schaltwerk aus jedem Zustand heraus in den Anfangszustand Z0, ein Verhalten, das mit einem mechanischen Drehschalter nicht möglich ist. Ist keine Taste aktiv verbleibt das Schaltwerk in seinem aktuellen Zustand.&lt;br /&gt;
=== 5 ===&lt;br /&gt;
Die Übergangstabelle enthält die Information des Zustandsdiagramms in tabellarischer Form. Die Signale &#039;&#039;U&#039;&#039; und &#039;&#039;W&#039;&#039; sind als &#039;1&#039;-aktiv eingetragen.&lt;br /&gt;
{|&lt;br /&gt;
| style=&amp;quot;width:45%&amp;quot;|&amp;amp;nbsp;&lt;br /&gt;
|&lt;br /&gt;
{|{{tabelle}}&lt;br /&gt;
|+ &#039;&#039;&#039;Übergangstabelle&#039;&#039;&#039;&lt;br /&gt;
|-style=&amp;quot;text-align:center; &amp;quot;&lt;br /&gt;
!style=&amp;quot;background:#EAECF0&amp;quot;|Folgezustand &lt;br /&gt;
|style=&amp;quot;background:#FFEBAD&amp;quot; colspan=&amp;quot;4&amp;quot;| Eingangssignale U W&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| aktueller Zustand &lt;br /&gt;
|style=&amp;quot;background:#FFEBAD&amp;quot;| 00 || style=&amp;quot;background:#FFEBAD&amp;quot; |01 ||style=&amp;quot;background:#FFEBAD&amp;quot;| 10 || style=&amp;quot;background:#FFEBAD&amp;quot; | 11&lt;br /&gt;
|-style=&amp;quot;text-align:center; background:#EAECF0&amp;quot; &lt;br /&gt;
| style=&amp;quot; background:#F8F9FA&amp;quot; | 0 &lt;br /&gt;
! 0 ||0 ||1 || 0&lt;br /&gt;
|-style=&amp;quot;text-align:center; background:#EAECF0&amp;quot; &lt;br /&gt;
| style=&amp;quot;background:#F8F9FA&amp;quot; | 1&lt;br /&gt;
! 1 || 0 || 2 || 0&lt;br /&gt;
|-style=&amp;quot;text-align:center; background:#EAECF0&amp;quot; &lt;br /&gt;
|style=&amp;quot;background:#F8F9FA&amp;quot; |2&lt;br /&gt;
! 2 || 1 || 3 || 0&lt;br /&gt;
|-style=&amp;quot;text-align:center; background:#EAECF0&amp;quot; &lt;br /&gt;
|style=&amp;quot;background:#F8F9FA&amp;quot; |3&lt;br /&gt;
! 3 || 2 || 3 || 0&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
Bei umfangreichen Schaltwerken kann an dieser Stelle versucht werden, Zustände zusammenzufassen.&lt;br /&gt;
&lt;br /&gt;
=== 6 ===&lt;br /&gt;
Unter Berücksichtigung der Übergangstabelle wird die Zustandsfolgetabelle aufgebaut. Sie enthält die Eingangssignale, den aktuellen Zustand und den Folgezustand des Schaltwerks.&amp;lt;br /&amp;gt;&lt;br /&gt;
Die Zustände liegen in der Wahrheitstabelle in codierter Form vor, in diesem Beispiel sind sie binär codiert und es genügen zwei Zustandsvariablen, &#039;&#039;A&amp;lt;sup&amp;gt;n&amp;lt;/sup&amp;gt;&#039;&#039;(LSD) und &#039;&#039;B&amp;lt;sup&amp;gt;n&amp;lt;/sup&amp;gt;&#039;&#039;(MSD), da das Schaltwerk 4 Zustände einnehmen kann.&lt;br /&gt;
{|&lt;br /&gt;
| style=&amp;quot;width:10%&amp;quot;|&amp;amp;nbsp;&lt;br /&gt;
|&lt;br /&gt;
{|{{tabelle}} &lt;br /&gt;
|+&#039;&#039;&#039;Zustandsfolgetabelle&#039;&#039;&#039;&lt;br /&gt;
|-style=&amp;quot;background:#EAECF0&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;2&amp;quot;|Eingangssignale||colspan=&amp;quot;2&amp;quot;|aktueller Zustand|| style=&amp;quot;border-left:2px solid&amp;quot; colspan=&amp;quot;2&amp;quot;| Folgezustand||style=&amp;quot;background:#FFFFFF; vertical-align:top&amp;quot; rowspan=&amp;quot;2&amp;quot;|Beschreibung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|U || W || B&amp;lt;sup&amp;gt;n&amp;lt;/sup&amp;gt; || A &amp;lt;sup&amp;gt;n&amp;lt;/sup&amp;gt;||style=&amp;quot;border-left:2px solid&amp;quot;| B&amp;lt;sup&amp;gt;n+1&amp;lt;/sup&amp;gt; || A&amp;lt;sup&amp;gt;n+1&amp;lt;/sup&amp;gt;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 0 || 0 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; Start&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 0 || 0 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 1 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;; nach &amp;quot;links&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 1 || 0 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; nach &amp;quot;rechts&amp;quot; → keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 1 || 0 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 0 || 0 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 1 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;; keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 0 || 0 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;; nach &amp;quot;links&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 1 || 0 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; nach &amp;quot;rechts&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 1 || 0 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; Rücksprung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 0 || 1 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;; keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 0 || 1 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 1 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt;; nach &amp;quot;links&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 1 || 1 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 1 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;; nach &amp;quot;rechts&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 1 || 1 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; Rücksprung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 0 || 1 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 1 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt;; keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 0 || 1 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 1 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt;; nach &amp;quot;links&amp;quot; → keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 1 || 1 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;; nach &amp;quot;rechts&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 1 || 1 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; Rücksprung&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
Aus der Zustandsfolgetabelle werden die Übergangsfunktionen der Zustandsvariablen &#039;&#039;A&amp;lt;sup&amp;gt;n+1&amp;lt;/sup&amp;gt;&#039;&#039; und &#039;&#039;B&amp;lt;sup&amp;gt;n+1&amp;lt;/sup&amp;gt;&#039;&#039; entnommen. Sie sind Ausgangspunkt für die rechnerische Bestimmung der Eingangsschaltnetze  der Zustandsvariablenspeicher.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Alle nachfolgend beschriebenen Schaltwerkversionen besitzen die gleichen Ausgangssignale, die aus den Zustandsvariablen des Momentanzustandes ermittelt werden. Die Ausgangssignale sind ´1´-aktiv und werden durch die &amp;quot;Methode des scharfen Ansehens&amp;quot; aus obiger Tabelle erhalten:&amp;lt;br /&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
| style=&amp;quot;width:70%&amp;quot;|&amp;amp;nbsp;&lt;br /&gt;
|&lt;br /&gt;
{|style=&amp;quot; font-style: italic&amp;quot;&lt;br /&gt;
|Stellung1 || =|| style=&amp;quot;text-decoration:overline&amp;quot;| A || &amp;amp;sdot; ||  style=&amp;quot;text-decoration:overline&amp;quot;| B &lt;br /&gt;
|-style=&amp;quot;font-style: italic&amp;quot;&lt;br /&gt;
|Stellung2 || =||  A || &amp;amp;sdot; || style=&amp;quot;text-decoration:overline&amp;quot;| B &lt;br /&gt;
|-style=&amp;quot;font-style: italic&amp;quot;&lt;br /&gt;
|Stellung3 || =|| style=&amp;quot;text-decoration:overline&amp;quot;| A || &amp;amp;sdot; || B &lt;br /&gt;
|-style=&amp;quot;font-style: italic&amp;quot;&lt;br /&gt;
|Stellung4 || =|| A || &amp;amp;sdot; || B &lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 7 Gatterversion ===&lt;br /&gt;
Die klassische Methode, das Eingangsschaltnetz aufzubauen, besteht darin, logische Schaltkreise entsprechend den Übergangsfunktionen miteinander zu kombinieren.&amp;lt;br /&amp;gt;&lt;br /&gt;
Die Liste enthält verschiedene Aspekte dieser Ausführung:&lt;br /&gt;
* [[Media: Stufenschalter1.pdf|Schaltplan der Gatterversion]]&lt;br /&gt;
* [[Media: FFs1Gleichungen.pdf|Berechnungen zur Gatterversion]]&lt;br /&gt;
* [https://www.youtube.com/watch?v=LuBIOe8P5pU Video - das Schaltwerk in Aktion]&lt;br /&gt;
=== 8 Multiplexer Version ===&lt;br /&gt;
Mit einem Multiplexer, der über &#039;&#039;n&#039;&#039; Steuer(Select)eingänge verfügt, können an seinem Ausgang alle&lt;br /&gt;
Kombinationen von &#039;&#039;(n+1)&#039;&#039;-Bool&#039;schen Variablen dargestellt werden. Beispiel: Es liegt ein (4 zu 1)-Multiplexer vor. Dieser ist für 3 Variablen ausreichend, denn &#039;&#039;4=2&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;&#039;&#039;, daher ist &#039;&#039;n=2&#039;&#039; und &#039;&#039;n+1=3&#039;&#039;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Die nachfolgende Liste stellt diese Version des Schaltwerks vor:&lt;br /&gt;
*[[Media:Stufenschalter2.pdf|Schaltplan]]&lt;br /&gt;
*[[Media:ULPs1Gleichungen.pdf|Berechnungen zur Multiplexer Version]]&lt;br /&gt;
&lt;br /&gt;
=== 9 ROM Version ===&lt;/div&gt;</summary>
		<author><name>Aminox86</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Methodischer_Entwurf_einfacher_Schaltwerke&amp;diff=100346</id>
		<title>Methodischer Entwurf einfacher Schaltwerke</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Methodischer_Entwurf_einfacher_Schaltwerke&amp;diff=100346"/>
		<updated>2019-02-24T22:03:23Z</updated>

		<summary type="html">&lt;p&gt;Aminox86: /* 8 Multiplexer Version */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Dieser Artikel beschreibt die Vorgehensweise, einfache sequentielle Schaltungen in der Praxis umzusetzen.&lt;br /&gt;
&lt;br /&gt;
== Intention ==&lt;br /&gt;
Um eine LED blinken zu lassen, muß nicht unbedingt ein Mikrokontroller bemüht werden, wenn sich dieselbe Funktion auch mit ein paar Gattern und Flipflops realisieren lässt. Dabei soll unter einem &amp;quot;einfachen&amp;quot; Schaltwerk eine digitale Schaltung verstanden werden, deren &amp;quot;Verarbeitungsmöglichkeit&amp;quot; begrenzt ist, die zB &amp;quot;nur&amp;quot; zehn Eingangsvariablen aufnehmen kann oder zB &amp;quot;nur&amp;quot; 32 interne Zustände besitzt. Es soll sich daher um ein Gebilde handeln, das im einfachsten Fall aus digitalen Grundbausteinen besteht.&lt;br /&gt;
&lt;br /&gt;
Anhand eines konkreten Beispiels werden verschiedene Möglichkeiten der Realisierung eines Schaltwerks vorgestellt. Hierbei steht die praktische und systematische Umsetzung des gewählten Schaltwerkaufbaus im Vordergrund.&lt;br /&gt;
== 1 ==&lt;br /&gt;
Die Ausgangssignale eines Schaltwerks bzw dessen Zustand zum Betrachtungszeitpunkt werden nicht nur durch die aktuell anliegenden Eingangssignale sondern auch durch die Historie aller Eingangssignale bis zu diesem Zeitpunkt bestimmt. Diese Vorgeschichte wird in Speicherelementen, zB Flipflops, festgehalten. Ihr Inhalt wird an den Eingang des Schaltwerks zurückgeführt und dort mit den externen Signalen verknüpft, wodurch sich ggf der Zustand des Schaltwerks ändert.&amp;lt;br /&amp;gt;&lt;br /&gt;
Die zeitliche Reihenfolge der Zustände ist vorgeben, sie stellt die Funktionalität des Schaltwerks dar.&amp;lt;br /&amp;gt;&lt;br /&gt;
Diese Zustandsänderungen können sofort nach Wertänderung der Eingangsvariablen erfolgen, es liegt ein Asynchronschaltwerk vor, oder nur zu klar voneinander abgegrenzten  Zeitpunkten, es handelt sich dann um ein Synchronschaltwerk. Dieser Artikel beschäftigt sich mit Synchronschaltwerken, die die Struktur eines Moore-Automaten haben.&lt;br /&gt;
[[Bild:SchaltwerkSchema1.png|rechts|rahmen|Schaltwerk]]&lt;br /&gt;
Es liegt in der Natur des gewählten Themas, dass die hier beschriebenen Schaltwerke vorzugsweise aus handelsüblichen Komponenten (Gattern, Flipflops usw.) aufgebaut werden.&lt;br /&gt;
Das Übertragungsverhalten der FF ist durch ihren Aufbau vorgegeben und kann nicht beeinflußt werden.&amp;lt;br /&amp;gt;&lt;br /&gt;
Daher widmet sich dieser Artikel in erster Linie den Gestaltungsmöglichkeiten des Eingangsschaltnetzes unter Berücksichtigung des FF-Typs, auf die Dimensionierung des Ausgangsschaltnetzes wird bei Bedarf eingegangen.&lt;br /&gt;
&lt;br /&gt;
== 2 ==&lt;br /&gt;
Der Entwurf sollte schrittweise erfolgen. Die unten angeführte Reihenfolge ist bewährt, wobei die angeführten Positionen unterschiedlich umfangreich, abhängig von den Anforderungen, ausgestaltet werden können.&lt;br /&gt;
#Funktionsbeschreibung. Diese kann verbal (schriftlich, Handskizze) erfolgen oder durch zB ein Impulsdiagramm vorgegeben sein.&lt;br /&gt;
#Formale Beschreibung. Die in der Funktionsbeschreibung vorgegebenen Rahmenbedingungen werden in ein Zustandsdiagramm überführt. Hier erfolgt die vollständige Beschreibung des Schaltwerks, indem die Aufeinanderfolge der (festzulegenden) Zustände als Reaktion auf Eingangs- und Zustandsvektor bestimmt wird. Ebenfalls kann an dieser Stelle der Ausgangsvektor formuliert werden.&lt;br /&gt;
#Schaltwerkstabelle. Die Schaltwerkstabelle stellt das Zustandsdiagramm in tabellarischer Form dar. Mit ihrer Hilfe kann eine Zustandsminimierung (Zusammenfassen identischer Zustände) des Schaltwerks durchgeführt werden, die idR zu verringertem Bauteilebedarf führt. Änderungen in der Schaltwerkstabelle wirken auf das Zustandsdiagramm zurück.&lt;br /&gt;
#Zustandscodierung. Die Art der Zustandscodierung, insbesondere bei einfachen Synchronschaltwerken, unterliegt keinen Beschränkungen (im Gegensatz zu Asynchronschaltwerken). Die Codierung muß eindeutig sein und hat evtl Einfluß auf den Bauteileaufwand.&lt;br /&gt;
# Zustandsfolgetabelle. Ausgangspunkt der Zustandsfolgetabelle ist das Zustandsdiagramm. In dieser Tabelle findet das sequentielle Verhalten der Schaltung seinen Ausdruck, denn sie ist deutlich zweigeteilt. Eingangsvariablen &#039;&#039;&#039;und&#039;&#039;&#039; aktuelle Zustände werden üblicherweise auf der linken Seite („vor dem Takt“), Folgezustände und ggf Ausgangsvariablen rechts („nach dem Takt“) notiert.  Aus der Zustandsfolgetabelle können, wenn sie als Wahrheitstabelle interpretiert wird, die Übergangsfunktionen der Zustandsspeicher entnommen werden.&lt;br /&gt;
== 3 ==&lt;br /&gt;
Mechanische Bedienelemente elektrischer Geräte wie Kippschalter, Tastenaggregate, Drehschalter usw sind dankbare Objekte für die Emulation durch ein elektronisches Schaltwerk.&amp;lt;br /&amp;gt;&lt;br /&gt;
Das hier gezeigte Beispiel bildet einen Drehschalter, der auf 4 Schaltstellungen begrenzt ist, nach. &lt;br /&gt;
=== 3 ===&lt;br /&gt;
In der nebenstehenden Abbildung ist dargestellt, wie der mechanische Drehschalter in seine elektronische Entsprechung überführt werden soll. Der linke Teil der Abbildung zeigt die Kontakte K1..K4, [[Datei:StufenschalterSchaltwerk.png|rechts|rahmen]]die anwählbaren Stellungen des Schleifers, sowie den zentralen Anschluss K0. Neben den Kontakten ist ein weiteres Attribut eingetragen, hierbei handelt es sich um die Verknüpfung von Schalterstellung und jeweiligem Zustand des Schaltwerks.&amp;lt;br /&amp;gt;&lt;br /&gt;
Im rechten Teil sind das Schaltwerk und seine äußeren Anschlüsse skizziert. Das Schaltwerk reagiert auf zwei Taster. Sie stehen für die linke und/oder rechte Drehung des Schalter und generieren die Eingangssignale &#039;&#039;U&#039;&#039; und &#039;&#039;W&#039;&#039;. Die 4 Stellungen des Drehschalters werden durch die Ausgangssignale &#039;&#039;Stellung1..Stellung4&#039;&#039; repräsentiert.&amp;lt;br /&amp;gt;&lt;br /&gt;
Das Schaltwerk emuliert ausschließlich die mechanische Bewegung des Drehschalters, die elektrischen Eigenschaften des Schalters müssen von separaten Schaltungsteilen umgesetzt werden.&lt;br /&gt;
&lt;br /&gt;
=== 4 ===&lt;br /&gt;
Das Zustandsdiagramm setzt Eingangssignale und  Zustände des Schaltwerks miteinander in Beziehung. &lt;br /&gt;
[[Datei:Zustandsdiagramm.png|rahmen|rechts]]Das Schaltwerk befindet sich nach dem Einschalten in Z0, der den rechten Anschlag des 	emulierten Schalters bildet, denn das Aktivieren der „Taste rechts“ oder der „Tasten links+rechts“ bewirkt an dieser Stelle keine Zustandsänderung. Durch wiederholtes Betätigen der „Taste links“ gelangt man zu den nächsten Zuständen, bis der linke Anschlag erreicht ist. Die „Taste links“ bewirkt in Z3 keine Zustandsänderung. Mit der „Taste rechts“ kann dieser Zustand verlassen werden. Zwischen den Zuständen kann man sich mit den Tasten beliebig hin und her bewegen. Das gleichzeitige Betätigen beider Tasten „Tasten links+rechts“ versetzt das Schaltwerk aus jedem Zustand heraus in den Anfangszustand Z0, ein Verhalten, das mit einem mechanischen Drehschalter nicht möglich ist. Ist keine Taste aktiv verbleibt das Schaltwerk in seinem aktuellen Zustand.&lt;br /&gt;
=== 5 ===&lt;br /&gt;
Die Übergangstabelle enthält die Information des Zustandsdiagramms in tabellarischer Form. Die Signale &#039;&#039;U&#039;&#039; und &#039;&#039;W&#039;&#039; sind als &#039;1&#039;-aktiv eingetragen.&lt;br /&gt;
{|&lt;br /&gt;
| style=&amp;quot;width:45%&amp;quot;|&amp;amp;nbsp;&lt;br /&gt;
|&lt;br /&gt;
{|{{tabelle}}&lt;br /&gt;
|+ &#039;&#039;&#039;Übergangstabelle&#039;&#039;&#039;&lt;br /&gt;
|-style=&amp;quot;text-align:center; &amp;quot;&lt;br /&gt;
!style=&amp;quot;background:#EAECF0&amp;quot;|Folgezustand &lt;br /&gt;
|style=&amp;quot;background:#FFEBAD&amp;quot; colspan=&amp;quot;4&amp;quot;| Eingangssignale U W&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| aktueller Zustand &lt;br /&gt;
|style=&amp;quot;background:#FFEBAD&amp;quot;| 00 || style=&amp;quot;background:#FFEBAD&amp;quot; |01 ||style=&amp;quot;background:#FFEBAD&amp;quot;| 10 || style=&amp;quot;background:#FFEBAD&amp;quot; | 11&lt;br /&gt;
|-style=&amp;quot;text-align:center; background:#EAECF0&amp;quot; &lt;br /&gt;
| style=&amp;quot; background:#F8F9FA&amp;quot; | 0 &lt;br /&gt;
! 0 ||0 ||1 || 0&lt;br /&gt;
|-style=&amp;quot;text-align:center; background:#EAECF0&amp;quot; &lt;br /&gt;
| style=&amp;quot;background:#F8F9FA&amp;quot; | 1&lt;br /&gt;
! 1 || 0 || 2 || 0&lt;br /&gt;
|-style=&amp;quot;text-align:center; background:#EAECF0&amp;quot; &lt;br /&gt;
|style=&amp;quot;background:#F8F9FA&amp;quot; |2&lt;br /&gt;
! 2 || 1 || 3 || 0&lt;br /&gt;
|-style=&amp;quot;text-align:center; background:#EAECF0&amp;quot; &lt;br /&gt;
|style=&amp;quot;background:#F8F9FA&amp;quot; |3&lt;br /&gt;
! 3 || 2 || 3 || 0&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
Bei umfangreichen Schaltwerken kann an dieser Stelle versucht werden, Zustände zusammenzufassen.&lt;br /&gt;
&lt;br /&gt;
=== 6 ===&lt;br /&gt;
Unter Berücksichtigung der Übergangstabelle wird die Zustandsfolgetabelle aufgebaut. Sie enthält die Eingangssignale, den aktuellen Zustand und den Folgezustand des Schaltwerks.&amp;lt;br /&amp;gt;&lt;br /&gt;
Die Zustände liegen in der Wahrheitstabelle in codierter Form vor, in diesem Beispiel sind sie binär codiert und es genügen zwei Zustandsvariablen, &#039;&#039;A&amp;lt;sup&amp;gt;n&amp;lt;/sup&amp;gt;&#039;&#039;(LSD) und &#039;&#039;B&amp;lt;sup&amp;gt;n&amp;lt;/sup&amp;gt;&#039;&#039;(MSD), da das Schaltwerk 4 Zustände einnehmen kann.&lt;br /&gt;
{|&lt;br /&gt;
| style=&amp;quot;width:10%&amp;quot;|&amp;amp;nbsp;&lt;br /&gt;
|&lt;br /&gt;
{|{{tabelle}} &lt;br /&gt;
|+&#039;&#039;&#039;Zustandsfolgetabelle&#039;&#039;&#039;&lt;br /&gt;
|-style=&amp;quot;background:#EAECF0&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;2&amp;quot;|Eingangssignale||colspan=&amp;quot;2&amp;quot;|aktueller Zustand|| style=&amp;quot;border-left:2px solid&amp;quot; colspan=&amp;quot;2&amp;quot;| Folgezustand||style=&amp;quot;background:#FFFFFF; vertical-align:top&amp;quot; rowspan=&amp;quot;2&amp;quot;|Beschreibung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|U || W || B&amp;lt;sup&amp;gt;n&amp;lt;/sup&amp;gt; || A &amp;lt;sup&amp;gt;n&amp;lt;/sup&amp;gt;||style=&amp;quot;border-left:2px solid&amp;quot;| B&amp;lt;sup&amp;gt;n+1&amp;lt;/sup&amp;gt; || A&amp;lt;sup&amp;gt;n+1&amp;lt;/sup&amp;gt;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 0 || 0 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; Start&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 0 || 0 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 1 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;; nach &amp;quot;links&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 1 || 0 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; nach &amp;quot;rechts&amp;quot; → keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 1 || 0 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 0 || 0 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 1 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;; keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 0 || 0 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;; nach &amp;quot;links&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 1 || 0 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; nach &amp;quot;rechts&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 1 || 0 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; Rücksprung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 0 || 1 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;; keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 0 || 1 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 1 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt;; nach &amp;quot;links&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 1 || 1 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 1 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;; nach &amp;quot;rechts&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 1 || 1 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; Rücksprung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 0 || 1 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 1 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt;; keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 0 || 1 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 1 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt;; nach &amp;quot;links&amp;quot; → keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 1 || 1 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;; nach &amp;quot;rechts&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 1 || 1 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; Rücksprung&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
Aus der Zustandsfolgetabelle werden die Übergangsfunktionen der Zustandsvariablen &#039;&#039;A&amp;lt;sup&amp;gt;n+1&amp;lt;/sup&amp;gt;&#039;&#039; und &#039;&#039;B&amp;lt;sup&amp;gt;n+1&amp;lt;/sup&amp;gt;&#039;&#039; entnommen. Sie sind Ausgangspunkt für die rechnerische Bestimmung der Eingangsschaltnetze  der Zustandsvariablenspeicher.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Alle nachfolgend beschriebenen Schaltwerkversionen besitzen die gleichen Ausgangssignale, die aus den Zustandsvariablen des Momentanzustandes ermittelt werden. Die Ausgangssignale sind ´1´-aktiv und werden durch die &amp;quot;Methode des scharfen Ansehens&amp;quot; aus obiger Tabelle erhalten:&amp;lt;br /&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
| style=&amp;quot;width:70%&amp;quot;|&amp;amp;nbsp;&lt;br /&gt;
|&lt;br /&gt;
{|-style=&amp;quot; font-style: italic&amp;quot;&lt;br /&gt;
|Stellung1 || =|| style=&amp;quot;text-decoration:overline&amp;quot;| A || &amp;amp;sdot; ||  style=&amp;quot;text-decoration:overline&amp;quot;| B &lt;br /&gt;
|-style=&amp;quot;font-style: italic&amp;quot;&lt;br /&gt;
|Stellung2 || =||  A || &amp;amp;sdot; || style=&amp;quot;text-decoration:overline&amp;quot;| B &lt;br /&gt;
|-style=&amp;quot;font-style: italic&amp;quot;&lt;br /&gt;
|Stellung3 || =|| style=&amp;quot;text-decoration:overline&amp;quot;| A || &amp;amp;sdot; || B &lt;br /&gt;
|-style=&amp;quot;font-style: italic&amp;quot;&lt;br /&gt;
|Stellung4 || =|| A || &amp;amp;sdot; || B &lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 7 Gatterversion ===&lt;br /&gt;
Die klassische Methode, das Eingangsschaltnetz aufzubauen, besteht darin, logische Schaltkreise entsprechend den Übergangsfunktionen miteinander zu kombinieren.&amp;lt;br /&amp;gt;&lt;br /&gt;
Die Liste enthält verschiedene Aspekte dieser Ausführung:&lt;br /&gt;
* [[Media: Stufenschalter1.pdf|Schaltplan der Gatterversion]]&lt;br /&gt;
* [[Media: FFs1Gleichungen.pdf|Berechnungen zur Gatterversion]]&lt;br /&gt;
* [https://www.youtube.com/watch?v=LuBIOe8P5pU Video - das Schaltwerk in Aktion]&lt;br /&gt;
=== 8 Multiplexer Version ===&lt;br /&gt;
Mit einem Multiplexer, der über &#039;&#039;n&#039;&#039; Steuer(Select)eingänge verfügt, können an seinem Ausgang alle&lt;br /&gt;
Kombinationen von &#039;&#039;(n+1)&#039;&#039;-Bool&#039;schen Variablen dargestellt werden. Beispiel: Es liegt ein (4 zu 1)-Multiplexer vor. Dieser ist für 3 Variablen ausreichend, denn &#039;&#039;4=2&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;&#039;&#039;, daher ist &#039;&#039;n=2&#039;&#039; und &#039;&#039;n+1=3&#039;&#039;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Die nachfolgende Liste stellt diese Version des Schaltwerks vor:&lt;br /&gt;
*[[Media:Stufenschalter2.pdf|Schaltplan]]&lt;br /&gt;
*[[Media:ULPs1Gleichungen.pdf|Berechnungen zur Multiplexer Version]]&lt;br /&gt;
&lt;br /&gt;
=== 9 ROM Version ===&lt;/div&gt;</summary>
		<author><name>Aminox86</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Datei:Stufenschalter2.pdf&amp;diff=100345</id>
		<title>Datei:Stufenschalter2.pdf</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Datei:Stufenschalter2.pdf&amp;diff=100345"/>
		<updated>2019-02-24T22:00:19Z</updated>

		<summary type="html">&lt;p&gt;Aminox86: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Sufenschalter2&lt;/div&gt;</summary>
		<author><name>Aminox86</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Datei:ULPs1Gleichungen.pdf&amp;diff=100344</id>
		<title>Datei:ULPs1Gleichungen.pdf</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Datei:ULPs1Gleichungen.pdf&amp;diff=100344"/>
		<updated>2019-02-24T21:57:23Z</updated>

		<summary type="html">&lt;p&gt;Aminox86: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;ULPs1Gleichungen&lt;/div&gt;</summary>
		<author><name>Aminox86</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Methodischer_Entwurf_einfacher_Schaltwerke&amp;diff=100343</id>
		<title>Methodischer Entwurf einfacher Schaltwerke</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Methodischer_Entwurf_einfacher_Schaltwerke&amp;diff=100343"/>
		<updated>2019-02-24T20:43:57Z</updated>

		<summary type="html">&lt;p&gt;Aminox86: /* 7 Gatterversion */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Dieser Artikel beschreibt die Vorgehensweise, einfache sequentielle Schaltungen in der Praxis umzusetzen.&lt;br /&gt;
&lt;br /&gt;
== Intention ==&lt;br /&gt;
Um eine LED blinken zu lassen, muß nicht unbedingt ein Mikrokontroller bemüht werden, wenn sich dieselbe Funktion auch mit ein paar Gattern und Flipflops realisieren lässt. Dabei soll unter einem &amp;quot;einfachen&amp;quot; Schaltwerk eine digitale Schaltung verstanden werden, deren &amp;quot;Verarbeitungsmöglichkeit&amp;quot; begrenzt ist, die zB &amp;quot;nur&amp;quot; zehn Eingangsvariablen aufnehmen kann oder zB &amp;quot;nur&amp;quot; 32 interne Zustände besitzt. Es soll sich daher um ein Gebilde handeln, das im einfachsten Fall aus digitalen Grundbausteinen besteht.&lt;br /&gt;
&lt;br /&gt;
Anhand eines konkreten Beispiels werden verschiedene Möglichkeiten der Realisierung eines Schaltwerks vorgestellt. Hierbei steht die praktische und systematische Umsetzung des gewählten Schaltwerkaufbaus im Vordergrund.&lt;br /&gt;
== 1 ==&lt;br /&gt;
Die Ausgangssignale eines Schaltwerks bzw dessen Zustand zum Betrachtungszeitpunkt werden nicht nur durch die aktuell anliegenden Eingangssignale sondern auch durch die Historie aller Eingangssignale bis zu diesem Zeitpunkt bestimmt. Diese Vorgeschichte wird in Speicherelementen, zB Flipflops, festgehalten. Ihr Inhalt wird an den Eingang des Schaltwerks zurückgeführt und dort mit den externen Signalen verknüpft, wodurch sich ggf der Zustand des Schaltwerks ändert.&amp;lt;br /&amp;gt;&lt;br /&gt;
Die zeitliche Reihenfolge der Zustände ist vorgeben, sie stellt die Funktionalität des Schaltwerks dar.&amp;lt;br /&amp;gt;&lt;br /&gt;
Diese Zustandsänderungen können sofort nach Wertänderung der Eingangsvariablen erfolgen, es liegt ein Asynchronschaltwerk vor, oder nur zu klar voneinander abgegrenzten  Zeitpunkten, es handelt sich dann um ein Synchronschaltwerk. Dieser Artikel beschäftigt sich mit Synchronschaltwerken, die die Struktur eines Moore-Automaten haben.&lt;br /&gt;
[[Bild:SchaltwerkSchema1.png|rechts|rahmen|Schaltwerk]]&lt;br /&gt;
Es liegt in der Natur des gewählten Themas, dass die hier beschriebenen Schaltwerke vorzugsweise aus handelsüblichen Komponenten (Gattern, Flipflops usw.) aufgebaut werden.&lt;br /&gt;
Das Übertragungsverhalten der FF ist durch ihren Aufbau vorgegeben und kann nicht beeinflußt werden.&amp;lt;br /&amp;gt;&lt;br /&gt;
Daher widmet sich dieser Artikel in erster Linie den Gestaltungsmöglichkeiten des Eingangsschaltnetzes unter Berücksichtigung des FF-Typs, auf die Dimensionierung des Ausgangsschaltnetzes wird bei Bedarf eingegangen.&lt;br /&gt;
&lt;br /&gt;
== 2 ==&lt;br /&gt;
Der Entwurf sollte schrittweise erfolgen. Die unten angeführte Reihenfolge ist bewährt, wobei die angeführten Positionen unterschiedlich umfangreich, abhängig von den Anforderungen, ausgestaltet werden können.&lt;br /&gt;
#Funktionsbeschreibung. Diese kann verbal (schriftlich, Handskizze) erfolgen oder durch zB ein Impulsdiagramm vorgegeben sein.&lt;br /&gt;
#Formale Beschreibung. Die in der Funktionsbeschreibung vorgegebenen Rahmenbedingungen werden in ein Zustandsdiagramm überführt. Hier erfolgt die vollständige Beschreibung des Schaltwerks, indem die Aufeinanderfolge der (festzulegenden) Zustände als Reaktion auf Eingangs- und Zustandsvektor bestimmt wird. Ebenfalls kann an dieser Stelle der Ausgangsvektor formuliert werden.&lt;br /&gt;
#Schaltwerkstabelle. Die Schaltwerkstabelle stellt das Zustandsdiagramm in tabellarischer Form dar. Mit ihrer Hilfe kann eine Zustandsminimierung (Zusammenfassen identischer Zustände) des Schaltwerks durchgeführt werden, die idR zu verringertem Bauteilebedarf führt. Änderungen in der Schaltwerkstabelle wirken auf das Zustandsdiagramm zurück.&lt;br /&gt;
#Zustandscodierung. Die Art der Zustandscodierung, insbesondere bei einfachen Synchronschaltwerken, unterliegt keinen Beschränkungen (im Gegensatz zu Asynchronschaltwerken). Die Codierung muß eindeutig sein und hat evtl Einfluß auf den Bauteileaufwand.&lt;br /&gt;
# Zustandsfolgetabelle. Ausgangspunkt der Zustandsfolgetabelle ist das Zustandsdiagramm. In dieser Tabelle findet das sequentielle Verhalten der Schaltung seinen Ausdruck, denn sie ist deutlich zweigeteilt. Eingangsvariablen &#039;&#039;&#039;und&#039;&#039;&#039; aktuelle Zustände werden üblicherweise auf der linken Seite („vor dem Takt“), Folgezustände und ggf Ausgangsvariablen rechts („nach dem Takt“) notiert.  Aus der Zustandsfolgetabelle können, wenn sie als Wahrheitstabelle interpretiert wird, die Übergangsfunktionen der Zustandsspeicher entnommen werden.&lt;br /&gt;
== 3 ==&lt;br /&gt;
Mechanische Bedienelemente elektrischer Geräte wie Kippschalter, Tastenaggregate, Drehschalter usw sind dankbare Objekte für die Emulation durch ein elektronisches Schaltwerk.&amp;lt;br /&amp;gt;&lt;br /&gt;
Das hier gezeigte Beispiel bildet einen Drehschalter, der auf 4 Schaltstellungen begrenzt ist, nach. &lt;br /&gt;
=== 3 ===&lt;br /&gt;
In der nebenstehenden Abbildung ist dargestellt, wie der mechanische Drehschalter in seine elektronische Entsprechung überführt werden soll. Der linke Teil der Abbildung zeigt die Kontakte K1..K4, [[Datei:StufenschalterSchaltwerk.png|rechts|rahmen]]die anwählbaren Stellungen des Schleifers, sowie den zentralen Anschluss K0. Neben den Kontakten ist ein weiteres Attribut eingetragen, hierbei handelt es sich um die Verknüpfung von Schalterstellung und jeweiligem Zustand des Schaltwerks.&amp;lt;br /&amp;gt;&lt;br /&gt;
Im rechten Teil sind das Schaltwerk und seine äußeren Anschlüsse skizziert. Das Schaltwerk reagiert auf zwei Taster. Sie stehen für die linke und/oder rechte Drehung des Schalter und generieren die Eingangssignale &#039;&#039;U&#039;&#039; und &#039;&#039;W&#039;&#039;. Die 4 Stellungen des Drehschalters werden durch die Ausgangssignale &#039;&#039;Stellung1..Stellung4&#039;&#039; repräsentiert.&amp;lt;br /&amp;gt;&lt;br /&gt;
Das Schaltwerk emuliert ausschließlich die mechanische Bewegung des Drehschalters, die elektrischen Eigenschaften des Schalters müssen von separaten Schaltungsteilen umgesetzt werden.&lt;br /&gt;
&lt;br /&gt;
=== 4 ===&lt;br /&gt;
Das Zustandsdiagramm setzt Eingangssignale und  Zustände des Schaltwerks miteinander in Beziehung. &lt;br /&gt;
[[Datei:Zustandsdiagramm.png|rahmen|rechts]]Das Schaltwerk befindet sich nach dem Einschalten in Z0, der den rechten Anschlag des 	emulierten Schalters bildet, denn das Aktivieren der „Taste rechts“ oder der „Tasten links+rechts“ bewirkt an dieser Stelle keine Zustandsänderung. Durch wiederholtes Betätigen der „Taste links“ gelangt man zu den nächsten Zuständen, bis der linke Anschlag erreicht ist. Die „Taste links“ bewirkt in Z3 keine Zustandsänderung. Mit der „Taste rechts“ kann dieser Zustand verlassen werden. Zwischen den Zuständen kann man sich mit den Tasten beliebig hin und her bewegen. Das gleichzeitige Betätigen beider Tasten „Tasten links+rechts“ versetzt das Schaltwerk aus jedem Zustand heraus in den Anfangszustand Z0, ein Verhalten, das mit einem mechanischen Drehschalter nicht möglich ist. Ist keine Taste aktiv verbleibt das Schaltwerk in seinem aktuellen Zustand.&lt;br /&gt;
=== 5 ===&lt;br /&gt;
Die Übergangstabelle enthält die Information des Zustandsdiagramms in tabellarischer Form. Die Signale &#039;&#039;U&#039;&#039; und &#039;&#039;W&#039;&#039; sind als &#039;1&#039;-aktiv eingetragen.&lt;br /&gt;
{|&lt;br /&gt;
| style=&amp;quot;width:45%&amp;quot;|&amp;amp;nbsp;&lt;br /&gt;
|&lt;br /&gt;
{|{{tabelle}}&lt;br /&gt;
|+ &#039;&#039;&#039;Übergangstabelle&#039;&#039;&#039;&lt;br /&gt;
|-style=&amp;quot;text-align:center; &amp;quot;&lt;br /&gt;
!style=&amp;quot;background:#EAECF0&amp;quot;|Folgezustand &lt;br /&gt;
|style=&amp;quot;background:#FFEBAD&amp;quot; colspan=&amp;quot;4&amp;quot;| Eingangssignale U W&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| aktueller Zustand &lt;br /&gt;
|style=&amp;quot;background:#FFEBAD&amp;quot;| 00 || style=&amp;quot;background:#FFEBAD&amp;quot; |01 ||style=&amp;quot;background:#FFEBAD&amp;quot;| 10 || style=&amp;quot;background:#FFEBAD&amp;quot; | 11&lt;br /&gt;
|-style=&amp;quot;text-align:center; background:#EAECF0&amp;quot; &lt;br /&gt;
| style=&amp;quot; background:#F8F9FA&amp;quot; | 0 &lt;br /&gt;
! 0 ||0 ||1 || 0&lt;br /&gt;
|-style=&amp;quot;text-align:center; background:#EAECF0&amp;quot; &lt;br /&gt;
| style=&amp;quot;background:#F8F9FA&amp;quot; | 1&lt;br /&gt;
! 1 || 0 || 2 || 0&lt;br /&gt;
|-style=&amp;quot;text-align:center; background:#EAECF0&amp;quot; &lt;br /&gt;
|style=&amp;quot;background:#F8F9FA&amp;quot; |2&lt;br /&gt;
! 2 || 1 || 3 || 0&lt;br /&gt;
|-style=&amp;quot;text-align:center; background:#EAECF0&amp;quot; &lt;br /&gt;
|style=&amp;quot;background:#F8F9FA&amp;quot; |3&lt;br /&gt;
! 3 || 2 || 3 || 0&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
Bei umfangreichen Schaltwerken kann an dieser Stelle versucht werden, Zustände zusammenzufassen.&lt;br /&gt;
&lt;br /&gt;
=== 6 ===&lt;br /&gt;
Unter Berücksichtigung der Übergangstabelle wird die Zustandsfolgetabelle aufgebaut. Sie enthält die Eingangssignale, den aktuellen Zustand und den Folgezustand des Schaltwerks.&amp;lt;br /&amp;gt;&lt;br /&gt;
Die Zustände liegen in der Wahrheitstabelle in codierter Form vor, in diesem Beispiel sind sie binär codiert und es genügen zwei Zustandsvariablen, &#039;&#039;A&amp;lt;sup&amp;gt;n&amp;lt;/sup&amp;gt;&#039;&#039;(LSD) und &#039;&#039;B&amp;lt;sup&amp;gt;n&amp;lt;/sup&amp;gt;&#039;&#039;(MSD), da das Schaltwerk 4 Zustände einnehmen kann.&lt;br /&gt;
{|&lt;br /&gt;
| style=&amp;quot;width:10%&amp;quot;|&amp;amp;nbsp;&lt;br /&gt;
|&lt;br /&gt;
{|{{tabelle}} &lt;br /&gt;
|+&#039;&#039;&#039;Zustandsfolgetabelle&#039;&#039;&#039;&lt;br /&gt;
|-style=&amp;quot;background:#EAECF0&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;2&amp;quot;|Eingangssignale||colspan=&amp;quot;2&amp;quot;|aktueller Zustand|| style=&amp;quot;border-left:2px solid&amp;quot; colspan=&amp;quot;2&amp;quot;| Folgezustand||style=&amp;quot;background:#FFFFFF; vertical-align:top&amp;quot; rowspan=&amp;quot;2&amp;quot;|Beschreibung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|U || W || B&amp;lt;sup&amp;gt;n&amp;lt;/sup&amp;gt; || A &amp;lt;sup&amp;gt;n&amp;lt;/sup&amp;gt;||style=&amp;quot;border-left:2px solid&amp;quot;| B&amp;lt;sup&amp;gt;n+1&amp;lt;/sup&amp;gt; || A&amp;lt;sup&amp;gt;n+1&amp;lt;/sup&amp;gt;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 0 || 0 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; Start&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 0 || 0 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 1 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;; nach &amp;quot;links&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 1 || 0 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; nach &amp;quot;rechts&amp;quot; → keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 1 || 0 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 0 || 0 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 1 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;; keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 0 || 0 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;; nach &amp;quot;links&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 1 || 0 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; nach &amp;quot;rechts&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 1 || 0 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; Rücksprung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 0 || 1 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;; keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 0 || 1 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 1 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt;; nach &amp;quot;links&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 1 || 1 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 1 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;; nach &amp;quot;rechts&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 1 || 1 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; Rücksprung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 0 || 1 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 1 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt;; keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 0 || 1 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 1 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt;; nach &amp;quot;links&amp;quot; → keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 1 || 1 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;; nach &amp;quot;rechts&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 1 || 1 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; Rücksprung&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
Aus der Zustandsfolgetabelle werden die Übergangsfunktionen der Zustandsvariablen &#039;&#039;A&amp;lt;sup&amp;gt;n+1&amp;lt;/sup&amp;gt;&#039;&#039; und &#039;&#039;B&amp;lt;sup&amp;gt;n+1&amp;lt;/sup&amp;gt;&#039;&#039; entnommen. Sie sind Ausgangspunkt für die rechnerische Bestimmung der Eingangsschaltnetze  der Zustandsvariablenspeicher.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Alle nachfolgend beschriebenen Schaltwerkversionen besitzen die gleichen Ausgangssignale, die aus den Zustandsvariablen des Momentanzustandes ermittelt werden. Die Ausgangssignale sind ´1´-aktiv und werden durch die &amp;quot;Methode des scharfen Ansehens&amp;quot; aus obiger Tabelle erhalten:&amp;lt;br /&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
| style=&amp;quot;width:70%&amp;quot;|&amp;amp;nbsp;&lt;br /&gt;
|&lt;br /&gt;
{|-style=&amp;quot; font-style: italic&amp;quot;&lt;br /&gt;
|Stellung1 || =|| style=&amp;quot;text-decoration:overline&amp;quot;| A || &amp;amp;sdot; ||  style=&amp;quot;text-decoration:overline&amp;quot;| B &lt;br /&gt;
|-style=&amp;quot;font-style: italic&amp;quot;&lt;br /&gt;
|Stellung2 || =||  A || &amp;amp;sdot; || style=&amp;quot;text-decoration:overline&amp;quot;| B &lt;br /&gt;
|-style=&amp;quot;font-style: italic&amp;quot;&lt;br /&gt;
|Stellung3 || =|| style=&amp;quot;text-decoration:overline&amp;quot;| A || &amp;amp;sdot; || B &lt;br /&gt;
|-style=&amp;quot;font-style: italic&amp;quot;&lt;br /&gt;
|Stellung4 || =|| A || &amp;amp;sdot; || B &lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 7 Gatterversion ===&lt;br /&gt;
Die klassische Methode, das Eingangsschaltnetz aufzubauen, besteht darin, logische Schaltkreise entsprechend den Übergangsfunktionen miteinander zu kombinieren.&amp;lt;br /&amp;gt;&lt;br /&gt;
Die Liste enthält verschiedene Aspekte dieser Ausführung:&lt;br /&gt;
* [[Media: Stufenschalter1.pdf|Schaltplan der Gatterversion]]&lt;br /&gt;
* [[Media: FFs1Gleichungen.pdf|Berechnungen zur Gatterversion]]&lt;br /&gt;
* [https://www.youtube.com/watch?v=LuBIOe8P5pU Video - das Schaltwerk in Aktion]&lt;br /&gt;
=== 8 Multiplexer Version ===&lt;/div&gt;</summary>
		<author><name>Aminox86</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Datei:FFs1Gleichungen.pdf&amp;diff=100342</id>
		<title>Datei:FFs1Gleichungen.pdf</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Datei:FFs1Gleichungen.pdf&amp;diff=100342"/>
		<updated>2019-02-24T20:18:47Z</updated>

		<summary type="html">&lt;p&gt;Aminox86: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;FFs1Gleichungen&lt;/div&gt;</summary>
		<author><name>Aminox86</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Methodischer_Entwurf_einfacher_Schaltwerke&amp;diff=100341</id>
		<title>Methodischer Entwurf einfacher Schaltwerke</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Methodischer_Entwurf_einfacher_Schaltwerke&amp;diff=100341"/>
		<updated>2019-02-24T20:15:22Z</updated>

		<summary type="html">&lt;p&gt;Aminox86: /* 7 Gatterversion */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Dieser Artikel beschreibt die Vorgehensweise, einfache sequentielle Schaltungen in der Praxis umzusetzen.&lt;br /&gt;
&lt;br /&gt;
== Intention ==&lt;br /&gt;
Um eine LED blinken zu lassen, muß nicht unbedingt ein Mikrokontroller bemüht werden, wenn sich dieselbe Funktion auch mit ein paar Gattern und Flipflops realisieren lässt. Dabei soll unter einem &amp;quot;einfachen&amp;quot; Schaltwerk eine digitale Schaltung verstanden werden, deren &amp;quot;Verarbeitungsmöglichkeit&amp;quot; begrenzt ist, die zB &amp;quot;nur&amp;quot; zehn Eingangsvariablen aufnehmen kann oder zB &amp;quot;nur&amp;quot; 32 interne Zustände besitzt. Es soll sich daher um ein Gebilde handeln, das im einfachsten Fall aus digitalen Grundbausteinen besteht.&lt;br /&gt;
&lt;br /&gt;
Anhand eines konkreten Beispiels werden verschiedene Möglichkeiten der Realisierung eines Schaltwerks vorgestellt. Hierbei steht die praktische und systematische Umsetzung des gewählten Schaltwerkaufbaus im Vordergrund.&lt;br /&gt;
== 1 ==&lt;br /&gt;
Die Ausgangssignale eines Schaltwerks bzw dessen Zustand zum Betrachtungszeitpunkt werden nicht nur durch die aktuell anliegenden Eingangssignale sondern auch durch die Historie aller Eingangssignale bis zu diesem Zeitpunkt bestimmt. Diese Vorgeschichte wird in Speicherelementen, zB Flipflops, festgehalten. Ihr Inhalt wird an den Eingang des Schaltwerks zurückgeführt und dort mit den externen Signalen verknüpft, wodurch sich ggf der Zustand des Schaltwerks ändert.&amp;lt;br /&amp;gt;&lt;br /&gt;
Die zeitliche Reihenfolge der Zustände ist vorgeben, sie stellt die Funktionalität des Schaltwerks dar.&amp;lt;br /&amp;gt;&lt;br /&gt;
Diese Zustandsänderungen können sofort nach Wertänderung der Eingangsvariablen erfolgen, es liegt ein Asynchronschaltwerk vor, oder nur zu klar voneinander abgegrenzten  Zeitpunkten, es handelt sich dann um ein Synchronschaltwerk. Dieser Artikel beschäftigt sich mit Synchronschaltwerken, die die Struktur eines Moore-Automaten haben.&lt;br /&gt;
[[Bild:SchaltwerkSchema1.png|rechts|rahmen|Schaltwerk]]&lt;br /&gt;
Es liegt in der Natur des gewählten Themas, dass die hier beschriebenen Schaltwerke vorzugsweise aus handelsüblichen Komponenten (Gattern, Flipflops usw.) aufgebaut werden.&lt;br /&gt;
Das Übertragungsverhalten der FF ist durch ihren Aufbau vorgegeben und kann nicht beeinflußt werden.&amp;lt;br /&amp;gt;&lt;br /&gt;
Daher widmet sich dieser Artikel in erster Linie den Gestaltungsmöglichkeiten des Eingangsschaltnetzes unter Berücksichtigung des FF-Typs, auf die Dimensionierung des Ausgangsschaltnetzes wird bei Bedarf eingegangen.&lt;br /&gt;
&lt;br /&gt;
== 2 ==&lt;br /&gt;
Der Entwurf sollte schrittweise erfolgen. Die unten angeführte Reihenfolge ist bewährt, wobei die angeführten Positionen unterschiedlich umfangreich, abhängig von den Anforderungen, ausgestaltet werden können.&lt;br /&gt;
#Funktionsbeschreibung. Diese kann verbal (schriftlich, Handskizze) erfolgen oder durch zB ein Impulsdiagramm vorgegeben sein.&lt;br /&gt;
#Formale Beschreibung. Die in der Funktionsbeschreibung vorgegebenen Rahmenbedingungen werden in ein Zustandsdiagramm überführt. Hier erfolgt die vollständige Beschreibung des Schaltwerks, indem die Aufeinanderfolge der (festzulegenden) Zustände als Reaktion auf Eingangs- und Zustandsvektor bestimmt wird. Ebenfalls kann an dieser Stelle der Ausgangsvektor formuliert werden.&lt;br /&gt;
#Schaltwerkstabelle. Die Schaltwerkstabelle stellt das Zustandsdiagramm in tabellarischer Form dar. Mit ihrer Hilfe kann eine Zustandsminimierung (Zusammenfassen identischer Zustände) des Schaltwerks durchgeführt werden, die idR zu verringertem Bauteilebedarf führt. Änderungen in der Schaltwerkstabelle wirken auf das Zustandsdiagramm zurück.&lt;br /&gt;
#Zustandscodierung. Die Art der Zustandscodierung, insbesondere bei einfachen Synchronschaltwerken, unterliegt keinen Beschränkungen (im Gegensatz zu Asynchronschaltwerken). Die Codierung muß eindeutig sein und hat evtl Einfluß auf den Bauteileaufwand.&lt;br /&gt;
# Zustandsfolgetabelle. Ausgangspunkt der Zustandsfolgetabelle ist das Zustandsdiagramm. In dieser Tabelle findet das sequentielle Verhalten der Schaltung seinen Ausdruck, denn sie ist deutlich zweigeteilt. Eingangsvariablen &#039;&#039;&#039;und&#039;&#039;&#039; aktuelle Zustände werden üblicherweise auf der linken Seite („vor dem Takt“), Folgezustände und ggf Ausgangsvariablen rechts („nach dem Takt“) notiert.  Aus der Zustandsfolgetabelle können, wenn sie als Wahrheitstabelle interpretiert wird, die Übergangsfunktionen der Zustandsspeicher entnommen werden.&lt;br /&gt;
== 3 ==&lt;br /&gt;
Mechanische Bedienelemente elektrischer Geräte wie Kippschalter, Tastenaggregate, Drehschalter usw sind dankbare Objekte für die Emulation durch ein elektronisches Schaltwerk.&amp;lt;br /&amp;gt;&lt;br /&gt;
Das hier gezeigte Beispiel bildet einen Drehschalter, der auf 4 Schaltstellungen begrenzt ist, nach. &lt;br /&gt;
=== 3 ===&lt;br /&gt;
In der nebenstehenden Abbildung ist dargestellt, wie der mechanische Drehschalter in seine elektronische Entsprechung überführt werden soll. Der linke Teil der Abbildung zeigt die Kontakte K1..K4, [[Datei:StufenschalterSchaltwerk.png|rechts|rahmen]]die anwählbaren Stellungen des Schleifers, sowie den zentralen Anschluss K0. Neben den Kontakten ist ein weiteres Attribut eingetragen, hierbei handelt es sich um die Verknüpfung von Schalterstellung und jeweiligem Zustand des Schaltwerks.&amp;lt;br /&amp;gt;&lt;br /&gt;
Im rechten Teil sind das Schaltwerk und seine äußeren Anschlüsse skizziert. Das Schaltwerk reagiert auf zwei Taster. Sie stehen für die linke und/oder rechte Drehung des Schalter und generieren die Eingangssignale &#039;&#039;U&#039;&#039; und &#039;&#039;W&#039;&#039;. Die 4 Stellungen des Drehschalters werden durch die Ausgangssignale &#039;&#039;Stellung1..Stellung4&#039;&#039; repräsentiert.&amp;lt;br /&amp;gt;&lt;br /&gt;
Das Schaltwerk emuliert ausschließlich die mechanische Bewegung des Drehschalters, die elektrischen Eigenschaften des Schalters müssen von separaten Schaltungsteilen umgesetzt werden.&lt;br /&gt;
&lt;br /&gt;
=== 4 ===&lt;br /&gt;
Das Zustandsdiagramm setzt Eingangssignale und  Zustände des Schaltwerks miteinander in Beziehung. &lt;br /&gt;
[[Datei:Zustandsdiagramm.png|rahmen|rechts]]Das Schaltwerk befindet sich nach dem Einschalten in Z0, der den rechten Anschlag des 	emulierten Schalters bildet, denn das Aktivieren der „Taste rechts“ oder der „Tasten links+rechts“ bewirkt an dieser Stelle keine Zustandsänderung. Durch wiederholtes Betätigen der „Taste links“ gelangt man zu den nächsten Zuständen, bis der linke Anschlag erreicht ist. Die „Taste links“ bewirkt in Z3 keine Zustandsänderung. Mit der „Taste rechts“ kann dieser Zustand verlassen werden. Zwischen den Zuständen kann man sich mit den Tasten beliebig hin und her bewegen. Das gleichzeitige Betätigen beider Tasten „Tasten links+rechts“ versetzt das Schaltwerk aus jedem Zustand heraus in den Anfangszustand Z0, ein Verhalten, das mit einem mechanischen Drehschalter nicht möglich ist. Ist keine Taste aktiv verbleibt das Schaltwerk in seinem aktuellen Zustand.&lt;br /&gt;
=== 5 ===&lt;br /&gt;
Die Übergangstabelle enthält die Information des Zustandsdiagramms in tabellarischer Form. Die Signale &#039;&#039;U&#039;&#039; und &#039;&#039;W&#039;&#039; sind als &#039;1&#039;-aktiv eingetragen.&lt;br /&gt;
{|&lt;br /&gt;
| style=&amp;quot;width:45%&amp;quot;|&amp;amp;nbsp;&lt;br /&gt;
|&lt;br /&gt;
{|{{tabelle}}&lt;br /&gt;
|+ &#039;&#039;&#039;Übergangstabelle&#039;&#039;&#039;&lt;br /&gt;
|-style=&amp;quot;text-align:center; &amp;quot;&lt;br /&gt;
!style=&amp;quot;background:#EAECF0&amp;quot;|Folgezustand &lt;br /&gt;
|style=&amp;quot;background:#FFEBAD&amp;quot; colspan=&amp;quot;4&amp;quot;| Eingangssignale U W&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| aktueller Zustand &lt;br /&gt;
|style=&amp;quot;background:#FFEBAD&amp;quot;| 00 || style=&amp;quot;background:#FFEBAD&amp;quot; |01 ||style=&amp;quot;background:#FFEBAD&amp;quot;| 10 || style=&amp;quot;background:#FFEBAD&amp;quot; | 11&lt;br /&gt;
|-style=&amp;quot;text-align:center; background:#EAECF0&amp;quot; &lt;br /&gt;
| style=&amp;quot; background:#F8F9FA&amp;quot; | 0 &lt;br /&gt;
! 0 ||0 ||1 || 0&lt;br /&gt;
|-style=&amp;quot;text-align:center; background:#EAECF0&amp;quot; &lt;br /&gt;
| style=&amp;quot;background:#F8F9FA&amp;quot; | 1&lt;br /&gt;
! 1 || 0 || 2 || 0&lt;br /&gt;
|-style=&amp;quot;text-align:center; background:#EAECF0&amp;quot; &lt;br /&gt;
|style=&amp;quot;background:#F8F9FA&amp;quot; |2&lt;br /&gt;
! 2 || 1 || 3 || 0&lt;br /&gt;
|-style=&amp;quot;text-align:center; background:#EAECF0&amp;quot; &lt;br /&gt;
|style=&amp;quot;background:#F8F9FA&amp;quot; |3&lt;br /&gt;
! 3 || 2 || 3 || 0&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
Bei umfangreichen Schaltwerken kann an dieser Stelle versucht werden, Zustände zusammenzufassen.&lt;br /&gt;
&lt;br /&gt;
=== 6 ===&lt;br /&gt;
Unter Berücksichtigung der Übergangstabelle wird die Zustandsfolgetabelle aufgebaut. Sie enthält die Eingangssignale, den aktuellen Zustand und den Folgezustand des Schaltwerks.&amp;lt;br /&amp;gt;&lt;br /&gt;
Die Zustände liegen in der Wahrheitstabelle in codierter Form vor, in diesem Beispiel sind sie binär codiert und es genügen zwei Zustandsvariablen, &#039;&#039;A&amp;lt;sup&amp;gt;n&amp;lt;/sup&amp;gt;&#039;&#039;(LSD) und &#039;&#039;B&amp;lt;sup&amp;gt;n&amp;lt;/sup&amp;gt;&#039;&#039;(MSD), da das Schaltwerk 4 Zustände einnehmen kann.&lt;br /&gt;
{|&lt;br /&gt;
| style=&amp;quot;width:10%&amp;quot;|&amp;amp;nbsp;&lt;br /&gt;
|&lt;br /&gt;
{|{{tabelle}} &lt;br /&gt;
|+&#039;&#039;&#039;Zustandsfolgetabelle&#039;&#039;&#039;&lt;br /&gt;
|-style=&amp;quot;background:#EAECF0&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;2&amp;quot;|Eingangssignale||colspan=&amp;quot;2&amp;quot;|aktueller Zustand|| style=&amp;quot;border-left:2px solid&amp;quot; colspan=&amp;quot;2&amp;quot;| Folgezustand||style=&amp;quot;background:#FFFFFF; vertical-align:top&amp;quot; rowspan=&amp;quot;2&amp;quot;|Beschreibung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|U || W || B&amp;lt;sup&amp;gt;n&amp;lt;/sup&amp;gt; || A &amp;lt;sup&amp;gt;n&amp;lt;/sup&amp;gt;||style=&amp;quot;border-left:2px solid&amp;quot;| B&amp;lt;sup&amp;gt;n+1&amp;lt;/sup&amp;gt; || A&amp;lt;sup&amp;gt;n+1&amp;lt;/sup&amp;gt;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 0 || 0 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; Start&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 0 || 0 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 1 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;; nach &amp;quot;links&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 1 || 0 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; nach &amp;quot;rechts&amp;quot; → keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 1 || 0 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 0 || 0 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 1 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;; keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 0 || 0 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;; nach &amp;quot;links&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 1 || 0 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; nach &amp;quot;rechts&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 1 || 0 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; Rücksprung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 0 || 1 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;; keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 0 || 1 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 1 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt;; nach &amp;quot;links&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 1 || 1 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 1 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;; nach &amp;quot;rechts&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 1 || 1 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; Rücksprung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 0 || 1 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 1 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt;; keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 0 || 1 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 1 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt;; nach &amp;quot;links&amp;quot; → keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 1 || 1 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;; nach &amp;quot;rechts&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 1 || 1 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; Rücksprung&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
Aus der Zustandsfolgetabelle werden die Übergangsfunktionen der Zustandsvariablen &#039;&#039;A&amp;lt;sup&amp;gt;n+1&amp;lt;/sup&amp;gt;&#039;&#039; und &#039;&#039;B&amp;lt;sup&amp;gt;n+1&amp;lt;/sup&amp;gt;&#039;&#039; entnommen. Sie sind Ausgangspunkt für die rechnerische Bestimmung der Eingangsschaltnetze  der Zustandsvariablenspeicher.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Alle nachfolgend beschriebenen Schaltwerkversionen besitzen die gleichen Ausgangssignale, die aus den Zustandsvariablen des Momentanzustandes ermittelt werden. Die Ausgangssignale sind ´1´-aktiv und werden durch die &amp;quot;Methode des scharfen Ansehens&amp;quot; aus obiger Tabelle erhalten:&amp;lt;br /&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
| style=&amp;quot;width:70%&amp;quot;|&amp;amp;nbsp;&lt;br /&gt;
|&lt;br /&gt;
{|-style=&amp;quot; font-style: italic&amp;quot;&lt;br /&gt;
|Stellung1 || =|| style=&amp;quot;text-decoration:overline&amp;quot;| A || &amp;amp;sdot; ||  style=&amp;quot;text-decoration:overline&amp;quot;| B &lt;br /&gt;
|-style=&amp;quot;font-style: italic&amp;quot;&lt;br /&gt;
|Stellung2 || =||  A || &amp;amp;sdot; || style=&amp;quot;text-decoration:overline&amp;quot;| B &lt;br /&gt;
|-style=&amp;quot;font-style: italic&amp;quot;&lt;br /&gt;
|Stellung3 || =|| style=&amp;quot;text-decoration:overline&amp;quot;| A || &amp;amp;sdot; || B &lt;br /&gt;
|-style=&amp;quot;font-style: italic&amp;quot;&lt;br /&gt;
|Stellung4 || =|| A || &amp;amp;sdot; || B &lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 7 Gatterversion ===&lt;br /&gt;
Die klassische Art, das Eingangsschaltnetz aufzubauen, besteht darin, logische Schaltkreise entsprechend den Übergangsfunktionen miteinander zu kombinieren.&amp;lt;br /&amp;gt;&lt;br /&gt;
Die Liste enthält verschiedene Aspekte dieser Methode:&lt;br /&gt;
* [[Media: Stufenschalter1.pdf|Schaltplan der Gatterversion]]&lt;/div&gt;</summary>
		<author><name>Aminox86</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Datei:Stufenschalter1.pdf&amp;diff=100340</id>
		<title>Datei:Stufenschalter1.pdf</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Datei:Stufenschalter1.pdf&amp;diff=100340"/>
		<updated>2019-02-24T20:08:24Z</updated>

		<summary type="html">&lt;p&gt;Aminox86: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Stufenschalter1&lt;/div&gt;</summary>
		<author><name>Aminox86</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Methodischer_Entwurf_einfacher_Schaltwerke&amp;diff=100339</id>
		<title>Methodischer Entwurf einfacher Schaltwerke</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Methodischer_Entwurf_einfacher_Schaltwerke&amp;diff=100339"/>
		<updated>2019-02-24T19:15:48Z</updated>

		<summary type="html">&lt;p&gt;Aminox86: /* 5 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Dieser Artikel beschreibt die Vorgehensweise, einfache sequentielle Schaltungen in der Praxis umzusetzen.&lt;br /&gt;
&lt;br /&gt;
== Intention ==&lt;br /&gt;
Um eine LED blinken zu lassen, muß nicht unbedingt ein Mikrokontroller bemüht werden, wenn sich dieselbe Funktion auch mit ein paar Gattern und Flipflops realisieren lässt. Dabei soll unter einem &amp;quot;einfachen&amp;quot; Schaltwerk eine digitale Schaltung verstanden werden, deren &amp;quot;Verarbeitungsmöglichkeit&amp;quot; begrenzt ist, die zB &amp;quot;nur&amp;quot; zehn Eingangsvariablen aufnehmen kann oder zB &amp;quot;nur&amp;quot; 32 interne Zustände besitzt. Es soll sich daher um ein Gebilde handeln, das im einfachsten Fall aus digitalen Grundbausteinen besteht.&lt;br /&gt;
&lt;br /&gt;
Anhand eines konkreten Beispiels werden verschiedene Möglichkeiten der Realisierung eines Schaltwerks vorgestellt. Hierbei steht die praktische und systematische Umsetzung des gewählten Schaltwerkaufbaus im Vordergrund.&lt;br /&gt;
== 1 ==&lt;br /&gt;
Die Ausgangssignale eines Schaltwerks bzw dessen Zustand zum Betrachtungszeitpunkt werden nicht nur durch die aktuell anliegenden Eingangssignale sondern auch durch die Historie aller Eingangssignale bis zu diesem Zeitpunkt bestimmt. Diese Vorgeschichte wird in Speicherelementen, zB Flipflops, festgehalten. Ihr Inhalt wird an den Eingang des Schaltwerks zurückgeführt und dort mit den externen Signalen verknüpft, wodurch sich ggf der Zustand des Schaltwerks ändert.&amp;lt;br /&amp;gt;&lt;br /&gt;
Die zeitliche Reihenfolge der Zustände ist vorgeben, sie stellt die Funktionalität des Schaltwerks dar.&amp;lt;br /&amp;gt;&lt;br /&gt;
Diese Zustandsänderungen können sofort nach Wertänderung der Eingangsvariablen erfolgen, es liegt ein Asynchronschaltwerk vor, oder nur zu klar voneinander abgegrenzten  Zeitpunkten, es handelt sich dann um ein Synchronschaltwerk. Dieser Artikel beschäftigt sich mit Synchronschaltwerken, die die Struktur eines Moore-Automaten haben.&lt;br /&gt;
[[Bild:SchaltwerkSchema1.png|rechts|rahmen|Schaltwerk]]&lt;br /&gt;
Es liegt in der Natur des gewählten Themas, dass die hier beschriebenen Schaltwerke vorzugsweise aus handelsüblichen Komponenten (Gattern, Flipflops usw.) aufgebaut werden.&lt;br /&gt;
Das Übertragungsverhalten der FF ist durch ihren Aufbau vorgegeben und kann nicht beeinflußt werden.&amp;lt;br /&amp;gt;&lt;br /&gt;
Daher widmet sich dieser Artikel in erster Linie den Gestaltungsmöglichkeiten des Eingangsschaltnetzes unter Berücksichtigung des FF-Typs, auf die Dimensionierung des Ausgangsschaltnetzes wird bei Bedarf eingegangen.&lt;br /&gt;
&lt;br /&gt;
== 2 ==&lt;br /&gt;
Der Entwurf sollte schrittweise erfolgen. Die unten angeführte Reihenfolge ist bewährt, wobei die angeführten Positionen unterschiedlich umfangreich, abhängig von den Anforderungen, ausgestaltet werden können.&lt;br /&gt;
#Funktionsbeschreibung. Diese kann verbal (schriftlich, Handskizze) erfolgen oder durch zB ein Impulsdiagramm vorgegeben sein.&lt;br /&gt;
#Formale Beschreibung. Die in der Funktionsbeschreibung vorgegebenen Rahmenbedingungen werden in ein Zustandsdiagramm überführt. Hier erfolgt die vollständige Beschreibung des Schaltwerks, indem die Aufeinanderfolge der (festzulegenden) Zustände als Reaktion auf Eingangs- und Zustandsvektor bestimmt wird. Ebenfalls kann an dieser Stelle der Ausgangsvektor formuliert werden.&lt;br /&gt;
#Schaltwerkstabelle. Die Schaltwerkstabelle stellt das Zustandsdiagramm in tabellarischer Form dar. Mit ihrer Hilfe kann eine Zustandsminimierung (Zusammenfassen identischer Zustände) des Schaltwerks durchgeführt werden, die idR zu verringertem Bauteilebedarf führt. Änderungen in der Schaltwerkstabelle wirken auf das Zustandsdiagramm zurück.&lt;br /&gt;
#Zustandscodierung. Die Art der Zustandscodierung, insbesondere bei einfachen Synchronschaltwerken, unterliegt keinen Beschränkungen (im Gegensatz zu Asynchronschaltwerken). Die Codierung muß eindeutig sein und hat evtl Einfluß auf den Bauteileaufwand.&lt;br /&gt;
# Zustandsfolgetabelle. Ausgangspunkt der Zustandsfolgetabelle ist das Zustandsdiagramm. In dieser Tabelle findet das sequentielle Verhalten der Schaltung seinen Ausdruck, denn sie ist deutlich zweigeteilt. Eingangsvariablen &#039;&#039;&#039;und&#039;&#039;&#039; aktuelle Zustände werden üblicherweise auf der linken Seite („vor dem Takt“), Folgezustände und ggf Ausgangsvariablen rechts („nach dem Takt“) notiert.  Aus der Zustandsfolgetabelle können, wenn sie als Wahrheitstabelle interpretiert wird, die Übergangsfunktionen der Zustandsspeicher entnommen werden.&lt;br /&gt;
== 3 ==&lt;br /&gt;
Mechanische Bedienelemente elektrischer Geräte wie Kippschalter, Tastenaggregate, Drehschalter usw sind dankbare Objekte für die Emulation durch ein elektronisches Schaltwerk.&amp;lt;br /&amp;gt;&lt;br /&gt;
Das hier gezeigte Beispiel bildet einen Drehschalter, der auf 4 Schaltstellungen begrenzt ist, nach. &lt;br /&gt;
=== 3 ===&lt;br /&gt;
In der nebenstehenden Abbildung ist dargestellt, wie der mechanische Drehschalter in seine elektronische Entsprechung überführt werden soll. Der linke Teil der Abbildung zeigt die Kontakte K1..K4, [[Datei:StufenschalterSchaltwerk.png|rechts|rahmen]]die anwählbaren Stellungen des Schleifers, sowie den zentralen Anschluss K0. Neben den Kontakten ist ein weiteres Attribut eingetragen, hierbei handelt es sich um die Verknüpfung von Schalterstellung und jeweiligem Zustand des Schaltwerks.&amp;lt;br /&amp;gt;&lt;br /&gt;
Im rechten Teil sind das Schaltwerk und seine äußeren Anschlüsse skizziert. Das Schaltwerk reagiert auf zwei Taster. Sie stehen für die linke und/oder rechte Drehung des Schalter und generieren die Eingangssignale &#039;&#039;U&#039;&#039; und &#039;&#039;W&#039;&#039;. Die 4 Stellungen des Drehschalters werden durch die Ausgangssignale &#039;&#039;Stellung1..Stellung4&#039;&#039; repräsentiert.&amp;lt;br /&amp;gt;&lt;br /&gt;
Das Schaltwerk emuliert ausschließlich die mechanische Bewegung des Drehschalters, die elektrischen Eigenschaften des Schalters müssen von separaten Schaltungsteilen umgesetzt werden.&lt;br /&gt;
&lt;br /&gt;
=== 4 ===&lt;br /&gt;
Das Zustandsdiagramm setzt Eingangssignale und  Zustände des Schaltwerks miteinander in Beziehung. &lt;br /&gt;
[[Datei:Zustandsdiagramm.png|rahmen|rechts]]Das Schaltwerk befindet sich nach dem Einschalten in Z0, der den rechten Anschlag des 	emulierten Schalters bildet, denn das Aktivieren der „Taste rechts“ oder der „Tasten links+rechts“ bewirkt an dieser Stelle keine Zustandsänderung. Durch wiederholtes Betätigen der „Taste links“ gelangt man zu den nächsten Zuständen, bis der linke Anschlag erreicht ist. Die „Taste links“ bewirkt in Z3 keine Zustandsänderung. Mit der „Taste rechts“ kann dieser Zustand verlassen werden. Zwischen den Zuständen kann man sich mit den Tasten beliebig hin und her bewegen. Das gleichzeitige Betätigen beider Tasten „Tasten links+rechts“ versetzt das Schaltwerk aus jedem Zustand heraus in den Anfangszustand Z0, ein Verhalten, das mit einem mechanischen Drehschalter nicht möglich ist. Ist keine Taste aktiv verbleibt das Schaltwerk in seinem aktuellen Zustand.&lt;br /&gt;
=== 5 ===&lt;br /&gt;
Die Übergangstabelle enthält die Information des Zustandsdiagramms in tabellarischer Form. Die Signale &#039;&#039;U&#039;&#039; und &#039;&#039;W&#039;&#039; sind als &#039;1&#039;-aktiv eingetragen.&lt;br /&gt;
{|&lt;br /&gt;
| style=&amp;quot;width:45%&amp;quot;|&amp;amp;nbsp;&lt;br /&gt;
|&lt;br /&gt;
{|{{tabelle}}&lt;br /&gt;
|+ &#039;&#039;&#039;Übergangstabelle&#039;&#039;&#039;&lt;br /&gt;
|-style=&amp;quot;text-align:center; &amp;quot;&lt;br /&gt;
!style=&amp;quot;background:#EAECF0&amp;quot;|Folgezustand &lt;br /&gt;
|style=&amp;quot;background:#FFEBAD&amp;quot; colspan=&amp;quot;4&amp;quot;| Eingangssignale U W&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| aktueller Zustand &lt;br /&gt;
|style=&amp;quot;background:#FFEBAD&amp;quot;| 00 || style=&amp;quot;background:#FFEBAD&amp;quot; |01 ||style=&amp;quot;background:#FFEBAD&amp;quot;| 10 || style=&amp;quot;background:#FFEBAD&amp;quot; | 11&lt;br /&gt;
|-style=&amp;quot;text-align:center; background:#EAECF0&amp;quot; &lt;br /&gt;
| style=&amp;quot; background:#F8F9FA&amp;quot; | 0 &lt;br /&gt;
! 0 ||0 ||1 || 0&lt;br /&gt;
|-style=&amp;quot;text-align:center; background:#EAECF0&amp;quot; &lt;br /&gt;
| style=&amp;quot;background:#F8F9FA&amp;quot; | 1&lt;br /&gt;
! 1 || 0 || 2 || 0&lt;br /&gt;
|-style=&amp;quot;text-align:center; background:#EAECF0&amp;quot; &lt;br /&gt;
|style=&amp;quot;background:#F8F9FA&amp;quot; |2&lt;br /&gt;
! 2 || 1 || 3 || 0&lt;br /&gt;
|-style=&amp;quot;text-align:center; background:#EAECF0&amp;quot; &lt;br /&gt;
|style=&amp;quot;background:#F8F9FA&amp;quot; |3&lt;br /&gt;
! 3 || 2 || 3 || 0&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
Bei umfangreichen Schaltwerken kann an dieser Stelle versucht werden, Zustände zusammenzufassen.&lt;br /&gt;
&lt;br /&gt;
=== 6 ===&lt;br /&gt;
Unter Berücksichtigung der Übergangstabelle wird die Zustandsfolgetabelle aufgebaut. Sie enthält die Eingangssignale, den aktuellen Zustand und den Folgezustand des Schaltwerks.&amp;lt;br /&amp;gt;&lt;br /&gt;
Die Zustände liegen in der Wahrheitstabelle in codierter Form vor, in diesem Beispiel sind sie binär codiert und es genügen zwei Zustandsvariablen, &#039;&#039;A&amp;lt;sup&amp;gt;n&amp;lt;/sup&amp;gt;&#039;&#039;(LSD) und &#039;&#039;B&amp;lt;sup&amp;gt;n&amp;lt;/sup&amp;gt;&#039;&#039;(MSD), da das Schaltwerk 4 Zustände einnehmen kann.&lt;br /&gt;
{|&lt;br /&gt;
| style=&amp;quot;width:10%&amp;quot;|&amp;amp;nbsp;&lt;br /&gt;
|&lt;br /&gt;
{|{{tabelle}} &lt;br /&gt;
|+&#039;&#039;&#039;Zustandsfolgetabelle&#039;&#039;&#039;&lt;br /&gt;
|-style=&amp;quot;background:#EAECF0&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;2&amp;quot;|Eingangssignale||colspan=&amp;quot;2&amp;quot;|aktueller Zustand|| style=&amp;quot;border-left:2px solid&amp;quot; colspan=&amp;quot;2&amp;quot;| Folgezustand||style=&amp;quot;background:#FFFFFF; vertical-align:top&amp;quot; rowspan=&amp;quot;2&amp;quot;|Beschreibung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|U || W || B&amp;lt;sup&amp;gt;n&amp;lt;/sup&amp;gt; || A &amp;lt;sup&amp;gt;n&amp;lt;/sup&amp;gt;||style=&amp;quot;border-left:2px solid&amp;quot;| B&amp;lt;sup&amp;gt;n+1&amp;lt;/sup&amp;gt; || A&amp;lt;sup&amp;gt;n+1&amp;lt;/sup&amp;gt;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 0 || 0 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; Start&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 0 || 0 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 1 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;; nach &amp;quot;links&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 1 || 0 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; nach &amp;quot;rechts&amp;quot; → keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 1 || 0 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 0 || 0 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 1 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;; keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 0 || 0 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;; nach &amp;quot;links&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 1 || 0 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; nach &amp;quot;rechts&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 1 || 0 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; Rücksprung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 0 || 1 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;; keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 0 || 1 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 1 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt;; nach &amp;quot;links&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 1 || 1 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 1 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;; nach &amp;quot;rechts&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 1 || 1 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; Rücksprung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 0 || 1 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 1 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt;; keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 0 || 1 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 1 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt;; nach &amp;quot;links&amp;quot; → keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 1 || 1 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;; nach &amp;quot;rechts&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 1 || 1 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; Rücksprung&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
Aus der Zustandsfolgetabelle werden die Übergangsfunktionen der Zustandsvariablen &#039;&#039;A&amp;lt;sup&amp;gt;n+1&amp;lt;/sup&amp;gt;&#039;&#039; und &#039;&#039;B&amp;lt;sup&amp;gt;n+1&amp;lt;/sup&amp;gt;&#039;&#039; entnommen. Sie sind Ausgangspunkt für die rechnerische Bestimmung der Eingangsschaltnetze  der Zustandsvariablenspeicher.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Alle nachfolgend beschriebenen Schaltwerkversionen besitzen die gleichen Ausgangssignale, die aus den Zustandsvariablen des Momentanzustandes ermittelt werden. Die Ausgangssignale sind ´1´-aktiv und werden durch die &amp;quot;Methode des scharfen Ansehens&amp;quot; aus obiger Tabelle erhalten:&amp;lt;br /&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
| style=&amp;quot;width:70%&amp;quot;|&amp;amp;nbsp;&lt;br /&gt;
|&lt;br /&gt;
{|-style=&amp;quot; font-style: italic&amp;quot;&lt;br /&gt;
|Stellung1 || =|| style=&amp;quot;text-decoration:overline&amp;quot;| A || &amp;amp;sdot; ||  style=&amp;quot;text-decoration:overline&amp;quot;| B &lt;br /&gt;
|-style=&amp;quot;font-style: italic&amp;quot;&lt;br /&gt;
|Stellung2 || =||  A || &amp;amp;sdot; || style=&amp;quot;text-decoration:overline&amp;quot;| B &lt;br /&gt;
|-style=&amp;quot;font-style: italic&amp;quot;&lt;br /&gt;
|Stellung3 || =|| style=&amp;quot;text-decoration:overline&amp;quot;| A || &amp;amp;sdot; || B &lt;br /&gt;
|-style=&amp;quot;font-style: italic&amp;quot;&lt;br /&gt;
|Stellung4 || =|| A || &amp;amp;sdot; || B &lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 7 Gatterversion ===&lt;/div&gt;</summary>
		<author><name>Aminox86</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Methodischer_Entwurf_einfacher_Schaltwerke&amp;diff=100338</id>
		<title>Methodischer Entwurf einfacher Schaltwerke</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Methodischer_Entwurf_einfacher_Schaltwerke&amp;diff=100338"/>
		<updated>2019-02-24T19:14:13Z</updated>

		<summary type="html">&lt;p&gt;Aminox86: /* 6 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Dieser Artikel beschreibt die Vorgehensweise, einfache sequentielle Schaltungen in der Praxis umzusetzen.&lt;br /&gt;
&lt;br /&gt;
== Intention ==&lt;br /&gt;
Um eine LED blinken zu lassen, muß nicht unbedingt ein Mikrokontroller bemüht werden, wenn sich dieselbe Funktion auch mit ein paar Gattern und Flipflops realisieren lässt. Dabei soll unter einem &amp;quot;einfachen&amp;quot; Schaltwerk eine digitale Schaltung verstanden werden, deren &amp;quot;Verarbeitungsmöglichkeit&amp;quot; begrenzt ist, die zB &amp;quot;nur&amp;quot; zehn Eingangsvariablen aufnehmen kann oder zB &amp;quot;nur&amp;quot; 32 interne Zustände besitzt. Es soll sich daher um ein Gebilde handeln, das im einfachsten Fall aus digitalen Grundbausteinen besteht.&lt;br /&gt;
&lt;br /&gt;
Anhand eines konkreten Beispiels werden verschiedene Möglichkeiten der Realisierung eines Schaltwerks vorgestellt. Hierbei steht die praktische und systematische Umsetzung des gewählten Schaltwerkaufbaus im Vordergrund.&lt;br /&gt;
== 1 ==&lt;br /&gt;
Die Ausgangssignale eines Schaltwerks bzw dessen Zustand zum Betrachtungszeitpunkt werden nicht nur durch die aktuell anliegenden Eingangssignale sondern auch durch die Historie aller Eingangssignale bis zu diesem Zeitpunkt bestimmt. Diese Vorgeschichte wird in Speicherelementen, zB Flipflops, festgehalten. Ihr Inhalt wird an den Eingang des Schaltwerks zurückgeführt und dort mit den externen Signalen verknüpft, wodurch sich ggf der Zustand des Schaltwerks ändert.&amp;lt;br /&amp;gt;&lt;br /&gt;
Die zeitliche Reihenfolge der Zustände ist vorgeben, sie stellt die Funktionalität des Schaltwerks dar.&amp;lt;br /&amp;gt;&lt;br /&gt;
Diese Zustandsänderungen können sofort nach Wertänderung der Eingangsvariablen erfolgen, es liegt ein Asynchronschaltwerk vor, oder nur zu klar voneinander abgegrenzten  Zeitpunkten, es handelt sich dann um ein Synchronschaltwerk. Dieser Artikel beschäftigt sich mit Synchronschaltwerken, die die Struktur eines Moore-Automaten haben.&lt;br /&gt;
[[Bild:SchaltwerkSchema1.png|rechts|rahmen|Schaltwerk]]&lt;br /&gt;
Es liegt in der Natur des gewählten Themas, dass die hier beschriebenen Schaltwerke vorzugsweise aus handelsüblichen Komponenten (Gattern, Flipflops usw.) aufgebaut werden.&lt;br /&gt;
Das Übertragungsverhalten der FF ist durch ihren Aufbau vorgegeben und kann nicht beeinflußt werden.&amp;lt;br /&amp;gt;&lt;br /&gt;
Daher widmet sich dieser Artikel in erster Linie den Gestaltungsmöglichkeiten des Eingangsschaltnetzes unter Berücksichtigung des FF-Typs, auf die Dimensionierung des Ausgangsschaltnetzes wird bei Bedarf eingegangen.&lt;br /&gt;
&lt;br /&gt;
== 2 ==&lt;br /&gt;
Der Entwurf sollte schrittweise erfolgen. Die unten angeführte Reihenfolge ist bewährt, wobei die angeführten Positionen unterschiedlich umfangreich, abhängig von den Anforderungen, ausgestaltet werden können.&lt;br /&gt;
#Funktionsbeschreibung. Diese kann verbal (schriftlich, Handskizze) erfolgen oder durch zB ein Impulsdiagramm vorgegeben sein.&lt;br /&gt;
#Formale Beschreibung. Die in der Funktionsbeschreibung vorgegebenen Rahmenbedingungen werden in ein Zustandsdiagramm überführt. Hier erfolgt die vollständige Beschreibung des Schaltwerks, indem die Aufeinanderfolge der (festzulegenden) Zustände als Reaktion auf Eingangs- und Zustandsvektor bestimmt wird. Ebenfalls kann an dieser Stelle der Ausgangsvektor formuliert werden.&lt;br /&gt;
#Schaltwerkstabelle. Die Schaltwerkstabelle stellt das Zustandsdiagramm in tabellarischer Form dar. Mit ihrer Hilfe kann eine Zustandsminimierung (Zusammenfassen identischer Zustände) des Schaltwerks durchgeführt werden, die idR zu verringertem Bauteilebedarf führt. Änderungen in der Schaltwerkstabelle wirken auf das Zustandsdiagramm zurück.&lt;br /&gt;
#Zustandscodierung. Die Art der Zustandscodierung, insbesondere bei einfachen Synchronschaltwerken, unterliegt keinen Beschränkungen (im Gegensatz zu Asynchronschaltwerken). Die Codierung muß eindeutig sein und hat evtl Einfluß auf den Bauteileaufwand.&lt;br /&gt;
# Zustandsfolgetabelle. Ausgangspunkt der Zustandsfolgetabelle ist das Zustandsdiagramm. In dieser Tabelle findet das sequentielle Verhalten der Schaltung seinen Ausdruck, denn sie ist deutlich zweigeteilt. Eingangsvariablen &#039;&#039;&#039;und&#039;&#039;&#039; aktuelle Zustände werden üblicherweise auf der linken Seite („vor dem Takt“), Folgezustände und ggf Ausgangsvariablen rechts („nach dem Takt“) notiert.  Aus der Zustandsfolgetabelle können, wenn sie als Wahrheitstabelle interpretiert wird, die Übergangsfunktionen der Zustandsspeicher entnommen werden.&lt;br /&gt;
== 3 ==&lt;br /&gt;
Mechanische Bedienelemente elektrischer Geräte wie Kippschalter, Tastenaggregate, Drehschalter usw sind dankbare Objekte für die Emulation durch ein elektronisches Schaltwerk.&amp;lt;br /&amp;gt;&lt;br /&gt;
Das hier gezeigte Beispiel bildet einen Drehschalter, der auf 4 Schaltstellungen begrenzt ist, nach. &lt;br /&gt;
=== 3 ===&lt;br /&gt;
In der nebenstehenden Abbildung ist dargestellt, wie der mechanische Drehschalter in seine elektronische Entsprechung überführt werden soll. Der linke Teil der Abbildung zeigt die Kontakte K1..K4, [[Datei:StufenschalterSchaltwerk.png|rechts|rahmen]]die anwählbaren Stellungen des Schleifers, sowie den zentralen Anschluss K0. Neben den Kontakten ist ein weiteres Attribut eingetragen, hierbei handelt es sich um die Verknüpfung von Schalterstellung und jeweiligem Zustand des Schaltwerks.&amp;lt;br /&amp;gt;&lt;br /&gt;
Im rechten Teil sind das Schaltwerk und seine äußeren Anschlüsse skizziert. Das Schaltwerk reagiert auf zwei Taster. Sie stehen für die linke und/oder rechte Drehung des Schalter und generieren die Eingangssignale &#039;&#039;U&#039;&#039; und &#039;&#039;W&#039;&#039;. Die 4 Stellungen des Drehschalters werden durch die Ausgangssignale &#039;&#039;Stellung1..Stellung4&#039;&#039; repräsentiert.&amp;lt;br /&amp;gt;&lt;br /&gt;
Das Schaltwerk emuliert ausschließlich die mechanische Bewegung des Drehschalters, die elektrischen Eigenschaften des Schalters müssen von separaten Schaltungsteilen umgesetzt werden.&lt;br /&gt;
&lt;br /&gt;
=== 4 ===&lt;br /&gt;
Das Zustandsdiagramm setzt Eingangssignale und  Zustände des Schaltwerks miteinander in Beziehung. &lt;br /&gt;
[[Datei:Zustandsdiagramm.png|rahmen|rechts]]Das Schaltwerk befindet sich nach dem Einschalten in Z0, der den rechten Anschlag des 	emulierten Schalters bildet, denn das Aktivieren der „Taste rechts“ oder der „Tasten links+rechts“ bewirkt an dieser Stelle keine Zustandsänderung. Durch wiederholtes Betätigen der „Taste links“ gelangt man zu den nächsten Zuständen, bis der linke Anschlag erreicht ist. Die „Taste links“ bewirkt in Z3 keine Zustandsänderung. Mit der „Taste rechts“ kann dieser Zustand verlassen werden. Zwischen den Zuständen kann man sich mit den Tasten beliebig hin und her bewegen. Das gleichzeitige Betätigen beider Tasten „Tasten links+rechts“ versetzt das Schaltwerk aus jedem Zustand heraus in den Anfangszustand Z0, ein Verhalten, das mit einem mechanischen Drehschalter nicht möglich ist. Ist keine Taste aktiv verbleibt das Schaltwerk in seinem aktuellen Zustand.&lt;br /&gt;
=== 5 ===&lt;br /&gt;
Die Übergangstabelle enthält die Information des Zustandsdiagramms in tabellarischer Form. Die Signale &#039;&#039;U&#039;&#039; und &#039;&#039;W&#039;&#039; sind als &#039;1&#039;-aktiv eingetragen.&lt;br /&gt;
{|{{tabelle}}&lt;br /&gt;
|+ &#039;&#039;&#039;Übergangstabelle&#039;&#039;&#039;&lt;br /&gt;
|-style=&amp;quot;text-align:center; &amp;quot;&lt;br /&gt;
!style=&amp;quot;background:#EAECF0&amp;quot;|Folgezustand &lt;br /&gt;
|style=&amp;quot;background:#FFEBAD&amp;quot; colspan=&amp;quot;4&amp;quot;| Eingangssignale U W&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| aktueller Zustand &lt;br /&gt;
|style=&amp;quot;background:#FFEBAD&amp;quot;| 00 || style=&amp;quot;background:#FFEBAD&amp;quot; |01 ||style=&amp;quot;background:#FFEBAD&amp;quot;| 10 || style=&amp;quot;background:#FFEBAD&amp;quot; | 11&lt;br /&gt;
|-style=&amp;quot;text-align:center; background:#EAECF0&amp;quot; &lt;br /&gt;
| style=&amp;quot; background:#F8F9FA&amp;quot; | 0 &lt;br /&gt;
! 0 ||0 ||1 || 0&lt;br /&gt;
|-style=&amp;quot;text-align:center; background:#EAECF0&amp;quot; &lt;br /&gt;
| style=&amp;quot;background:#F8F9FA&amp;quot; | 1&lt;br /&gt;
! 1 || 0 || 2 || 0&lt;br /&gt;
|-style=&amp;quot;text-align:center; background:#EAECF0&amp;quot; &lt;br /&gt;
|style=&amp;quot;background:#F8F9FA&amp;quot; |2&lt;br /&gt;
! 2 || 1 || 3 || 0&lt;br /&gt;
|-style=&amp;quot;text-align:center; background:#EAECF0&amp;quot; &lt;br /&gt;
|style=&amp;quot;background:#F8F9FA&amp;quot; |3&lt;br /&gt;
! 3 || 2 || 3 || 0&lt;br /&gt;
|}&lt;br /&gt;
Bei umfangreichen Schaltwerken kann an dieser Stelle versucht werden, Zustände zusammenzufassen.&lt;br /&gt;
&lt;br /&gt;
=== 6 ===&lt;br /&gt;
Unter Berücksichtigung der Übergangstabelle wird die Zustandsfolgetabelle aufgebaut. Sie enthält die Eingangssignale, den aktuellen Zustand und den Folgezustand des Schaltwerks.&amp;lt;br /&amp;gt;&lt;br /&gt;
Die Zustände liegen in der Wahrheitstabelle in codierter Form vor, in diesem Beispiel sind sie binär codiert und es genügen zwei Zustandsvariablen, &#039;&#039;A&amp;lt;sup&amp;gt;n&amp;lt;/sup&amp;gt;&#039;&#039;(LSD) und &#039;&#039;B&amp;lt;sup&amp;gt;n&amp;lt;/sup&amp;gt;&#039;&#039;(MSD), da das Schaltwerk 4 Zustände einnehmen kann.&lt;br /&gt;
{|&lt;br /&gt;
| style=&amp;quot;width:10%&amp;quot;|&amp;amp;nbsp;&lt;br /&gt;
|&lt;br /&gt;
{|{{tabelle}} &lt;br /&gt;
|+&#039;&#039;&#039;Zustandsfolgetabelle&#039;&#039;&#039;&lt;br /&gt;
|-style=&amp;quot;background:#EAECF0&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;2&amp;quot;|Eingangssignale||colspan=&amp;quot;2&amp;quot;|aktueller Zustand|| style=&amp;quot;border-left:2px solid&amp;quot; colspan=&amp;quot;2&amp;quot;| Folgezustand||style=&amp;quot;background:#FFFFFF; vertical-align:top&amp;quot; rowspan=&amp;quot;2&amp;quot;|Beschreibung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|U || W || B&amp;lt;sup&amp;gt;n&amp;lt;/sup&amp;gt; || A &amp;lt;sup&amp;gt;n&amp;lt;/sup&amp;gt;||style=&amp;quot;border-left:2px solid&amp;quot;| B&amp;lt;sup&amp;gt;n+1&amp;lt;/sup&amp;gt; || A&amp;lt;sup&amp;gt;n+1&amp;lt;/sup&amp;gt;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 0 || 0 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; Start&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 0 || 0 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 1 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;; nach &amp;quot;links&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 1 || 0 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; nach &amp;quot;rechts&amp;quot; → keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 1 || 0 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 0 || 0 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 1 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;; keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 0 || 0 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;; nach &amp;quot;links&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 1 || 0 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; nach &amp;quot;rechts&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 1 || 0 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; Rücksprung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 0 || 1 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;; keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 0 || 1 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 1 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt;; nach &amp;quot;links&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 1 || 1 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 1 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;; nach &amp;quot;rechts&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 1 || 1 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; Rücksprung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 0 || 1 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 1 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt;; keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 0 || 1 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 1 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt;; nach &amp;quot;links&amp;quot; → keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 1 || 1 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;; nach &amp;quot;rechts&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 1 || 1 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; Rücksprung&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
Aus der Zustandsfolgetabelle werden die Übergangsfunktionen der Zustandsvariablen &#039;&#039;A&amp;lt;sup&amp;gt;n+1&amp;lt;/sup&amp;gt;&#039;&#039; und &#039;&#039;B&amp;lt;sup&amp;gt;n+1&amp;lt;/sup&amp;gt;&#039;&#039; entnommen. Sie sind Ausgangspunkt für die rechnerische Bestimmung der Eingangsschaltnetze  der Zustandsvariablenspeicher.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Alle nachfolgend beschriebenen Schaltwerkversionen besitzen die gleichen Ausgangssignale, die aus den Zustandsvariablen des Momentanzustandes ermittelt werden. Die Ausgangssignale sind ´1´-aktiv und werden durch die &amp;quot;Methode des scharfen Ansehens&amp;quot; aus obiger Tabelle erhalten:&amp;lt;br /&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
| style=&amp;quot;width:70%&amp;quot;|&amp;amp;nbsp;&lt;br /&gt;
|&lt;br /&gt;
{|-style=&amp;quot; font-style: italic&amp;quot;&lt;br /&gt;
|Stellung1 || =|| style=&amp;quot;text-decoration:overline&amp;quot;| A || &amp;amp;sdot; ||  style=&amp;quot;text-decoration:overline&amp;quot;| B &lt;br /&gt;
|-style=&amp;quot;font-style: italic&amp;quot;&lt;br /&gt;
|Stellung2 || =||  A || &amp;amp;sdot; || style=&amp;quot;text-decoration:overline&amp;quot;| B &lt;br /&gt;
|-style=&amp;quot;font-style: italic&amp;quot;&lt;br /&gt;
|Stellung3 || =|| style=&amp;quot;text-decoration:overline&amp;quot;| A || &amp;amp;sdot; || B &lt;br /&gt;
|-style=&amp;quot;font-style: italic&amp;quot;&lt;br /&gt;
|Stellung4 || =|| A || &amp;amp;sdot; || B &lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 7 Gatterversion ===&lt;/div&gt;</summary>
		<author><name>Aminox86</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Methodischer_Entwurf_einfacher_Schaltwerke&amp;diff=100337</id>
		<title>Methodischer Entwurf einfacher Schaltwerke</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Methodischer_Entwurf_einfacher_Schaltwerke&amp;diff=100337"/>
		<updated>2019-02-24T16:31:43Z</updated>

		<summary type="html">&lt;p&gt;Aminox86: /* 7 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Dieser Artikel beschreibt die Vorgehensweise, einfache sequentielle Schaltungen in der Praxis umzusetzen.&lt;br /&gt;
&lt;br /&gt;
== Intention ==&lt;br /&gt;
Um eine LED blinken zu lassen, muß nicht unbedingt ein Mikrokontroller bemüht werden, wenn sich dieselbe Funktion auch mit ein paar Gattern und Flipflops realisieren lässt. Dabei soll unter einem &amp;quot;einfachen&amp;quot; Schaltwerk eine digitale Schaltung verstanden werden, deren &amp;quot;Verarbeitungsmöglichkeit&amp;quot; begrenzt ist, die zB &amp;quot;nur&amp;quot; zehn Eingangsvariablen aufnehmen kann oder zB &amp;quot;nur&amp;quot; 32 interne Zustände besitzt. Es soll sich daher um ein Gebilde handeln, das im einfachsten Fall aus digitalen Grundbausteinen besteht.&lt;br /&gt;
&lt;br /&gt;
Anhand eines konkreten Beispiels werden verschiedene Möglichkeiten der Realisierung eines Schaltwerks vorgestellt. Hierbei steht die praktische und systematische Umsetzung des gewählten Schaltwerkaufbaus im Vordergrund.&lt;br /&gt;
== 1 ==&lt;br /&gt;
Die Ausgangssignale eines Schaltwerks bzw dessen Zustand zum Betrachtungszeitpunkt werden nicht nur durch die aktuell anliegenden Eingangssignale sondern auch durch die Historie aller Eingangssignale bis zu diesem Zeitpunkt bestimmt. Diese Vorgeschichte wird in Speicherelementen, zB Flipflops, festgehalten. Ihr Inhalt wird an den Eingang des Schaltwerks zurückgeführt und dort mit den externen Signalen verknüpft, wodurch sich ggf der Zustand des Schaltwerks ändert.&amp;lt;br /&amp;gt;&lt;br /&gt;
Die zeitliche Reihenfolge der Zustände ist vorgeben, sie stellt die Funktionalität des Schaltwerks dar.&amp;lt;br /&amp;gt;&lt;br /&gt;
Diese Zustandsänderungen können sofort nach Wertänderung der Eingangsvariablen erfolgen, es liegt ein Asynchronschaltwerk vor, oder nur zu klar voneinander abgegrenzten  Zeitpunkten, es handelt sich dann um ein Synchronschaltwerk. Dieser Artikel beschäftigt sich mit Synchronschaltwerken, die die Struktur eines Moore-Automaten haben.&lt;br /&gt;
[[Bild:SchaltwerkSchema1.png|rechts|rahmen|Schaltwerk]]&lt;br /&gt;
Es liegt in der Natur des gewählten Themas, dass die hier beschriebenen Schaltwerke vorzugsweise aus handelsüblichen Komponenten (Gattern, Flipflops usw.) aufgebaut werden.&lt;br /&gt;
Das Übertragungsverhalten der FF ist durch ihren Aufbau vorgegeben und kann nicht beeinflußt werden.&amp;lt;br /&amp;gt;&lt;br /&gt;
Daher widmet sich dieser Artikel in erster Linie den Gestaltungsmöglichkeiten des Eingangsschaltnetzes unter Berücksichtigung des FF-Typs, auf die Dimensionierung des Ausgangsschaltnetzes wird bei Bedarf eingegangen.&lt;br /&gt;
&lt;br /&gt;
== 2 ==&lt;br /&gt;
Der Entwurf sollte schrittweise erfolgen. Die unten angeführte Reihenfolge ist bewährt, wobei die angeführten Positionen unterschiedlich umfangreich, abhängig von den Anforderungen, ausgestaltet werden können.&lt;br /&gt;
#Funktionsbeschreibung. Diese kann verbal (schriftlich, Handskizze) erfolgen oder durch zB ein Impulsdiagramm vorgegeben sein.&lt;br /&gt;
#Formale Beschreibung. Die in der Funktionsbeschreibung vorgegebenen Rahmenbedingungen werden in ein Zustandsdiagramm überführt. Hier erfolgt die vollständige Beschreibung des Schaltwerks, indem die Aufeinanderfolge der (festzulegenden) Zustände als Reaktion auf Eingangs- und Zustandsvektor bestimmt wird. Ebenfalls kann an dieser Stelle der Ausgangsvektor formuliert werden.&lt;br /&gt;
#Schaltwerkstabelle. Die Schaltwerkstabelle stellt das Zustandsdiagramm in tabellarischer Form dar. Mit ihrer Hilfe kann eine Zustandsminimierung (Zusammenfassen identischer Zustände) des Schaltwerks durchgeführt werden, die idR zu verringertem Bauteilebedarf führt. Änderungen in der Schaltwerkstabelle wirken auf das Zustandsdiagramm zurück.&lt;br /&gt;
#Zustandscodierung. Die Art der Zustandscodierung, insbesondere bei einfachen Synchronschaltwerken, unterliegt keinen Beschränkungen (im Gegensatz zu Asynchronschaltwerken). Die Codierung muß eindeutig sein und hat evtl Einfluß auf den Bauteileaufwand.&lt;br /&gt;
# Zustandsfolgetabelle. Ausgangspunkt der Zustandsfolgetabelle ist das Zustandsdiagramm. In dieser Tabelle findet das sequentielle Verhalten der Schaltung seinen Ausdruck, denn sie ist deutlich zweigeteilt. Eingangsvariablen &#039;&#039;&#039;und&#039;&#039;&#039; aktuelle Zustände werden üblicherweise auf der linken Seite („vor dem Takt“), Folgezustände und ggf Ausgangsvariablen rechts („nach dem Takt“) notiert.  Aus der Zustandsfolgetabelle können, wenn sie als Wahrheitstabelle interpretiert wird, die Übergangsfunktionen der Zustandsspeicher entnommen werden.&lt;br /&gt;
== 3 ==&lt;br /&gt;
Mechanische Bedienelemente elektrischer Geräte wie Kippschalter, Tastenaggregate, Drehschalter usw sind dankbare Objekte für die Emulation durch ein elektronisches Schaltwerk.&amp;lt;br /&amp;gt;&lt;br /&gt;
Das hier gezeigte Beispiel bildet einen Drehschalter, der auf 4 Schaltstellungen begrenzt ist, nach. &lt;br /&gt;
=== 3 ===&lt;br /&gt;
In der nebenstehenden Abbildung ist dargestellt, wie der mechanische Drehschalter in seine elektronische Entsprechung überführt werden soll. Der linke Teil der Abbildung zeigt die Kontakte K1..K4, [[Datei:StufenschalterSchaltwerk.png|rechts|rahmen]]die anwählbaren Stellungen des Schleifers, sowie den zentralen Anschluss K0. Neben den Kontakten ist ein weiteres Attribut eingetragen, hierbei handelt es sich um die Verknüpfung von Schalterstellung und jeweiligem Zustand des Schaltwerks.&amp;lt;br /&amp;gt;&lt;br /&gt;
Im rechten Teil sind das Schaltwerk und seine äußeren Anschlüsse skizziert. Das Schaltwerk reagiert auf zwei Taster. Sie stehen für die linke und/oder rechte Drehung des Schalter und generieren die Eingangssignale &#039;&#039;U&#039;&#039; und &#039;&#039;W&#039;&#039;. Die 4 Stellungen des Drehschalters werden durch die Ausgangssignale &#039;&#039;Stellung1..Stellung4&#039;&#039; repräsentiert.&amp;lt;br /&amp;gt;&lt;br /&gt;
Das Schaltwerk emuliert ausschließlich die mechanische Bewegung des Drehschalters, die elektrischen Eigenschaften des Schalters müssen von separaten Schaltungsteilen umgesetzt werden.&lt;br /&gt;
&lt;br /&gt;
=== 4 ===&lt;br /&gt;
Das Zustandsdiagramm setzt Eingangssignale und  Zustände des Schaltwerks miteinander in Beziehung. &lt;br /&gt;
[[Datei:Zustandsdiagramm.png|rahmen|rechts]]Das Schaltwerk befindet sich nach dem Einschalten in Z0, der den rechten Anschlag des 	emulierten Schalters bildet, denn das Aktivieren der „Taste rechts“ oder der „Tasten links+rechts“ bewirkt an dieser Stelle keine Zustandsänderung. Durch wiederholtes Betätigen der „Taste links“ gelangt man zu den nächsten Zuständen, bis der linke Anschlag erreicht ist. Die „Taste links“ bewirkt in Z3 keine Zustandsänderung. Mit der „Taste rechts“ kann dieser Zustand verlassen werden. Zwischen den Zuständen kann man sich mit den Tasten beliebig hin und her bewegen. Das gleichzeitige Betätigen beider Tasten „Tasten links+rechts“ versetzt das Schaltwerk aus jedem Zustand heraus in den Anfangszustand Z0, ein Verhalten, das mit einem mechanischen Drehschalter nicht möglich ist. Ist keine Taste aktiv verbleibt das Schaltwerk in seinem aktuellen Zustand.&lt;br /&gt;
=== 5 ===&lt;br /&gt;
Die Übergangstabelle enthält die Information des Zustandsdiagramms in tabellarischer Form. Die Signale &#039;&#039;U&#039;&#039; und &#039;&#039;W&#039;&#039; sind als &#039;1&#039;-aktiv eingetragen.&lt;br /&gt;
{|{{tabelle}}&lt;br /&gt;
|+ &#039;&#039;&#039;Übergangstabelle&#039;&#039;&#039;&lt;br /&gt;
|-style=&amp;quot;text-align:center; &amp;quot;&lt;br /&gt;
!style=&amp;quot;background:#EAECF0&amp;quot;|Folgezustand &lt;br /&gt;
|style=&amp;quot;background:#FFEBAD&amp;quot; colspan=&amp;quot;4&amp;quot;| Eingangssignale U W&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| aktueller Zustand &lt;br /&gt;
|style=&amp;quot;background:#FFEBAD&amp;quot;| 00 || style=&amp;quot;background:#FFEBAD&amp;quot; |01 ||style=&amp;quot;background:#FFEBAD&amp;quot;| 10 || style=&amp;quot;background:#FFEBAD&amp;quot; | 11&lt;br /&gt;
|-style=&amp;quot;text-align:center; background:#EAECF0&amp;quot; &lt;br /&gt;
| style=&amp;quot; background:#F8F9FA&amp;quot; | 0 &lt;br /&gt;
! 0 ||0 ||1 || 0&lt;br /&gt;
|-style=&amp;quot;text-align:center; background:#EAECF0&amp;quot; &lt;br /&gt;
| style=&amp;quot;background:#F8F9FA&amp;quot; | 1&lt;br /&gt;
! 1 || 0 || 2 || 0&lt;br /&gt;
|-style=&amp;quot;text-align:center; background:#EAECF0&amp;quot; &lt;br /&gt;
|style=&amp;quot;background:#F8F9FA&amp;quot; |2&lt;br /&gt;
! 2 || 1 || 3 || 0&lt;br /&gt;
|-style=&amp;quot;text-align:center; background:#EAECF0&amp;quot; &lt;br /&gt;
|style=&amp;quot;background:#F8F9FA&amp;quot; |3&lt;br /&gt;
! 3 || 2 || 3 || 0&lt;br /&gt;
|}&lt;br /&gt;
Bei umfangreichen Schaltwerken kann an dieser Stelle versucht werden, Zustände zusammenzufassen.&lt;br /&gt;
&lt;br /&gt;
=== 6 ===&lt;br /&gt;
Unter Berücksichtigung der Übergangstabelle wird die Zustandsfolgetabelle aufgebaut. Sie enthält die Eingangssignale, den aktuellen Zustand und den Folgezustand des Schaltwerks.&amp;lt;br /&amp;gt;&lt;br /&gt;
Die Zustände liegen in der Wahrheitstabelle in codierter Form vor, in diesem Beispiel sind sie binär codiert und es genügen zwei Zustandsvariablen, &#039;&#039;A&amp;lt;sup&amp;gt;n&amp;lt;/sup&amp;gt;&#039;&#039;(LSD) und &#039;&#039;B&amp;lt;sup&amp;gt;n&amp;lt;/sup&amp;gt;&#039;&#039;(MSD), da das Schaltwerk 4 Zustände einnehmen kann.&lt;br /&gt;
{|{{tabelle}} &lt;br /&gt;
|+&#039;&#039;&#039;Zustandsfolgetabelle&#039;&#039;&#039;&lt;br /&gt;
|-style=&amp;quot;background:#EAECF0&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;2&amp;quot;|Eingangssignale||colspan=&amp;quot;2&amp;quot;|aktueller Zustand|| style=&amp;quot;border-left:2px solid&amp;quot; colspan=&amp;quot;2&amp;quot;| Folgezustand||style=&amp;quot;background:#FFFFFF; vertical-align:top&amp;quot; rowspan=&amp;quot;2&amp;quot;|Beschreibung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|U || W || B&amp;lt;sup&amp;gt;n&amp;lt;/sup&amp;gt; || A &amp;lt;sup&amp;gt;n&amp;lt;/sup&amp;gt;||style=&amp;quot;border-left:2px solid&amp;quot;| B&amp;lt;sup&amp;gt;n+1&amp;lt;/sup&amp;gt; || A&amp;lt;sup&amp;gt;n+1&amp;lt;/sup&amp;gt;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 0 || 0 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; Start&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 0 || 0 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 1 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;; nach &amp;quot;links&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 1 || 0 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; nach &amp;quot;rechts&amp;quot; → keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 1 || 0 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 0 || 0 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 1 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;; keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 0 || 0 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;; nach &amp;quot;links&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 1 || 0 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; nach &amp;quot;rechts&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 1 || 0 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; Rücksprung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 0 || 1 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;; keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 0 || 1 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 1 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt;; nach &amp;quot;links&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 1 || 1 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 1 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;; nach &amp;quot;rechts&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 1 || 1 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; Rücksprung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 0 || 1 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 1 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt;; keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 0 || 1 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 1 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt;; nach &amp;quot;links&amp;quot; → keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 1 || 1 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;; nach &amp;quot;rechts&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 1 || 1 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; Rücksprung&lt;br /&gt;
|}&lt;br /&gt;
Aus der Zustandsfolgetabelle werden die Übergangsfunktionen der Zustandsvariablen &#039;&#039;A&amp;lt;sup&amp;gt;n+1&amp;lt;/sup&amp;gt;&#039;&#039; und &#039;&#039;B&amp;lt;sup&amp;gt;n+1&amp;lt;/sup&amp;gt;&#039;&#039; entnommen. Sie sind Ausgangspunkt für die rechnerische Bestimmung der Eingangsschaltnetze  der Zustandsvariablenspeicher.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Alle nachfolgend beschriebenen Schaltwerkversionen besitzen die gleichen Ausgangssignale, die aus den Zustandsvariablen des Momentanzustandes ermittelt werden. Die Ausgangssignale sind ´1´-aktiv und werden durch die &amp;quot;Methode des scharfen Ansehens&amp;quot; aus obiger Tabelle erhalten:&amp;lt;br /&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|-style=&amp;quot;font-style: italic&amp;quot;&lt;br /&gt;
|Stellung1 || =|| style=&amp;quot;text-decoration:overline&amp;quot;| A || &amp;amp;sdot; ||  style=&amp;quot;text-decoration:overline&amp;quot;| B &lt;br /&gt;
|-style=&amp;quot;font-style: italic&amp;quot;&lt;br /&gt;
|Stellung2 || =||  A || &amp;amp;sdot; ||  style=&amp;quot;text-decoration:overline&amp;quot;| B &lt;br /&gt;
|-style=&amp;quot;font-style: italic&amp;quot;&lt;br /&gt;
|Stellung3 || =|| style=&amp;quot;text-decoration:overline&amp;quot;| A || &amp;amp;sdot; || B &lt;br /&gt;
|-style=&amp;quot;font-style: italic&amp;quot;&lt;br /&gt;
|Stellung4 || =|| A || &amp;amp;sdot; || B &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 7 Gatterversion ===&lt;/div&gt;</summary>
		<author><name>Aminox86</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Methodischer_Entwurf_einfacher_Schaltwerke&amp;diff=100336</id>
		<title>Methodischer Entwurf einfacher Schaltwerke</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Methodischer_Entwurf_einfacher_Schaltwerke&amp;diff=100336"/>
		<updated>2019-02-24T16:29:33Z</updated>

		<summary type="html">&lt;p&gt;Aminox86: /* 6 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Dieser Artikel beschreibt die Vorgehensweise, einfache sequentielle Schaltungen in der Praxis umzusetzen.&lt;br /&gt;
&lt;br /&gt;
== Intention ==&lt;br /&gt;
Um eine LED blinken zu lassen, muß nicht unbedingt ein Mikrokontroller bemüht werden, wenn sich dieselbe Funktion auch mit ein paar Gattern und Flipflops realisieren lässt. Dabei soll unter einem &amp;quot;einfachen&amp;quot; Schaltwerk eine digitale Schaltung verstanden werden, deren &amp;quot;Verarbeitungsmöglichkeit&amp;quot; begrenzt ist, die zB &amp;quot;nur&amp;quot; zehn Eingangsvariablen aufnehmen kann oder zB &amp;quot;nur&amp;quot; 32 interne Zustände besitzt. Es soll sich daher um ein Gebilde handeln, das im einfachsten Fall aus digitalen Grundbausteinen besteht.&lt;br /&gt;
&lt;br /&gt;
Anhand eines konkreten Beispiels werden verschiedene Möglichkeiten der Realisierung eines Schaltwerks vorgestellt. Hierbei steht die praktische und systematische Umsetzung des gewählten Schaltwerkaufbaus im Vordergrund.&lt;br /&gt;
== 1 ==&lt;br /&gt;
Die Ausgangssignale eines Schaltwerks bzw dessen Zustand zum Betrachtungszeitpunkt werden nicht nur durch die aktuell anliegenden Eingangssignale sondern auch durch die Historie aller Eingangssignale bis zu diesem Zeitpunkt bestimmt. Diese Vorgeschichte wird in Speicherelementen, zB Flipflops, festgehalten. Ihr Inhalt wird an den Eingang des Schaltwerks zurückgeführt und dort mit den externen Signalen verknüpft, wodurch sich ggf der Zustand des Schaltwerks ändert.&amp;lt;br /&amp;gt;&lt;br /&gt;
Die zeitliche Reihenfolge der Zustände ist vorgeben, sie stellt die Funktionalität des Schaltwerks dar.&amp;lt;br /&amp;gt;&lt;br /&gt;
Diese Zustandsänderungen können sofort nach Wertänderung der Eingangsvariablen erfolgen, es liegt ein Asynchronschaltwerk vor, oder nur zu klar voneinander abgegrenzten  Zeitpunkten, es handelt sich dann um ein Synchronschaltwerk. Dieser Artikel beschäftigt sich mit Synchronschaltwerken, die die Struktur eines Moore-Automaten haben.&lt;br /&gt;
[[Bild:SchaltwerkSchema1.png|rechts|rahmen|Schaltwerk]]&lt;br /&gt;
Es liegt in der Natur des gewählten Themas, dass die hier beschriebenen Schaltwerke vorzugsweise aus handelsüblichen Komponenten (Gattern, Flipflops usw.) aufgebaut werden.&lt;br /&gt;
Das Übertragungsverhalten der FF ist durch ihren Aufbau vorgegeben und kann nicht beeinflußt werden.&amp;lt;br /&amp;gt;&lt;br /&gt;
Daher widmet sich dieser Artikel in erster Linie den Gestaltungsmöglichkeiten des Eingangsschaltnetzes unter Berücksichtigung des FF-Typs, auf die Dimensionierung des Ausgangsschaltnetzes wird bei Bedarf eingegangen.&lt;br /&gt;
&lt;br /&gt;
== 2 ==&lt;br /&gt;
Der Entwurf sollte schrittweise erfolgen. Die unten angeführte Reihenfolge ist bewährt, wobei die angeführten Positionen unterschiedlich umfangreich, abhängig von den Anforderungen, ausgestaltet werden können.&lt;br /&gt;
#Funktionsbeschreibung. Diese kann verbal (schriftlich, Handskizze) erfolgen oder durch zB ein Impulsdiagramm vorgegeben sein.&lt;br /&gt;
#Formale Beschreibung. Die in der Funktionsbeschreibung vorgegebenen Rahmenbedingungen werden in ein Zustandsdiagramm überführt. Hier erfolgt die vollständige Beschreibung des Schaltwerks, indem die Aufeinanderfolge der (festzulegenden) Zustände als Reaktion auf Eingangs- und Zustandsvektor bestimmt wird. Ebenfalls kann an dieser Stelle der Ausgangsvektor formuliert werden.&lt;br /&gt;
#Schaltwerkstabelle. Die Schaltwerkstabelle stellt das Zustandsdiagramm in tabellarischer Form dar. Mit ihrer Hilfe kann eine Zustandsminimierung (Zusammenfassen identischer Zustände) des Schaltwerks durchgeführt werden, die idR zu verringertem Bauteilebedarf führt. Änderungen in der Schaltwerkstabelle wirken auf das Zustandsdiagramm zurück.&lt;br /&gt;
#Zustandscodierung. Die Art der Zustandscodierung, insbesondere bei einfachen Synchronschaltwerken, unterliegt keinen Beschränkungen (im Gegensatz zu Asynchronschaltwerken). Die Codierung muß eindeutig sein und hat evtl Einfluß auf den Bauteileaufwand.&lt;br /&gt;
# Zustandsfolgetabelle. Ausgangspunkt der Zustandsfolgetabelle ist das Zustandsdiagramm. In dieser Tabelle findet das sequentielle Verhalten der Schaltung seinen Ausdruck, denn sie ist deutlich zweigeteilt. Eingangsvariablen &#039;&#039;&#039;und&#039;&#039;&#039; aktuelle Zustände werden üblicherweise auf der linken Seite („vor dem Takt“), Folgezustände und ggf Ausgangsvariablen rechts („nach dem Takt“) notiert.  Aus der Zustandsfolgetabelle können, wenn sie als Wahrheitstabelle interpretiert wird, die Übergangsfunktionen der Zustandsspeicher entnommen werden.&lt;br /&gt;
== 3 ==&lt;br /&gt;
Mechanische Bedienelemente elektrischer Geräte wie Kippschalter, Tastenaggregate, Drehschalter usw sind dankbare Objekte für die Emulation durch ein elektronisches Schaltwerk.&amp;lt;br /&amp;gt;&lt;br /&gt;
Das hier gezeigte Beispiel bildet einen Drehschalter, der auf 4 Schaltstellungen begrenzt ist, nach. &lt;br /&gt;
=== 3 ===&lt;br /&gt;
In der nebenstehenden Abbildung ist dargestellt, wie der mechanische Drehschalter in seine elektronische Entsprechung überführt werden soll. Der linke Teil der Abbildung zeigt die Kontakte K1..K4, [[Datei:StufenschalterSchaltwerk.png|rechts|rahmen]]die anwählbaren Stellungen des Schleifers, sowie den zentralen Anschluss K0. Neben den Kontakten ist ein weiteres Attribut eingetragen, hierbei handelt es sich um die Verknüpfung von Schalterstellung und jeweiligem Zustand des Schaltwerks.&amp;lt;br /&amp;gt;&lt;br /&gt;
Im rechten Teil sind das Schaltwerk und seine äußeren Anschlüsse skizziert. Das Schaltwerk reagiert auf zwei Taster. Sie stehen für die linke und/oder rechte Drehung des Schalter und generieren die Eingangssignale &#039;&#039;U&#039;&#039; und &#039;&#039;W&#039;&#039;. Die 4 Stellungen des Drehschalters werden durch die Ausgangssignale &#039;&#039;Stellung1..Stellung4&#039;&#039; repräsentiert.&amp;lt;br /&amp;gt;&lt;br /&gt;
Das Schaltwerk emuliert ausschließlich die mechanische Bewegung des Drehschalters, die elektrischen Eigenschaften des Schalters müssen von separaten Schaltungsteilen umgesetzt werden.&lt;br /&gt;
&lt;br /&gt;
=== 4 ===&lt;br /&gt;
Das Zustandsdiagramm setzt Eingangssignale und  Zustände des Schaltwerks miteinander in Beziehung. &lt;br /&gt;
[[Datei:Zustandsdiagramm.png|rahmen|rechts]]Das Schaltwerk befindet sich nach dem Einschalten in Z0, der den rechten Anschlag des 	emulierten Schalters bildet, denn das Aktivieren der „Taste rechts“ oder der „Tasten links+rechts“ bewirkt an dieser Stelle keine Zustandsänderung. Durch wiederholtes Betätigen der „Taste links“ gelangt man zu den nächsten Zuständen, bis der linke Anschlag erreicht ist. Die „Taste links“ bewirkt in Z3 keine Zustandsänderung. Mit der „Taste rechts“ kann dieser Zustand verlassen werden. Zwischen den Zuständen kann man sich mit den Tasten beliebig hin und her bewegen. Das gleichzeitige Betätigen beider Tasten „Tasten links+rechts“ versetzt das Schaltwerk aus jedem Zustand heraus in den Anfangszustand Z0, ein Verhalten, das mit einem mechanischen Drehschalter nicht möglich ist. Ist keine Taste aktiv verbleibt das Schaltwerk in seinem aktuellen Zustand.&lt;br /&gt;
=== 5 ===&lt;br /&gt;
Die Übergangstabelle enthält die Information des Zustandsdiagramms in tabellarischer Form. Die Signale &#039;&#039;U&#039;&#039; und &#039;&#039;W&#039;&#039; sind als &#039;1&#039;-aktiv eingetragen.&lt;br /&gt;
{|{{tabelle}}&lt;br /&gt;
|+ &#039;&#039;&#039;Übergangstabelle&#039;&#039;&#039;&lt;br /&gt;
|-style=&amp;quot;text-align:center; &amp;quot;&lt;br /&gt;
!style=&amp;quot;background:#EAECF0&amp;quot;|Folgezustand &lt;br /&gt;
|style=&amp;quot;background:#FFEBAD&amp;quot; colspan=&amp;quot;4&amp;quot;| Eingangssignale U W&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| aktueller Zustand &lt;br /&gt;
|style=&amp;quot;background:#FFEBAD&amp;quot;| 00 || style=&amp;quot;background:#FFEBAD&amp;quot; |01 ||style=&amp;quot;background:#FFEBAD&amp;quot;| 10 || style=&amp;quot;background:#FFEBAD&amp;quot; | 11&lt;br /&gt;
|-style=&amp;quot;text-align:center; background:#EAECF0&amp;quot; &lt;br /&gt;
| style=&amp;quot; background:#F8F9FA&amp;quot; | 0 &lt;br /&gt;
! 0 ||0 ||1 || 0&lt;br /&gt;
|-style=&amp;quot;text-align:center; background:#EAECF0&amp;quot; &lt;br /&gt;
| style=&amp;quot;background:#F8F9FA&amp;quot; | 1&lt;br /&gt;
! 1 || 0 || 2 || 0&lt;br /&gt;
|-style=&amp;quot;text-align:center; background:#EAECF0&amp;quot; &lt;br /&gt;
|style=&amp;quot;background:#F8F9FA&amp;quot; |2&lt;br /&gt;
! 2 || 1 || 3 || 0&lt;br /&gt;
|-style=&amp;quot;text-align:center; background:#EAECF0&amp;quot; &lt;br /&gt;
|style=&amp;quot;background:#F8F9FA&amp;quot; |3&lt;br /&gt;
! 3 || 2 || 3 || 0&lt;br /&gt;
|}&lt;br /&gt;
Bei umfangreichen Schaltwerken kann an dieser Stelle versucht werden, Zustände zusammenzufassen.&lt;br /&gt;
&lt;br /&gt;
=== 6 ===&lt;br /&gt;
Unter Berücksichtigung der Übergangstabelle wird die Zustandsfolgetabelle aufgebaut. Sie enthält die Eingangssignale, den aktuellen Zustand und den Folgezustand des Schaltwerks.&amp;lt;br /&amp;gt;&lt;br /&gt;
Die Zustände liegen in der Wahrheitstabelle in codierter Form vor, in diesem Beispiel sind sie binär codiert und es genügen zwei Zustandsvariablen, &#039;&#039;A&amp;lt;sup&amp;gt;n&amp;lt;/sup&amp;gt;&#039;&#039;(LSD) und &#039;&#039;B&amp;lt;sup&amp;gt;n&amp;lt;/sup&amp;gt;&#039;&#039;(MSD), da das Schaltwerk 4 Zustände einnehmen kann.&lt;br /&gt;
{|{{tabelle}} &lt;br /&gt;
|+&#039;&#039;&#039;Zustandsfolgetabelle&#039;&#039;&#039;&lt;br /&gt;
|-style=&amp;quot;background:#EAECF0&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;2&amp;quot;|Eingangssignale||colspan=&amp;quot;2&amp;quot;|aktueller Zustand|| style=&amp;quot;border-left:2px solid&amp;quot; colspan=&amp;quot;2&amp;quot;| Folgezustand||style=&amp;quot;background:#FFFFFF; vertical-align:top&amp;quot; rowspan=&amp;quot;2&amp;quot;|Beschreibung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|U || W || B&amp;lt;sup&amp;gt;n&amp;lt;/sup&amp;gt; || A &amp;lt;sup&amp;gt;n&amp;lt;/sup&amp;gt;||style=&amp;quot;border-left:2px solid&amp;quot;| B&amp;lt;sup&amp;gt;n+1&amp;lt;/sup&amp;gt; || A&amp;lt;sup&amp;gt;n+1&amp;lt;/sup&amp;gt;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 0 || 0 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; Start&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 0 || 0 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 1 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;; nach &amp;quot;links&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 1 || 0 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; nach &amp;quot;rechts&amp;quot; → keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 1 || 0 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 0 || 0 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 1 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;; keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 0 || 0 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;; nach &amp;quot;links&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 1 || 0 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; nach &amp;quot;rechts&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 1 || 0 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; Rücksprung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 0 || 1 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;; keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 0 || 1 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 1 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt;; nach &amp;quot;links&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 1 || 1 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 1 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;; nach &amp;quot;rechts&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 1 || 1 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; Rücksprung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 0 || 1 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 1 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt;; keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 0 || 1 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 1 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt;; nach &amp;quot;links&amp;quot; → keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 1 || 1 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;; nach &amp;quot;rechts&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 1 || 1 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; Rücksprung&lt;br /&gt;
|}&lt;br /&gt;
Aus der Zustandsfolgetabelle werden die Übergangsfunktionen der Zustandsvariablen &#039;&#039;A&amp;lt;sup&amp;gt;n+1&amp;lt;/sup&amp;gt;&#039;&#039; und &#039;&#039;B&amp;lt;sup&amp;gt;n+1&amp;lt;/sup&amp;gt;&#039;&#039; entnommen. Sie sind Ausgangspunkt für die rechnerische Bestimmung der Eingangsschaltnetze  der Zustandsvariablenspeicher.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Alle nachfolgend beschriebenen Schaltwerkversionen besitzen die gleichen Ausgangssignale, die aus den Zustandsvariablen des Momentanzustandes ermittelt werden. Die Ausgangssignale sind ´1´-aktiv und werden durch die &amp;quot;Methode des scharfen Ansehens&amp;quot; aus obiger Tabelle erhalten:&amp;lt;br /&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|-style=&amp;quot;font-style: italic&amp;quot;&lt;br /&gt;
|Stellung1 || =|| style=&amp;quot;text-decoration:overline&amp;quot;| A || &amp;amp;sdot; ||  style=&amp;quot;text-decoration:overline&amp;quot;| B &lt;br /&gt;
|-style=&amp;quot;font-style: italic&amp;quot;&lt;br /&gt;
|Stellung2 || =||  A || &amp;amp;sdot; ||  style=&amp;quot;text-decoration:overline&amp;quot;| B &lt;br /&gt;
|-style=&amp;quot;font-style: italic&amp;quot;&lt;br /&gt;
|Stellung3 || =|| style=&amp;quot;text-decoration:overline&amp;quot;| A || &amp;amp;sdot; || B &lt;br /&gt;
|-style=&amp;quot;font-style: italic&amp;quot;&lt;br /&gt;
|Stellung4 || =|| A || &amp;amp;sdot; || B &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 7 Gatterversion ===&lt;br /&gt;
&lt;br /&gt;
=== 7 ===&lt;/div&gt;</summary>
		<author><name>Aminox86</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Methodischer_Entwurf_einfacher_Schaltwerke&amp;diff=100335</id>
		<title>Methodischer Entwurf einfacher Schaltwerke</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Methodischer_Entwurf_einfacher_Schaltwerke&amp;diff=100335"/>
		<updated>2019-02-24T10:40:30Z</updated>

		<summary type="html">&lt;p&gt;Aminox86: /* 6 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Dieser Artikel beschreibt die Vorgehensweise, einfache sequentielle Schaltungen in der Praxis umzusetzen.&lt;br /&gt;
&lt;br /&gt;
== Intention ==&lt;br /&gt;
Um eine LED blinken zu lassen, muß nicht unbedingt ein Mikrokontroller bemüht werden, wenn sich dieselbe Funktion auch mit ein paar Gattern und Flipflops realisieren lässt. Dabei soll unter einem &amp;quot;einfachen&amp;quot; Schaltwerk eine digitale Schaltung verstanden werden, deren &amp;quot;Verarbeitungsmöglichkeit&amp;quot; begrenzt ist, die zB &amp;quot;nur&amp;quot; zehn Eingangsvariablen aufnehmen kann oder zB &amp;quot;nur&amp;quot; 32 interne Zustände besitzt. Es soll sich daher um ein Gebilde handeln, das im einfachsten Fall aus digitalen Grundbausteinen besteht.&lt;br /&gt;
&lt;br /&gt;
Anhand eines konkreten Beispiels werden verschiedene Möglichkeiten der Realisierung eines Schaltwerks vorgestellt. Hierbei steht die praktische und systematische Umsetzung des gewählten Schaltwerkaufbaus im Vordergrund.&lt;br /&gt;
== 1 ==&lt;br /&gt;
Die Ausgangssignale eines Schaltwerks bzw dessen Zustand zum Betrachtungszeitpunkt werden nicht nur durch die aktuell anliegenden Eingangssignale sondern auch durch die Historie aller Eingangssignale bis zu diesem Zeitpunkt bestimmt. Diese Vorgeschichte wird in Speicherelementen, zB Flipflops, festgehalten. Ihr Inhalt wird an den Eingang des Schaltwerks zurückgeführt und dort mit den externen Signalen verknüpft, wodurch sich ggf der Zustand des Schaltwerks ändert.&amp;lt;br /&amp;gt;&lt;br /&gt;
Die zeitliche Reihenfolge der Zustände ist vorgeben, sie stellt die Funktionalität des Schaltwerks dar.&amp;lt;br /&amp;gt;&lt;br /&gt;
Diese Zustandsänderungen können sofort nach Wertänderung der Eingangsvariablen erfolgen, es liegt ein Asynchronschaltwerk vor, oder nur zu klar voneinander abgegrenzten  Zeitpunkten, es handelt sich dann um ein Synchronschaltwerk. Dieser Artikel beschäftigt sich mit Synchronschaltwerken, die die Struktur eines Moore-Automaten haben.&lt;br /&gt;
[[Bild:SchaltwerkSchema1.png|rechts|rahmen|Schaltwerk]]&lt;br /&gt;
Es liegt in der Natur des gewählten Themas, dass die hier beschriebenen Schaltwerke vorzugsweise aus handelsüblichen Komponenten (Gattern, Flipflops usw.) aufgebaut werden.&lt;br /&gt;
Das Übertragungsverhalten der FF ist durch ihren Aufbau vorgegeben und kann nicht beeinflußt werden.&amp;lt;br /&amp;gt;&lt;br /&gt;
Daher widmet sich dieser Artikel in erster Linie den Gestaltungsmöglichkeiten des Eingangsschaltnetzes unter Berücksichtigung des FF-Typs, auf die Dimensionierung des Ausgangsschaltnetzes wird bei Bedarf eingegangen.&lt;br /&gt;
&lt;br /&gt;
== 2 ==&lt;br /&gt;
Der Entwurf sollte schrittweise erfolgen. Die unten angeführte Reihenfolge ist bewährt, wobei die angeführten Positionen unterschiedlich umfangreich, abhängig von den Anforderungen, ausgestaltet werden können.&lt;br /&gt;
#Funktionsbeschreibung. Diese kann verbal (schriftlich, Handskizze) erfolgen oder durch zB ein Impulsdiagramm vorgegeben sein.&lt;br /&gt;
#Formale Beschreibung. Die in der Funktionsbeschreibung vorgegebenen Rahmenbedingungen werden in ein Zustandsdiagramm überführt. Hier erfolgt die vollständige Beschreibung des Schaltwerks, indem die Aufeinanderfolge der (festzulegenden) Zustände als Reaktion auf Eingangs- und Zustandsvektor bestimmt wird. Ebenfalls kann an dieser Stelle der Ausgangsvektor formuliert werden.&lt;br /&gt;
#Schaltwerkstabelle. Die Schaltwerkstabelle stellt das Zustandsdiagramm in tabellarischer Form dar. Mit ihrer Hilfe kann eine Zustandsminimierung (Zusammenfassen identischer Zustände) des Schaltwerks durchgeführt werden, die idR zu verringertem Bauteilebedarf führt. Änderungen in der Schaltwerkstabelle wirken auf das Zustandsdiagramm zurück.&lt;br /&gt;
#Zustandscodierung. Die Art der Zustandscodierung, insbesondere bei einfachen Synchronschaltwerken, unterliegt keinen Beschränkungen (im Gegensatz zu Asynchronschaltwerken). Die Codierung muß eindeutig sein und hat evtl Einfluß auf den Bauteileaufwand.&lt;br /&gt;
# Zustandsfolgetabelle. Ausgangspunkt der Zustandsfolgetabelle ist das Zustandsdiagramm. In dieser Tabelle findet das sequentielle Verhalten der Schaltung seinen Ausdruck, denn sie ist deutlich zweigeteilt. Eingangsvariablen &#039;&#039;&#039;und&#039;&#039;&#039; aktuelle Zustände werden üblicherweise auf der linken Seite („vor dem Takt“), Folgezustände und ggf Ausgangsvariablen rechts („nach dem Takt“) notiert.  Aus der Zustandsfolgetabelle können, wenn sie als Wahrheitstabelle interpretiert wird, die Übergangsfunktionen der Zustandsspeicher entnommen werden.&lt;br /&gt;
== 3 ==&lt;br /&gt;
Mechanische Bedienelemente elektrischer Geräte wie Kippschalter, Tastenaggregate, Drehschalter usw sind dankbare Objekte für die Emulation durch ein elektronisches Schaltwerk.&amp;lt;br /&amp;gt;&lt;br /&gt;
Das hier gezeigte Beispiel bildet einen Drehschalter, der auf 4 Schaltstellungen begrenzt ist, nach. &lt;br /&gt;
=== 3 ===&lt;br /&gt;
In der nebenstehenden Abbildung ist dargestellt, wie der mechanische Drehschalter in seine elektronische Entsprechung überführt werden soll. Der linke Teil der Abbildung zeigt die Kontakte K1..K4, [[Datei:StufenschalterSchaltwerk.png|rechts|rahmen]]die anwählbaren Stellungen des Schleifers, sowie den zentralen Anschluss K0. Neben den Kontakten ist ein weiteres Attribut eingetragen, hierbei handelt es sich um die Verknüpfung von Schalterstellung und jeweiligem Zustand des Schaltwerks.&amp;lt;br /&amp;gt;&lt;br /&gt;
Im rechten Teil sind das Schaltwerk und seine äußeren Anschlüsse skizziert. Das Schaltwerk reagiert auf zwei Taster. Sie stehen für die linke und/oder rechte Drehung des Schalter und generieren die Eingangssignale &#039;&#039;U&#039;&#039; und &#039;&#039;W&#039;&#039;. Die 4 Stellungen des Drehschalters werden durch die Ausgangssignale &#039;&#039;Stellung1..Stellung4&#039;&#039; repräsentiert.&amp;lt;br /&amp;gt;&lt;br /&gt;
Das Schaltwerk emuliert ausschließlich die mechanische Bewegung des Drehschalters, die elektrischen Eigenschaften des Schalters müssen von separaten Schaltungsteilen umgesetzt werden.&lt;br /&gt;
&lt;br /&gt;
=== 4 ===&lt;br /&gt;
Das Zustandsdiagramm setzt Eingangssignale und  Zustände des Schaltwerks miteinander in Beziehung. &lt;br /&gt;
[[Datei:Zustandsdiagramm.png|rahmen|rechts]]Das Schaltwerk befindet sich nach dem Einschalten in Z0, der den rechten Anschlag des 	emulierten Schalters bildet, denn das Aktivieren der „Taste rechts“ oder der „Tasten links+rechts“ bewirkt an dieser Stelle keine Zustandsänderung. Durch wiederholtes Betätigen der „Taste links“ gelangt man zu den nächsten Zuständen, bis der linke Anschlag erreicht ist. Die „Taste links“ bewirkt in Z3 keine Zustandsänderung. Mit der „Taste rechts“ kann dieser Zustand verlassen werden. Zwischen den Zuständen kann man sich mit den Tasten beliebig hin und her bewegen. Das gleichzeitige Betätigen beider Tasten „Tasten links+rechts“ versetzt das Schaltwerk aus jedem Zustand heraus in den Anfangszustand Z0, ein Verhalten, das mit einem mechanischen Drehschalter nicht möglich ist. Ist keine Taste aktiv verbleibt das Schaltwerk in seinem aktuellen Zustand.&lt;br /&gt;
=== 5 ===&lt;br /&gt;
Die Übergangstabelle enthält die Information des Zustandsdiagramms in tabellarischer Form. Die Signale &#039;&#039;U&#039;&#039; und &#039;&#039;W&#039;&#039; sind als &#039;1&#039;-aktiv eingetragen.&lt;br /&gt;
{|{{tabelle}}&lt;br /&gt;
|+ &#039;&#039;&#039;Übergangstabelle&#039;&#039;&#039;&lt;br /&gt;
|-style=&amp;quot;text-align:center; &amp;quot;&lt;br /&gt;
!style=&amp;quot;background:#EAECF0&amp;quot;|Folgezustand &lt;br /&gt;
|style=&amp;quot;background:#FFEBAD&amp;quot; colspan=&amp;quot;4&amp;quot;| Eingangssignale U W&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| aktueller Zustand &lt;br /&gt;
|style=&amp;quot;background:#FFEBAD&amp;quot;| 00 || style=&amp;quot;background:#FFEBAD&amp;quot; |01 ||style=&amp;quot;background:#FFEBAD&amp;quot;| 10 || style=&amp;quot;background:#FFEBAD&amp;quot; | 11&lt;br /&gt;
|-style=&amp;quot;text-align:center; background:#EAECF0&amp;quot; &lt;br /&gt;
| style=&amp;quot; background:#F8F9FA&amp;quot; | 0 &lt;br /&gt;
! 0 ||0 ||1 || 0&lt;br /&gt;
|-style=&amp;quot;text-align:center; background:#EAECF0&amp;quot; &lt;br /&gt;
| style=&amp;quot;background:#F8F9FA&amp;quot; | 1&lt;br /&gt;
! 1 || 0 || 2 || 0&lt;br /&gt;
|-style=&amp;quot;text-align:center; background:#EAECF0&amp;quot; &lt;br /&gt;
|style=&amp;quot;background:#F8F9FA&amp;quot; |2&lt;br /&gt;
! 2 || 1 || 3 || 0&lt;br /&gt;
|-style=&amp;quot;text-align:center; background:#EAECF0&amp;quot; &lt;br /&gt;
|style=&amp;quot;background:#F8F9FA&amp;quot; |3&lt;br /&gt;
! 3 || 2 || 3 || 0&lt;br /&gt;
|}&lt;br /&gt;
Bei umfangreichen Schaltwerken kann an dieser Stelle versucht werden, Zustände zusammenzufassen.&lt;br /&gt;
&lt;br /&gt;
=== 6 ===&lt;br /&gt;
Unter Berücksichtigung der Übergangstabelle wird die Zustandsfolgetabelle aufgebaut. Sie enthält die Eingangssignale, den aktuellen Zustand und den Folgezustand des Schaltwerks.&amp;lt;br /&amp;gt;&lt;br /&gt;
Die Zustände liegen in der Wahrheitstabelle in codierter Form vor, in diesem Beispiel sind sie binär codiert und es genügen zwei Zustandsvariablen, &#039;&#039;A&amp;lt;sup&amp;gt;n&amp;lt;/sup&amp;gt;&#039;&#039;(LSD) und &#039;&#039;B&amp;lt;sup&amp;gt;n&amp;lt;/sup&amp;gt;&#039;&#039;(MSD), da das Schaltwerk 4 Zustände einnehmen kann.&lt;br /&gt;
{|{{tabelle}} &lt;br /&gt;
|+&#039;&#039;&#039;Zustandsfolgetabelle&#039;&#039;&#039;&lt;br /&gt;
|-style=&amp;quot;background:#EAECF0&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;2&amp;quot;|Eingangssignale||colspan=&amp;quot;2&amp;quot;|aktueller Zustand|| style=&amp;quot;border-left:2px solid&amp;quot; colspan=&amp;quot;2&amp;quot;| Folgezustand||style=&amp;quot;background:#FFFFFF; vertical-align:top&amp;quot; rowspan=&amp;quot;2&amp;quot;|Beschreibung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|U || W || B&amp;lt;sup&amp;gt;n&amp;lt;/sup&amp;gt; || A &amp;lt;sup&amp;gt;n&amp;lt;/sup&amp;gt;||style=&amp;quot;border-left:2px solid&amp;quot;| B&amp;lt;sup&amp;gt;n+1&amp;lt;/sup&amp;gt; || A&amp;lt;sup&amp;gt;n+1&amp;lt;/sup&amp;gt;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 0 || 0 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; Start&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 0 || 0 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 1 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;; nach &amp;quot;links&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 1 || 0 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; nach &amp;quot;rechts&amp;quot; → keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 1 || 0 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 0 || 0 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 1 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;; keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 0 || 0 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;; nach &amp;quot;links&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 1 || 0 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; nach &amp;quot;rechts&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 1 || 0 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; Rücksprung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 0 || 1 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;; keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 0 || 1 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 1 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt;; nach &amp;quot;links&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 1 || 1 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 1 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;; nach &amp;quot;rechts&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 1 || 1 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; Rücksprung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 0 || 1 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 1 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt;; keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 0 || 1 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 1 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt;; nach &amp;quot;links&amp;quot; → keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 1 || 1 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;; nach &amp;quot;rechts&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 1 || 1 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; Rücksprung&lt;br /&gt;
|}&lt;br /&gt;
Aus der Übergangstabelle werden die Übergangsfunktionen der Zustandsvariablen &#039;&#039;A&amp;lt;sup&amp;gt;n+1&amp;lt;/sup&amp;gt;&#039;&#039; und &#039;&#039;B&amp;lt;sup&amp;gt;n+1&amp;lt;/sup&amp;gt;&#039;&#039; entnommen. Sie sind Ausgangspunkt für die rechnerische Bestimmung der Eingangsschaltnetze  der Zustandsvariablenspeicher.&lt;br /&gt;
&lt;br /&gt;
=== 7 ===&lt;/div&gt;</summary>
		<author><name>Aminox86</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Methodischer_Entwurf_einfacher_Schaltwerke&amp;diff=100334</id>
		<title>Methodischer Entwurf einfacher Schaltwerke</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Methodischer_Entwurf_einfacher_Schaltwerke&amp;diff=100334"/>
		<updated>2019-02-23T16:40:08Z</updated>

		<summary type="html">&lt;p&gt;Aminox86: /* 6 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Dieser Artikel beschreibt die Vorgehensweise, einfache sequentielle Schaltungen in der Praxis umzusetzen.&lt;br /&gt;
&lt;br /&gt;
== Intention ==&lt;br /&gt;
Um eine LED blinken zu lassen, muß nicht unbedingt ein Mikrokontroller bemüht werden, wenn sich dieselbe Funktion auch mit ein paar Gattern und Flipflops realisieren lässt. Dabei soll unter einem &amp;quot;einfachen&amp;quot; Schaltwerk eine digitale Schaltung verstanden werden, deren &amp;quot;Verarbeitungsmöglichkeit&amp;quot; begrenzt ist, die zB &amp;quot;nur&amp;quot; zehn Eingangsvariablen aufnehmen kann oder zB &amp;quot;nur&amp;quot; 32 interne Zustände besitzt. Es soll sich daher um ein Gebilde handeln, das im einfachsten Fall aus digitalen Grundbausteinen besteht.&lt;br /&gt;
&lt;br /&gt;
Anhand eines konkreten Beispiels werden verschiedene Möglichkeiten der Realisierung eines Schaltwerks vorgestellt. Hierbei steht die praktische und systematische Umsetzung des gewählten Schaltwerkaufbaus im Vordergrund.&lt;br /&gt;
== 1 ==&lt;br /&gt;
Die Ausgangssignale eines Schaltwerks bzw dessen Zustand zum Betrachtungszeitpunkt werden nicht nur durch die aktuell anliegenden Eingangssignale sondern auch durch die Historie aller Eingangssignale bis zu diesem Zeitpunkt bestimmt. Diese Vorgeschichte wird in Speicherelementen, zB Flipflops, festgehalten. Ihr Inhalt wird an den Eingang des Schaltwerks zurückgeführt und dort mit den externen Signalen verknüpft, wodurch sich ggf der Zustand des Schaltwerks ändert.&amp;lt;br /&amp;gt;&lt;br /&gt;
Die zeitliche Reihenfolge der Zustände ist vorgeben, sie stellt die Funktionalität des Schaltwerks dar.&amp;lt;br /&amp;gt;&lt;br /&gt;
Diese Zustandsänderungen können sofort nach Wertänderung der Eingangsvariablen erfolgen, es liegt ein Asynchronschaltwerk vor, oder nur zu klar voneinander abgegrenzten  Zeitpunkten, es handelt sich dann um ein Synchronschaltwerk. Dieser Artikel beschäftigt sich mit Synchronschaltwerken, die die Struktur eines Moore-Automaten haben.&lt;br /&gt;
[[Bild:SchaltwerkSchema1.png|rechts|rahmen|Schaltwerk]]&lt;br /&gt;
Es liegt in der Natur des gewählten Themas, dass die hier beschriebenen Schaltwerke vorzugsweise aus handelsüblichen Komponenten (Gattern, Flipflops usw.) aufgebaut werden.&lt;br /&gt;
Das Übertragungsverhalten der FF ist durch ihren Aufbau vorgegeben und kann nicht beeinflußt werden.&amp;lt;br /&amp;gt;&lt;br /&gt;
Daher widmet sich dieser Artikel in erster Linie den Gestaltungsmöglichkeiten des Eingangsschaltnetzes unter Berücksichtigung des FF-Typs, auf die Dimensionierung des Ausgangsschaltnetzes wird bei Bedarf eingegangen.&lt;br /&gt;
&lt;br /&gt;
== 2 ==&lt;br /&gt;
Der Entwurf sollte schrittweise erfolgen. Die unten angeführte Reihenfolge ist bewährt, wobei die angeführten Positionen unterschiedlich umfangreich, abhängig von den Anforderungen, ausgestaltet werden können.&lt;br /&gt;
#Funktionsbeschreibung. Diese kann verbal (schriftlich, Handskizze) erfolgen oder durch zB ein Impulsdiagramm vorgegeben sein.&lt;br /&gt;
#Formale Beschreibung. Die in der Funktionsbeschreibung vorgegebenen Rahmenbedingungen werden in ein Zustandsdiagramm überführt. Hier erfolgt die vollständige Beschreibung des Schaltwerks, indem die Aufeinanderfolge der (festzulegenden) Zustände als Reaktion auf Eingangs- und Zustandsvektor bestimmt wird. Ebenfalls kann an dieser Stelle der Ausgangsvektor formuliert werden.&lt;br /&gt;
#Schaltwerkstabelle. Die Schaltwerkstabelle stellt das Zustandsdiagramm in tabellarischer Form dar. Mit ihrer Hilfe kann eine Zustandsminimierung (Zusammenfassen identischer Zustände) des Schaltwerks durchgeführt werden, die idR zu verringertem Bauteilebedarf führt. Änderungen in der Schaltwerkstabelle wirken auf das Zustandsdiagramm zurück.&lt;br /&gt;
#Zustandscodierung. Die Art der Zustandscodierung, insbesondere bei einfachen Synchronschaltwerken, unterliegt keinen Beschränkungen (im Gegensatz zu Asynchronschaltwerken). Die Codierung muß eindeutig sein und hat evtl Einfluß auf den Bauteileaufwand.&lt;br /&gt;
# Zustandsfolgetabelle. Ausgangspunkt der Zustandsfolgetabelle ist das Zustandsdiagramm. In dieser Tabelle findet das sequentielle Verhalten der Schaltung seinen Ausdruck, denn sie ist deutlich zweigeteilt. Eingangsvariablen &#039;&#039;&#039;und&#039;&#039;&#039; aktuelle Zustände werden üblicherweise auf der linken Seite („vor dem Takt“), Folgezustände und ggf Ausgangsvariablen rechts („nach dem Takt“) notiert.  Aus der Zustandsfolgetabelle können, wenn sie als Wahrheitstabelle interpretiert wird, die Übergangsfunktionen der Zustandsspeicher entnommen werden.&lt;br /&gt;
== 3 ==&lt;br /&gt;
Mechanische Bedienelemente elektrischer Geräte wie Kippschalter, Tastenaggregate, Drehschalter usw sind dankbare Objekte für die Emulation durch ein elektronisches Schaltwerk.&amp;lt;br /&amp;gt;&lt;br /&gt;
Das hier gezeigte Beispiel bildet einen Drehschalter, der auf 4 Schaltstellungen begrenzt ist, nach. &lt;br /&gt;
=== 3 ===&lt;br /&gt;
In der nebenstehenden Abbildung ist dargestellt, wie der mechanische Drehschalter in seine elektronische Entsprechung überführt werden soll. Der linke Teil der Abbildung zeigt die Kontakte K1..K4, [[Datei:StufenschalterSchaltwerk.png|rechts|rahmen]]die anwählbaren Stellungen des Schleifers, sowie den zentralen Anschluss K0. Neben den Kontakten ist ein weiteres Attribut eingetragen, hierbei handelt es sich um die Verknüpfung von Schalterstellung und jeweiligem Zustand des Schaltwerks.&amp;lt;br /&amp;gt;&lt;br /&gt;
Im rechten Teil sind das Schaltwerk und seine äußeren Anschlüsse skizziert. Das Schaltwerk reagiert auf zwei Taster. Sie stehen für die linke und/oder rechte Drehung des Schalter und generieren die Eingangssignale &#039;&#039;U&#039;&#039; und &#039;&#039;W&#039;&#039;. Die 4 Stellungen des Drehschalters werden durch die Ausgangssignale &#039;&#039;Stellung1..Stellung4&#039;&#039; repräsentiert.&amp;lt;br /&amp;gt;&lt;br /&gt;
Das Schaltwerk emuliert ausschließlich die mechanische Bewegung des Drehschalters, die elektrischen Eigenschaften des Schalters müssen von separaten Schaltungsteilen umgesetzt werden.&lt;br /&gt;
&lt;br /&gt;
=== 4 ===&lt;br /&gt;
Das Zustandsdiagramm setzt Eingangssignale und  Zustände des Schaltwerks miteinander in Beziehung. &lt;br /&gt;
[[Datei:Zustandsdiagramm.png|rahmen|rechts]]Das Schaltwerk befindet sich nach dem Einschalten in Z0, der den rechten Anschlag des 	emulierten Schalters bildet, denn das Aktivieren der „Taste rechts“ oder der „Tasten links+rechts“ bewirkt an dieser Stelle keine Zustandsänderung. Durch wiederholtes Betätigen der „Taste links“ gelangt man zu den nächsten Zuständen, bis der linke Anschlag erreicht ist. Die „Taste links“ bewirkt in Z3 keine Zustandsänderung. Mit der „Taste rechts“ kann dieser Zustand verlassen werden. Zwischen den Zuständen kann man sich mit den Tasten beliebig hin und her bewegen. Das gleichzeitige Betätigen beider Tasten „Tasten links+rechts“ versetzt das Schaltwerk aus jedem Zustand heraus in den Anfangszustand Z0, ein Verhalten, das mit einem mechanischen Drehschalter nicht möglich ist. Ist keine Taste aktiv verbleibt das Schaltwerk in seinem aktuellen Zustand.&lt;br /&gt;
=== 5 ===&lt;br /&gt;
Die Übergangstabelle enthält die Information des Zustandsdiagramms in tabellarischer Form. Die Signale &#039;&#039;U&#039;&#039; und &#039;&#039;W&#039;&#039; sind als &#039;1&#039;-aktiv eingetragen.&lt;br /&gt;
{|{{tabelle}}&lt;br /&gt;
|+ &#039;&#039;&#039;Übergangstabelle&#039;&#039;&#039;&lt;br /&gt;
|-style=&amp;quot;text-align:center; &amp;quot;&lt;br /&gt;
!style=&amp;quot;background:#EAECF0&amp;quot;|Folgezustand &lt;br /&gt;
|style=&amp;quot;background:#FFEBAD&amp;quot; colspan=&amp;quot;4&amp;quot;| Eingangssignale U W&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| aktueller Zustand &lt;br /&gt;
|style=&amp;quot;background:#FFEBAD&amp;quot;| 00 || style=&amp;quot;background:#FFEBAD&amp;quot; |01 ||style=&amp;quot;background:#FFEBAD&amp;quot;| 10 || style=&amp;quot;background:#FFEBAD&amp;quot; | 11&lt;br /&gt;
|-style=&amp;quot;text-align:center; background:#EAECF0&amp;quot; &lt;br /&gt;
| style=&amp;quot; background:#F8F9FA&amp;quot; | 0 &lt;br /&gt;
! 0 ||0 ||1 || 0&lt;br /&gt;
|-style=&amp;quot;text-align:center; background:#EAECF0&amp;quot; &lt;br /&gt;
| style=&amp;quot;background:#F8F9FA&amp;quot; | 1&lt;br /&gt;
! 1 || 0 || 2 || 0&lt;br /&gt;
|-style=&amp;quot;text-align:center; background:#EAECF0&amp;quot; &lt;br /&gt;
|style=&amp;quot;background:#F8F9FA&amp;quot; |2&lt;br /&gt;
! 2 || 1 || 3 || 0&lt;br /&gt;
|-style=&amp;quot;text-align:center; background:#EAECF0&amp;quot; &lt;br /&gt;
|style=&amp;quot;background:#F8F9FA&amp;quot; |3&lt;br /&gt;
! 3 || 2 || 3 || 0&lt;br /&gt;
|}&lt;br /&gt;
Bei umfangreichen Schaltwerken kann an dieser Stelle versucht werden, Zustände zusammenzufassen.&lt;br /&gt;
&lt;br /&gt;
=== 6 ===&lt;br /&gt;
Unter Berücksichtigung der Übergangstabelle wird die Zustandsfolgetabelle aufgebaut. Sie enthält die Eingangssignale, den aktuellen Zustand und den Folgezustand des Schaltwerks.&amp;lt;br /&amp;gt;&lt;br /&gt;
Die Zustände liegen in der Wahrheitstabelle in codierter Form vor, in diesem Beispiel sind sie binär codiert und es genügen zwei Zustandsvariablen, &#039;&#039;A&amp;lt;sup&amp;gt;n&amp;lt;/sup&amp;gt;&#039;&#039; und &#039;&#039;B&amp;lt;sup&amp;gt;n&amp;lt;/sup&amp;gt;&#039;&#039;, da das Schaltwerk 4 Zustände einnehmen kann.&lt;br /&gt;
{|{{tabelle}} &lt;br /&gt;
|+&#039;&#039;&#039;Zustandsfolgetabelle&#039;&#039;&#039;&lt;br /&gt;
|-style=&amp;quot;background:#EAECF0&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;2&amp;quot;|Eingangssignale||colspan=&amp;quot;2&amp;quot;|aktueller Zustand|| style=&amp;quot;border-left:2px solid&amp;quot; colspan=&amp;quot;2&amp;quot;| Folgezustand||style=&amp;quot;background:#FFFFFF; vertical-align:top&amp;quot; rowspan=&amp;quot;2&amp;quot;|Beschreibung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|U || W || B&amp;lt;sup&amp;gt;n&amp;lt;/sup&amp;gt; || A &amp;lt;sup&amp;gt;n&amp;lt;/sup&amp;gt;||style=&amp;quot;border-left:2px solid&amp;quot;| B&amp;lt;sup&amp;gt;n+1&amp;lt;/sup&amp;gt; || A&amp;lt;sup&amp;gt;n+1&amp;lt;/sup&amp;gt;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 0 || 0 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; Start&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 0 || 0 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 1 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;; nach &amp;quot;links&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 1 || 0 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; nach &amp;quot;rechts&amp;quot; → keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 1 || 0 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 0 || 0 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 1 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;; keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 0 || 0 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;; nach &amp;quot;links&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 1 || 0 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; nach &amp;quot;rechts&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 1 || 0 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; Rücksprung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 0 || 1 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;; keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 0 || 1 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 1 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt;; nach &amp;quot;links&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 1 || 1 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 1 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;; nach &amp;quot;rechts&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 1 || 1 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; Rücksprung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 0 || 1 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 1 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt;; keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 0 || 1 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 1 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt;; nach &amp;quot;links&amp;quot; → keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 1 || 1 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 1 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;; nach &amp;quot;rechts&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 1 || 1 || 1 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; Rücksprung&lt;br /&gt;
|}&lt;br /&gt;
Aus der Übergangstabelle werden die Übergangsfunktionen der Zustandsvariablen &#039;&#039;A&amp;lt;sup&amp;gt;n+1&amp;lt;/sup&amp;gt;&#039;&#039; und &#039;&#039;B&amp;lt;sup&amp;gt;n+1&amp;lt;/sup&amp;gt;&#039;&#039; entnommen. Sie sind Ausgangspunkt für die rechnerische Bestimmung der Eingangsschaltnetze  der Zustandsvariablenspeicher.&lt;br /&gt;
=== 7 ===&lt;/div&gt;</summary>
		<author><name>Aminox86</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Methodischer_Entwurf_einfacher_Schaltwerke&amp;diff=100333</id>
		<title>Methodischer Entwurf einfacher Schaltwerke</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Methodischer_Entwurf_einfacher_Schaltwerke&amp;diff=100333"/>
		<updated>2019-02-23T16:11:34Z</updated>

		<summary type="html">&lt;p&gt;Aminox86: /* 5 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Dieser Artikel beschreibt die Vorgehensweise, einfache sequentielle Schaltungen in der Praxis umzusetzen.&lt;br /&gt;
&lt;br /&gt;
== Intention ==&lt;br /&gt;
Um eine LED blinken zu lassen, muß nicht unbedingt ein Mikrokontroller bemüht werden, wenn sich dieselbe Funktion auch mit ein paar Gattern und Flipflops realisieren lässt. Dabei soll unter einem &amp;quot;einfachen&amp;quot; Schaltwerk eine digitale Schaltung verstanden werden, deren &amp;quot;Verarbeitungsmöglichkeit&amp;quot; begrenzt ist, die zB &amp;quot;nur&amp;quot; zehn Eingangsvariablen aufnehmen kann oder zB &amp;quot;nur&amp;quot; 32 interne Zustände besitzt. Es soll sich daher um ein Gebilde handeln, das im einfachsten Fall aus digitalen Grundbausteinen besteht.&lt;br /&gt;
&lt;br /&gt;
Anhand eines konkreten Beispiels werden verschiedene Möglichkeiten der Realisierung eines Schaltwerks vorgestellt. Hierbei steht die praktische und systematische Umsetzung des gewählten Schaltwerkaufbaus im Vordergrund.&lt;br /&gt;
== 1 ==&lt;br /&gt;
Die Ausgangssignale eines Schaltwerks bzw dessen Zustand zum Betrachtungszeitpunkt werden nicht nur durch die aktuell anliegenden Eingangssignale sondern auch durch die Historie aller Eingangssignale bis zu diesem Zeitpunkt bestimmt. Diese Vorgeschichte wird in Speicherelementen, zB Flipflops, festgehalten. Ihr Inhalt wird an den Eingang des Schaltwerks zurückgeführt und dort mit den externen Signalen verknüpft, wodurch sich ggf der Zustand des Schaltwerks ändert.&amp;lt;br /&amp;gt;&lt;br /&gt;
Die zeitliche Reihenfolge der Zustände ist vorgeben, sie stellt die Funktionalität des Schaltwerks dar.&amp;lt;br /&amp;gt;&lt;br /&gt;
Diese Zustandsänderungen können sofort nach Wertänderung der Eingangsvariablen erfolgen, es liegt ein Asynchronschaltwerk vor, oder nur zu klar voneinander abgegrenzten  Zeitpunkten, es handelt sich dann um ein Synchronschaltwerk. Dieser Artikel beschäftigt sich mit Synchronschaltwerken, die die Struktur eines Moore-Automaten haben.&lt;br /&gt;
[[Bild:SchaltwerkSchema1.png|rechts|rahmen|Schaltwerk]]&lt;br /&gt;
Es liegt in der Natur des gewählten Themas, dass die hier beschriebenen Schaltwerke vorzugsweise aus handelsüblichen Komponenten (Gattern, Flipflops usw.) aufgebaut werden.&lt;br /&gt;
Das Übertragungsverhalten der FF ist durch ihren Aufbau vorgegeben und kann nicht beeinflußt werden.&amp;lt;br /&amp;gt;&lt;br /&gt;
Daher widmet sich dieser Artikel in erster Linie den Gestaltungsmöglichkeiten des Eingangsschaltnetzes unter Berücksichtigung des FF-Typs, auf die Dimensionierung des Ausgangsschaltnetzes wird bei Bedarf eingegangen.&lt;br /&gt;
&lt;br /&gt;
== 2 ==&lt;br /&gt;
Der Entwurf sollte schrittweise erfolgen. Die unten angeführte Reihenfolge ist bewährt, wobei die angeführten Positionen unterschiedlich umfangreich, abhängig von den Anforderungen, ausgestaltet werden können.&lt;br /&gt;
#Funktionsbeschreibung. Diese kann verbal (schriftlich, Handskizze) erfolgen oder durch zB ein Impulsdiagramm vorgegeben sein.&lt;br /&gt;
#Formale Beschreibung. Die in der Funktionsbeschreibung vorgegebenen Rahmenbedingungen werden in ein Zustandsdiagramm überführt. Hier erfolgt die vollständige Beschreibung des Schaltwerks, indem die Aufeinanderfolge der (festzulegenden) Zustände als Reaktion auf Eingangs- und Zustandsvektor bestimmt wird. Ebenfalls kann an dieser Stelle der Ausgangsvektor formuliert werden.&lt;br /&gt;
#Schaltwerkstabelle. Die Schaltwerkstabelle stellt das Zustandsdiagramm in tabellarischer Form dar. Mit ihrer Hilfe kann eine Zustandsminimierung (Zusammenfassen identischer Zustände) des Schaltwerks durchgeführt werden, die idR zu verringertem Bauteilebedarf führt. Änderungen in der Schaltwerkstabelle wirken auf das Zustandsdiagramm zurück.&lt;br /&gt;
#Zustandscodierung. Die Art der Zustandscodierung, insbesondere bei einfachen Synchronschaltwerken, unterliegt keinen Beschränkungen (im Gegensatz zu Asynchronschaltwerken). Die Codierung muß eindeutig sein und hat evtl Einfluß auf den Bauteileaufwand.&lt;br /&gt;
# Zustandsfolgetabelle. Ausgangspunkt der Zustandsfolgetabelle ist das Zustandsdiagramm. In dieser Tabelle findet das sequentielle Verhalten der Schaltung seinen Ausdruck, denn sie ist deutlich zweigeteilt. Eingangsvariablen &#039;&#039;&#039;und&#039;&#039;&#039; aktuelle Zustände werden üblicherweise auf der linken Seite („vor dem Takt“), Folgezustände und ggf Ausgangsvariablen rechts („nach dem Takt“) notiert.  Aus der Zustandsfolgetabelle können, wenn sie als Wahrheitstabelle interpretiert wird, die Übergangsfunktionen der Zustandsspeicher entnommen werden.&lt;br /&gt;
== 3 ==&lt;br /&gt;
Mechanische Bedienelemente elektrischer Geräte wie Kippschalter, Tastenaggregate, Drehschalter usw sind dankbare Objekte für die Emulation durch ein elektronisches Schaltwerk.&amp;lt;br /&amp;gt;&lt;br /&gt;
Das hier gezeigte Beispiel bildet einen Drehschalter, der auf 4 Schaltstellungen begrenzt ist, nach. &lt;br /&gt;
=== 3 ===&lt;br /&gt;
In der nebenstehenden Abbildung ist dargestellt, wie der mechanische Drehschalter in seine elektronische Entsprechung überführt werden soll. Der linke Teil der Abbildung zeigt die Kontakte K1..K4, [[Datei:StufenschalterSchaltwerk.png|rechts|rahmen]]die anwählbaren Stellungen des Schleifers, sowie den zentralen Anschluss K0. Neben den Kontakten ist ein weiteres Attribut eingetragen, hierbei handelt es sich um die Verknüpfung von Schalterstellung und jeweiligem Zustand des Schaltwerks.&amp;lt;br /&amp;gt;&lt;br /&gt;
Im rechten Teil sind das Schaltwerk und seine äußeren Anschlüsse skizziert. Das Schaltwerk reagiert auf zwei Taster. Sie stehen für die linke und/oder rechte Drehung des Schalter und generieren die Eingangssignale &#039;&#039;U&#039;&#039; und &#039;&#039;W&#039;&#039;. Die 4 Stellungen des Drehschalters werden durch die Ausgangssignale &#039;&#039;Stellung1..Stellung4&#039;&#039; repräsentiert.&amp;lt;br /&amp;gt;&lt;br /&gt;
Das Schaltwerk emuliert ausschließlich die mechanische Bewegung des Drehschalters, die elektrischen Eigenschaften des Schalters müssen von separaten Schaltungsteilen umgesetzt werden.&lt;br /&gt;
&lt;br /&gt;
=== 4 ===&lt;br /&gt;
Das Zustandsdiagramm setzt Eingangssignale und  Zustände des Schaltwerks miteinander in Beziehung. &lt;br /&gt;
[[Datei:Zustandsdiagramm.png|rahmen|rechts]]Das Schaltwerk befindet sich nach dem Einschalten in Z0, der den rechten Anschlag des 	emulierten Schalters bildet, denn das Aktivieren der „Taste rechts“ oder der „Tasten links+rechts“ bewirkt an dieser Stelle keine Zustandsänderung. Durch wiederholtes Betätigen der „Taste links“ gelangt man zu den nächsten Zuständen, bis der linke Anschlag erreicht ist. Die „Taste links“ bewirkt in Z3 keine Zustandsänderung. Mit der „Taste rechts“ kann dieser Zustand verlassen werden. Zwischen den Zuständen kann man sich mit den Tasten beliebig hin und her bewegen. Das gleichzeitige Betätigen beider Tasten „Tasten links+rechts“ versetzt das Schaltwerk aus jedem Zustand heraus in den Anfangszustand Z0, ein Verhalten, das mit einem mechanischen Drehschalter nicht möglich ist. Ist keine Taste aktiv verbleibt das Schaltwerk in seinem aktuellen Zustand.&lt;br /&gt;
=== 5 ===&lt;br /&gt;
Die Übergangstabelle enthält die Information des Zustandsdiagramms in tabellarischer Form. Die Signale &#039;&#039;U&#039;&#039; und &#039;&#039;W&#039;&#039; sind als &#039;1&#039;-aktiv eingetragen.&lt;br /&gt;
{|{{tabelle}}&lt;br /&gt;
|+ &#039;&#039;&#039;Übergangstabelle&#039;&#039;&#039;&lt;br /&gt;
|-style=&amp;quot;text-align:center; &amp;quot;&lt;br /&gt;
!style=&amp;quot;background:#EAECF0&amp;quot;|Folgezustand &lt;br /&gt;
|style=&amp;quot;background:#FFEBAD&amp;quot; colspan=&amp;quot;4&amp;quot;| Eingangssignale U W&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| aktueller Zustand &lt;br /&gt;
|style=&amp;quot;background:#FFEBAD&amp;quot;| 00 || style=&amp;quot;background:#FFEBAD&amp;quot; |01 ||style=&amp;quot;background:#FFEBAD&amp;quot;| 10 || style=&amp;quot;background:#FFEBAD&amp;quot; | 11&lt;br /&gt;
|-style=&amp;quot;text-align:center; background:#EAECF0&amp;quot; &lt;br /&gt;
| style=&amp;quot; background:#F8F9FA&amp;quot; | 0 &lt;br /&gt;
! 0 ||0 ||1 || 0&lt;br /&gt;
|-style=&amp;quot;text-align:center; background:#EAECF0&amp;quot; &lt;br /&gt;
| style=&amp;quot;background:#F8F9FA&amp;quot; | 1&lt;br /&gt;
! 1 || 0 || 2 || 0&lt;br /&gt;
|-style=&amp;quot;text-align:center; background:#EAECF0&amp;quot; &lt;br /&gt;
|style=&amp;quot;background:#F8F9FA&amp;quot; |2&lt;br /&gt;
! 2 || 1 || 3 || 0&lt;br /&gt;
|-style=&amp;quot;text-align:center; background:#EAECF0&amp;quot; &lt;br /&gt;
|style=&amp;quot;background:#F8F9FA&amp;quot; |3&lt;br /&gt;
! 3 || 2 || 3 || 0&lt;br /&gt;
|}&lt;br /&gt;
Bei umfangreichen Schaltwerken kann an dieser Stelle versucht werden, Zustände zusammenzufassen.&lt;br /&gt;
&lt;br /&gt;
=== 6 ===&lt;br /&gt;
Unter Berücksichtigung der Übergangstabelle wird die Zustandsfolgetabelle aufgebaut. Sie enthält die Eingangssignale, den aktuellen Zustand und den Folgezustand des Schaltwerks.&amp;lt;br /&amp;gt;&lt;br /&gt;
Die Zustände liegen in der Wahrheitstabelle in codierter Form vor, in diesem Beispiel sind sie binär codiert und es genügen zwei Zustandsvariablen, A&amp;lt;sup&amp;gt;n&amp;lt;/sup&amp;gt; und B&amp;lt;sup&amp;gt;n&amp;lt;/sup&amp;gt;, da das Schaltwerk 4 Zustände einnehmen kann.&lt;br /&gt;
{|{{tabelle}} &lt;br /&gt;
|+&#039;&#039;&#039;Zustandsfolgetabelle&#039;&#039;&#039;&lt;br /&gt;
|-style=&amp;quot;background:#EAECF0&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;2&amp;quot;|Eingangssignale||colspan=&amp;quot;2&amp;quot;|aktueller Zustand|| style=&amp;quot;border-left:2px solid&amp;quot; colspan=&amp;quot;2&amp;quot;| Folgezustand||style=&amp;quot;background:#FFFFFF; vertical-align:top&amp;quot; rowspan=&amp;quot;2&amp;quot;|Beschreibung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|U || W || B&amp;lt;sup&amp;gt;n&amp;lt;/sup&amp;gt; || A &amp;lt;sup&amp;gt;n&amp;lt;/sup&amp;gt;||style=&amp;quot;border-left:2px solid&amp;quot;| B&amp;lt;sup&amp;gt;n+1&amp;lt;/sup&amp;gt; || A&amp;lt;sup&amp;gt;n+1&amp;lt;/sup&amp;gt;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 0 || 0 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; Start&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 0 || 0 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 1 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;; nach &amp;quot;links&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 1 || 0 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; nach &amp;quot;rechts&amp;quot; → keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 1 || 0 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; keine Änderung&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Aminox86</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Methodischer_Entwurf_einfacher_Schaltwerke&amp;diff=100332</id>
		<title>Methodischer Entwurf einfacher Schaltwerke</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Methodischer_Entwurf_einfacher_Schaltwerke&amp;diff=100332"/>
		<updated>2019-02-23T15:19:27Z</updated>

		<summary type="html">&lt;p&gt;Aminox86: /* 6 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Dieser Artikel beschreibt die Vorgehensweise, einfache sequentielle Schaltungen in der Praxis umzusetzen.&lt;br /&gt;
&lt;br /&gt;
== Intention ==&lt;br /&gt;
Um eine LED blinken zu lassen, muß nicht unbedingt ein Mikrokontroller bemüht werden, wenn sich dieselbe Funktion auch mit ein paar Gattern und Flipflops realisieren lässt. Dabei soll unter einem &amp;quot;einfachen&amp;quot; Schaltwerk eine digitale Schaltung verstanden werden, deren &amp;quot;Verarbeitungsmöglichkeit&amp;quot; begrenzt ist, die zB &amp;quot;nur&amp;quot; zehn Eingangsvariablen aufnehmen kann oder zB &amp;quot;nur&amp;quot; 32 interne Zustände besitzt. Es soll sich daher um ein Gebilde handeln, das im einfachsten Fall aus digitalen Grundbausteinen besteht.&lt;br /&gt;
&lt;br /&gt;
Anhand eines konkreten Beispiels werden verschiedene Möglichkeiten der Realisierung eines Schaltwerks vorgestellt. Hierbei steht die praktische und systematische Umsetzung des gewählten Schaltwerkaufbaus im Vordergrund.&lt;br /&gt;
== 1 ==&lt;br /&gt;
Die Ausgangssignale eines Schaltwerks bzw dessen Zustand zum Betrachtungszeitpunkt werden nicht nur durch die aktuell anliegenden Eingangssignale sondern auch durch die Historie aller Eingangssignale bis zu diesem Zeitpunkt bestimmt. Diese Vorgeschichte wird in Speicherelementen, zB Flipflops, festgehalten. Ihr Inhalt wird an den Eingang des Schaltwerks zurückgeführt und dort mit den externen Signalen verknüpft, wodurch sich ggf der Zustand des Schaltwerks ändert.&amp;lt;br /&amp;gt;&lt;br /&gt;
Die zeitliche Reihenfolge der Zustände ist vorgeben, sie stellt die Funktionalität des Schaltwerks dar.&amp;lt;br /&amp;gt;&lt;br /&gt;
Diese Zustandsänderungen können sofort nach Wertänderung der Eingangsvariablen erfolgen, es liegt ein Asynchronschaltwerk vor, oder nur zu klar voneinander abgegrenzten  Zeitpunkten, es handelt sich dann um ein Synchronschaltwerk. Dieser Artikel beschäftigt sich mit Synchronschaltwerken, die die Struktur eines Moore-Automaten haben.&lt;br /&gt;
[[Bild:SchaltwerkSchema1.png|rechts|rahmen|Schaltwerk]]&lt;br /&gt;
Es liegt in der Natur des gewählten Themas, dass die hier beschriebenen Schaltwerke vorzugsweise aus handelsüblichen Komponenten (Gattern, Flipflops usw.) aufgebaut werden.&lt;br /&gt;
Das Übertragungsverhalten der FF ist durch ihren Aufbau vorgegeben und kann nicht beeinflußt werden.&amp;lt;br /&amp;gt;&lt;br /&gt;
Daher widmet sich dieser Artikel in erster Linie den Gestaltungsmöglichkeiten des Eingangsschaltnetzes unter Berücksichtigung des FF-Typs, auf die Dimensionierung des Ausgangsschaltnetzes wird bei Bedarf eingegangen.&lt;br /&gt;
&lt;br /&gt;
== 2 ==&lt;br /&gt;
Der Entwurf sollte schrittweise erfolgen. Die unten angeführte Reihenfolge ist bewährt, wobei die angeführten Positionen unterschiedlich umfangreich, abhängig von den Anforderungen, ausgestaltet werden können.&lt;br /&gt;
#Funktionsbeschreibung. Diese kann verbal (schriftlich, Handskizze) erfolgen oder durch zB ein Impulsdiagramm vorgegeben sein.&lt;br /&gt;
#Formale Beschreibung. Die in der Funktionsbeschreibung vorgegebenen Rahmenbedingungen werden in ein Zustandsdiagramm überführt. Hier erfolgt die vollständige Beschreibung des Schaltwerks, indem die Aufeinanderfolge der (festzulegenden) Zustände als Reaktion auf Eingangs- und Zustandsvektor bestimmt wird. Ebenfalls kann an dieser Stelle der Ausgangsvektor formuliert werden.&lt;br /&gt;
#Schaltwerkstabelle. Die Schaltwerkstabelle stellt das Zustandsdiagramm in tabellarischer Form dar. Mit ihrer Hilfe kann eine Zustandsminimierung (Zusammenfassen identischer Zustände) des Schaltwerks durchgeführt werden, die idR zu verringertem Bauteilebedarf führt. Änderungen in der Schaltwerkstabelle wirken auf das Zustandsdiagramm zurück.&lt;br /&gt;
#Zustandscodierung. Die Art der Zustandscodierung, insbesondere bei einfachen Synchronschaltwerken, unterliegt keinen Beschränkungen (im Gegensatz zu Asynchronschaltwerken). Die Codierung muß eindeutig sein und hat evtl Einfluß auf den Bauteileaufwand.&lt;br /&gt;
# Zustandsfolgetabelle. Ausgangspunkt der Zustandsfolgetabelle ist das Zustandsdiagramm. In dieser Tabelle findet das sequentielle Verhalten der Schaltung seinen Ausdruck, denn sie ist deutlich zweigeteilt. Eingangsvariablen &#039;&#039;&#039;und&#039;&#039;&#039; aktuelle Zustände werden üblicherweise auf der linken Seite („vor dem Takt“), Folgezustände und ggf Ausgangsvariablen rechts („nach dem Takt“) notiert.  Aus der Zustandsfolgetabelle können, wenn sie als Wahrheitstabelle interpretiert wird, die Übergangsfunktionen der Zustandsspeicher entnommen werden.&lt;br /&gt;
== 3 ==&lt;br /&gt;
Mechanische Bedienelemente elektrischer Geräte wie Kippschalter, Tastenaggregate, Drehschalter usw sind dankbare Objekte für die Emulation durch ein elektronisches Schaltwerk.&amp;lt;br /&amp;gt;&lt;br /&gt;
Das hier gezeigte Beispiel bildet einen Drehschalter, der auf 4 Schaltstellungen begrenzt ist, nach. &lt;br /&gt;
=== 3 ===&lt;br /&gt;
In der nebenstehenden Abbildung ist dargestellt, wie der mechanische Drehschalter in seine elektronische Entsprechung überführt werden soll. Der linke Teil der Abbildung zeigt die Kontakte K1..K4, [[Datei:StufenschalterSchaltwerk.png|rechts|rahmen]]die anwählbaren Stellungen des Schleifers, sowie den zentralen Anschluss K0. Neben den Kontakten ist ein weiteres Attribut eingetragen, hierbei handelt es sich um die Verknüpfung von Schalterstellung und jeweiligem Zustand des Schaltwerks.&amp;lt;br /&amp;gt;&lt;br /&gt;
Im rechten Teil sind das Schaltwerk und seine äußeren Anschlüsse skizziert. Das Schaltwerk reagiert auf zwei Taster. Sie stehen für die linke und/oder rechte Drehung des Schalter und generieren die Eingangssignale &#039;&#039;U&#039;&#039; und &#039;&#039;W&#039;&#039;. Die 4 Stellungen des Drehschalters werden durch die Ausgangssignale &#039;&#039;Stellung1..Stellung4&#039;&#039; repräsentiert.&amp;lt;br /&amp;gt;&lt;br /&gt;
Das Schaltwerk emuliert ausschließlich die mechanische Bewegung des Drehschalters, die elektrischen Eigenschaften des Schalters müssen von separaten Schaltungsteilen umgesetzt werden.&lt;br /&gt;
&lt;br /&gt;
=== 4 ===&lt;br /&gt;
Das Zustandsdiagramm setzt Eingangssignale und  Zustände des Schaltwerks miteinander in Beziehung. &lt;br /&gt;
[[Datei:Zustandsdiagramm.png|rahmen|rechts]]Das Schaltwerk befindet sich nach dem Einschalten in Z0, der den rechten Anschlag des 	emulierten Schalters bildet, denn das Aktivieren der „Taste rechts“ oder der „Tasten links+rechts“ bewirkt an dieser Stelle keine Zustandsänderung. Durch wiederholtes Betätigen der „Taste links“ gelangt man zu den nächsten Zuständen, bis der linke Anschlag erreicht ist. Die „Taste links“ bewirkt in Z3 keine Zustandsänderung. Mit der „Taste rechts“ kann dieser Zustand verlassen werden. Zwischen den Zuständen kann man sich mit den Tasten beliebig hin und her bewegen. Das gleichzeitige Betätigen beider Tasten „Tasten links+rechts“ versetzt das Schaltwerk aus jedem Zustand heraus in den Anfangszustand Z0, ein Verhalten, das mit einem mechanischen Drehschalter nicht möglich ist. Ist keine Taste aktiv verbleibt das Schaltwerk in seinem aktuellen Zustand.&lt;br /&gt;
=== 5 ===&lt;br /&gt;
Die Übergangstabelle enthält die Information des Zustandsdiagramms in tabellarischer Form.&lt;br /&gt;
{|{{tabelle}}&lt;br /&gt;
|+ &#039;&#039;&#039;Übergangstabelle&#039;&#039;&#039;&lt;br /&gt;
|-style=&amp;quot;text-align:center; &amp;quot;&lt;br /&gt;
!style=&amp;quot;background:#EAECF0&amp;quot;|Folgezustand &lt;br /&gt;
|style=&amp;quot;background:#FFEBAD&amp;quot; colspan=&amp;quot;4&amp;quot;| Eingangssignale U W&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| aktueller Zustand &lt;br /&gt;
|style=&amp;quot;background:#FFEBAD&amp;quot;| 00 || style=&amp;quot;background:#FFEBAD&amp;quot; |01 ||style=&amp;quot;background:#FFEBAD&amp;quot;| 10 || style=&amp;quot;background:#FFEBAD&amp;quot; | 11&lt;br /&gt;
|-style=&amp;quot;text-align:center; background:#EAECF0&amp;quot; &lt;br /&gt;
| style=&amp;quot; background:#F8F9FA&amp;quot; | 0 &lt;br /&gt;
! 0 ||0 ||1 || 0&lt;br /&gt;
|-style=&amp;quot;text-align:center; background:#EAECF0&amp;quot; &lt;br /&gt;
| style=&amp;quot;background:#F8F9FA&amp;quot; | 1&lt;br /&gt;
! 1 || 0 || 2 || 0&lt;br /&gt;
|-style=&amp;quot;text-align:center; background:#EAECF0&amp;quot; &lt;br /&gt;
|style=&amp;quot;background:#F8F9FA&amp;quot; |2&lt;br /&gt;
! 2 || 1 || 3 || 0&lt;br /&gt;
|-style=&amp;quot;text-align:center; background:#EAECF0&amp;quot; &lt;br /&gt;
|style=&amp;quot;background:#F8F9FA&amp;quot; |3&lt;br /&gt;
! 3 || 2 || 3 || 0&lt;br /&gt;
|}&lt;br /&gt;
Bei umfangreichen Schaltwerken kann an dieser Stelle versucht werden, Zustände zusammenzufassen.&lt;br /&gt;
=== 6 ===&lt;br /&gt;
Unter Berücksichtigung der Übergangstabelle wird die Zustandsfolgetabelle aufgebaut. Sie enthält die Eingangssignale, den aktuellen Zustand und den Folgezustand des Schaltwerks.&amp;lt;br /&amp;gt;&lt;br /&gt;
Die Zustände liegen in der Wahrheitstabelle in codierter Form vor, in diesem Beispiel sind sie binär codiert und es genügen zwei Zustandsvariablen, A&amp;lt;sup&amp;gt;n&amp;lt;/sup&amp;gt; und B&amp;lt;sup&amp;gt;n&amp;lt;/sup&amp;gt;, da das Schaltwerk 4 Zustände einnehmen kann.&lt;br /&gt;
{|{{tabelle}} &lt;br /&gt;
|+&#039;&#039;&#039;Zustandsfolgetabelle&#039;&#039;&#039;&lt;br /&gt;
|-style=&amp;quot;background:#EAECF0&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;2&amp;quot;|Eingangssignale||colspan=&amp;quot;2&amp;quot;|aktueller Zustand|| style=&amp;quot;border-left:2px solid&amp;quot; colspan=&amp;quot;2&amp;quot;| Folgezustand||style=&amp;quot;background:#FFFFFF; vertical-align:top&amp;quot; rowspan=&amp;quot;2&amp;quot;|Beschreibung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|U || W || B&amp;lt;sup&amp;gt;n&amp;lt;/sup&amp;gt; || A &amp;lt;sup&amp;gt;n&amp;lt;/sup&amp;gt;||style=&amp;quot;border-left:2px solid&amp;quot;| B&amp;lt;sup&amp;gt;n+1&amp;lt;/sup&amp;gt; || A&amp;lt;sup&amp;gt;n+1&amp;lt;/sup&amp;gt;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 0 || 0 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; Start&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 0 || 0 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 1 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;; nach &amp;quot;links&amp;quot;&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0 || 1 || 0 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; nach &amp;quot;rechts&amp;quot; → keine Änderung&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1 || 1 || 0 || 0 ||style=&amp;quot;border-left:2px solid&amp;quot;| 0 || 0 || style=&amp;quot;background:#FFFFFF; text-align:left&amp;quot;| Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt; → Z&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;; keine Änderung&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Aminox86</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Methodischer_Entwurf_einfacher_Schaltwerke&amp;diff=100331</id>
		<title>Methodischer Entwurf einfacher Schaltwerke</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Methodischer_Entwurf_einfacher_Schaltwerke&amp;diff=100331"/>
		<updated>2019-02-23T14:05:54Z</updated>

		<summary type="html">&lt;p&gt;Aminox86: /* 5 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Dieser Artikel beschreibt die Vorgehensweise, einfache sequentielle Schaltungen in der Praxis umzusetzen.&lt;br /&gt;
&lt;br /&gt;
== Intention ==&lt;br /&gt;
Um eine LED blinken zu lassen, muß nicht unbedingt ein Mikrokontroller bemüht werden, wenn sich dieselbe Funktion auch mit ein paar Gattern und Flipflops realisieren lässt. Dabei soll unter einem &amp;quot;einfachen&amp;quot; Schaltwerk eine digitale Schaltung verstanden werden, deren &amp;quot;Verarbeitungsmöglichkeit&amp;quot; begrenzt ist, die zB &amp;quot;nur&amp;quot; zehn Eingangsvariablen aufnehmen kann oder zB &amp;quot;nur&amp;quot; 32 interne Zustände besitzt. Es soll sich daher um ein Gebilde handeln, das im einfachsten Fall aus digitalen Grundbausteinen besteht.&lt;br /&gt;
&lt;br /&gt;
Anhand eines konkreten Beispiels werden verschiedene Möglichkeiten der Realisierung eines Schaltwerks vorgestellt. Hierbei steht die praktische und systematische Umsetzung des gewählten Schaltwerkaufbaus im Vordergrund.&lt;br /&gt;
== 1 ==&lt;br /&gt;
Die Ausgangssignale eines Schaltwerks bzw dessen Zustand zum Betrachtungszeitpunkt werden nicht nur durch die aktuell anliegenden Eingangssignale sondern auch durch die Historie aller Eingangssignale bis zu diesem Zeitpunkt bestimmt. Diese Vorgeschichte wird in Speicherelementen, zB Flipflops, festgehalten. Ihr Inhalt wird an den Eingang des Schaltwerks zurückgeführt und dort mit den externen Signalen verknüpft, wodurch sich ggf der Zustand des Schaltwerks ändert.&amp;lt;br /&amp;gt;&lt;br /&gt;
Die zeitliche Reihenfolge der Zustände ist vorgeben, sie stellt die Funktionalität des Schaltwerks dar.&amp;lt;br /&amp;gt;&lt;br /&gt;
Diese Zustandsänderungen können sofort nach Wertänderung der Eingangsvariablen erfolgen, es liegt ein Asynchronschaltwerk vor, oder nur zu klar voneinander abgegrenzten  Zeitpunkten, es handelt sich dann um ein Synchronschaltwerk. Dieser Artikel beschäftigt sich mit Synchronschaltwerken, die die Struktur eines Moore-Automaten haben.&lt;br /&gt;
[[Bild:SchaltwerkSchema1.png|rechts|rahmen|Schaltwerk]]&lt;br /&gt;
Es liegt in der Natur des gewählten Themas, dass die hier beschriebenen Schaltwerke vorzugsweise aus handelsüblichen Komponenten (Gattern, Flipflops usw.) aufgebaut werden.&lt;br /&gt;
Das Übertragungsverhalten der FF ist durch ihren Aufbau vorgegeben und kann nicht beeinflußt werden.&amp;lt;br /&amp;gt;&lt;br /&gt;
Daher widmet sich dieser Artikel in erster Linie den Gestaltungsmöglichkeiten des Eingangsschaltnetzes unter Berücksichtigung des FF-Typs, auf die Dimensionierung des Ausgangsschaltnetzes wird bei Bedarf eingegangen.&lt;br /&gt;
&lt;br /&gt;
== 2 ==&lt;br /&gt;
Der Entwurf sollte schrittweise erfolgen. Die unten angeführte Reihenfolge ist bewährt, wobei die angeführten Positionen unterschiedlich umfangreich, abhängig von den Anforderungen, ausgestaltet werden können.&lt;br /&gt;
#Funktionsbeschreibung. Diese kann verbal (schriftlich, Handskizze) erfolgen oder durch zB ein Impulsdiagramm vorgegeben sein.&lt;br /&gt;
#Formale Beschreibung. Die in der Funktionsbeschreibung vorgegebenen Rahmenbedingungen werden in ein Zustandsdiagramm überführt. Hier erfolgt die vollständige Beschreibung des Schaltwerks, indem die Aufeinanderfolge der (festzulegenden) Zustände als Reaktion auf Eingangs- und Zustandsvektor bestimmt wird. Ebenfalls kann an dieser Stelle der Ausgangsvektor formuliert werden.&lt;br /&gt;
#Schaltwerkstabelle. Die Schaltwerkstabelle stellt das Zustandsdiagramm in tabellarischer Form dar. Mit ihrer Hilfe kann eine Zustandsminimierung (Zusammenfassen identischer Zustände) des Schaltwerks durchgeführt werden, die idR zu verringertem Bauteilebedarf führt. Änderungen in der Schaltwerkstabelle wirken auf das Zustandsdiagramm zurück.&lt;br /&gt;
#Zustandscodierung. Die Art der Zustandscodierung, insbesondere bei einfachen Synchronschaltwerken, unterliegt keinen Beschränkungen (im Gegensatz zu Asynchronschaltwerken). Die Codierung muß eindeutig sein und hat evtl Einfluß auf den Bauteileaufwand.&lt;br /&gt;
# Zustandsfolgetabelle. Ausgangspunkt der Zustandsfolgetabelle ist das Zustandsdiagramm. In dieser Tabelle findet das sequentielle Verhalten der Schaltung seinen Ausdruck, denn sie ist deutlich zweigeteilt. Eingangsvariablen &#039;&#039;&#039;und&#039;&#039;&#039; aktuelle Zustände werden üblicherweise auf der linken Seite („vor dem Takt“), Folgezustände und ggf Ausgangsvariablen rechts („nach dem Takt“) notiert.  Aus der Zustandsfolgetabelle können, wenn sie als Wahrheitstabelle interpretiert wird, die Übergangsfunktionen der Zustandsspeicher entnommen werden.&lt;br /&gt;
== 3 ==&lt;br /&gt;
Mechanische Bedienelemente elektrischer Geräte wie Kippschalter, Tastenaggregate, Drehschalter usw sind dankbare Objekte für die Emulation durch ein elektronisches Schaltwerk.&amp;lt;br /&amp;gt;&lt;br /&gt;
Das hier gezeigte Beispiel bildet einen Drehschalter, der auf 4 Schaltstellungen begrenzt ist, nach. &lt;br /&gt;
=== 3 ===&lt;br /&gt;
In der nebenstehenden Abbildung ist dargestellt, wie der mechanische Drehschalter in seine elektronische Entsprechung überführt werden soll. Der linke Teil der Abbildung zeigt die Kontakte K1..K4, [[Datei:StufenschalterSchaltwerk.png|rechts|rahmen]]die anwählbaren Stellungen des Schleifers, sowie den zentralen Anschluss K0. Neben den Kontakten ist ein weiteres Attribut eingetragen, hierbei handelt es sich um die Verknüpfung von Schalterstellung und jeweiligem Zustand des Schaltwerks.&amp;lt;br /&amp;gt;&lt;br /&gt;
Im rechten Teil sind das Schaltwerk und seine äußeren Anschlüsse skizziert. Das Schaltwerk reagiert auf zwei Taster. Sie stehen für die linke und/oder rechte Drehung des Schalter und generieren die Eingangssignale &#039;&#039;U&#039;&#039; und &#039;&#039;W&#039;&#039;. Die 4 Stellungen des Drehschalters werden durch die Ausgangssignale &#039;&#039;Stellung1..Stellung4&#039;&#039; repräsentiert.&amp;lt;br /&amp;gt;&lt;br /&gt;
Das Schaltwerk emuliert ausschließlich die mechanische Bewegung des Drehschalters, die elektrischen Eigenschaften des Schalters müssen von separaten Schaltungsteilen umgesetzt werden.&lt;br /&gt;
&lt;br /&gt;
=== 4 ===&lt;br /&gt;
Das Zustandsdiagramm setzt Eingangssignale und  Zustände des Schaltwerks miteinander in Beziehung. &lt;br /&gt;
[[Datei:Zustandsdiagramm.png|rahmen|rechts]]Das Schaltwerk befindet sich nach dem Einschalten in Z0, der den rechten Anschlag des 	emulierten Schalters bildet, denn das Aktivieren der „Taste rechts“ oder der „Tasten links+rechts“ bewirkt an dieser Stelle keine Zustandsänderung. Durch wiederholtes Betätigen der „Taste links“ gelangt man zu den nächsten Zuständen, bis der linke Anschlag erreicht ist. Die „Taste links“ bewirkt in Z3 keine Zustandsänderung. Mit der „Taste rechts“ kann dieser Zustand verlassen werden. Zwischen den Zuständen kann man sich mit den Tasten beliebig hin und her bewegen. Das gleichzeitige Betätigen beider Tasten „Tasten links+rechts“ versetzt das Schaltwerk aus jedem Zustand heraus in den Anfangszustand Z0, ein Verhalten, das mit einem mechanischen Drehschalter nicht möglich ist. Ist keine Taste aktiv verbleibt das Schaltwerk in seinem aktuellen Zustand.&lt;br /&gt;
=== 5 ===&lt;br /&gt;
Die Übergangstabelle enthält die Information des Zustandsdiagramms in tabellarischer Form.&lt;br /&gt;
{|{{tabelle}}&lt;br /&gt;
|+ &#039;&#039;&#039;Übergangstabelle&#039;&#039;&#039;&lt;br /&gt;
|-style=&amp;quot;text-align:center; &amp;quot;&lt;br /&gt;
!style=&amp;quot;background:#EAECF0&amp;quot;|Folgezustand &lt;br /&gt;
|style=&amp;quot;background:#FFEBAD&amp;quot; colspan=&amp;quot;4&amp;quot;| Eingangssignale U W&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| aktueller Zustand &lt;br /&gt;
|style=&amp;quot;background:#FFEBAD&amp;quot;| 00 || style=&amp;quot;background:#FFEBAD&amp;quot; |01 ||style=&amp;quot;background:#FFEBAD&amp;quot;| 10 || style=&amp;quot;background:#FFEBAD&amp;quot; | 11&lt;br /&gt;
|-style=&amp;quot;text-align:center; background:#EAECF0&amp;quot; &lt;br /&gt;
| style=&amp;quot; background:#F8F9FA&amp;quot; | 0 &lt;br /&gt;
! 0 ||0 ||1 || 0&lt;br /&gt;
|-style=&amp;quot;text-align:center; background:#EAECF0&amp;quot; &lt;br /&gt;
| style=&amp;quot;background:#F8F9FA&amp;quot; | 1&lt;br /&gt;
! 1 || 0 || 2 || 0&lt;br /&gt;
|-style=&amp;quot;text-align:center; background:#EAECF0&amp;quot; &lt;br /&gt;
|style=&amp;quot;background:#F8F9FA&amp;quot; |2&lt;br /&gt;
! 2 || 1 || 3 || 0&lt;br /&gt;
|-style=&amp;quot;text-align:center; background:#EAECF0&amp;quot; &lt;br /&gt;
|style=&amp;quot;background:#F8F9FA&amp;quot; |3&lt;br /&gt;
! 3 || 2 || 3 || 0&lt;br /&gt;
|}&lt;br /&gt;
Bei umfangreichen Schaltwerken kann an dieser Stelle versucht werden, Zustände zusammenzufassen.&lt;br /&gt;
=== 6 ===&lt;/div&gt;</summary>
		<author><name>Aminox86</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Methodischer_Entwurf_einfacher_Schaltwerke&amp;diff=100329</id>
		<title>Methodischer Entwurf einfacher Schaltwerke</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Methodischer_Entwurf_einfacher_Schaltwerke&amp;diff=100329"/>
		<updated>2019-02-23T10:06:38Z</updated>

		<summary type="html">&lt;p&gt;Aminox86: /* 5 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Dieser Artikel beschreibt die Vorgehensweise, einfache sequentielle Schaltungen in der Praxis umzusetzen.&lt;br /&gt;
&lt;br /&gt;
== Intention ==&lt;br /&gt;
Um eine LED blinken zu lassen, muß nicht unbedingt ein Mikrokontroller bemüht werden, wenn sich dieselbe Funktion auch mit ein paar Gattern und Flipflops realisieren lässt. Dabei soll unter einem &amp;quot;einfachen&amp;quot; Schaltwerk eine digitale Schaltung verstanden werden, deren &amp;quot;Verarbeitungsmöglichkeit&amp;quot; begrenzt ist, die zB &amp;quot;nur&amp;quot; zehn Eingangsvariablen aufnehmen kann oder zB &amp;quot;nur&amp;quot; 32 interne Zustände besitzt. Es soll sich daher um ein Gebilde handeln, das im einfachsten Fall aus digitalen Grundbausteinen besteht.&lt;br /&gt;
&lt;br /&gt;
Anhand eines konkreten Beispiels werden verschiedene Möglichkeiten der Realisierung eines Schaltwerks vorgestellt. Hierbei steht die praktische und systematische Umsetzung des gewählten Schaltwerkaufbaus im Vordergrund.&lt;br /&gt;
== 1 ==&lt;br /&gt;
Die Ausgangssignale eines Schaltwerks bzw dessen Zustand zum Betrachtungszeitpunkt werden nicht nur durch die aktuell anliegenden Eingangssignale sondern auch durch die Historie aller Eingangssignale bis zu diesem Zeitpunkt bestimmt. Diese Vorgeschichte wird in Speicherelementen, zB Flipflops, festgehalten. Ihr Inhalt wird an den Eingang des Schaltwerks zurückgeführt und dort mit den externen Signalen verknüpft, wodurch sich ggf der Zustand des Schaltwerks ändert.&amp;lt;br /&amp;gt;&lt;br /&gt;
Die zeitliche Reihenfolge der Zustände ist vorgeben, sie stellt die Funktionalität des Schaltwerks dar.&amp;lt;br /&amp;gt;&lt;br /&gt;
Diese Zustandsänderungen können sofort nach Wertänderung der Eingangsvariablen erfolgen, es liegt ein Asynchronschaltwerk vor, oder nur zu klar voneinander abgegrenzten  Zeitpunkten, es handelt sich dann um ein Synchronschaltwerk. Dieser Artikel beschäftigt sich mit Synchronschaltwerken, die die Struktur eines Moore-Automaten haben.&lt;br /&gt;
[[Bild:SchaltwerkSchema1.png|rechts|rahmen|Schaltwerk]]&lt;br /&gt;
Es liegt in der Natur des gewählten Themas, dass die hier beschriebenen Schaltwerke vorzugsweise aus handelsüblichen Komponenten (Gattern, Flipflops usw.) aufgebaut werden.&lt;br /&gt;
Das Übertragungsverhalten der FF ist durch ihren Aufbau vorgegeben und kann nicht beeinflußt werden.&amp;lt;br /&amp;gt;&lt;br /&gt;
Daher widmet sich dieser Artikel in erster Linie den Gestaltungsmöglichkeiten des Eingangsschaltnetzes unter Berücksichtigung des FF-Typs, auf die Dimensionierung des Ausgangsschaltnetzes wird bei Bedarf eingegangen.&lt;br /&gt;
&lt;br /&gt;
== 2 ==&lt;br /&gt;
Der Entwurf sollte schrittweise erfolgen. Die unten angeführte Reihenfolge ist bewährt, wobei die angeführten Positionen unterschiedlich umfangreich, abhängig von den Anforderungen, ausgestaltet werden können.&lt;br /&gt;
#Funktionsbeschreibung. Diese kann verbal (schriftlich, Handskizze) erfolgen oder durch zB ein Impulsdiagramm vorgegeben sein.&lt;br /&gt;
#Formale Beschreibung. Die in der Funktionsbeschreibung vorgegebenen Rahmenbedingungen werden in ein Zustandsdiagramm überführt. Hier erfolgt die vollständige Beschreibung des Schaltwerks, indem die Aufeinanderfolge der (festzulegenden) Zustände als Reaktion auf Eingangs- und Zustandsvektor bestimmt wird. Ebenfalls kann an dieser Stelle der Ausgangsvektor formuliert werden.&lt;br /&gt;
#Schaltwerkstabelle. Die Schaltwerkstabelle stellt das Zustandsdiagramm in tabellarischer Form dar. Mit ihrer Hilfe kann eine Zustandsminimierung (Zusammenfassen identischer Zustände) des Schaltwerks durchgeführt werden, die idR zu verringertem Bauteilebedarf führt. Änderungen in der Schaltwerkstabelle wirken auf das Zustandsdiagramm zurück.&lt;br /&gt;
#Zustandscodierung. Die Art der Zustandscodierung, insbesondere bei einfachen Synchronschaltwerken, unterliegt keinen Beschränkungen (im Gegensatz zu Asynchronschaltwerken). Die Codierung muß eindeutig sein und hat evtl Einfluß auf den Bauteileaufwand.&lt;br /&gt;
# Zustandsfolgetabelle. Ausgangspunkt der Zustandsfolgetabelle ist das Zustandsdiagramm. In dieser Tabelle findet das sequentielle Verhalten der Schaltung seinen Ausdruck, denn sie ist deutlich zweigeteilt. Eingangsvariablen &#039;&#039;&#039;und&#039;&#039;&#039; aktuelle Zustände werden üblicherweise auf der linken Seite („vor dem Takt“), Folgezustände und ggf Ausgangsvariablen rechts („nach dem Takt“) notiert.  Aus der Zustandsfolgetabelle können, wenn sie als Wahrheitstabelle interpretiert wird, die Übergangsfunktionen der Zustandsspeicher entnommen werden.&lt;br /&gt;
== 3 ==&lt;br /&gt;
Mechanische Bedienelemente elektrischer Geräte wie Kippschalter, Tastenaggregate, Drehschalter usw sind dankbare Objekte für die Emulation durch ein elektronisches Schaltwerk.&amp;lt;br /&amp;gt;&lt;br /&gt;
Das hier gezeigte Beispiel bildet einen Drehschalter, der auf 4 Schaltstellungen begrenzt ist, nach. &lt;br /&gt;
=== 3 ===&lt;br /&gt;
In der nebenstehenden Abbildung ist dargestellt, wie der mechanische Drehschalter in seine elektronische Entsprechung überführt werden soll. Der linke Teil der Abbildung zeigt die Kontakte K1..K4, [[Datei:StufenschalterSchaltwerk.png|rechts|rahmen]]die anwählbaren Stellungen des Schleifers, sowie den zentralen Anschluss K0. Neben den Kontakten ist ein weiteres Attribut eingetragen, hierbei handelt es sich um die Verknüpfung von Schalterstellung und jeweiligem Zustand des Schaltwerks.&amp;lt;br /&amp;gt;&lt;br /&gt;
Im rechten Teil sind das Schaltwerk und seine äußeren Anschlüsse skizziert. Das Schaltwerk reagiert auf zwei Taster. Sie stehen für die linke und/oder rechte Drehung des Schalter und generieren die Eingangssignale &#039;&#039;U&#039;&#039; und &#039;&#039;W&#039;&#039;. Die 4 Stellungen des Drehschalters werden durch die Ausgangssignale &#039;&#039;Stellung1..Stellung4&#039;&#039; repräsentiert.&amp;lt;br /&amp;gt;&lt;br /&gt;
Das Schaltwerk emuliert ausschließlich die mechanische Bewegung des Drehschalters, die elektrischen Eigenschaften des Schalters müssen von separaten Schaltungsteilen umgesetzt werden.&lt;br /&gt;
&lt;br /&gt;
=== 4 ===&lt;br /&gt;
Das Zustandsdiagramm setzt Eingangssignale und  Zustände des Schaltwerks miteinander in Beziehung. &lt;br /&gt;
[[Datei:Zustandsdiagramm.png|rahmen|rechts]]Das Schaltwerk befindet sich nach dem Einschalten in Z0, der den rechten Anschlag des 	emulierten Schalters bildet, denn das Aktivieren der „Taste rechts“ oder der „Tasten links+rechts“ bewirkt an dieser Stelle keine Zustandsänderung. Durch wiederholtes Betätigen der „Taste links“ gelangt man zu den nächsten Zuständen, bis der linke Anschlag erreicht ist. Die „Taste links“ bewirkt in Z3 keine Zustandsänderung. Mit der „Taste rechts“ kann dieser Zustand verlassen werden. Zwischen den Zuständen kann man sich mit den Tasten beliebig hin und her bewegen. Das gleichzeitige Betätigen beider Tasten „Tasten links+rechts“ versetzt das Schaltwerk aus jedem Zustand heraus in den Anfangszustand Z0, ein Verhalten, das mit einem mechanischen Drehschalter nicht möglich ist. Ist keine Taste aktiv verbleibt das Schaltwerk in seinem aktuellen Zustand.&lt;br /&gt;
=== 5 ===&lt;br /&gt;
Die Übergangstabelle enthält die Information des Zustandsdiagramms in tabellarischer Form.&lt;br /&gt;
{|class=&amp;quot;wikitable centered&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Folgezustand &lt;br /&gt;
|colspan=&amp;quot;4&amp;quot;| Eingangssignale U W&lt;br /&gt;
|-&lt;br /&gt;
| aktueller Zustand &lt;br /&gt;
| 00 || 01 || 10 || 11&lt;br /&gt;
|-&lt;br /&gt;
| 0 &lt;br /&gt;
! 0 ||0 ||1 || 0&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
! 1 || 0 || 2 || 0&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
! 2 || 1 || 3 || 0&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
! 3 || 2 || 3 || 0&lt;br /&gt;
|}&lt;br /&gt;
Bei umfangreichen Schaltwerken kann an dieser Stelle versucht werden, Zustände zusammenzufassen.&lt;/div&gt;</summary>
		<author><name>Aminox86</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Methodischer_Entwurf_einfacher_Schaltwerke&amp;diff=100326</id>
		<title>Methodischer Entwurf einfacher Schaltwerke</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Methodischer_Entwurf_einfacher_Schaltwerke&amp;diff=100326"/>
		<updated>2019-02-22T19:48:40Z</updated>

		<summary type="html">&lt;p&gt;Aminox86: /* 5 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Dieser Artikel beschreibt die Vorgehensweise, einfache sequentielle Schaltungen in der Praxis umzusetzen.&lt;br /&gt;
&lt;br /&gt;
== Intention ==&lt;br /&gt;
Um eine LED blinken zu lassen, muß nicht unbedingt ein Mikrokontroller bemüht werden, wenn sich dieselbe Funktion auch mit ein paar Gattern und Flipflops realisieren lässt. Dabei soll unter einem &amp;quot;einfachen&amp;quot; Schaltwerk eine digitale Schaltung verstanden werden, deren &amp;quot;Verarbeitungsmöglichkeit&amp;quot; begrenzt ist, die zB &amp;quot;nur&amp;quot; zehn Eingangsvariablen aufnehmen kann oder zB &amp;quot;nur&amp;quot; 32 interne Zustände besitzt. Es soll sich daher um ein Gebilde handeln, das im einfachsten Fall aus digitalen Grundbausteinen besteht.&lt;br /&gt;
&lt;br /&gt;
Anhand eines konkreten Beispiels werden verschiedene Möglichkeiten der Realisierung eines Schaltwerks vorgestellt. Hierbei steht die praktische und systematische Umsetzung des gewählten Schaltwerkaufbaus im Vordergrund.&lt;br /&gt;
== 1 ==&lt;br /&gt;
Die Ausgangssignale eines Schaltwerks bzw dessen Zustand zum Betrachtungszeitpunkt werden nicht nur durch die aktuell anliegenden Eingangssignale sondern auch durch die Historie aller Eingangssignale bis zu diesem Zeitpunkt bestimmt. Diese Vorgeschichte wird in Speicherelementen, zB Flipflops, festgehalten. Ihr Inhalt wird an den Eingang des Schaltwerks zurückgeführt und dort mit den externen Signalen verknüpft, wodurch sich ggf der Zustand des Schaltwerks ändert.&amp;lt;br /&amp;gt;&lt;br /&gt;
Die zeitliche Reihenfolge der Zustände ist vorgeben, sie stellt die Funktionalität des Schaltwerks dar.&amp;lt;br /&amp;gt;&lt;br /&gt;
Diese Zustandsänderungen können sofort nach Wertänderung der Eingangsvariablen erfolgen, es liegt ein Asynchronschaltwerk vor, oder nur zu klar voneinander abgegrenzten  Zeitpunkten, es handelt sich dann um ein Synchronschaltwerk. Dieser Artikel beschäftigt sich mit Synchronschaltwerken, die die Struktur eines Moore-Automaten haben.&lt;br /&gt;
[[Bild:SchaltwerkSchema1.png|rechts|rahmen|Schaltwerk]]&lt;br /&gt;
Es liegt in der Natur des gewählten Themas, dass die hier beschriebenen Schaltwerke vorzugsweise aus handelsüblichen Komponenten (Gattern, Flipflops usw.) aufgebaut werden.&lt;br /&gt;
Das Übertragungsverhalten der FF ist durch ihren Aufbau vorgegeben und kann nicht beeinflußt werden.&amp;lt;br /&amp;gt;&lt;br /&gt;
Daher widmet sich dieser Artikel in erster Linie den Gestaltungsmöglichkeiten des Eingangsschaltnetzes unter Berücksichtigung des FF-Typs, auf die Dimensionierung des Ausgangsschaltnetzes wird bei Bedarf eingegangen.&lt;br /&gt;
&lt;br /&gt;
== 2 ==&lt;br /&gt;
Der Entwurf sollte schrittweise erfolgen. Die unten angeführte Reihenfolge ist bewährt, wobei die angeführten Positionen unterschiedlich umfangreich, abhängig von den Anforderungen, ausgestaltet werden können.&lt;br /&gt;
#Funktionsbeschreibung. Diese kann verbal (schriftlich, Handskizze) erfolgen oder durch zB ein Impulsdiagramm vorgegeben sein.&lt;br /&gt;
#Formale Beschreibung. Die in der Funktionsbeschreibung vorgegebenen Rahmenbedingungen werden in ein Zustandsdiagramm überführt. Hier erfolgt die vollständige Beschreibung des Schaltwerks, indem die Aufeinanderfolge der (festzulegenden) Zustände als Reaktion auf Eingangs- und Zustandsvektor bestimmt wird. Ebenfalls kann an dieser Stelle der Ausgangsvektor formuliert werden.&lt;br /&gt;
#Schaltwerkstabelle. Die Schaltwerkstabelle stellt das Zustandsdiagramm in tabellarischer Form dar. Mit ihrer Hilfe kann eine Zustandsminimierung (Zusammenfassen identischer Zustände) des Schaltwerks durchgeführt werden, die idR zu verringertem Bauteilebedarf führt. Änderungen in der Schaltwerkstabelle wirken auf das Zustandsdiagramm zurück.&lt;br /&gt;
#Zustandscodierung. Die Art der Zustandscodierung, insbesondere bei einfachen Synchronschaltwerken, unterliegt keinen Beschränkungen (im Gegensatz zu Asynchronschaltwerken). Die Codierung muß eindeutig sein und hat evtl Einfluß auf den Bauteileaufwand.&lt;br /&gt;
# Zustandsfolgetabelle. Ausgangspunkt der Zustandsfolgetabelle ist das Zustandsdiagramm. In dieser Tabelle findet das sequentielle Verhalten der Schaltung seinen Ausdruck, denn sie ist deutlich zweigeteilt. Eingangsvariablen &#039;&#039;&#039;und&#039;&#039;&#039; aktuelle Zustände werden üblicherweise auf der linken Seite („vor dem Takt“), Folgezustände und ggf Ausgangsvariablen rechts („nach dem Takt“) notiert.  Aus der Zustandsfolgetabelle können, wenn sie als Wahrheitstabelle interpretiert wird, die Übergangsfunktionen der Zustandsspeicher entnommen werden.&lt;br /&gt;
== 3 ==&lt;br /&gt;
Mechanische Bedienelemente elektrischer Geräte wie Kippschalter, Tastenaggregate, Drehschalter usw sind dankbare Objekte für die Emulation durch ein elektronisches Schaltwerk.&amp;lt;br /&amp;gt;&lt;br /&gt;
Das hier gezeigte Beispiel bildet einen Drehschalter, der auf 4 Schaltstellungen begrenzt ist, nach. &lt;br /&gt;
=== 3 ===&lt;br /&gt;
In der nebenstehenden Abbildung ist dargestellt, wie der mechanische Drehschalter in seine elektronische Entsprechung überführt werden soll. Der linke Teil der Abbildung zeigt die Kontakte K1..K4, [[Datei:StufenschalterSchaltwerk.png|rechts|rahmen]]die anwählbaren Stellungen des Schleifers, sowie den zentralen Anschluss K0. Neben den Kontakten ist ein weiteres Attribut eingetragen, hierbei handelt es sich um die Verknüpfung von Schalterstellung und jeweiligem Zustand des Schaltwerks.&amp;lt;br /&amp;gt;&lt;br /&gt;
Im rechten Teil sind das Schaltwerk und seine äußeren Anschlüsse skizziert. Das Schaltwerk reagiert auf zwei Taster. Sie stehen für die linke und/oder rechte Drehung des Schalter und generieren die Eingangssignale &#039;&#039;U&#039;&#039; und &#039;&#039;W&#039;&#039;. Die 4 Stellungen des Drehschalters werden durch die Ausgangssignale &#039;&#039;Stellung1..Stellung4&#039;&#039; repräsentiert.&amp;lt;br /&amp;gt;&lt;br /&gt;
Das Schaltwerk emuliert ausschließlich die mechanische Bewegung des Drehschalters, die elektrischen Eigenschaften des Schalters müssen von separaten Schaltungsteilen umgesetzt werden.&lt;br /&gt;
&lt;br /&gt;
=== 4 ===&lt;br /&gt;
Das Zustandsdiagramm setzt Eingangssignale und  Zustände des Schaltwerks miteinander in Beziehung. &lt;br /&gt;
[[Datei:Zustandsdiagramm.png|rahmen|rechts]]Das Schaltwerk befindet sich nach dem Einschalten in Z0, der den rechten Anschlag des 	emulierten Schalters bildet, denn das Aktivieren der „Taste rechts“ oder der „Tasten links+rechts“ bewirkt an dieser Stelle keine Zustandsänderung. Durch wiederholtes Betätigen der „Taste links“ gelangt man zu den nächsten Zuständen, bis der linke Anschlag erreicht ist. Die „Taste links“ bewirkt in Z3 keine Zustandsänderung. Mit der „Taste rechts“ kann dieser Zustand verlassen werden. Zwischen den Zuständen kann man sich mit den Tasten beliebig hin und her bewegen. Das gleichzeitige Betätigen beider Tasten „Tasten links+rechts“ versetzt das Schaltwerk aus jedem Zustand heraus in den Anfangszustand Z0, ein Verhalten, das mit einem mechanischen Drehschalter nicht möglich ist. Ist keine Taste aktiv verbleibt das Schaltwerk in seinem aktuellen Zustand.&lt;br /&gt;
=== 5 ===&lt;br /&gt;
Die Übergangstabelle enthält die Information des Zustandsdiagramms in tabellarischer Form.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Folgezustand &lt;br /&gt;
|colspan=&amp;quot;4&amp;quot; style=&amp;quot;text-align:center&amp;quot;| Eingangssignale U W&lt;br /&gt;
|-&lt;br /&gt;
|aktueller Zustand &lt;br /&gt;
|style=&amp;quot;width: 5&amp;quot;| 00 ||style=&amp;quot;width: 5em&amp;quot;| 01 || 10 || 11&lt;br /&gt;
|- &lt;br /&gt;
| 0 &lt;br /&gt;
!style=&amp;quot;background-color: #EAECF0;&amp;quot;| 0 ||0 ||1 || 0&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Aminox86</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Methodischer_Entwurf_einfacher_Schaltwerke&amp;diff=100325</id>
		<title>Methodischer Entwurf einfacher Schaltwerke</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Methodischer_Entwurf_einfacher_Schaltwerke&amp;diff=100325"/>
		<updated>2019-02-22T18:47:32Z</updated>

		<summary type="html">&lt;p&gt;Aminox86: /* 4 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Dieser Artikel beschreibt die Vorgehensweise, einfache sequentielle Schaltungen in der Praxis umzusetzen.&lt;br /&gt;
&lt;br /&gt;
== Intention ==&lt;br /&gt;
Um eine LED blinken zu lassen, muß nicht unbedingt ein Mikrokontroller bemüht werden, wenn sich dieselbe Funktion auch mit ein paar Gattern und Flipflops realisieren lässt. Dabei soll unter einem &amp;quot;einfachen&amp;quot; Schaltwerk eine digitale Schaltung verstanden werden, deren &amp;quot;Verarbeitungsmöglichkeit&amp;quot; begrenzt ist, die zB &amp;quot;nur&amp;quot; zehn Eingangsvariablen aufnehmen kann oder zB &amp;quot;nur&amp;quot; 32 interne Zustände besitzt. Es soll sich daher um ein Gebilde handeln, das im einfachsten Fall aus digitalen Grundbausteinen besteht.&lt;br /&gt;
&lt;br /&gt;
Anhand eines konkreten Beispiels werden verschiedene Möglichkeiten der Realisierung eines Schaltwerks vorgestellt. Hierbei steht die praktische und systematische Umsetzung des gewählten Schaltwerkaufbaus im Vordergrund.&lt;br /&gt;
== 1 ==&lt;br /&gt;
Die Ausgangssignale eines Schaltwerks bzw dessen Zustand zum Betrachtungszeitpunkt werden nicht nur durch die aktuell anliegenden Eingangssignale sondern auch durch die Historie aller Eingangssignale bis zu diesem Zeitpunkt bestimmt. Diese Vorgeschichte wird in Speicherelementen, zB Flipflops, festgehalten. Ihr Inhalt wird an den Eingang des Schaltwerks zurückgeführt und dort mit den externen Signalen verknüpft, wodurch sich ggf der Zustand des Schaltwerks ändert.&amp;lt;br /&amp;gt;&lt;br /&gt;
Die zeitliche Reihenfolge der Zustände ist vorgeben, sie stellt die Funktionalität des Schaltwerks dar.&amp;lt;br /&amp;gt;&lt;br /&gt;
Diese Zustandsänderungen können sofort nach Wertänderung der Eingangsvariablen erfolgen, es liegt ein Asynchronschaltwerk vor, oder nur zu klar voneinander abgegrenzten  Zeitpunkten, es handelt sich dann um ein Synchronschaltwerk. Dieser Artikel beschäftigt sich mit Synchronschaltwerken, die die Struktur eines Moore-Automaten haben.&lt;br /&gt;
[[Bild:SchaltwerkSchema1.png|rechts|rahmen|Schaltwerk]]&lt;br /&gt;
Es liegt in der Natur des gewählten Themas, dass die hier beschriebenen Schaltwerke vorzugsweise aus handelsüblichen Komponenten (Gattern, Flipflops usw.) aufgebaut werden.&lt;br /&gt;
Das Übertragungsverhalten der FF ist durch ihren Aufbau vorgegeben und kann nicht beeinflußt werden.&amp;lt;br /&amp;gt;&lt;br /&gt;
Daher widmet sich dieser Artikel in erster Linie den Gestaltungsmöglichkeiten des Eingangsschaltnetzes unter Berücksichtigung des FF-Typs, auf die Dimensionierung des Ausgangsschaltnetzes wird bei Bedarf eingegangen.&lt;br /&gt;
&lt;br /&gt;
== 2 ==&lt;br /&gt;
Der Entwurf sollte schrittweise erfolgen. Die unten angeführte Reihenfolge ist bewährt, wobei die angeführten Positionen unterschiedlich umfangreich, abhängig von den Anforderungen, ausgestaltet werden können.&lt;br /&gt;
#Funktionsbeschreibung. Diese kann verbal (schriftlich, Handskizze) erfolgen oder durch zB ein Impulsdiagramm vorgegeben sein.&lt;br /&gt;
#Formale Beschreibung. Die in der Funktionsbeschreibung vorgegebenen Rahmenbedingungen werden in ein Zustandsdiagramm überführt. Hier erfolgt die vollständige Beschreibung des Schaltwerks, indem die Aufeinanderfolge der (festzulegenden) Zustände als Reaktion auf Eingangs- und Zustandsvektor bestimmt wird. Ebenfalls kann an dieser Stelle der Ausgangsvektor formuliert werden.&lt;br /&gt;
#Schaltwerkstabelle. Die Schaltwerkstabelle stellt das Zustandsdiagramm in tabellarischer Form dar. Mit ihrer Hilfe kann eine Zustandsminimierung (Zusammenfassen identischer Zustände) des Schaltwerks durchgeführt werden, die idR zu verringertem Bauteilebedarf führt. Änderungen in der Schaltwerkstabelle wirken auf das Zustandsdiagramm zurück.&lt;br /&gt;
#Zustandscodierung. Die Art der Zustandscodierung, insbesondere bei einfachen Synchronschaltwerken, unterliegt keinen Beschränkungen (im Gegensatz zu Asynchronschaltwerken). Die Codierung muß eindeutig sein und hat evtl Einfluß auf den Bauteileaufwand.&lt;br /&gt;
# Zustandsfolgetabelle. Ausgangspunkt der Zustandsfolgetabelle ist das Zustandsdiagramm. In dieser Tabelle findet das sequentielle Verhalten der Schaltung seinen Ausdruck, denn sie ist deutlich zweigeteilt. Eingangsvariablen &#039;&#039;&#039;und&#039;&#039;&#039; aktuelle Zustände werden üblicherweise auf der linken Seite („vor dem Takt“), Folgezustände und ggf Ausgangsvariablen rechts („nach dem Takt“) notiert.  Aus der Zustandsfolgetabelle können, wenn sie als Wahrheitstabelle interpretiert wird, die Übergangsfunktionen der Zustandsspeicher entnommen werden.&lt;br /&gt;
== 3 ==&lt;br /&gt;
Mechanische Bedienelemente elektrischer Geräte wie Kippschalter, Tastenaggregate, Drehschalter usw sind dankbare Objekte für die Emulation durch ein elektronisches Schaltwerk.&amp;lt;br /&amp;gt;&lt;br /&gt;
Das hier gezeigte Beispiel bildet einen Drehschalter, der auf 4 Schaltstellungen begrenzt ist, nach. &lt;br /&gt;
=== 3 ===&lt;br /&gt;
In der nebenstehenden Abbildung ist dargestellt, wie der mechanische Drehschalter in seine elektronische Entsprechung überführt werden soll. Der linke Teil der Abbildung zeigt die Kontakte K1..K4, [[Datei:StufenschalterSchaltwerk.png|rechts|rahmen]]die anwählbaren Stellungen des Schleifers, sowie den zentralen Anschluss K0. Neben den Kontakten ist ein weiteres Attribut eingetragen, hierbei handelt es sich um die Verknüpfung von Schalterstellung und jeweiligem Zustand des Schaltwerks.&amp;lt;br /&amp;gt;&lt;br /&gt;
Im rechten Teil sind das Schaltwerk und seine äußeren Anschlüsse skizziert. Das Schaltwerk reagiert auf zwei Taster. Sie stehen für die linke und/oder rechte Drehung des Schalter und generieren die Eingangssignale &#039;&#039;U&#039;&#039; und &#039;&#039;W&#039;&#039;. Die 4 Stellungen des Drehschalters werden durch die Ausgangssignale &#039;&#039;Stellung1..Stellung4&#039;&#039; repräsentiert.&amp;lt;br /&amp;gt;&lt;br /&gt;
Das Schaltwerk emuliert ausschließlich die mechanische Bewegung des Drehschalters, die elektrischen Eigenschaften des Schalters müssen von separaten Schaltungsteilen umgesetzt werden.&lt;br /&gt;
&lt;br /&gt;
=== 4 ===&lt;br /&gt;
Das Zustandsdiagramm setzt Eingangssignale und  Zustände des Schaltwerks miteinander in Beziehung. &lt;br /&gt;
[[Datei:Zustandsdiagramm.png|rahmen|rechts]]Das Schaltwerk befindet sich nach dem Einschalten in Z0, der den rechten Anschlag des 	emulierten Schalters bildet, denn das Aktivieren der „Taste rechts“ oder der „Tasten links+rechts“ bewirkt an dieser Stelle keine Zustandsänderung. Durch wiederholtes Betätigen der „Taste links“ gelangt man zu den nächsten Zuständen, bis der linke Anschlag erreicht ist. Die „Taste links“ bewirkt in Z3 keine Zustandsänderung. Mit der „Taste rechts“ kann dieser Zustand verlassen werden. Zwischen den Zuständen kann man sich mit den Tasten beliebig hin und her bewegen. Das gleichzeitige Betätigen beider Tasten „Tasten links+rechts“ versetzt das Schaltwerk aus jedem Zustand heraus in den Anfangszustand Z0, ein Verhalten, das mit einem mechanischen Drehschalter nicht möglich ist. Ist keine Taste aktiv verbleibt das Schaltwerk in seinem aktuellen Zustand.&lt;br /&gt;
=== 5 ===&lt;/div&gt;</summary>
		<author><name>Aminox86</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Datei:Zustandsdiagramm.png&amp;diff=100324</id>
		<title>Datei:Zustandsdiagramm.png</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Datei:Zustandsdiagramm.png&amp;diff=100324"/>
		<updated>2019-02-22T17:56:08Z</updated>

		<summary type="html">&lt;p&gt;Aminox86: Aminox86 lud eine neue Version von Datei:Zustandsdiagramm.png hoch&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Zustandsdiagramm Drehschalter&lt;/div&gt;</summary>
		<author><name>Aminox86</name></author>
	</entry>
</feed>