There are many issues here.
As it is already said in comments, decoupling capacitor is a must!
555 (non-CMOS) timer output is very much like the output of TTL ICs, however Z80 requires a firm logic one. When feeding Z80 clock pin from a TTL output, you should use pullup resistor of 200..500 Ohm.
NMOS Z80 uses dynamic logic, that means it has some minimal clocking frequency, and it won't work at all if your clock is much less thatthan datasheet's minimal frequency (or a datasheet's maximal clock period).
You should also initialize Z80 with the /RESET signal lasting several clocks, before ever hoping to get anything sane from the CPU.
The easiest way to get Z80 working in your configuration is to swap it to CMOS version, which is fully static (i.e., it has no limit to how slow the clock might be). Additional attention must be paid to get clock levels right (swap TTL 555 to CMOS one like TS555 or add a pullup resistor) and decoupling capacitors to both 555 and Z80. Finally, add a reset button and keep it pressed for several clocks in the beginning.