Du hast bei $crystal=12000000 eingestellt, probier mal 1000000.
Wenn du waitms in der main-schleife benutzt sollte es gehen.