Está en la página 1de 37

Centro Industrial del Mantenimiento

y Manufactura

PROGRAMACION DE
MICROCONTROLADORES PIC
EN C

Ing. Daniel Espitia


danielespitia@misena.edu.co
SOFTWARE NECESARIO

INSTALADOR DE PICC
http://www.filefactory.com/file/ah05849/n/CCS_PCWH_v4_032_Reg_Files_rar

PROTEUS PORTABLE
http://www.sendspace.com/file/aazb4u
CONFIGURACION LCD

Para configurar la LCD en el puerto B debemos borrar el comentario //


de la línea que se muestra en la figura, del archivo LCD.C, el cual está
en la carpeta DRIVERS dentro de la carpeta donde se instaló el PICC.
CONFIGURACION LCD

Para configurar la LCD en el puerto C debemos modificar el archivo


LCD.C, el cual está en la carpeta DRIVERS dentro de la carpeta donde
se instaló el PICC como se muestra en la figura.
CONFIGRACION LCD

Para cambiar la configuración de


los pines de conexión de la
pantalla gráfica al PIC, debemos
modificar el archivo HDM64GS12.c
el cual se encuentra en la carpeta
DRIVERS dentro de la carpeta
donde se instaló el PICC.
TECLADO MATRICIAL

- Los teclados son arreglos de


interruptores, generalmente del tipo
pushbutton, ampliamente utilizados como
elementos de entrada en una gran
variedad de sistemas digitales.
TECLADO MATRICIAL
CONEXIÓN DEL TECLADO
EJEMPLO 1

Ejemplo: Visualizar en la pantalla LCD la tecla presionada en el teclado.


CONFIGURAR PROYECTO

En la pestaña General
escogemos:

-PIC16F873A

- 4.000.000 Hz

- Crystal osc <=4Mhz


CONFIGURAR PROYECTO

En la pestaña communications
deshabilitamos la comunicación
serial RS-232
CONFIGURAR PROYECTO

En la pestaña Drivers,
habilitamos LCD driver y
3x4 Keypad driver.

Hacemos click en OK
CODIGO FUENTE

a=kbd_getc();

Lee un carácter
del teclado y lo
almacena en la
variable a.

Qué pasaría si en el printf usara %d en lugar de %c?


CONFIGURACION TECLADO

Para configurar el
teclado en el puerto
B debemos borrar el
comentario // de la
línea que se
muestra en la figura,
del archivo KBD.C,
el cual está en la
carpeta DRIVERS
dentro de la carpeta
donde se instaló el
PICC.
COMPILAR PROYECTO

Compilamos el proyecto haciendo


click en el botón Build de la
pestaña Compile

Verificamos que no se presenten


errores
CARGAR PROGRAMA AL PIC

En proteus damos
doble click sobre el PIC
y escogemos el
programa (es un
archivo .hex y se
encuentra en la carpeta
donde se creó el
proyecto de PICC)

Colocamos 4Mhz en la
frecuencia del Reloj

Hacemos click en OK
SIMULACION

Una vez cargado el programa del PIC,


procedemos a correr la simulación.

Verificamos el funcionamiento del


programa.
EJEMPLO 2:

Ejemplo:

Diseñar un programa
para el control de
acceso de personal,
el cual debe pedir
una contraseña de 3
dígitos para la
apertura de una
puerta.
CODIGO FUENTE
CODIGO FUENTE
ADC

Una señal analógica es aquella cuya amplitud puede tomar en


principio cualquier valor, esto es, su nivel en cualquier muestra no
está limitado a un conjunto finito de niveles predefinidos como es
el caso de las señales cuantificadas.

En cambio, una señal digital es aquella cuyas dimensiones


(tiempo y amplitud) no son continuas sino discretas, lo que
significa que la señal necesariamente ha de tomar unos
determinados valores fijos predeterminados en momentos también
discretos.
MUESTREO, RETENCION

Muestreo: el muestreo consiste en tomar muestras periódicas de


la amplitud de onda. La velocidad con que se toma esta muestra,
es decir, el número de muestras por segundo, es lo que se conoce
como frecuencia de muestreo.

Retención: las muestras tomadas han de ser retenidas (retención)


por un circuito de retención (hold), el tiempo suficiente para
permitir evaluar su nivel (cuantificación).
CUANTIZACION, CODIFICACION

Cuantización: la amplitud se aproxima


a ciertos valores discretos.

Codificación: la codificación consiste


en traducir los valores obtenidos
durante la cuantificación al código
binario.

VIN:Voltaje de entrada
N: Número de bits del conversor
¿Cuál es la resolución de un ADC de 10 bits, si el voltaje de entrada es de 5V?

a=adc_read(); //Realiza conversión análogo digital y almacena en a


EJEMPLO 3

Ejemplo:

Diseñar un sistema de control ON-OFF utilizando el siguiente circuito,


donde el sensor es simulado por medio de un potenciómetro. El valor de
referencia es ajustado a la mitad del voltaje máximo de entrada.
CREAR PROYECTO

Para crear el proyecto ejecutamos el PIC Wizard


en la pestaña Project

Seleccionamos la
carpeta y nombre del
proyecto y hacemos
click en Guardar.
CONFIGURAR PROYECTO

En la pestaña General
escogemos:

-PIC16F873A

- 4.000.000 Hz

- Crystal osc <=4Mhz


CONFIGURAR PROYECTO

En la pestaña communications
deshabilitamos la comunicación
serial RS-232
CONFIGURAR PROYECTO

En la pestaña Analog, escogemos en canal A0 y el reloj Clock 4us


CONFIGURAR PROYECTO

En la pestaña Drivers,
habilitamos LCD driver y
3x4 Keypad driver.

Hacemos click en OK
CODIGO FUENTE
CODIGO FUENTE
EJEMPLO 4

Ejemplo:

Un robot seguidor de línea utiliza 4 sensores infrarrojos para la detección de


la línea negra. Cada sensor entrega un valor análogo, el cual se debe
visualizar en la pantalla LCD.
CONFIGURAR PROYECTO

Usamos PICWIZARD para crear el proyecto, teniendo en cuenta que como


vamos a utilizar 4 entradas análogas, debemos escoger la segunda opción
como vemos en la figura.
CODIGO FUENTE
CODIGO FUENTE
SIMULACION

Aquí apreciamos el resultado final.


Próxima sesión
Septiembre 1
Comunicación Serial

GRACIAS

También podría gustarte