Johnson-koden är ett slags binärt talsystem , där två intilliggande koder skiljer sig åt i endast en binär siffra.
1953 utvecklade Robert Royce Johnson ett antal olika räknare baserade på ett variabelt antal staters skiftregister med en enkel återkopplingslogik och ansökte om ett patent [1] . Räknaren som körs i Johnsons kod är den enklaste av dem alla.
N | bitar | |||
---|---|---|---|---|
fyra | 3 | 2 | ett | |
0 | 0 | 0 | 0 | 0 |
ett | 0 | 0 | 0 | ett |
2 | 0 | 0 | ett | ett |
3 | 0 | ett | ett | ett |
fyra | ett | ett | ett | ett |
5 | ett | ett | ett | 0 |
6 | ett | ett | 0 | 0 |
7 | ett | 0 | 0 | 0 |
0 | 0 | 0 | 0 | 0 |
ett | 0 | 0 | 0 | ett |
Figuren visar ett diagram över en binär 4- bitarsräknare som arbetar i Johnson-koden. Ändringar i tillståndet för bitarna i denna räknare motsvarar de som anges i tabellen. Efter att en puls applicerats på "Reset"-linjen, sätts alla siffror i räknaren till ett logiskt 0-läge, medan en logisk 1:a kommer att finnas vid D-ingången på den första D-triggern, eftersom denna ingång tar emot en signal från den inversa utsignalen från den fjärde triggern. På den stigande flanken av klockpulsen "Count" kommer den första triggern att ställas in på tillståndet logisk 1, som sänds till D-ingången på den andra triggern. Nästa klockpuls kommer att överföra denna utlösare till det logiska 1-tillståndet, etc. Efter att 4 klockpulser har applicerats kommer alla triggers att gå till det logiska 1-tillståndet, och logisk 0 kommer att ställas in vid ingången till den 1:a triggern, sedan triggarna kommer sekventiellt att ta tillståndet logisk 0, tills alla triggers inte kommer att ställas till ett tillstånd av logisk noll, det initiala initiala tillståndet.