Este documento presenta el informe de laboratorio N°1 de un curso sobre microcontroladores PIC. El objetivo del laboratorio era familiarizarse con las aplicaciones de compilación, simulación y programación para microcontroladores PIC, y aprender a definir y controlar terminales de entrada y salida. Como actividad, los estudiantes diseñaron e implementaron un semáforo simulado con luces LED y botones para automóviles y peatones utilizando un PIC16F84A. El informe explica conceptos teóricos como fuses, funciones de E/
⭐⭐⭐⭐⭐ (Práctica 6) DESARROLLO DE APLICACIONES CON PIC16F886Victor Asanza
✅ Objetivo: Aprender el funcionamiento del módulo Adaptador IDC LCD 2X16.
Conocer las diferentes funciones que tiene la librería LCD de MikroBasic.
✅ Duración: 30min
✅ Materiales:
⇨ Módulo de desarrollo PIC16F886
⇨ Módulo adaptador ICD LCD 2X16
✅ Descripción: El presente proyecto se basa en el módulo Adaptador IDC LCD 2X16.
Se va a conectar el módulo LCD en el conector IDC de 5X2 del modulo PIC16F886, en el cual se visualizará las cadenas de caracteres programadas.
⭐⭐⭐⭐⭐ (Práctica 2) DESARROLLO DE APLICACIONES CON #PIC16F886Victor Asanza
✅ Objetivo
▷ Aprender hacer uso del ADC del microcontrolador.
▷ Mostrar en los led el valor leído por el ADC en binario.
✅ Duración
▷ 30min
✅ Materiales
▷ Módulo de desarrollo PIC16F886
✅ Descripción
▷ El presente proyecto hace uso del potenciómetro PT y los LEDs.
▷ Como primer paso se hace la lectura del convertidor analógico-digital y este es almacenado en el microcontrolador.
▷ Se mostrará en los leds el valor leído por el ADC en binario.
✅ Desarrollo
▷ Para realizar la práctica planteada es necesario ubicar algunos JUMPER de tal manera que permita el uso de los componentes necesarios para esta práctica.
▷ El módulo Entrenamiento M.E.I&T04 puede utilizar una de dos fuentes de alimentación.
▷ Fuente de alimentación USB desde PC a través del cable USB.
▷ Fuente de alimentación EXT desde un Jack DC.
▷ Para hacer uso del potenciómetro PT tenemos que ubicar el JUMPER que está encima del potenciómetro en la posición EN (Enable=Habilitado) como se muestra en la figura.
▷ Para hacer uso de los led tenemos que ubicar el JUMPER que está debajo en la posición EN (Enable=Habilitado) como se muestra en la figura.
⭐⭐⭐⭐⭐ (Práctica 6) DESARROLLO DE APLICACIONES CON PIC16F886Victor Asanza
✅ Objetivo: Aprender el funcionamiento del módulo Adaptador IDC LCD 2X16.
Conocer las diferentes funciones que tiene la librería LCD de MikroBasic.
✅ Duración: 30min
✅ Materiales:
⇨ Módulo de desarrollo PIC16F886
⇨ Módulo adaptador ICD LCD 2X16
✅ Descripción: El presente proyecto se basa en el módulo Adaptador IDC LCD 2X16.
Se va a conectar el módulo LCD en el conector IDC de 5X2 del modulo PIC16F886, en el cual se visualizará las cadenas de caracteres programadas.
⭐⭐⭐⭐⭐ (Práctica 2) DESARROLLO DE APLICACIONES CON #PIC16F886Victor Asanza
✅ Objetivo
▷ Aprender hacer uso del ADC del microcontrolador.
▷ Mostrar en los led el valor leído por el ADC en binario.
✅ Duración
▷ 30min
✅ Materiales
▷ Módulo de desarrollo PIC16F886
✅ Descripción
▷ El presente proyecto hace uso del potenciómetro PT y los LEDs.
▷ Como primer paso se hace la lectura del convertidor analógico-digital y este es almacenado en el microcontrolador.
▷ Se mostrará en los leds el valor leído por el ADC en binario.
✅ Desarrollo
▷ Para realizar la práctica planteada es necesario ubicar algunos JUMPER de tal manera que permita el uso de los componentes necesarios para esta práctica.
▷ El módulo Entrenamiento M.E.I&T04 puede utilizar una de dos fuentes de alimentación.
▷ Fuente de alimentación USB desde PC a través del cable USB.
▷ Fuente de alimentación EXT desde un Jack DC.
▷ Para hacer uso del potenciómetro PT tenemos que ubicar el JUMPER que está encima del potenciómetro en la posición EN (Enable=Habilitado) como se muestra en la figura.
▷ Para hacer uso de los led tenemos que ubicar el JUMPER que está debajo en la posición EN (Enable=Habilitado) como se muestra en la figura.
⭐⭐⭐⭐⭐ (Práctica 3) DESARROLLO DE APLICACIONES CON #PIC16F886Victor Asanza
✅ Objetivo
▷ Aprender hacer uso del display cátodo común I&T.
▷ Implementar un contador decimal de un dígito.
✅ Duración
▷ 30min
✅ Materiales
▷ Módulo de desarrollo PIC16F886
▷ Dislay 7 segmentos
✅ Descripción
▷ El presente proyecto hace uso de un display de 7 segmentos cátodo común.
Implementaremos un contador decimal de un dígito cuyo incremento será mediante el botón MCLR.
⭐⭐⭐⭐⭐ (Práctica 4) DESARROLLO DE APLICACIONES CON #PIC16F886Victor Asanza
✅ Objetivo
▷ Aprender hacer uso de dos displays cátodo común.
▷ Implementar un contador decimal de dos dígitos.
✅ Duración
▷ 30min
✅ Materiales
▷ Módulo de desarrollo PIC16F886
▷ Dos dislays 7 segmentos cátodo común
✅ Descripción
▷ El presente proyecto hace uso de dos display de 7 segmentos cátodo común.
Implementaremos un contador decimal de dos dígitos cuyo incremento será mediante el botón MCLR.
⭐⭐⭐⭐⭐ (Práctica 5) DESARROLLO DE APLICACIONES CON #PIC16F886Victor Asanza
✅ Objetivo
▷ Aprender hacer uso de dos display cátodo común y el teclado 4x4.
✅ Duración
▷ 30min
✅ Materiales
▷ Módulo de desarrollo PIC16F886
▷ Dos dislays 7 segmentos cátodo común
▷ Teclado numérico 4x4
✅ Descripción
▷ El presente proyecto hace uso de dos displays cátodo común y un teclado 4x4.
Vamos a implementar un programa que muestra el código de la tecla presionada en los display.
⭐⭐⭐⭐⭐ (Práctica 3) DESARROLLO DE APLICACIONES CON #PIC16F886Victor Asanza
✅ Objetivo
▷ Aprender hacer uso del display cátodo común I&T.
▷ Implementar un contador decimal de un dígito.
✅ Duración
▷ 30min
✅ Materiales
▷ Módulo de desarrollo PIC16F886
▷ Dislay 7 segmentos
✅ Descripción
▷ El presente proyecto hace uso de un display de 7 segmentos cátodo común.
Implementaremos un contador decimal de un dígito cuyo incremento será mediante el botón MCLR.
⭐⭐⭐⭐⭐ (Práctica 4) DESARROLLO DE APLICACIONES CON #PIC16F886Victor Asanza
✅ Objetivo
▷ Aprender hacer uso de dos displays cátodo común.
▷ Implementar un contador decimal de dos dígitos.
✅ Duración
▷ 30min
✅ Materiales
▷ Módulo de desarrollo PIC16F886
▷ Dos dislays 7 segmentos cátodo común
✅ Descripción
▷ El presente proyecto hace uso de dos display de 7 segmentos cátodo común.
Implementaremos un contador decimal de dos dígitos cuyo incremento será mediante el botón MCLR.
⭐⭐⭐⭐⭐ (Práctica 5) DESARROLLO DE APLICACIONES CON #PIC16F886Victor Asanza
✅ Objetivo
▷ Aprender hacer uso de dos display cátodo común y el teclado 4x4.
✅ Duración
▷ 30min
✅ Materiales
▷ Módulo de desarrollo PIC16F886
▷ Dos dislays 7 segmentos cátodo común
▷ Teclado numérico 4x4
✅ Descripción
▷ El presente proyecto hace uso de dos displays cátodo común y un teclado 4x4.
Vamos a implementar un programa que muestra el código de la tecla presionada en los display.
⭐⭐⭐⭐⭐ (Práctica 1) DESARROLLO DE APLICACIONES CON #PIC16F886Victor Asanza
✅ Práctica 1
▷ Entradas y Salidas Digitales
✅ Objetivo
▷ Aprender a hacer uso del botón MCLR como entrada digital PORTE.3
▷ Mostrar valores binarios en los LEDs
✅ Duración
▷ 30min
✅ Materiales
▷ Módulo de desarrollo PIC16F886
✅ Descripción
▷ El presente proyecto hace uso del botón MCLR y los LEDs.
▷ Al presionar el botón MCLR se hace un incremento del valor mostrado en los LEDs
✅ Desarrollo
▷ Para realizar la práctica planteada es necesario ubicar algunos JUMPER de tal manera que permita el uso de los componentes necesarios para esta práctica.
libro conabilidad financiera, 5ta edicion.pdfMiriamAquino27
LIBRO DE CONTABILIDAD FINANCIERA, ESTE TE AYUDARA PARA EL AVANCE DE TU CARRERA EN LA CONTABILIDAD FINANCIERA.
SI ERES INGENIERO EN GESTION ESTE LIBRO TE AYUDARA A COMPRENDER MEJOR EL FUNCIONAMIENTO DE LA CONTABLIDAD FINANCIERA, EN AREAS ADMINISTRATIVAS ENLA CARREARA DE INGENERIA EN GESTION EMPRESARIAL, ESTE LIBRO FUE UTILIZADO PARA ALUMNOS DE SEGUNDO SEMESTRE
1. UNIVERSIDADDEL BIO-BIO
Facultadde Ingeniería
Departamentode IngenieríaEléctricayElectrónica
Laboratoriode Microcontroladores
INFORME DE
LABORATORIO N°1:
“Control de entradas/salidas”
Integrantes: Diego Anabalon
Juan A. Tapia
Sección: 02
Fecha Entrega: 22/04/19
Profesor: Samuel Bustos
2. UNIVERSIDADDEL BIO-BIO
Facultadde Ingeniería
Departamentode IngenieríaEléctricayElectrónica
Laboratoriode Microcontroladores
OBJETIVOS
Familiarizarse con las aplicaciones de Compilación, Simulación y
Programación para microcontroladores PIC.
Aprender a definir y controlar terminales de entrada y salida.
3. UNIVERSIDADDEL BIO-BIO
Facultadde Ingeniería
Departamentode IngenieríaEléctricayElectrónica
Laboratoriode Microcontroladores
MARCO TEORICO
1) Describir el microcontrolador utilizado y sus principales
características
El PIC16F84 es un microcontrolador a 8 bits de la familia PIC perteneciente
a la Gama Media (según la clasificación dada a los microcontroladores por la
misma empresa fabricante) Microchip.
Se trata de uno de los microcontroladores más populares del mercado
actual, ideal para principiantes, debido a su arquitectura de 8 bits, 18 pines, y un
conjunto de instrucciones RISC muy amigable para memorizar y fácil de entender.
Se ha usado en numerosas aplicaciones, que van desde los automóviles a
decodificadores de televisión.
Fig. N°1 “Imagen referencia PIC16F84”
4. UNIVERSIDADDEL BIO-BIO
Facultadde Ingeniería
Departamentode IngenieríaEléctricayElectrónica
Laboratoriode Microcontroladores
Especificaciones:
- Fabricante: Microchip
- Categoría de producto: Microcontroladores de 8 bits - MCU
- Núcleo: PIC
- Serie de procesadores: PIC16
- Ancho de bus de datos: 8 bit
- Frecuencia de reloj máxima: 20 MHz
- Tamaño de memoria del programa: 1.75 KB
- Tamaño de RAM de datos: 68 B
- Conversión analógico-digital en chip: No
- Voltaje de alimentación operativo: 2 V a 5.5 V
- Tamaño de ROM de datos: 64 B
- Temperatura de trabajo máxima: + 85 C
- Temperatura de trabajo mínima: - 40 C
- Número de entradas / salidas programables: 13
- Número de temporizadores: 1
- Empaquetado: Tube
- Tipo de memoria de programa: Flash
- Cantidad de empaque de fábrica: 25
- Voltaje de alimentación - Máx.: 5.5 V
- Voltaje de alimentación - Mín.: 4 V
2) Describir que son los #Fuses, y definir brevemente cada uno de ellos.
Son configuraciones de la forma de funcionamiento del microcontrolador, se
transfieren al PIC cada vez que se graba un programa. El PIC 16F84A posee
cuatro fusibles que son:
- Oscilador (OSC): Es el modo de oscilación que va a usar el PIC
- WDT (Watchdog Timer): El famoso “perro guardián” del PIC. Esta es una
capacidad del PIC de autoresetearse en situaciones donde por ejemplo hay
un bucle infinito.
- PWRT (Power Up Timer Reset): Si activamos este FUSE, lo que
conseguimos es que se genere un retardo en la inicialización del Pic. Esto
se usa para que la tensión se estabilice.
- CP (Code Protect): Lo único que hace es impedir que algun curioso se
apropie de tu creación no tiene efecto alguno en el correcto funcionamiento
del PIC.
5. UNIVERSIDADDEL BIO-BIO
Facultadde Ingeniería
Departamentode IngenieríaEléctricayElectrónica
Laboratoriode Microcontroladores
3) Describir la función de la directiva #use fast_io(X)
Esta directiva se utiliza para optimizar el código generado por el compilador
cuando se utilizan funciones de manejo de entrada y salida como “input(pin)”
definidas ya en CCS.
4) Describir qué hace la función set_tris_X(value)
Estas funciones permiten escribir directamente los registros tri-estado para la
configuración de los puertos (configurar pines de entrada y salida)
5) Explicar qué hacen y cómo se utlizan las siguientes funciones:
output_high(pin), output_low(pin), output_x(value), output_bit(pin,
value), input(pin)
- output_high(pin): pone a "1" el pin indicado. Ejemplo : Output_high(PIN_C0)
- output_low(pin): pone a "0" el pin indicado. Ejemplo : Output_low(PIN_D0)
- output_x(value): Se usa para controlar el puerto entero, está la función
dónde x es la letra del puerto a usar. Ejemplo, para usar el puerto b,
pondremos output_b(DATO);
- output_bit(pin, value): Los parámetros configura el PIN ingresado con el
estado del valor "0" o "1". Esta función se utiliza para cambiar los estados
del algún PIN. Ejemplo: output_bit(PIN_D0, 0)
- input(pin): El parámetro configura un PIN específico para determinar su
estado actual. Devuelve el estado "0" o "1" de la patilla indicada en pin.
Ejemplo: if(input(pin_a1)==1 || input(pin_a2)==1)
6) Explicar las configuraciones pull-up y pull-down para las conexiones
de entrada de un microcontrolador.
- PULL-UP: En la configuración pull up, cuando el circuito está en reposo, P1
sin pulsar, la caída de tensión es de 5V (HIGH), en cambio cuando
pulsamos P1 se deriva toda la corriente a masa y la caída de tensión es 0V
(LOW).
6. UNIVERSIDADDEL BIO-BIO
Facultadde Ingeniería
Departamentode IngenieríaEléctricayElectrónica
Laboratoriode Microcontroladores
- PULL-DOWN: En la configuración pull down, cuando el circuito está en
reposo como se muestra en la imagen de arriba, la caída de tensión en la
resistencia es prácticamente 0V (LOW), en cambio si pulsamos P1, dejará
pasar la corriente y tendremos una diferencia de potencial de 5V (HIGH).
Este es el uso normal del estado LOW y HIGH.
ACTIVIDAD DE LABORATORIO
Generar un programa en C que funcione de manera similar a un semáforo
de cruce peatonal, simulado con tres luces led para los automóviles, dos luces led
para los peatones, y dos botones.
El semáforo para los automóviles debe permanecer normalmente en verde
y el de los peatones en rojo, una vez que se detecte el accionamiento de uno de
los botones, el semáforo para automóviles debería permanecer en amarillo por
tres segundos, y luego en rojo por 10 segundos.
Luego de que el semáforo para automóviles esté en rojo, la luz para los
peatones debe cambiar a verde, y 3 segundos antes de cambiar a rojo debe
comenzar a parpadear.
Al volver a activar la luz roja para los peatones, debe activarse la luz verde
para los automóviles y permanecer así hasta que vuelva a presionarse uno de los
botones.
Utilizando el Software Proteus, diseñar el circuito necesario para
implementar el problema propuesto. Considerar en el diseño la disposición de
resistencias pull-up o pull-down para la conexión de los botones, y las resistencias
en serie con los leds. Simular el circuito con el programa realizado en C.
Grabar programa en el microcontrolador e implementar el diseño del
circuito.
7. UNIVERSIDADDEL BIO-BIO
Facultadde Ingeniería
Departamentode IngenieríaEléctricayElectrónica
Laboratoriode Microcontroladores
PROCEDIMIENTO REALIZADO
Materiales utilizados:
- 2 leds verdes.
- 2 leds rojos.
- 1 led amarillo.
- 5 resistencias de 330[Ω].
- 1 PIC 16F84A.
- Entrenador Digital.
- Multitester
- Cable de Timbre.
El circuito con que trabajamos es:
Fig. N°2: “Circuito en Proteus”
8. UNIVERSIDADDEL BIO-BIO
Facultadde Ingeniería
Departamentode IngenieríaEléctricayElectrónica
Laboratoriode Microcontroladores
CÓDIGO:
#include <16F628.h>
#FUSES NOWDT //"Perro guardian" en caso de entrar a un bucle infinito
#FUSES NOPROTECT //No proteccion
#FUSES INTRC //Oscilador interno del microcontrolador
#use delay(clock=4000000)
#use fast_io(A) //Directiva que me hace el codigo mas eficiente
#use fast_io(B)
void main(){
set_tris_A(0b00000011); //Defino entradas y salidas: 0=salida, 1=entradas
set_tris_B(0b00000000); //la b indica que estoy trabajando en binario
output_b(0b00000000);
delay_ms(1000); //ms=milisegundos
output_high(pin_a3); //se enciende el verde de los vehiculos
output_high(pin_b1); //se enciende el rojo de los peatones
while(true){
if(input(pin_a0) == 1){
output_low(pin_a3); //se apaga verde de autos
output_high(pin_b2); //enciende amarillo por 3s
delay_ms(3000);
12. UNIVERSIDADDEL BIO-BIO
Facultadde Ingeniería
Departamentode IngenieríaEléctricayElectrónica
Laboratoriode Microcontroladores
Luego montar el circuito y cargar el programa al PIC tenemos las siguientes
secuencias de imágenes donde podemos ver la ejecución del programa de forma
practica:
Fig. N°3: “Rojo peatones y verde automóvil”
Fig. N°4: “Rojo peatones y amarillo
automóvil”
15. UNIVERSIDADDEL BIO-BIO
Facultadde Ingeniería
Departamentode IngenieríaEléctricayElectrónica
Laboratoriode Microcontroladores
CONCLUSION
Los #FUSES son configuraciones de la forma de funcionamiento del
microcontrolador, se transfieren al PIC cada vez que se graba un programa
#use fast_io(X) se utiliza para optimizar el código generado por el
compilador cuando se utilizan funciones de manejo de entrada y salida.
Las funcionesset_tris_X(value) permiten escribir directamente los registros
tri-estado para la configuración de los puertos
output_high(pin): pone a "1" el pin indicado
output_low(pin): pone a "0" el pin indicado
output_x(value): Se usa para controlar el puerto entero
output_bit(pin, value): configura el PIN ingresado con el estado del valor "0"
o "1". Esta función se utiliza para cambiar los estados del algún PIN
input(pin): El parámetro configura un PIN específico para determinar su
estado actual. Devuelve el estado "0" o "1" de la patilla indicada en pin.