Pregunta

Estoy escribiendo un programa para un microcontrolador 8051. En la primera parte del programa que hago algunos cálculos y basado en el resultado, o bien la luz el LED o no (usando CLR P1.7, donde P1.7 es el puerto el LED está unido a en el microcontrolador).

En la siguiente parte del programa Quiero recuperar el bit, tal vez almacenarlo en alguna parte, y utilizarlo en una instrucción de salto si-como JB. ¿Cómo puedo hacer eso?

Además, he visto el MOV C, P1.7 instrucción en un ejemplo de código. ¿Cuál es la C aquí?

¿Fue útil?

Solución

El C aquí es de la bandera de acarreo 8051 - llamado así debido a que puede ser usada para sostener el "acarreo" al hacer operaciones de suma de múltiples bytes

.

Puede también ser utilizado como un registro de un solo bit - así (como en este caso) en la que desea mover bits alrededor, puede cargarlo con un valor de puerto (como P1.7) y luego almacenarla en otro lugar, por ejemplo:

MOV C, P1.7
MOV <bit-address>, C

A continuación, más adelante se puede ramificar en él usando:

JB <bit-address>, <label>

Otros consejos

Algunos de los registros de funciones especiales también son poco direccionable. Creo que sus todos los que terminan en 0 ó 8. no tienen una referencia frente a mí, pero se puede hacer algo como r0.1 SETB. De esta forma si usted necesita el transporte por algo que no tiene que preocuparse acerca de empujar y el uso de espacio en la pila.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top