Contador 0-9 display 7 segmentos

¿Nos puedes decir porque no te funciona? A mi me parece que solo se te pone en estado HIGH cuando p es igual a 1. Además puerto es una tabla de los 7 elementos del display, por lo tanto tendrás que poner puerto[1] por ejemplo.