Encendido De Leds
FACULTAD DE INGENIERIA EN
EN ELECTRICIDAD Y COMPUTACIÓN
FIEC
[pic]
PRACTICAS DE LABORATORIO DE MICROCONTROLADORES
Preparadas por:
Ing. Carlos Valdivieso A.
Revisadas por:
Ing. Hugo Villavicencio V. Mayo 23, 2011
PRACTICA 1
Encendido de LEDS
[pic]
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) CREACIÓN 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)CREACIÓN 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 continuación:
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 # debeindicar el número 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 práctica del día. La misma que deberá ser borrada al finalizar la práctica.
2) Abra el programa MPLAB y seleccione FILE(NEW y aparecerá una ventana sin título.
[pic]
3) En Untitled digite elsiguiente 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 parámetros de
; Configuración
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 bancoconteniendo 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
MOVLWB'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 Project(Wizard
[pic]
6) Presione Siguiente.[pic]
7) De la ventana desplegable seleccione el microcontrolador 16F887 y presione Siguiente.
[pic]
8) Si tiene seleccionado Microchip MPASM Toolsuite (En caso de no tenerlo seleccionado tendrá que hacerlo) presione siguiente.
[pic]
9) Con el botón de BROWSE seleccione su directorio de trabajo.
[pic]
10) En Nombre Ingrese el nombre del proyecto p1_led y seleccione el...
Regístrate para leer el documento completo.