Anda di halaman 1dari 16

PRACTICA 1

Encendido de LEDS

OBJETIVO:

Familiarizarse con el funcionamiento del MPLAB y del Proteus, para lo


cual se utilizar un programa sencillo que permite encender LEDS en el
Puerto B mediante el cambio de un interruptor en el Puerto A.

CONTENIDO:

a) CREACIN DE UN PROYECTO NUEVO CON EL MPLAB


b) EJECUCION PASO A PASO
c) OBSERVACION DE REGISTROS VARIOS
d) GRABACION DE PIC
e) SIMULACION EN PROTEUS

a) CREACIN DE UN PROYECTO NUEVO


Lo primero que se necesita es un archivo .asm que puede ser creado en cualquier procesador de texto o
en el ambiente del MPLAB. Esta segunda alternativa combinada con el Project Wizard es la que se
sigue a continuacin:

1) En el directorio C: (o en una carpeta de trabajo dentro del directorio C:) cree una carpeta de
trabajo G#NN. Donde G es por Grupo # debe indicar el nmero de grupo y NN son las iniciales de los
nombres de los integrantes del grupo. Ejemplo: G5JM pertenece al Grupo #5 de Jose y Maritza. Esta
ser su carpeta temporal de trabajo para la prctica del da. La misma que deber ser borrada al
finalizar la prctica.

2) Abra el programa MPLAB y seleccione FILENEW y aparecer una ventana sin ttulo.

3) En Untitled digite el siguiente programa:

;PROGRAMA A1

;********************************************************************
; LECTURA DE SWITCH EN PORTA Y ENCENDIDO DE LEDS EN PORTB
;********************************************************************
; NOMBRE: p1_led.asm
; FECHA: 26/05/2010
; VERSION: 1.00
; PROGRAMADOR: Carlos Valdivieso
;********************************************************************
; DESCRIPCION:
; Se coloca un interruptor en RA0. Cuando RA0=1 en el Puerto B
; deber leerse el valor hexadecimal AA y cuando RA0=0 deber
; cambiar al valor hexadecimal 55.
;********************************************************************
LIST p=16F887 ; Tipo de microcontrolador
INCLUDE P16F887.INC ; Define los SFRs y bits del
; P16F887

__CONFIG _CONFIG1, _CP_OFF&_WDT_OFF&_XT_OSC


; Ingresa parmetros de
; Configuracin

errorlevel -302 ; Deshabilita mensajes de


; Advertencia por cambio
; Bancos
;*********************************************************************

; INICIO DEL PROGRAMA

ORG 0x00 ; Comienzo del programa (Vector de Reset)

; SETEO DE PUERTOS

BANKSEL TRISB ; selecciona el banco conteniendo TRISB


CLRF TRISB ; puerto B configurado como salida
BANKSEL ANSEL
CLRF ANSEL ; configura puertos con entradas digitales
CLRF ANSELH ; configura puertos con entradas digitales
BANKSEL PORTB ; selecciona el puerto B como salida
CLRF PORTB
CLRF PORTA
; DESARROLLO DEL PROGRAMA

LOOP
BTFSS PORTA,0 ; prueba del bit 0 del puerto A
GOTO NUEVO_VALOR
MOVLW B'10101010' ; mueve 0xAA al registro W
MOVWF PORTB ; pasa el valor al puerto B
GOTO LOOP
NUEVO_VALOR
MOVLW B'01010101' ; mueve 0x55 al registro W
MOVWF PORTB ; pasa el valor al puerto B
GOTO LOOP

END ; fin del programa

4) Guarde el documento creado con en su carpeta de trabajo con el nombre de p1_led.asm.


5) Seleccione ProjectWizard
6) Presione Siguiente.

7) De la ventana desplegable seleccione el microcontrolador 16F887 y


presione Siguiente.
8) Si tiene seleccionado Microchip MPASM Toolsuite (En caso de no
tenerlo seleccionado tendr que hacerlo) presione siguiente.
9) Con el botn de BROWSE seleccione su directorio de trabajo.

10) En Nombre Ingrese el nombre del proyecto p1_led y seleccione el


botn Guardar.
9) Presione siguiente.

10) Seleccione su programa p1_led.asm y pulse el botn ADD.

11) Luego presione siguiente.


12) Presione Finalizar.

13) Seleccione DebuggerSelect ToolMPLAB SIM y se habilitarn los


conos que permiten la ejecucin paso a paso.
14) Seleccione ConfigureConfiguration Bits y observe los valores de
configuracin que deben de coincidir con los ingresados con la
directiva _config en el programa.

15) Para complilar el programa asm, seleccione ProjectBuild All.


Si la compilacin es exitosa deber aparecer el archivo .asm con una
flecha verde que seala la primera instruccin a ejecutarse. En caso
de errores de compilacin habr que corregirlos antes de continuar.
Haciendo doble clic en el error lo conduce al sitio del error.

EJECUCION PASO A PASO

Una vez compilado el programa se podr ejecutar paso a paso. Para lo cual es recomendable ordenar el
espacio de trabajo segn las siguientes recomendaciones:

1) Con ViewSpecial Function Registers abra los registros de funciones especiales SFR y
colquelos del lado derecho tal como se muestra en la grfica siguiente:
2) Ahora podr ejecutar paso a paso el cdigo con DebuggerStep into
O su cono equivalente F8. En los registros SFR se podrn observar
los cambios que sufren los registros de acuerdo con la ejecucin de
cada instruccin.

3) Analice el comportamiento de cada uno de los conos del MPLAB SIM


(Que son aquellos que aparecen cuando se selecciona DebuggerSelect
ToolMPLAB SIM y en el ANEXO DE RESPUESTAS A PRACTICA 1, indique el
funcionamiento de cada uno de ellos

OBSERVACION DE REGISTROS VARIOS

1) Con ViewFile Registers se pueden observar los contenidos de los


cuatro bancos de datos del 16F887
2) Con ViewEEPROM observar el contenido de las 256 posiciones de
memoria EEPROM del 16F887.

3) Con ViewHardware Stack observar los 8 niveles de stack


disponibles en los microcontroladores de la gama media.
4) Con ViewProgram Memory pueden mirarse detalles de cada una de
las instrucciones en la memoria de programa.

c) PROGRAMACION

Como resultado de la compilacin debi haberse generado un archivo


.hex que es el ejecutable que se usa para programar el PIC. Este
procedimiento lo explicar el ayudante acadmico siguiendo los
siguientes pasos:

1) Se conecte el Programador Pic Start Plus en el puerto serial.


2) En el MPLAB seleccione PROGRAMMERSelect ProgrammerPICSTART
Plus
3) Seleccione ProgrammerEnable Programmer y se activar el
programador.
4) Con ProgrammerProgram se programar el PIC (Se puede observar
el titileo del LED del programador mientras se realiza la
programacin del PIC).

d) SIMULACION EN PROTEUS

La simulacin en el Programa PROTEUS nos permite una excelente


visualizacin del comportamiento del PIC programado dentro del
circuito utilizado. Siga los siguientes pasos:

1) En el Programa PROTEUS abra ISIS:

2) Seleccione Component y luego P. Esto abrir una ventana de


seleccin de componentes en donde escogeremos los que vamos a
utilizar
3) En Keywords ingresamos 16F887 y hacemos doble clic en el
elemento respectivo de la derecha, esto transfiere el
componente a nuestro ambiente de trabajo. Hacemos lo mismo con
switch, res 330R y led green, para que tambin se transfieran.

4) Guarde la hoja de ISIS con el nombre p1_led

5) Con estos elementos se puede empezar a dibujar el circuito


arrastrando y pegando elementos del espacio de trabajo al plano
de dibujo.

6) Acercando el Mouse a los terminales de los componentes se los


va uniendo. El bus se lo hace con el cono de buses del margen
izquierdo del proteus y las etiquetas se crean con el cono LBL
del mismo margen. El resultado se observa en la siguiente
grfica:
7) Haga un clic derecho en el centro del Microcontrolador y en la
ventana que se abre seleccione en la lnea de Program File el
cono de la carpeta y aparecer un directorio de bsqueda que
tenemos que hacerlo apuntar al archivo p1_led.hex que se form
como resultado de la compilacin y que debe de estar en su
carpeta de trabajo. Luego presione OK y est listo para la
simulacin
8) Presione PLAY en la parte inferior izquierda de la pantalla de
ISIS y empezar la simulacin. Observe que haciendo clic sobre
los switches causar que estos se abran o cierren y afecten el
valor de prendido o apagado de los LEDS.

Fin de Prctica 1
ANEXO DE RESPUESTAS A PRACTICA 1

INTEGRANTE 1: Joselyn Torres.


PARALELO: 8\1 Electrnica y Telecomunicaciones.

Indique la funcin que desempean cada uno de los


siguientes conos:

Run.- manda a correr el programa.

Halt.- detiene el programa.

Step Into.- nos permite entrar al programa.

Step Over.- salta por alto cualquier lnea del cdigo.

Step Out.- salir del programa.

Reset.- inicia de cero el programa.

Anda mungkin juga menyukai