Ads

viernes, 3 de agosto de 2018

Controlar LEDS con el PIC16F84A


Configurando los puertos de entrada/salida digitales. El programa propuesto tomará las salidas  por el puerto A y mostrará la salida por la barra de leds conectado al puerto A, simulando las luces de una discoteca. También se realizarán algunas pruebas con operaciones en ensamblador, lectura de tablas y su simulación hasta alcanzar el principal objetivo de la práctica que es la implementación de la misma.

Objetivos:

  • Manipular el puertos A  para otorgar datos y utilizar esos datos en una tarea específica con impacto real.
  • Practicar de forma física con el PIC16F84A.
  • Utilizar retardos en el lenguaje ensamblador para evitar el rebote de los pulsadores.
  •  Hacer uso de la herramientas de simulación y diseño de circuitos para realizar una práctica más eficiente.

Materiales:



Procedimiento:
Planteamiento, asignación de salidas del puerto A:
Secuencia 1: Enciende en forma ascendente los 5 led conectados al puerto A.
El puerto A comienza apagado y se mueve a W el número que enciende el primer led del puerto A: B’00000001’ y se asigna un delay de 2s para que se observe el cambio en la salida, posteriormente se sigue cargando el numero que enciende el siguiente led hasta llegar a tener encendidos todos los bits del puerto A: B’00011111’.

Secuencia 2: Apaga en forma descendente los 5 led conectados al puerto A.
El puerto A comienza apagado y se mueve a W el número que apaga el primer led del puerto A B’00001111’ y se asigna un delay de 2s para que se observe el cambio en la salida, posteriormente se sigue cargando el numero que apaga el siguiente led hasta llegar a tener apagados todos los bits del puerto A: B’00000000’.

Secuencia 3: Realiza un secuencia ascendente y descendente solo con los bits pares (RA0, RA2 Y RA3).
El puerto A comienza apagado y se mueve a W el número que enciende el primer led del puerto A: B’00000001’ y se asigna un delay de 2s para que se observe el cambio en la salida, posteriormente se sigue cargando el numero que enciende el siguiente led par B’00000101’ hasta llegar a tener encendidos los siguientes bits del puerto A: B’00001101’ y por último se debe realizar la misma secuencia pero en sentido contrario apagando los leds hasta que todo el puerto de apague.

Repetir el ciclo.

Código:


Para realizar el programa se tuvo que crear una librería a la que se le asignó el nombre “RETARDO”, en la cual gracias a la ayuda del programa Delay Code Generator se crearon dos retardos, uno de dos segundos y otro de cinco segundos (DELAY2 y DELAY5 respectivamente).




Figura 1: Programa en ensamblador 



Simulación:
Se realizó una simulación en Proteus ISIS para verificar el correcto funcionamiento del programa y así poder implementarlo de manera física:


Figura 2: Simulación en proteus ISIS
Se cargó el programa  con el grabador MASTER PROG:


Figura 3. Grabador MASTER PROG.


Resultados:
Se ensamblo el circuito en un protoboard siguiendo el diagrama de simulación en proteus, se alimentó con una fuente variable GPS-3303 a 5v.



Figura 4: Implementación en un circuito físico.

Conclusiones:
Con base a los procedimientos realizados en esta práctica, nos fue posible llevar un correcto control y dirección del trabajo, aplicando los conceptos de implementación de software y hardware del microcontrolador previamente estudiados en el curso.
Los objetivos específicos de la práctica descritos en la introducción se cumplen satisfactoriamente; se implementaron de forma eficiente los diferentes programas de simulación y de grabación del PIC y asu vez, se hizo un uso correcto de los retardos dentro del programa principal del PIC, logrando de esta manera, que el microcontrolador realizara correctamente la tarea para la cual fue programado.

Understanding I2C: The Versatile Communication Protocol for Connected Devices

In the fast-paced world of technology, seamless and efficient communication between electronic components is vital. As devices become increa...