Gli 0.5V sono la tensione d'uscita in assenza di segnale, non possono la tensione d'uscita di un bit...
Riguardo alla programmazione, personalmente il mio consiglio è di farti le ossa con l'assembler, così capisci anche bene come funzionano i microcontrollori, poi eventualmente passare a linguaggi di più alto livello.
Per innalzare la tensione, a parte che il problema non sussiste perchè avrai 5V di uscita per il livello alto per qualunque circuito logico, semplicemente in DC non si può. Dovresti trasformarla in AC, innalzarla, quindi nuovamente in DC...
L'integrato che cerchi è un multiplexer (o un demultiplexer? al momento non ricordo...), ce ne sono una caterva. Fai un salto su
www.rs-components.it e cerca un po' in giro, così vedi che componenti ti possono servire. Se ti registri sul sito puoi anche scaricare i datasheet.
Comunque il mio consiglio resta, prima si impara l'elettronica analogica poi si passa a quella digitale quando ci si è fatti le ossa, altrimenti si va avanti a forza di calci nel sedere...