Programacion en CCS Compiler de Microcontroladores PIC, sentencias y codigos de todos los programas. Archivos y libros relacionados a la programacion de PIC en lenguaje C.
Libros, revistas y textos que le serviran para ampliar su conocimiento en los diferentes temas de la electrónica.Dale click en la pestaña LIBROS de la parte superior.
utilizados en el desarrollo de proyectos con microcontroladores PIC y
que tienen su aplicación en el ingreso de datos de manera manual por
parte del usuario, en aquellos casos en que el empleo de pulsadores
simples no es lo más apropiado, ya sea por la presentación final del
producto o por la restricción del número de líneas de entrada de los
microcontroladores PIC.
El teclado matricial 4x4 está constituido por una matriz de
pulsadores dispuestos en filas (A,B,C,D) y columnas (1,2,3,4), con la
intención de reducir el número de pines necesarios para su conexión. Las
16 teclas necesitan sólo 8 pines del microcontrolador, en lugar de los
16 pines que se requerirían para la conexión de 16 teclas
independientes.
LIBRERIA A USAR
El compilador C incluye la librería KBD.c para manejar el teclado 3x4. las funciones que se incorporan son las siguientes:
Kbd.init(); inicializa el sistema debe ser la primera función a ser llamada
Kbd_getc(); devuelve el valor de la tecla pulsada en función a la tabla que se tiene programada.
En el caso que se quiera utilizar un teclado matricial de 4x4, tendremos que modificar la librería KBD.c
Pueden descargar la librería ya modificada para hacer uso con un keypad 4x4.
En los tutoriales se podrá ver como se realiza la programacion para poder usar el teclado, asi como tambien como modificar la libreria KBD.c para usarlo con un keypad 4x4.
Tutorial - Modificacion de Libreria KBD
Tutorial - Programacion del PIC para uso del keypad 4x4
Componente electrónico compuesto por 7 LED's uno en cada segmento
Existen dos tipos de este display: ánodo común (el punto común entre todos los segmentos es Vcc) y cátodo común (punto común entre segmentos es la tierra-GND)
Esta ultima imagen muestra como esta conectado cada segmento y el punto común entre ellos
¿Cómo conecto el display?
En el caso de un ánodo común, el pin común debe de estar conectado a Vcc (5V-12V) y el segmento que queremos que encienda a 0V o GND
La imagen muestra como conectar para poder visualizar el numero 1
En el caso de cátodo común, el pin común debe ir conectado a 0V-GND, y el segmento que queremos encender a Vcc (5V-12V)
La imagen muestra la conexión para poder visualizar el numero 4
¿COMO LO CONECTAMOS AL PIC?
Para poder trabajar directamente con el PIC sin hacer uso de un 7447 o 7448 (conversor de BCD a 7 segmentos), para poder visualizar los números del 0 al 9 en un display cátodo común, haremos lo siguiente:
La imagen nos muestra que valor debemos darle al puerto (el que vamos a usar) para poder visualizar el numero que deseamos.
Ejemplo: para poder visualizar el numero 5, hacemos lo siguiente:
output_b(0x6D); ó output_b(109);
Recordar que esto sirve para un display cátodo común.
Ustedes lo pueden realizar para un display ánodo común, recordando que estos tienen Vcc en común y para poder encender un segmento éste tiene que estar conectado a 0V.
El CCS acepta el los siguientes tipos de variables
CONSTANTES
Las constantes se pueden especificar en octal, decimal, hexadecimal o en binario.
VARIABLES
La variables se utilizan para nombrar posiciones de memoria RAM.
Se deben de declarar obligatoriamente antes de utilizarlas, para ello se debe indicar el nombre y el tipo de dato que se utilizará.
Se definen de la siguiente manera.
tipo nombre_variable =
valor inicial
Ejemplo:
float voltaje=0;
int8 suma=0;
int contador=10;
MANEJO DE PUERTOS
El compilador nos ofrece funciones predefinidas que nos ayudan a trabajar con los puertos
Ejemplos:
output_B(0b11001100); //saca un uno lógico por el pin(b7,b6,b4,b3)
valor = input_A(); //lee el valor del puerto A y lo almacena en valor
También existen funciones asociadas a un solo pin, tales como:
Ejemplos:
output_toggle(pin_b6); //complementa el valor del pin b6
input(pin_c3); //lee el valor del pin c3
output_low(pin_b0); //Pone el pin b0 a un cero logico
Les dejo el tutorial para que puedan entenderlo mejor.
Para iniciarnos en la programación de los microcontroladores PIC, haremos el clásico HOLA MUNDO, que consiste en el encendido y apagado de un led.
Explicaremos cada una de las instrucciones del programa, así como también les dejaré el video tutorial correspondiente.
Para empezar este es nuestro entorno de programación
Para empezar a escribir nuestro código, creamos un archivo en blanco
Colocamos un nombre a nuestro proyecto, en¡ este caso yo le colocare el nombre de encendido y apagado de un led
Una vez creado nuestro archivo en blanco, empecemos las líneas de código de nuestro programa
Lo primero que debemos de hacer es incluir el PIC con el que trabajaremos, en este caso será el 16F877a, lo siguiente que haremos es escribir con velocidad de cristal trabajará nuestro PIC, en este caso será de 20MHz; y tambien mencionar los fusibles, en este caso será el HS, que se usa para cristales de alta velocidad. Si usted usará un cristal menor o igual a 4MHz, deberá colocar #fuses XT. Nuestro programa estaría quedando de la siguiente manera:
El nowdt, deshabilita el watchdog timer(perro guardian). Para mayor información de este fusible ver el datasheet del PIC
Ahora llamaremos a nuestra función principal, que es el void main, el programa quedaría de esta manera:
Luego agregamos un bucle infinito para que nuestro programa se repite indefinidamente
Dentro de este bucle infinito escribiremos las instrucciones que ejecutara nuestro PIC.
El programa quedaría de la siguiente manera
La velocidad con la que el PIC realiza cada instrucción es de 20MHz/4, que vendría a ser igual a 5MHz, por lo tanto el tiempo que demorá el microcontrolador en ejecutar cada instrucción es de 0.2 microsegundos
Es por ello que se añade un retardo en el programa, ya que sino, no se vería el cambio de alto a bajo en el pin b0 del microcontrolador.
Por ultimo compilamos el programa.
Con esto quedaría listo nuestro programa para poder simularlo, así como también grabarlo o quemarlo en un PIC real.
La simulación lo podrá ver en el siguiente video tutorial.