I forgot to say earlier, a 2816 should work fine.
Okay, I think the easiest way to do it then would be to program the prom for two 4 bit BCD outputs, Data lines 0-3 would be the low digit, 4-7 the high digit. Those outputs would go to a pair of BCD to 7 segment decoders (7447, commonly available) which would drive the displays.
http://www.hcc.hawaii.edu/~richardi/113 ... _4/2f4.htm
As for the prom programming, what you basically need to do is use the 5 bit binary number you want to decode as the address, and put the BCD equivalent in each memory slot. Since the BCD numbers for 0-9 are the same as for 4 bit hex, the hex numbers you program into each address would be the number you want displayed:
addr --- data
binary - hex
00000 - 00
00001 - 01
00010 - 02
00011 - 03
00100 - 04
etc. up to 31
just start at address 0 and fill in the numbers 00 to 31 for the hex data, simple.
I'm pretty sure that's right, but it's late and I'm tired so someone might want to double check it, lol.