Programmzähler - Abgezähltes Programm
Materialbedarf
Anz. | Bezeichnung | Datenblatt |
1 | Spannungsversorgung | |
1 | CMOS-IC 4029 |
![]() |
2 | 4-Bit Dateneingabe | |
1 | 4-Bit Datenausgabe |
Der Programmzähler
Damit der Mikrokontroller ein Programm abarbeiten kann, wird neben dem eigentlichen Programmspeicher noch ein besonderes Register benötigt. Es ist der so genannte Programmzähler, oder kurz PC (Program Counter). Eigentlich ist der PC kein Register im herkömmlichen Sinn. Es ist vielmehr ein Zähler, welche spezielle Eigenschaften besitzt. Für den Anwender sieht es aber später so aus, als handele es sich hier um ein übliches Register.
Wir benötigen hier also kein Register, sondern einen
Zähler, denn dieser soll nach jedem Einlesen eines Befehlsbytes die Adresse um 1
erhöhen. Da es aber auch Befehle wie Sprünge und Unterprogrammaufrufe gibt, muss
der Zähler Programmiereingänge besitzen. Diese Eigenschaften sind im
4029
enthalten. Um hiermit einen Programmzähler zu errichten, wird im Grunde, neben
der Ein- und Ausgabe, nichts weiter benötigt.
Wird nun ein Sprungbefehl in irgendeiner Form ausgeführt, so liegt die neue Adresse am Programmierport an, hier simuliert durch das Eingebaboard A, und es wird das Übernahmesignal gegeben. In unserem Fall durch B1. Ab diesem Moment läuft das Programm ab der neuen Adresse weiter. |
Um den Adressbereich zu erweitern, können wir den 4029 kaskadieren. Hierzu wird der Ausgang TC an den nachfolgenden Takteingang gezogen. Es müsste dann noch eine weitere Eingabe für die Programmiereingänge angeschlossen werden. Der PLoad-Eingang kann parallel geschaltet werden. Es werden bestimmt jetzt einige sagen, dass man dann doch Problemlos auch 16 Bit oder gar mehr Adressraum zur Verfügung stellen könnte. Theoretisch schon. Aber ein breiterer Adressraum bedingt auch umfangreichere Befehlsgrößen im Mikrocode, welches den Mikrokontroller langsamer macht. Dazu aber später, bei der Erstellung des Mikrocodes, mehr. |