Control de contador con 7 segmentos y pulsadores

Acá hay un "problema" y un error

else{
      op==op;}

[/quote]

El "problema": Si bien no es incorrecto es innecesario, ya que de no cumplirse el if() que lo precede la variable igualmente no cambiaría el valor, por ende eso "sobra".

El error: el doble signo igual ( == ) indica una condición de igualdad.
Lo que corresponde en este caso es un solo signo ( = ) porque lo que hay que hacer es una asignación de una valor a una variable.

Revisa porque lo mismo ocurre un par de veces con la variable contador ya que

contador == contador;

repites el error de escritura y lo innecesario de asignar a una variable el valor que la misma variable ya contiene (de hecho es muy probable que el compilador ignore esa instrucción).

Saludos