Está en la página 1de 9

PROGRAMACIÓN EN PIC

C COMPILER
EJEMPLO DE PROGRAMA
• #INCLUDE <16f877a.h>
• #USE DELAY(CLOCK=4000000)
• #FUSES XT,NOPROTECT,NOBROWNOUT,PUT,NOLVP
• #DEFINE SW1 PORTB,2
• #DEFINE SW2 PORTB,1
• #DEFINE LED PORTB,0
• #BYTE PORTB= 6
• INT CONT;
• Con la primera línea se le indica al compilador con que tipo de microcontrolador que
se va a trabajar, en este caso con un PIC16F887.
• La segunda línea indica que se esta trabajando con un cristal de 4Mhz.
• La tercera línea consiste en la configuración de los fusibles:
• XT Tipo de oscilador cristal puede seleccionarse entre los siguientes (XT, RC, HS, LP)
• XT: Es un acrónimo que viene de XTAL (o cristal en castellano). Este modo de funcionamiento
implica que tendremos que disponer de un cristal de cuarzo externo al Pic y dos
condensadores. El valor del cristal generalmente será de 4Mhz o 10Mhz, y los condensadores
serán cerámicos de entre 27 y 33 nF. La exactitud de este dispositivo es muy muy alta, por lo
que lo hace muy recomendable para casi todas las aplicaciones.
• RC: Este es el sistema más sencillo y económico. Se basa en un montaje con una resistencia y
un condensador. La velocidad a la que oscile el pic dependerá de los valores del
condensador y de la resistencia. En la hoja de características del Pic están los valores.
• HS: Para cuando necesitemos aplicaciones de “alta velocidad”, entre 8 y 10Mhz. Se basa
también en un cristal de cuarzo, como el XT
• LP: “Low Power” la velocidad máxima a la que podemos poner el pic con este oscilador es de
200Khz. Al igual que el XT y el HS, necesitaremos de un cristal de cuarzo y unos condensadores.
• NOPROTECT Código no protegido para lectura
• NOWDT No activa el perro guardián
• NOBROWNOUT No resetea por bajo voltaje
• NOPUT No active el temporizador que retarda el funcionamiento ante la presencia de tensión de
alimentación
• NOLVP No bajo voltaje de programación
• La cuarta, quinta y sexta línea consiste en definir un nombre a los diferentes bits que se van
a utilizar en el programa.
• La séptima línea indica la dirección de memoria RAM del puerto B (Estas direcciones se observan
en el Datasheet pagina 23).
• La octava línea indica que se declara la variable CONT tipo entero, esta variable es global,
ya que fue declarada en el encabezado del programa y se podrá utilizar tanto en el
programa principal como en las diferentes funciones
INSTRUCCIONES BÁSICAS PIC C
COMPILER

• ¿Cómo preguntar si una entrada esta activada?


IF(BIT_TEST(SW1))
{
Sentencia;
}

IF(BIT_TEST(portb,2))
{
Sentencia;
}
INSTRUCCIONES BÁSICAS PIC C
COMPILER

• ¿Cómo preguntar si una entrada esta desactivada?


IF(!BIT_TEST(SW1))
{
Sentencia;
}
ó
IF(!BIT_TEST(PORTB,2))
{
Sentencia;
}
INSTRUCCIONES BÁSICAS PIC C
COMPILER
• ¿Activar una salida PIC C Compiler?
BIT_SET(LED);
ó
BIT_SET(PORTB,0);
• ¿Desactivar una salida PIC C Compiler?
BIT_CLEAR(LED);
ó
BIT_CLEAR(PORTB,0);
• ¿Cómo llevar un valor a un puerto? (Tener en cuenta que cada puerto tiene
máximo 8 bits)
PORTB = 15; //decimal
PORTB = 0X0F; //hexadecimal
PORTB = 0B00001111: //binario
ENCENDER Y APAGAR UN LED
RETARDO EN PIC

También podría gustarte