Simplemente use el interruptor de E / S como usted supuso. La alternancia de un pin de E / S en el código 8051 requiere un número conocido de ciclos y se puede restar de la medición de alcance que realice. Si la duración de la rutina que está midiendo es de muchas instrucciones, el tiempo adicional consumido para alternar el pin de E / S puede ser un maní en comparación y básicamente se puede ignorar. De hecho, la medición en el alcance en varios milisegundos apenas se registraría si se incluyeran unos cientos de nanosegundos adicionales en la medición.
En mi discusión anterior, estoy hablando de usar un pin de E / S que está conectado a uno de los puertos directos de la parte 8051. Si su pin de E / S de medición está alejado de la MCU, como una E / S en un expansor de puerto conectado I 2 C, entonces la velocidad de la interfaz podría ser un factor a considerar. Utilice siempre una E / S de puerto directo para una medición de tiempo de alcance.
Si realmente desea ver la sobrecarga de tiempo de la conmutación del pin de E / S simplemente coloque el conjunto y desactive el pin de E / S como escrituras secuenciales en su código y mida el pulso de alcance resultante.