Está en la página 1de 21

UNIDAD 2: PASO 3 - DISEÑAR LA AUTOMATIZACIÓN MEDIANTE

MICROCONTROLADORES

ELABORADO POR:
LUIS FERNANDO RODRIGUEZ
Código: 1193510271
CRISTIAN CAMILO ALARCON ACUÑA
Código: 1056929853

Presentado a:
IVAN GUSTAVO PENA

GRUPO: 309696_58

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ESCUELA DE CIENCIAS BASICAS, TECNOLOGIA E INGENIERIA
CEAD TUNJA
ABRIL 2020
INTRODUCCION

En la actualidad existen muchas herramientas de simulación para realizar


montajes de microprocesadores y observar su funcionamiento, por eso en este
trabajo se da a conocer los conceptos básicos, estructura, funciones del
microprocesador pic16f84a. con la ayuda del elemento principal como el
microcontrolador PIC 16F877A y varios elementos como resistencias, displays,
leds, etc. a su vez se realizó la programación del componente con la ayuda de
MPLAB También se da solución al paso tres correspondiente a la unidad dos el
cual pide la elaboración de un circuito para un laboratorio biológico en donde
cumple unos parámetros específicos.
OBJETIVOS

Generales

• Aprender el manejo básico en cuanto a la programación de


microcontroladores en MPLAB.
• Entender el funcionamiento de un circuito con la inclusión del PIC, su
arquitectura y modos de conexión
• Controlar el manejo de elementos y equipos por medio de la
automatización.
• Integrar mediante la simulación los componentes adecuados que
permitan obtener los resultados esperados.

Específicos

• Introducirse en los contenidos más fundamentales relacionados con la


creación de proyectos

• Mediante la utilización del programa proteus y mplab se realizara el diseño


de cada uno de los ejercicios solicitados creando la programación correcta
según sea el caso en cada uno.
Revisión del Marco Teórico de la Unidad
El estudiante de forma individual deberá leer y apropiarse de los contenidos de
las lecturas tanto referencias sugeridas como complementarias que se
encuentran en el entorno de conocimiento, referentes a la unidad 2.
MICROPROCESADOR.
Es un circuito electrónico que actúa como Unidad Central de Proceso (CPU) de
una computadora. Llamados por muchos como el “cerebro”. Es un circuito
microscópico constituido por millones de transistores integrados en una única
pieza plana de poco espesor. El microprocesador (micro) se encarga de realizar
todas las operaciones de cálculo y de controlar lo que pasa en la computadora
recibiendo información y dando órdenes para que los demás elementos trabajen.
Algunas partes del microprocesador
ALU. ("Aritmetic - Logic Unit") que traducido es unidad aritmética y lógica. Esta
se encarga de realizar todas aquellas operaciones necesarias como cálculos de
operaciones (multiplicaciones, divisiones, sumas, etc.) y comparaciones entre
valores (mayor que, menor que, igual que, etc.).
Registros. Zonas de memoria especiales para almacenar información
temporalmente.
Unidad de Control (U.C). se encarga de organizar y manejar todos los procesos
tales como interpretar contenidos de las posiciones de la memoria RAM
y memoria ROM, control de puertos, acceso a unidades de disco, ejecución de
las instrucciones del software, entre otras.
Bus interno. Transportan información digital dentro del chip.
Memoria caché. Memoria ultrarrápida que ayuda al micro en operaciones con
datos que maneja constantemente.
Encapsulado. Es el recubrimiento del chip para darle consistencia e impedir su
deterioro. Esta envoltura puede ser de cerámica o plástico.
Determinada, sus líneas de entrada/salida se conectan a los sensores y
actuadores del dispositivo a controlar y, debido a su pequeño tamaño, suele ir
integrado en el propio dispositivo al que gobierna.
MICROCONTROLADORES PIC DE 8 BITS
Se distinguen porque la longitud de los datos nativos que manejan las
instrucciones es de 8 bits, que se corresponde con el tamaño del bus de datos y
el de los registros de la CPU. Clasificación de microcontroladores
La gama Base
Los modelos de esta gama se caracterizan porque responden a un juego de 33
instrucciones máquina de 12 bits de longitud cada una y disponen de una Pila
con sólo dos niveles de profundidad. Sus capacidades de memoria al igual que
el número de recursos internos son reducidas, lo que limita su campo de
aplicación. Está compuesta por 14 modelos, de los cuales 6 están encapsulados
sólo con 6 patitas, por lo que se les suele apodar “enanos”.
La gama Media
Los microcontroladores que componen esta gama responden a un repertorio de
35 instrucciones con un formato de 14 bits de longitud cada una, teniendo la Pila
8 niveles de profundidad y disponiendo de un vector de interrupción. Es una
gama numerosa que alcanza en la actualidad 71 modelos diferentes, que
comienza con los que se hallan encapsulados con 8 patitas y llegan hasta los
que tienen 68 patitas. En la Figura 1.12 se presentan los aspectos más
relevantes de algunos PIC de la gama Media de 8 patitas y otros con más.

La gama Mejorada
Dispone de un repertorio de 77 instrucciones de 16 bits de longitud cada una,
una Pila con 31 niveles de profundidad y 2 vectores de interrupción. Los modelos
PIC que conforman esta gama responden a la nomenclatura PIC18Xxxx,
dedicándose la Figura 1.14 al significado de cada uno de los campos.
MICROCONTROLADORES PIC DE 16 BITS
Los requerimientos técnicos que exigen las modernas aplicaciones precisan
microcontroladores más potentes que los de 8 bits y, para poderlas atender,
Microchip ha diseñado nuevos dispositivos que manejan en modo nativo datos
de 16 bits y que se integran en arquitecturas de mayor complejidad. Hay dos
grandes gamas de microcontroladores de 16 bits:
Gama de microcontroladores MCU de 16 BITS
La primera familia de esta gama comercializada por Microchip es la de los
modelos con la nomenclatura genérica PIC24F que se fabrican con una
tecnología de 0,25 micras, alcanza un rendimiento de 16 MIPS a 32 MHz y está
orientada a resolver aquellos diseños que no podían ser cubiertos con los
PIC18Xxxx.
Gama de microcontroladores DSC de 16 bits
Estos microcontroladores de 16 bits añaden a las prestaciones típicas de los
MCU anteriores los recursos hardware y software propios de los DSP
(Procesadores Digitales de Señales) lo que permite utilizarlos en las
extraordinarias aplicaciones relacionadas con el procesado digital de señales.
Intentan aprovechar todas las ventajas de los microcontroladores MCU y de los
DSP y Microchip les identifica con el nombre DSC: Controladores Digitales de
Señales.
El sensor de luminosidad: LDR
Un sensor de luminosidad tipo LDR es un elemento cuya resistencia entre bornes
varía en función de la luz que incide sobre su superficie. Así, cuando no existe
luz presenta una resistencia infinita y su resistencia va decreciendo, hasta llegar
a cero, según va aumentando la luz. Su uso puede ser interesante en todas
aquellas aplicaciones en las cuales el hecho de existir más o menos luz
determine cierto comportamiento del sistema. Por ejemplo, la iluminación de la
entrada a una vivienda, de una habitación o de un criadero de peces, puede
regularse automáticamente de modo que se active una o varias bombillas con la
detección de determinados niveles de luminosidad. Es un elemento sin polaridad
y se puede encontrar con diferentes diámetros según el rango de valores de
luminosidad que sea capaz de diferenciar.

PROTEUS
Proteus es una aplicación para la ejecución de proyectos de construcción de
equipos electrónicos en todas sus etapas: diseño del esquema electrónico,
programación del software, construcción de la placa de circuito impreso,
simulación de todo el conjunto, depuración de errores, documentación y
construcción.

MICROCONTROLADOR.
Es un circuito integrado de alta escala de integración que incorpora la mayor
parte de los elementos que configuran un controlador y que contiene todos los
componentes fundamentales de un ordenador, aunque de limitadas prestaciones
y que se suele destinar a gobernar una sola tarea. En su memoria sólo reside un
programa que controla en funcionamiento de una tarea
Componentes
Procesador o CPU (Unidad Central de Proceso).
Memoria RAM para contener los datos.
Memoria para el programa tipo ROM/EPROM/EEPROM/Flash.
Líneas de E/S para comunicarse con el exterior.
Diversos módulos para el control de periféricos (temporizadores, puertos serie y
paralelo, CAD: Conversores Analógico/Digital, CDA: Conversores
Digital/Analógico, etc.).
Generador de impulsos de reloj que sincronizan el funcionamiento de todo el
sistema.
PASÓ 3
Problema
Se plantea como proyecto desarrollar el diseño de un sistema de control de un
laboratorio biológico: en este paso se desea controlar la apertura y cierre de las
puertas de laboratorio utilizando motores DC, como también el control de la
luminiscencia de las bacterias que se encuentran en el laboratorio, por lo que el
grupo de trabajo colaborativo diseña el sistema de control utilizando
Microcontroladores, donde utilizan el lenguaje de programación de bajo nivel,
uso de software de desarrollo de software y entornos de simulación.
Propuesta circuito en proteus
Variables
Tiempo
Direccionamiento puertas

Teniendo en cuenta las variables se diseña un circuito que permite programar


los microprocesadores PIC16F84 y PIC16F877, el primero para
contabilizar el tiempo requerido para que los motores acciones las puertas
en las direcciones indicadas.
El segundo se conecta a una pantalla lcd donde se va a visualizar los procesos
que se presenta en los motores de las puertas especialmente el
direccionamiento.

Código assembler
1 .Para el laboratorio se debe diseñar un reloj utilizando 3 displays de 7
segmentos (El grupo escoge si es de ánodo o cátodo común), para presentar la
hora desde 0:00 hasta 9:59 cada número del reloj es un display de 7 segmentos,
cada LED será la salida del Microcontrolador PIC16F84A.

;**** Luis Fernando Rodriguez ****


List p=16f84A
#include 16f84A.inc
__CONFIG __ CP_oFF & _ WDT__OFF & __PWRTE_ON & _XT_OSC
;**** Definicion de variables****
Unidad equ 0x0C
Decena equ 0x0D
Centena equ 0x0E
Contador1 equ 0x0F
Contador2 equ 0x0x10
Contador equ 0x11

MuestroU equ 2
MuestroD equ 1
MuestroC equ 0

;****Inicio del Micro****


Reset
org 0x00
goto Inicio
;**** Tabla de conversión BDC a 7 Segmento ****
Org 0x05
BCD7SEG
Addwf PCL,1
DT 0x3, 0x06, 0x5B, 0x4F, 0x66, 0x6D, 0x07, 0xFF, 0xF

;**** Configuracion de puertos ****


Inicio
Bsf STATUS, RP0
Clrf TRISA
Clrf TRISA
Clrf TRISB
bcf STRAUST, RP0
Clrf PORTA
Clrf Unidad
Clrf Decena
Clrf Centena
goto Actualizo_Display
;**** Testeo de pulsador ****
Bucle
Incf Unidad,1
Mov1w d’10’
Subwf Unidad 0
Btfss STATUS, Z
goto Actualizo_Display
clrf Unidad
incf Decena,1
movlw d’10’
subwf Decena ,0
btfss STATUS,Z
goto Actualizo_Display
clrf Decena
incf Centena,0
btfss STATUS,z
goto Actualizo_Display
clrf Decena
incf Centena,1
movlw d’10’
subwf Centena,0
btfss STATUS,Z
goto Actualizo_Display
clrf Centena
;**** se multiplexan los Display****
Actualizo_Display
movlw d’20’
movwf Contador

Refresco
Movlw Unidad
call BCD/SEG
bcd PORTA, MuestreoC
movfw PORTB
bsf PORTA, MuestroU
call Demora_5ms
movfw Decena
call BCD7SEG
bcf PORTA,MuestroU
movwf PORTB
bcf PORTA,MuestroD
call Demora_5ms
movdw Centena
call BCD7SEG
bcf PORTA, MuestroD
movwf PORTB
bsf PORTA,MuestroC
call Demor_5ms
decfsz Contador,1
goto Refresco
goto Bucle
;****Demora****
Demora_5ms
movlw 0xFF
movwf Contador1
Repeticion1
Movlw 0x05
Movwf Contador2
Repeticion2
Decfsz Contador2,1
goto Repeticion2
decfsz Contador1,1
goto Repeticion1
return

end
2 Utilizando el PIC16F877 se realiza el control de apertura de las puertas de
laboratorio, este elemento envía el comando para que se muevan 3 motores que
hacen parte de las 3 puertas del laboratorio en sentido hacia la izquierda y
derecha que cumplen el funcionamiento de apertura y cierre, la apertura esta
sincronizada con el reloj diseñado anteriormente utilizando el PIC16F84A que ya
está diseñado, este Microcontrolador envía el comando para que el PIC16F877
haga el control de la siguiente forma:
Iniciando el reloj en 0:00 no se realiza la apertura de ninguna puerta
En 0:59 se hace la apertura de la primera puerta por lo que gira el primer motor
hacia la izquierda
En 1:59 se cierra la primera puerta, se mueve primer motor hacia la izquierda y
el segundo motor se mueve hacia la derecha haciendo la apertura de la segunda
puerta
En 2:59 se cierra la segunda puerta, movimiento del segundo motor hacia la
izquierda y el tercer motor se mueve hacia la derecha, apertura de la tercera
puerta
En 3:59 se cierran todas las puertas
Tenga en cuenta que el tiempo de ejecución del movimiento de cada motor para
la apertura es de 22 segundos y para el cierre es de 26 segundos, dando tiempo
para que los empleados puedan salir fácilmente y se haga la descontaminación
Se debe hacer un paro de emergencia por si ocurre alguna catástrofe, para ello
con un pulsador se efectúa el cierre de las puertas para evitar posibles
exposiciones
Se debe repetir el ciclo hasta las 7:59, repitiendo todo el proceso nuevamente

file: main.c
Author: Luis Fernando Rodríguez
*créate on 8/04/20

#include ´´pic16f877.h´´
#include ´´system.h´´
#include ´´TIMER.h´´
//variables globales
Viod main (void)

TRISB=0X00 //configura el puerto B como puerto de salida


PORT=0x00; //pone a cero todas las salidas del puerto B
TRISD=0XFF; //configura el puerto D como entrada
PORTD=0X00; //pone a cero todas las entradas del puerto B
Timer500ms (); //configura los registros del TIMER 2
While (1)

//comparador para abrir la puerta 1 a las 00:59


If (PORTDbist.RD0==1 && PORTDbits.RD1==0 && PORTbits.RD2== &&
PORTDbits.RD3==0)

PORTBbits.Rb0=0; //activa el motor de la puerta1


PORTBbits.RB1=1; //sentido de giro hacia la izquierda
Timer_22s(); //retardo de 22 segundos para que la puerta se abra
PORTBbits.RB1=0 //detiene el motor de la puerta 1

//comparador para abrir la puerta 2 y cerrar la puerta 1 a la 1:59


If (PORTDbits.RD0=1; //activa el motor de la puerta 1

PORTBbits.RB0=1; //activa el motor de la puerta 1


PORTBbits.RB1=0; //para cerrarla
PORTBbits.RB2=0; //activa el motor de la puerta 2
PORTBbits.RB3=1; //para abrirla
Timer_22(); //retardo de 22segundos para que la puerta 2 se abra y la
puerta 1 continue
PORTBbits.RB3=0; //se detiene puerta 2
Timer_26s(); //retardo 4s para que la puerta 1 se termine de cerrar
PORTBbits.RB0=0; //se detiene puerta 1
//comparador para abrir la puerta 3 y cerrar la puerta 2 a la 2:59
If (PORTBbitsRD0==0 && PORTBbits.RD1==0 && PORTBbits.RD2==1 &&
PORTDbits.RD3==0)

PORTBbits.RB2=1; //activa el motor de la puerta 2


PORTBbits.RB3=0; //para cerrarla
PORTBbits.RB4=0; //activa el motor de la puerta 3
PORTBbits.RB5=1 //para abrirla
Timer_22s(); //retardo de 22 segundos para que la puerta 3 se abra y
la puerta dos continue
PORTBbits.RB5=0; //la puerta 3 se detiene
Timer_26(); //retardo de 4s para que la puerta 2 se termine de cerrar
PORTBbits.RB2=0; //se detiene la puerta 2

//comparador para abrir la puerta 3 y cerrar la puerta 2 a la 3:59


If (PORTBbits.RD0== && PORTBbits.RD1==0 && PORTBbits.RD2==0 &&
PORTBbits.RD3==1)
PORTBbits.RB4=1; //activa la puerta 3
PORTBbits.RB5=0; //para cerrarla
Timer_22s(); //retardos de
Timer_26(); //26 segundos para cerrar la puerta
PORTBbits.RB4=0; //se detiene la puerta 3
CONCLUSIONES

Se logra la elaboración del circuito en proteus para dar solución al problema


planteado. gracias a la llegada del microcontrolador permitió ejecutar labores y
tareas que antes requerían de procesos más complejos o de más personas en
su elaboración, con la ayuda e integración de programas que permitían nuevas
formas de hacer operaciones cotidianas
Esta fase permite investigar y desarrollar situaciones aplicadas a proyectos que
a su vez son interesantes aportando el desarrollo tecnológico de la humanidad.
Mediante programas especializados en programación de microprocesadores se
definen los códigos necesarios para la simulación.
BIBLIOGRAFÍA

Angulo, U. (2001). Microcontroladores PIC: diseño práctico de aplicaciones.


Primera parte: PIC12F508 y PIC16F84A. Lenguajes Ensamblador, C y PBASIC
(4ª. Ed.). McGrau-Hill. (Pp. 1-48, 81-106)Recuperado de:
http://bibliotecavirtual.unad.edu.co:2460/lib/unadsp/detail.action?docID=319484
9
Eduardo, G. B. (2008). Compilador CCS y Simular Proteus para
Microcontroladores Pic Cap. 1. México d.f., Alfa Omega - Marcombo. (Pp. 23-
55). Recuperado de
https://tecnologialsb.files.wordpress.com/2017/05/compilador-c-ccs-y-
simulador-proteus-para-microcontroladores-pic.pdf
Dogan, I. (2007). Programación de Microcontroladores PIC. Ed. Marcondo. (Pp.
13-48) Recuperado de:
http://bibliotecavirtual.unad.edu.co:2460/lib/unadsp/reader.action?ppg=4&docID
=3175505&tm=1527544841827

También podría gustarte