¿Cuál es la manera más rápida de cambiar el estado de un bit1 en MPASM para el 14 bits
mejorada del conjunto de instrucciones? (Estoy trabajando con un PIC16F1829)
El código tiene que ser independiente, me refiero a que puede ser llamado en cualquier
de momento, sin saber el valor de los bits en ese momento.
Criterios clave es aquí la velocidad: un programa con menos ciclos de instrucción es
mejor. El número de ciclos de instrucciones se calcula como el número de
cuando el bit es 0 + el número cuando el bit es 1, dividido por 2.
1: con palanca me refiero a que el código tiene que ser similar a la de pin=!el pasador en C
He asumido que el bit desea alternar es parte de un registro que tiene "no le interesa" en las otras partes y, por tanto, de intercambio nibbles iba a funcionar. Usted nunca dijo que no podía trabajar así y si eres tan corto de los registros que usted necesita de los demás bits, a continuación, una reescritura de código o MCU actualización es recomendada.
Iba a necesitar para la instalación de 11110000 (cualquier patrón haría proporcionar bn no es igual bn+4) al principio, pero después de eso, cada vez que quiera invertir uno de los bits que se utiliza: -
swapf f,d
Es un ciclo de operación y no necesita 1 en el w ajuste de registro.
Por supuesto, en el resto del programa se tendría que adherirse a este método para cambiar los bits, PERO de nuevo, no he dicho que no puedes, en otras palabras BCF o BSF instrucciones están fuera de la ley.
Pensé acerca de gira pero giran través de transportar y esto sería, probablemente, corruptos cosas - yo no he escrito el código PIC en más de 20 años, así que perdón debería estar en la vanguardia de su mente cuando se reduzca la votación!!!