Informe 04 Puertos de Entrada de Un PIC

21
MICROCONTROLADORES Laboratorio N° 4 “Puertos de entrada de un PIC” Apellidos y nombres: - Elme Huayllas, Renzo. - Rudas Caja, Segundo V. - Vásquez Fernández, Jorge E. Profesor: Carlos Enrique Mendiola Mogollón Sección: C15 - 5 - B Fecha de realización: 03 de abril Fecha de entrega: 10 de abril

description

Informe 04 Puertos de Entrada de Un PIC

Transcript of Informe 04 Puertos de Entrada de Un PIC

Page 1: Informe 04 Puertos de Entrada de Un PIC

MICROCONTROLADORES

Laboratorio N° 4

“Puertos de entrada de un PIC”

Apellidos y nombres:- Elme Huayllas, Renzo.

- Rudas Caja, Segundo V.- Vásquez Fernández, Jorge E.

Profesor:Carlos Enrique Mendiola Mogollón

Sección:C15 - 5 - B

Fecha de realización: 03 de abrilFecha de entrega: 10 de abril

2014 - IOBJETIVOS

Page 2: Informe 04 Puertos de Entrada de Un PIC

MICROCONTROLADORES

- Utilizar las instrucciones para programar al microcontrolador PIC16F877.

- Utilizar software de desarrollo proporcionada por el fabricante.- Utilizar módulo de desarrollo.

FUNDAMENTO TEORICOMPLABMPLAB es un editor IDE gratuito, destinado a productos de la marca Microchip. Este editor es modular, permite seleccionar los distintos microcontroladores soportados, además de permitir la grabación de estos circuitos integrados directamente al programador.

Es un programa que corre bajo Windows, Mac OS y Linux. Presenta las clásicas barras de programa, de menú, de herramientas de estado, etc. El ambiente MPLAB® posee editor de texto, compilador y simulación (no en tiempo real). Para comenzar un programa desde cero para luego grabarlo al μC en MPLAB® v7.XX los pasos a seguir son:

1. Crear un nuevo archivo con extensión .ASM y nombre cualquiera

2. Crear un Proyecto nuevo eligiendo un nombre y ubicación

3. Agregar el archivo .ASM como un SOURCE FILE

4. Elegir el microcontrolador a utilizar desde SELECT DEVICE del menú CONFIGURE

Una vez realizado esto, se está en condiciones de empezar a escribir el programa respetando las directivas necesarias y la sintaxis para luego compilarlo y grabarlo en el PIC.

2 | P á g i n a

Page 3: Informe 04 Puertos de Entrada de Un PIC

MICROCONTROLADORES

Lenguaje AssemblerEl lenguaje ensamblador, o assembler (assembly language en inglés), es un lenguaje de programación de bajo nivel para los computadores, microprocesadores, microcontroladores y otros circuitos integrados programables. Implementa una representación simbólica de los códigos de máquina binarios y otras constantes necesarias para programar una arquitectura dada de CPU y constituye la representación más directa del código máquina específico para cada arquitectura legible por un programador. Esta representación es usualmente definida por el fabricante de hardware, y está basada en los mnemónicos que simbolizan los pasos de procesamiento (las instrucciones), los registros del procesador, las posiciones de memoria y otras características del lenguaje. Un lenguaje ensamblador es por lo tanto específico de cierta arquitectura de computador física (o virtual). Esto está en contraste con la mayoría de los lenguajes de programación de alto nivel, que idealmente son portátiles.

Un programa utilitario llamado ensamblador es usado para traducir sentencias del lenguaje ensamblador al código de máquina del computador objetivo. El ensamblador realiza una traducción más o menos isomorfa (un mapeo de uno a uno) desde las sentencias mnemónicas a las instrucciones y datos de máquina. Esto está en contraste con los lenguajes de alto nivel, en los cuales una sola declaración generalmente da lugar a muchas instrucciones de máquina.

Muchos sofisticados ensambladores ofrecen mecanismos adicionales para facilitar el desarrollo del programa, controlar el proceso de ensamblaje, y la ayuda de depuración. Particularmente, la mayoría de los ensambladores modernos incluyen una facilidad de macro (descrita más abajo), y son llamados macro ensambladores.

Fue usado principalmente en los inicios del desarrollo de software, cuando aún no se contaba con potentes lenguajes de alto nivel y los recursos eran limitados. Actualmente se utiliza con frecuencia en ambientes académicos y de investigación, especialmente cuando se requiere la manipulación directa de hardware, alto rendimiento, o un uso de recursos controlado y reducido.

Muchos dispositivos programables (como los microcontroladores) aún cuentan con el ensamblador como la única manera de ser manipulados.

3 | P á g i n a

Page 4: Informe 04 Puertos de Entrada de Un PIC

MICROCONTROLADORES

4 | P á g i n a

Page 5: Informe 04 Puertos de Entrada de Un PIC

MICROCONTROLADORES

InstruccionesA continuación en la Tabla 1 se muestran las instrucciones utilizadas para el presente laboratorio.

Tabla 1.

INSTRUCCIONES FUNCIÓN

ADDLW Literal El contenido del registro W se suma al literal de ocho bits y el resultado es colocado en el registro W.

ADDWF f,dSumamos el contenido del registro W con el registro f.Si d=0, el resultado se almacena en el registro W.Si d=1, el resultado se almacena en el registro de f.

ANDLW Literal Aplicamos la operación AND entre el literal de 8 bits y el registro W. El resultado es colocado en W.

ANDWF f,dAplicamos la operación AND entre el registro W y el registro f.Si d=0, el resultado se almacena en el registro W.Si d=1, el resultado se almacena en el registro de f.

BCF f,b Poner en nivel ¨0¨ el bit ¨b¨ del registro ¨f¨BSF f,b Poner en nivel ¨1¨ el bit ¨b¨ del registro ¨f¨CLRF f Limpia el contenido del registro ¨f¨.CLRW Limpia el registro W.

IORLW LiteralSe aplica un OR entre el contenido del registro W y los ocho bits del Literal. El resultado se coloca en el registro W.

IORLW f.dAplicamos la operación OR inclusiva entre el registro W y el registro f.Si d=0, el resultado se almacena en el registro W.Si d=1, el resultado se almacena en el registro de f.

MOVLW Literal El literal de ocho bits se carga en el registro W.

MOV f,dMovemos el contenido del registro f a un destino que va depender del valor de ¨d¨.Si d=0, el resultado se almacena en el registro W.Si d=1, el resultado se almacena en el registro de f.

MOVWF Movemos el dato del registro W al registro ¨f¨.

SUBLWRealiza la operación resta entre el contenido del registro W y el literal de ocho bits. El resultado que coloca en el registro W.

SUBWF f,dRealiza la operación resta entre el registro W y el registro f.Si d=0, el resultado se almacena en el registro W.Si d=1, el resultado se almacena en el registro de f.

XORLW LiteralRealiza la operación lógica XOR entre el contenido del registro W y el registro f. El resultado se queda en el registro W.

XORWF Realiza la operación lógica OR exclusivo entre el contenido del registro W y el Literal.Si d=0, el resultado se almacena en el registro W.

5 | P á g i n a

Page 6: Informe 04 Puertos de Entrada de Un PIC

MICROCONTROLADORES

Si d=1, el resultado se almacena en el registro de f.

6 | P á g i n a

Page 7: Informe 04 Puertos de Entrada de Un PIC

MICROCONTROLADORES

PROCEDIMIENTO Y RESULTADOSConfiguración de los pines del PORTB y PORTD

Figura 1

Figura 2

7 | P á g i n a

|

Page 8: Informe 04 Puertos de Entrada de Un PIC

MICROCONTROLADORES

Figura 3

Figura 4

Figura 5

8 | P á g i n a

Page 9: Informe 04 Puertos de Entrada de Un PIC

MICROCONTROLADORES

Figura 6

Figura 7

Figura 8

9 | P á g i n a

Page 10: Informe 04 Puertos de Entrada de Un PIC

MICROCONTROLADORES

Testeo de pines

Figura 9

Figura 10

10 | P á g i n a

Ingresa al banco 1

Entrada de ‘0’ ó ‘1’ logico

Page 11: Informe 04 Puertos de Entrada de Un PIC

MICROCONTROLADORES

Figura 11

Figura 12

11 | P á g i n a

Regresa al banco 0

Testea el estado lógico del RC0

Page 12: Informe 04 Puertos de Entrada de Un PIC

MICROCONTROLADORES

Figura 13

Figura 14

12 | P á g i n a

Cuando detecta ‘0’ Ingresa a ApagarLed

Cuando detecta ‘0’ en la entrada envía

un ‘0’ al RD4

Page 13: Informe 04 Puertos de Entrada de Un PIC

MICROCONTROLADORES

Figura 15

Figura 16

13 | P á g i n a

Regresa a Testearpin

Ingresa nuevamente a testear la entrada

RC0

Page 14: Informe 04 Puertos de Entrada de Un PIC

MICROCONTROLADORES

Figura 17

Simulación en Proteus

Pulsador = 0

Figura 18

14 | P á g i n a

Cuando en la entrada detecte ‘1’ ingresa a

PrenderLed y RD4=’1’

Led Apagado

Page 15: Informe 04 Puertos de Entrada de Un PIC

MICROCONTROLADORES

Pulsador = 1

Figura 19

15 | P á g i n a

Led Encendido

Page 16: Informe 04 Puertos de Entrada de Un PIC

OBSERVACIONES- Una persona puede realizar varios pulsos al solo presionar una

vez el pulsador porque a veces sucede que en ese pulso el contacto interior de este se puede realizar varias veces.

- En la simulación del PIC en el ISIS Proteus no es necesario colocarle un Cristal al PIC.

- Para conocer los pines del PIC 16F887A es necesario tener conocimientos del inglés técnico para identificar algunos términos de la hoja de datos (Datasheet) del componente por ejemplo sus características y la identificación de sus pines.

- Se observa que los puertos B, C y D están configurados por defecto como entrada digital, por ende si se configura estos puertos como entrada en el simulador paso a paso no se ve cambios.

Page 17: Informe 04 Puertos de Entrada de Un PIC

MICROCONTROLADORES

CONCLUSIONES- La frecuencia de trabajo del PIC con el Cristal de 20MHz es

demasiado rápido para realizar la programación de pulsos mediante un pulsador ya que el humano es demasiado lento comparado a esta frecuencia y con una simple programación de pulsos de nivel alto no es suficiente para tener un buen programa, más bien incluir en el programa un código que no permita seguir ejecutándose hasta que el pulsador regrese a su estado inicial.

- Es necesario utilizar la configuración Pull-Up o Pull-Down para poner pulsadores y enviarle señales lógicas en los pines designados como entrada al PIC.

- El uso de librerías al inicio de la programación, reduce el número de instrucciones innecesarias si es que no se usara librerías, además de ello muestra nuestro programa ordenado y de fácil entendimiento.

- El uso del programa Proteus v10 SP0, nos permitio simular el funcionamiento de nuestro programa, y con ello ver si cumple lo que había programado en el MPLAB (encender y apagar un LED) mediante el testeo de pines.

BIBLIOGRAFÍA- UTP. (2010). El Microcontrolador PIC16F877

Recuperado de: http://www.utp.edu.co/~eduque/arquitec/PIC16F877.pdf

17 | P á g i n a

Page 18: Informe 04 Puertos de Entrada de Un PIC

MICROCONTROLADORES

APLICACIÓN DE LO APRENDIDOHacer un programa que haga una cuenta binaria cada vez que se pulse el pulsador conectado en el pin RB2. La cuenta se visualizará por los LEDs conectados en el PORTC

Figura 20. Código de programación en el MPLAB.

Figura 21. Simulación de la programación del PIC 16F877A en el ISIS Proteus.

18 | P á g i n a