C de CCS Paso a Paso Para 16F84A LED Prende Apaga

7
C de CCS paso a paso para 16F84A LED prende apaga Este es el programa más simple que se puede hacer para aprender a programar. Y elegimos el PIC que más información tiene en Internet. Suponemos que ya está instalado en la PC el programa para editar lenguaje C de CCS. Lo arrancamos y seleccionamos la pestaña Project. No importa lo que se vea en el editor. Todas las pantallas en este WORD se pueden agrandar para verlas mejor. En el menú seleccionamos PIC Wizard. Esto nos guiará para crear un programa creando la configuración del PIC. 1

Transcript of C de CCS Paso a Paso Para 16F84A LED Prende Apaga

Page 1: C de CCS Paso a Paso Para 16F84A LED Prende Apaga

7/16/2019 C de CCS Paso a Paso Para 16F84A LED Prende Apaga

http://slidepdf.com/reader/full/c-de-ccs-paso-a-paso-para-16f84a-led-prende-apaga 1/7

C de CCS paso a paso para 16F84A LED prende apaga

Este es el programa más simple que se puede hacer para aprender a programar. Y elegimosel PIC que más información tiene en Internet.

Suponemos que ya está instalado en la PC el programa para editar lenguaje C de CCS.

Lo arrancamos y seleccionamos la pestaña Project. No importa lo que se vea en el editor.

Todas las pantallas en este WORD se pueden agrandar para verlas mejor.

En el menú seleccionamos PIC Wizard. Esto nos guiará para crear un programa creando laconfiguración del PIC.

1

Page 2: C de CCS Paso a Paso Para 16F84A LED Prende Apaga

7/16/2019 C de CCS Paso a Paso Para 16F84A LED Prende Apaga

http://slidepdf.com/reader/full/c-de-ccs-paso-a-paso-para-16f84a-led-prende-apaga 2/7

Nos aparece la pantallita que nos permite elegir el directorio y el nombre que le pondremos anuestro proyecto. Por ejemplo creamos el directorio 16F84A prende apaga y el nombre denuestro proyecto será LED.

Le damos Guardar.

En el circulado rojo debemos elegir el PIC de la lista. Tener paciencia porque no aparecen

en orden alfabético.

2

Page 3: C de CCS Paso a Paso Para 16F84A LED Prende Apaga

7/16/2019 C de CCS Paso a Paso Para 16F84A LED Prende Apaga

http://slidepdf.com/reader/full/c-de-ccs-paso-a-paso-para-16f84a-led-prende-apaga 3/7

Elegimos las opciones circuladas. Nombre del PIC, poner frecuencia del cristal de 4 MHz,reloj con cristal exterior de 4 MHz, y el resto en blanco. Le damos OK.

Recordar de agrandar las imágenes para leer bien los detalles.

Si elegimos la pestaña Code, veremos el código que va creando.

Si tuviéramos otras opciones para agregar, las elegimos del circulado de la izquierda. Peroaquí no necesitamos más, por lo tanto le daremos OK, y terminó esta etapa del proyecto.

3

Page 4: C de CCS Paso a Paso Para 16F84A LED Prende Apaga

7/16/2019 C de CCS Paso a Paso Para 16F84A LED Prende Apaga

http://slidepdf.com/reader/full/c-de-ccs-paso-a-paso-para-16f84a-led-prende-apaga 4/7

Este es nuestro código hasta ahora. Como a mí me gusta tener todo el código en un soloarchivo .C, abriré el archivo 16F84A Prende Apaga\LED y lo copiaré al archivo .C en lugar del #include. Lo abriré con la opción directorios desde el menú, circulada en la imagen,elegiré el archivo, lo copiaré con CTRL C y lo pegaré.

Se ve como en esta pantalla. Tenemos el encabezamiento con la configuración del PIC y elvoid main() que es obligatorio que exista, por las reglas del código de programación C.

Usando el menú, cierro el LED.h y lo borro del directorio. Ahora comenzaremos con el programa, usando el editor del programa CCS.

Borramos lo circulado y comenzamos.

4

Page 5: C de CCS Paso a Paso Para 16F84A LED Prende Apaga

7/16/2019 C de CCS Paso a Paso Para 16F84A LED Prende Apaga

http://slidepdf.com/reader/full/c-de-ccs-paso-a-paso-para-16f84a-led-prende-apaga 5/7

Eliminamos la línea del RS232, porque aquí no la usaremos. Es la conexión de entrada –salida del puerto serie.

En el directorio se ve un archivo WORD que es este que estoy creando, un archivo .bat que

es para limpiar los archivos que se crean al compilar y que no usamos, el LED.c en el queestamos trabajando y el LED.pjt que es el proyecto del CCS.

Elegimos la pestaña Compile y luego Build All, para compular el proyecto y que nos cree elarchivo LED.hex, que es lo que grabaremos en el PIC. Por ahora lo hacemos solo para ver sino tenemos errores hasta aquí.

5

Page 6: C de CCS Paso a Paso Para 16F84A LED Prende Apaga

7/16/2019 C de CCS Paso a Paso Para 16F84A LED Prende Apaga

http://slidepdf.com/reader/full/c-de-ccs-paso-a-paso-para-16f84a-led-prende-apaga 6/7

 Así quedó el CCS y el directorio. No marcó Errores ni Warnings (Llamadas de atención)

El directorio se limpia haciendo doble click en el .bat.

Para hacer el programa usaremos el manual del CCS, que ahora incluyo en este directorio.

Usaremos estas funciones. El número es la página donde están:

OUTPUT_HIGH(pin) .................. 32; pone a uno la salida especificada.OUTPUT_LOW(pin) ................... 32; pone a cero la salida especificadaDELAY_MS(time) ....................... 33; crea un retardo para mantener prendido o apagado el LED.SET_TRIS_X(value) ................... 32; setea el puerto para indicar que pin es salida o entrada.

Esta función es propia del lenguaje C, y ejecuta un bucle, donde se ejecuta infinitamentetodo lo que está encerrado entre sus llaves.

while(true) // Bucle infinito

{

}

 Agregamos:

// 76543210 Número de PIN del PIC

set_tris_ab(0b00000000); // Todos salida valor cero. Las entradas van con 1.

La primer línea es un comentario que se comienza con //. Esto es del C.

La segunda indica que todos los pines del puerto A se ponen como salida. El número de pinse muestra en la línea de arriba. Si alguno fuera una entrada, como por ejemplo un pulsador,pondríamos el número 1.

 Agregamos el bucle infinito:

while(true) // Bucle infinito

6

Page 7: C de CCS Paso a Paso Para 16F84A LED Prende Apaga

7/16/2019 C de CCS Paso a Paso Para 16F84A LED Prende Apaga

http://slidepdf.com/reader/full/c-de-ccs-paso-a-paso-para-16f84a-led-prende-apaga 7/7

{

}

Dentro de el, escribimos las líneas que se ejecutarán hasta que cortemos la alimentación delPIC.

output_high(PIN_A0); // enciende el LED en el PIN A0

delay_ms( 1000 ); // demora de 1 segundo

output_low(PIN_A0); // apaga el LED

delay_ms( 1000 ); // demora de 1 segundo

Este es todo el programa necesario.

En esa dirección http://www.programatium.com/c.htm encontrarán un manual de C, muycompleto, donde encontrarán al while empleado.

Luego de tipeado todo se compila otra vez y hacerlo esto tantas veces como necesiten.

Para quienes tengan Proteus, va el archivo para poder simular este programa antes de

soldar o armarlo en una tarjeta de pruebas.

Esquema

7