Yo tengo uno que hice hace como 2 años para una materia llamada "interfaces", fue un proyectito pequeño para ultima unidad, es un semaforo inteligente, que dependiendo de que calle hay mas carros pone ese semaforo en verde y el otro en rojo, aunque solo consta de 2 sentidos, osea esta el cruce y vienen carros solo de 2 partes y checa de que parte vienen carros, si no vienen carros de ningun lado el semaforo funciona con tiempos predeterminados,
no se si te sirva lo hice en el PIC16f877A, programado con Proton IDE y lo que tengo es el documento que entregue como memoria donde viene todo explicado paso por paso super detallado ya que tmb lo tuvimos que exponer, y tmb ai mismo meti el codigo y los diagramas de las conexiones al pic, si te interesa mandame mp y te lo paso o vemos la manera de postear aki el documento