Erelce
**** De beschikbare ruimte van een werkplek is omgekeerd evenredig met de grootte van deze werkplek **** AVR-Oefeningen op Electronics 4 Fun
Hoe zet ik een Gray-code eenvoudig om naar BCD-code?
GRAY-CODE BCD-CODE
0 0 0 0 > 0 0 0 0 -0
0 0 0 1 > 0 0 0 1 -1
0 0 1 1 > 0 0 1 0 -2
0 0 1 0 > 0 0 1 1 -3
0 1 1 0 > 0 1 0 0 -4
0 1 1 1 > 0 1 0 1 -5
0 1 0 1 > 0 1 1 0 -6
0 1 0 0 > 0 1 1 1 -7
1 1 0 0 > 1 0 0 0 -8
1 1 0 1 > 1 0 0 1 -9
Ik denk dat de makkelijkste manier is om de gray en BCD codes die bij elkaar horen uit het hoofd te leren. Anders moet je denk ik eerst de gray code naar decimaal omrekenen en daarna weer naar BCD.
Erelce
**** De beschikbare ruimte van een werkplek is omgekeerd evenredig met de grootte van deze werkplek **** AVR-Oefeningen op Electronics 4 Fun
sorry, ik heb mij misschien verkeerd uitgedrukt.
Ik bedoel natuurlijk elektronisch omzetten zodat ik dan met de BCD waarde een IC kan sturen om bvb een 7 segment display te sturen. 
Erelce
**** De beschikbare ruimte van een werkplek is omgekeerd evenredig met de grootte van deze werkplek **** AVR-Oefeningen op Electronics 4 Fun
Erelce
**** De beschikbare ruimte van een werkplek is omgekeerd evenredig met de grootte van deze werkplek **** AVR-Oefeningen op Electronics 4 Fun
bedankt iedereen!
dat is net wat ik zocht
gray code omzetten met 3 XOR poorten
Ik weet ook niet waarvoor je het nodig hebt maar veel draaiende encoders werken met een gray-excess code waarbij er een getal moet worden afgetrokken van de uitkomst. Dit is gedaan om ervoor te zogen dat bij de transitie van bv 359 naar 0 graden ook maar 1 bit veranderd.
[Bericht gewijzigd door GJ_ op ]
Capt501
http://pascal.nedlinux.nl Niet tegenspreken, Ik heb altijd gelijk !
Daar is een standaard TTLetje in de 7400 reeks voor
weet aleen niet uit me hoofd welke,
jeetje gray, dat is toch al 100 jaar geleden he.
maar geruchten over XOR klinken wel plausiblel
Op 18 oktober 2005 18:59:05 schreef Capt501:
...
jeetje gray, dat is toch al 100 jaar geleden he.
...
Zit toch in iedere encoder.
Erelce
**** De beschikbare ruimte van een werkplek is omgekeerd evenredig met de grootte van deze werkplek **** AVR-Oefeningen op Electronics 4 Fun
ja GJ_ je hebt gelijk, en nu zie ik in dat er een grote fout in mijn omzetting zit.
Wat ik nu heb is nl. geen omzetting van Gray naar BCD maar wel naar Binair,welke stopt bij de 10de positie.Dus als ik van de laatste positie terug naar 0 ga,verandert er meer dan 1 bit tegelijk.
dus moet ik in de eerste plaats op zoek gaan naar de juiste bitomzetting ( nl. Gray > BCD ):)
Op 18 oktober 2005 21:00:36 schreef Erelce:...is nl. geen omzetting van Gray naar BCD maar wel naar Binair....
Ik geef eerlijk toe dat ik zojuist bij het eten een halve fles wijn op heb hetgeen mijn opmerkingsgave kan hebben aangetast, maar in het begin ging het over 4 bits. Nu zie ik bij 4 bits het verschil tussen gewoon binair en BCD niet??
Erelce
**** De beschikbare ruimte van een werkplek is omgekeerd evenredig met de grootte van deze werkplek **** AVR-Oefeningen op Electronics 4 Fun
ja GJ_,
ik heb al de code gevonden die ik nodig heb, het noemt de Glixon code, het enige verschil met de Gray code is de laatse regel ( de 9 ) die in 1 0 0 0 moet veranderen.
en nu nog de omzetting van Glixon naar BCD met poortjes.
Wie kent er hier iets van?
Zit je vast aan die rare Glixon?
Gray-excess voor 10 delen:
DEC GRAY_E BIN
0 0010 0000
1 0110 0001
2 0111 0010
3 0101 0011
4 0100 0100
5 1100 0101
6 1101 0110
7 1111 0111
8 1110 1000
9 1010 1001
Waarbij van de omgezette waarde binair 3 moet worden afgetrokken
Omzetten van en (standaard) gray-excess naar binair weet ik niet uit mn hoofd.
Als je op zoek gaat laat dan dat "BCD" even varen en gebruik "binair". BCD is een vreemdsoortige notatie, omzetting naar gewoon binair zal altijd eenvoudiger zijn. Bij die 4 bitjes is het vreemd om over BCD te spreken.
De eerder aangedragen oplossingen voor omzetting van gray naar binair zul je dan ook nooit vinden als je zoekt naar omzetting van gray naar bcd, want dat werkt zo niet (bij meer bits).
Erelce
**** De beschikbare ruimte van een werkplek is omgekeerd evenredig met de grootte van deze werkplek **** AVR-Oefeningen op Electronics 4 Fun
Ja inderdaad GJ_ ik zit zo vast als wat met die Glixon.
Met de 7444 kan ik zelfs deze excess-3 code omzetten naar
decimaal.
Maar dat is niet mijn bedoeling.
Om te kunnen omzetten naar BCD of zelfs naar 7-segment code kan ik waarschijnlijk een EPROM of een Prom zoals de 74188 tussen schakelen. Zo kan ik zelf de soort omzetting bepalen die ik wil.
Wat zou de ik dus best als Eprom gebruiken ( goedkoopste )
met 4bit-adres
:):D:( en 7 bit output
:o:-p:9~:9:7:r
( lieftst met een Latch, zodat ik de uitgang bij verandering zelf kan sturen ).
Erelce
**** De beschikbare ruimte van een werkplek is omgekeerd evenredig met de grootte van deze werkplek **** AVR-Oefeningen op Electronics 4 Fun
sorry GJ_ maar de uiteindelijke bedoeling is om 4 modules
te maken die telkens een digit aansturen, dus heb ik wel degelijk deze BCD-code nodig. Binair zou dat gewoon niet lukken.
( het enige verschil tussen BCD en Binair is toch dat BCD bij 9 stopt en dan vanaf nul herbegint.Ik kan toch moeilijk steeds zeggen' Binair tellen tot 9 en dan naar 0 verspringen'als ik hetzelfde ook kan zeggen met 3 letters.)
Begrijp je mijn standpunt? 
[Bericht gewijzigd door Erelce op ]
Op 19 oktober 2005 14:36:04 schreef Erelce:
sorry GJ_ maar de uiteindelijke bedoeling is om 4 modules
te maken die telkens een digit aansturen, dus heb ik wel degelijk deze BCD-code nodig. Binair zou dat gewoon niet lukken.
Ah, in dat geval, vooruit dan maar.
Maar als je gaat zoeken naar conversie van gray -of die rare code van je- naar BCD zul je niet echt veel vinden, vandaar.
[Bericht gewijzigd door GJ_ op ]
Erelce
**** De beschikbare ruimte van een werkplek is omgekeerd evenredig met de grootte van deze werkplek **** AVR-Oefeningen op Electronics 4 Fun
ja GJ_ die conversies zijn moeilijk te maken met poorten, daarom lijkt een Eprom mij de beste oplossing, nog alleen zoeken welke het beste hiervoor zou passen.
met poortjes kan het ook eenvoudig hoor. Maar eprom is denk sneller gemaakt en je hebt maar 1 ic'tje nodig.