Sie sind auf Seite 1von 2

ACCESO A LOS BITS INDIVIDUALES

El compilador mikroBasic PRO for PIC instalado en la PC, incluye una lista de los microcontroladores PIC soportados, con todos los registros, sus direcciones exactas y los nombres de bits. El compilador le permite acceder a los bits individuales de estos registros por sus nombres, sin especificar sus posiciones (el compilador ya las conoce). Hay muchas formas de acceder y modificar a un bit individual dentro de un registro. Por ejemplo, vamos a acceder al bit GIE (Global Interrupt Enable - Habilitacin global de interrupciones) por ejemplo. Es el sptimo bit del registro INTCON. A este bit se le puede acceder por su nombre, al escribir lo siguiente:

INTCON.GIE = 0 ' Poner a cero el bit GIE


Para denotar la posicin de bit en un registro en lugar de un nombre de bit se pueden utilizar una variable, una constante, una llamada a funcin o una expresin encerrada entre parntesis. Adems, para acceder a los bits individuales se utilizan las constantes globales predefinidas B0, B1, , B7, o 0, 1, 7, donde 7 se considera el bit ms significante.

INTCON.B0 = 0 ' Poner a cero el bit 0 del registro INTCON ADCON0.5 = 1 ' Poner a uno el bit 5 del registro ADCON0 i = 5 STATUS.(i+1) = 1 ' Poner a uno el bit 6 del registro STATUS
Por fin, a un bit deseado se le puede acceder al utilizar un nombre alias. En este caso, es el GIE_bit:

GIE_bit = 1 ' Poner a uno el bit GIE


TIPO SBIT
El compilador mikroBasic PRO for PIC tiene un tipo de dato sbit. Esto es un tipo de dato ms corto que se refiere a un solo bit. Si al tipo sbit se le asigna una variable, el bit apropiado de un registro ser cambiado al cambiar esta variable sin especificar el nombre y la localidad del registro. La variable sbit se comportar como un puntero. Para declarar la variable sbit, basta con escribir:

dim Nombre_de_bit as sbit at Nombre_de_registro.Posicin_de_bit program MyProgram ' Mdulo principal ... dim Output1 as sbit at PORTB.0 ' Variable Output1 es de tipo sbit ... Output1 = 1 ' Pin del puerto PORTB.0 est a uno (5V)
Si una variable de tipo sbit no est definida en el mismo mdulo donde se utiliza, la palabra clave external debe ser utilizada. Adems, el especificador de memoria apropiado se debe aadir:

dim nombre_de_bit as sbit sfr external module MyModule ' Esto no es el mdulo principal y el bit Output1 ... ' no est definido aqu dim Output1 as sbit sfr external ... Output1 = 1 ' Pin PORTB.0 (definido en el ejemplo anterior como Output1) est a uno (5V)
TIPO BIT
El compilador mikroBasic PRO for PIC proporciona un tipo de dato bit que se puede utilizar para declarar las variables.

dim bf as bit
A diferencia de variables de tipo sbit, solo el nombre de bit est declarado aqu, mientras que el compilador almacena una variable bit en algunos de los registros libres de la RAM. Como se puede ver, no es necesario especificar un bit de algn registro especfico. La localidad exacta de la variable de tipo bit es desconocida al usuario.

Los tipos Bit y sbit se utilizan con los siguientes limitaciones:

No pueden ser utilizados para las listas de argumentos y como valores devueltos de funciones No pueden ser utilizados como un miembro de estructuras No pueden ser utilizados como elementos de matrices No pueden ser inicializados No se puede apuntar a ellos Sus direcciones no se pueden leer, por eso el operador unitario @ no se puede utilizar con variable de este tipo

dim ptr as ^bit ' invlido dim arr as array[5] of bit ' invlido

Das könnte Ihnen auch gefallen