The LCD should operate at 3.3V. At 5V, all the segments stay on no matter the inputs (except for scan lines COM1-COM4).
The MCU reads the port D and displays the hexadecimal value on the LCD.
The port D inputs should be clamped by 3.3V zener diodes because 5V unclamped signals makes all the segments turning on.
I'll add 2 switches and 2 LEDs to select the bit order.
On the scope screenshot, the scan lines are the yellow, red, blue and green traces for the half bias.
The half bias is done by connecting a 1.5k pull-up and a 1.5k pull-down on the 4 scan lines.
The segment lines are normal outputs from the MCU.
There is nothing specific that requires the ATtiny48. Any other MCU or MPU can do.
Jacques Pelletier