Taller Skybot:Sesión 3:explicación programa hola mundo
Contenido
Introducción
Empezar a familiarizarse con el PIC y con su programación en C.
Descarga
hola-mundo.zip | Programa "hola mundo" para encender el led de la tarjeta skypic |
hola_mundo.c | Fichero hola_mundo.c |
hola_mundo.hex | Fichero ejecutable para descargar en la Skypic |
Programa hola mundo
#include <pic16f876a.h> void main(void) { //-- Configurar el bit 1 del puerto B para Salida TRISB1 = 0; //-- Activar el bit 1 del puerto B. El led se enciende RB1 = 1; //-- Bucle infinito while(1); }
Explicación
Cabecera
Primero indicaremos el modelo de microcontrolador a emplear. En este caso es el PIC16F876A que es el que incorpora la tarjeta Skypic. Esta instrucción siempre la pondremos al comenzar nuestros programas:
#include <pic16f876a.h>
El led de la Skypic
El PIC16f876A tiene 3 puertos de entrada/salidas digitales: el A, B y C. El puerto B es donde está conectado el led de la skypic. Son 8 bits independientes, que se pueden configurar para funcionar como entrada o salida. Por defecto están configurados como entradas.
El LED de la skypic está conectado al Bit 1 (Los bits se empiezan a numerar desde el bit 0 hasta el bit 7). Para encender el led hay que poner a '1' el bit 1
Comienzo del programa
La instrucción:
void main(void)
indica dónde empieza nuestro programa. El resto de instrucciones están delimitadas por llaves ('{' y '}')
Configurar el puerto B
El puerto B tiene 8 bits de entrada/salida denominados RB0, RB1, RB2... RB7. Estos bits se configuran para que funcionen como entradas o como salidas mediante el registro TRISB. En nuestro ejemplo hola mundo queremos configurar el bit RB1 (donde está conectado el led) para que sea de salida. Para ello será debemos escribir un 0 en el bit TRISB1:
//-- Configurar el bit 1 del puerto B para Salida TRISB1 = 0;
El puerto B
El puerto B en la Skypic
Para recordar
Información adicional
Enlaces
- Taller Skybot. Página principal
- Taller Skybot:Sesión 3
Noticias
- 23/Junio/2010: Comenzada esta página. Migración de las páginas en HTML