Ok, para eso necesitas un compilador para ese microcontrolador. Por ejemplo
C51 de Keil.
Lo segundo es la lógica.
Para calcular la frecuencia tienes mas o menos este pseudo-código.
Código pseudocodigo:
Ver originalultimo_estado = PIN_DE_ENTRADA_DE_LA_SEÑAL
while True:
estado_actual = PIN_DE_ENTRADA_DE_LA_SEÑAL
if estado_actual != ultimo_estado:
ultimo_estado = estado_actual
ultimo_contador_de_ciclos = contador_de_ciclos
contador_de_ciclos = 0
frecuencia_de_entrada = contador_de_ciclos / (frecuencia_del_micro / divisor_de_operaciones)
switch(frecuencia_de_entrada):
# Aqui la logica de los leds
if (ultimo_contador_de_ciclos / 2) == contador_de_ciclos:
toggle(PIN_DE_SALIDA_DE_SEÑAL)
contador_de_ciclos += 1
Entonces mas o menos esa sería la lógica.