I use a 5 element byte array: Read one byte from data and output to display vertically in column 5 (rightmost). Loop several times... Move the byte in column five to array element four (the next column to the left) and load the next byte into element 5. Loop several times... Continue shifting each byte to the left as you load new bytes on the right.

So... each byte of data represents one column of a 5x7 alphanumeric character (you're only using 7 of the 8 bits), Read all five columns, then put a 0 in column 5 (for the space between letters) then read the next five columns...