Hva er den enkleste måten å konvertere Binary til BCD

N

Nike

Guest
Jeg har en teller som teller fra 0 til 31 (basert på valgfrie trinn på 1,2,4) i binær. Så jeg trenger å konvertere denne koden inn i BCD (Tiere og enheter dvs.: den binære verdien av 17 er 10 001 og jeg trenger å gjøre det til 0001 som er decomal 1 og 0111 som er desimal 7 før jeg vise dem) og så trenger jeg å vise desimalverdi på 7 segment display. Og jeg bruker Xilinx ISE6 schematics å designe kretsen. Hva er den enkleste måten å designe en krets for å konvertere denne binære verdien inn BCD? Må jeg bruke K-kart eller bare tegne sannheten bordet og skrive funksjonene derfra.
 
du kan rett og slett en mikrokontroller-kode for å konvertere binære til BCD. er du kjent med mikrokontroller?
 
Jeg er ikke tillatt å bruke noen kode. Jeg er bare tillatt å bruke logikk og, NAND, OR, XOR og vekselrettere pluss flip-flops til å designe denne kretsen. I utgangspunktet trenger jeg å designe den krets med logiske porter hvis du vet hva jeg mener.
 
Jeg kan ikke tenke på noen enkel tilnærming enn å bruke en liten 32x8 ROM inneholder sannheten bordet, men som kan være mot dine prosjektet reglene. Jeg tror du allerede har den rette ideen: konvertere sannheten tabellen til bolske ligninger ved hjelp av K-kart, eller enkle inspeksjon eller ingeniørfag programvare, eller hva tilnærming synes enkleste til deg.
 
Bruk Couleur teknikk (BIDEC), et binært tall (mest betydningsfulle bit, MSB) først er flyttet og behandlet, slik at BCD tilsvarende oppnås når den siste binære bit er klokket i registeret. Den grunnleggende regelen er: hvis en 4 eller mindre er i et tiår, skift med neste klokke puls, hvis 5 eller større i et tiår, legg 3 og deretter skift ved neste klokke puls. For mer informasjon: BIDEC - en binær-til-Decimal eller Decimal-til-Binary Converter, JF Couleur, IRE Transactions på Electronic Data, vol. EC-7, pp313-316, IRE 1958.
 
Nei jeg er bare tillatt å bruke logikk og, NAND, OR, XOR og vekselrettere pluss flip-flops til å designe denne kretsen. Og K-kartet kommer til å være ekstremt vanskelig å tegne og tar opp mye tid siden jeg trenger en 5 bit K-kart her. Kjenner du noen programvare på internett som gjør K-kartet jobb og viser også hva den gjør gjennom diagrammer så jeg vet hva som skjer og kan forklare det på tidspunktet for demonstrasjonen? Fordi tegne dem for hånd kommer til å være litt av en jobb. og har en svært høy risiko for å gjøre feil. Bruke Couleur teknikk (BIDEC), et binært tall (mest signifikante bit, MSB) først er flyttet og behandlet, slik at BCD tilsvarende oppnås når den siste binære bit er klokket i registeret. Den grunnleggende regelen er: hvis en 4 eller mindre er i et tiår, skift med neste klokke puls, hvis 5 eller større i et tiår, legg 3 og deretter skift ved neste klokke puls. Jeg skjønte ikke helt forstår hva du sier der, men jeg antar jeg trenger noen form for sammenlignende? Jeg kan ikke bruke noen porter eller logiske kretser annet enn det jeg nevnte. kan du vennligst forklare denne metoden litt mer hvis denne metoden er mulig å bruke disse portene jeg nevnte?
 
For en enkel counter kan vi gjøre for binære til bcd som følger!
Code:
 modul bin_bcd_counter (/ * AUTOARG * / / / utganger counter, / / innganger clk, reset_n, cnt_bcd), inngang clk, reset_n; inngang cnt_bcd; utgang [07:00] teller; reg [07:00] teller; reg [07:00] counter_nx; alltid @ (posedge clk eller negedge reset_n) begynne hvis begynner counter 9) counter_nx [07:04] = counter_nx [07:04] + 6 (reset_n!) end end endmodule / / bin_bcd_counter [ / code] Du kan endre dette for ned counter også! Håper dette hjelper
 
Tilbake til grunnleggende digital design .... 31 bits til to 7 segmenter gjør K-Map og gjøre boolske.
 
Nike, The Couleur er Technique (BIDEC) bruker bare Flip-flops og logikk. Ved hjelp av en PAL22v10 det er mulig å konvertere en 8-bit binær til BCD. Bruk to PAL22V10 kan du konvertere 16-bit til BCD. Hvis du tenker på det, vil du se at bare en spesiell shift register er nødvendig.
 

Welcome to EDABoard.com

Sponsor

Back
Top