5V LCD modules are problematic to drive directly from LVCMOS logic, because they typically have VIH defined as 0.7*VCC which in this case equals 3.5V.
Standard TC7660 charge pump should be enough.
You can also use dedicated level shifters. I'm using SN74LVC4245A from TI (bought a bunch some time ago, they are like 0.40 ā¬ in retail in Poland), although probably there are 20 other 74xx chips that you can use for that.
edit:
a second thought: maybe you can try old mobile phone GLCD? Like the ones from nokia 3310. They are dirt cheap on ebay and the topic is well understood on every microcontroller-related forums. And is has a serial interface which saves some pins in comparison to 16x2 displays.