yo hice un dado electronico con microcontrolador HC12 y no utilice otra circuiteria mas que un display siete segmentos lo que hice fue lo siguiente:
conecte de esta forma los pines del puerto b al display
; pb1
; -----
;pb2 I I pb0
; ----- <----- pb3
;pb4 I I pb6
; -----
; pb5
asi con un lazo de comparacion sacaba los siguientes numeros:
cuando era 1 sacaba el hexadecimal 41 que como ves va a encender un uno
cuando era 2 sacaba el hexadecimal 3B que como ves va a encender un dos
y asi sucesivamente 3 = 6B, 4 = 4D, 5 = 6E, 6= 7E y cero seria 76 creo
para que no se me perdieran los numeros del 1 al 6 los guardaba en una variable auxiliar sacaba el dato al puerto y volvia a cargar los numeros del 1 al 6
no se si esto te ayude espero que si
saludos.