Ene 202015
 
2. Comenzando en PIC C
4.78 (95.56%) 9 votes

Una vez tenemos instalado el compilador PIC C (CCS Compiler), procederemos a realizar nuestro primer código en lenguaje C. Y para esto lo primero que se debe hacer en cada proyecto donde se programa un microcontrolador con PIC es su encabezado, donde se realiza la primera configuración del dispositivo, en esta sección se plantean las librerías a usar en el proyecto, la velocidad con la que el dispositivo realiza cada instrucción, la posición de ciertos registros en memoria, etc.

Para entender mejor de lo que hablo, veamos un encabezado sencillo:

 

• 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

Antes de comenzar a programar, vamos a ver las instrucciones de código más básicas, con las cuales vamos a aprender a preguntar por una entrada especifica y al mismo tiempo a activar alguna salida especifica.

¿Cómo preguntar si una entrada esta activada?

La sentencia corresponde a la decisión que se va a tomar en caso de que la entrada llamada “SW1” este activada, la entrada “SW1” fue definida en el encabezado para referirse al PORTB, 2 (RB2).

Si no deseamos nombrar el pin en el encabezado, también podríamos preguntar si una entrada está activa (Es decir tiene un 1 lógico en el pin ó +5V llegando al pin) podemos preguntar así:

 

¿Cómo preguntar si una entrada esta desactivada?

La sentencia corresponde a la decisión que se va a tomar en caso de que la entrada este desactivada.
¿Cómo activar una salida?

¿Cómo desactivar una salida?

¿Cómo llevar un valor a un puerto?
(Tener en cuenta que cada puerto tiene máximo 8 bits)

(Decimal) (Hexadecimal) (Binario)
Las tres instrucciones equivalen exactamente a lo mismo, llevar el valor 15 al puerto B, solo
que en diferente formato.

 

Con lo visto hasta ahora, ya tenemos las nociones básicas para empezar a realizar nuestro primer proyecto en PIC.

Si te sirvió de algo la información de la pagina, podrías invitarme a un café y ayudarme a seguir manteniendo en pie el sitio WEB. Solo cuesta $2USD y me ayudarías enormemente a seguir con mi trabajo. Muchas Gracias por tu visita.




 Leave a Reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">

(required)

(required)