El código de Johnson es una especie de sistema numérico binario , en el que dos códigos adyacentes difieren en un solo dígito binario.
En 1953, Robert Royce Johnson desarrolló varios contadores diferentes basados en un registro de desplazamiento de un número variable de estados con una lógica de retroalimentación simple y solicitó una patente [1] . El contador que se ejecuta en el código de Johnson es el más simple de todos.
norte | pedacitos | |||
---|---|---|---|---|
cuatro | 3 | 2 | una | |
0 | 0 | 0 | 0 | 0 |
una | 0 | 0 | 0 | una |
2 | 0 | 0 | una | una |
3 | 0 | una | una | una |
cuatro | una | una | una | una |
5 | una | una | una | 0 |
6 | una | una | 0 | 0 |
7 | una | 0 | 0 | 0 |
0 | 0 | 0 | 0 | 0 |
una | 0 | 0 | 0 | una |
La figura muestra un diagrama de un contador binario de 4 bits que opera en el código de Johnson. Los cambios en el estado de los bits de este contador corresponden a los indicados en la tabla. Después de aplicar un pulso a la línea "Reiniciar", todos los dígitos del contador se establecen en un estado lógico 0, mientras que un 1 lógico estará presente en la entrada D del primer disparador D, ya que esta entrada recibe una señal. de la salida inversa del cuarto gatillo. En el flanco ascendente del pulso de reloj "Cuenta", el primer activador se establecerá en el estado de 1 lógico, que se transmite a la entrada D del segundo activador. El siguiente pulso de reloj transferirá este disparador al estado lógico 1, etc. Después de aplicar 4 pulsos de reloj, todos los disparadores pasarán al estado lógico 1 y el 0 lógico se establecerá en la entrada del primer disparador, luego los disparadores tomará secuencialmente el estado de 0 lógico, hasta que todos los disparadores no se establezcan en un estado de cero lógico, el estado inicial inicial.