Professional Documents
Culture Documents
OBJETIVOS
El proyecto consiste en configurar un pin del microcontrolador para que en un momento dado
envíe 5V y prenda un led, y pasado un segundo envíe 0V y por tanto apague el led. El
programa se hará de tal manera que la operación descrita se efectúe en un ciclo infinito y se
vea a un led intermitente.
Para ello vamos a usar del puerto B el pin de mayor peso, es decir el RB7, el pin 40 del
microcontrolador. Modificando el registro TRISB podemos configurar el puerto como salida
digital y para luego indicarle que envíe pulsos de “unos” y “ceros” a intervalo de 1 segundo
por el pin RB7 de ese puerto.
1. Abrimos el programa MPLAB, dando click en Inicio / Programas / Microchip MPLAB IDE /
MPLAB IDE, ó en el icono que aparece en el escritorio después de efectuada la
instalación del programa.
3. Aparece la ventana del paso 1 del asistente: Seleccionar un dispositivo. Elegimos el tipo
de microcontrolador que vamos a utilizar, en este caso trabajaremos con el PIC16F877A,
luego damos click en siguiente para continuar.
7. En el último paso del asistente verificamos que la información dada en los anteriores
pasos sea correcta. En caso de haber algún error podemos devolvernos dando click en el
botón “Atrás”. Damos click en finalizar para que nos cree el proyecto.
8. Luego de haber creado un proyecto nuevo, vamos a crear un nuevo archivo para
adicionar al proyecto, damos click en: File / New. En este archivo nuevo que creamos,
vamos a escribir el programa que hace prender y apagar el led.
INCLUDE P16F877A.INC
10. Damos click en File / Save as... Bautizamos el archivo como “on_led_ASM” y lo
guardamos preferiblemente en la misma carpeta del proyecto, es decir C:\SIMUPIC.
Después de esto damos click en Project \ Add Files to project... Seleccionamos el archivo
que acabamos de guardar y damos click en Abrir.
11. Antes de compilar el proyecto vamos a verificar que el MPLAB nos genere el archivo con
la extensión correcta *.HEX. Damos click en Project / Build Options... / Project.
12. En la pestaña ”PICC Linker” damos click en el botón “Restore Defaults” Verificamos que
aparezca ”-O"$(TARGETBASE).hex" escrito en el cuadro de texto contiguo al botón.
Damos click en Aplicar para guardar los cambios y en aceptar
13. Vamos a compilar el proyecto de la siguiente manera: Click en Project / Make (O también
Project / Build All). Aparece la ventana Output con la pestaña Build seleccionada, y todo
un reporte de la operación. En este reporte pueden aparecer errores o advertencias si
por ejemplo la sintaxis del código no es correcta. Si la compilación fue exitosa aparece el
mensaje BUILD SUCCEEDED al final del reporte.
14. Se programa el microcontrolador con el IC-PROG tal como esta descrito en las memorias
del curso. Se hacen las conexiones mostradas en el diagrama (mas abajo) y se
comprueba que el dispositivo funcione correctamente.
15. De haber alguna incongruencia entre el comportamiento teórico y el real revise primero
las conexiones (si es necesario consulte el datasheet del PIC16F877A para ver los
diagramas de pines) y luego paso por paso el tutorial para encontrar en algún punto el
error.
• CODIGO LENGUAJE C
18. En el paso 2 del asistente, en el menú Active toolsuite seleccionamos el tipo de lenguaje
con que vamos a trabajar, en este caso trabajaremos HI-TECH PICC Toolsuite. Se
verifican que en ”Toolsuite contents” no aparezcan las equis rojas antes mencionadas,
click en Siguiente. En el paso 3 como nombre al proyecto sugerimos “on_led_C” y como
carpeta C:\SIMUPIC. Damos click en siguiente una vez hecho esto. El paso 4 lo omitimos
dando click en siguiente. Verificamos por ultimo que la información dada sea correcta y
click en finalizar para que nos cree el proyecto.
19. Luego de haber creado el proyecto creamos un nuevo archivo de código en C que se
adicionara al proyecto. Click en File / New.
#include <pic.h>
#include "delay.h"
#include "delay.c"
void main(void)
{
TRISB=0; //Configura puerto B como salida
for(;;) //Ciclo infinito que prende y apaga el LED
{
RB7=1; //Manda 5 Voltios por el pin RB7 (Prende el LED)
DelayMs(1000); //Retardo de 1000Ms = 1seg
RB7=0; //Manda 0 Voltios por el pin RB7 (Apaga LED)
DelayMs(1000); //Retardo de 1seg
} //Vuelve a empezar el ciclo
}
21. Guardamos el archivo como “on_led_C” en la misma carpeta del proyecto, es decir
C:\SIMUPIC. Después de esto adicionamos al proyecto el archivo que acabamos de
generar.
22. Antes de Compilar copiamos los archivos delay.h y delay.c a la carpeta donde guardamos
el proyecto, es decir, C:\SIMUPIC. Algunas veces para compilar es necesario incluir estas
librerías y archivos como “Header Files”, para lo cual damos clic derecho en “Header
Files” en la ventana principal del proyecto (donde aparece además Source Files, Library
Files, etc) y seleccionamos add files. Los buscamos en la carpeta donde los copiamos y
les damos abrir. El delay.h se irá a Header Files y el delay.c a source files.
24. Una vez corregidos los errores si es que estos se presentaron, se vuelve a compilar
hasta que esta sea exitosa. El código on_led_C.HEX queda generado, archivo necesario
para proceder a programar el microcontrolador con el IC-PROG.
25. Se programa el microcontrolador con el IC-PROG tal lo hizo para la primera parte de este
tutorial, tal cual esta descrito en las memorias del curso, y efectúe las conexiones
mostradas en el diagrama compruebe que el dispositivo funcione correctamente.
26. De haber alguna incongruencia entre el comportamiento teórico y el real revise primero
las conexiones (si es necesario consulte el datasheet del PIC16F877A para ver los
diagramas de pines) y luego paso por paso el tutorial para encontrar en algún punto el
error.
DIAGRAMA DE CONEXIONES
CIRCUITO IMPRESO