Está en la página 1de 16

Unidad 2

Paso 3: Diseñar la automatización mediante Microcontroladores.

Presentado a:
NESTOR JAVIER RODRIGUEZ
Tutor

Entregado por:

WESTHLY JOSE SARABIA CARRILLO (1065837909)


JASON PALÁCIO RUIZ
IOHAM MORILLO (77029746)
GABRIEL ENRIQUE MANGONES (1104866293)
HUMBERTO ANTONIO ROJAS (1065658268)

Grupo: 309696_23

Universidad Nacional Abierta Y A Distancia - UNAD


Escuela De Ciencias Básicas, Ingenierías Y Tecnologías
Microprocesadores y Microcontroladores
12 de abril de 2019
Valledupar-Cesar
INTRODUCCIÓN

Estudiar y emplear dispositivos microcontroladores, permitiéndonos


conocer e identificar su arquitectura, funcionabilidad, aplicación y
simulación del mismo, a través del desarrollo del proyecto suministrado
por la guía de actividades.
RESUMEN

Se le dará solución al proyecto planteado, a través de los


microcontroladores, conociendo en el transcurso del mismo, su
arquitectura, funciones y aplicaciones en las demás áreas. El programa
desarrollado cumplirá con los parámetros del proyecto, en donde se
evidenciara con capturas de imágenes, su circuito y su simulación, y cabe
resaltar, que dicho programa, será explicado a través de un video,
montado en la web.

Se nos pidió seleccionar un solo ejercicio, para darle una solución como
grupo de trabajo. Se diálogo y llegamos a la conclusión de seleccionar el
punto 1, del proyecto, no obstante se desarrollaron los 4 puntos
planteados por la guía de actividades.
OBJETIVOS

- Leer y analizar el contenido de la unidad 2.


- Llevar a cabo los conocimientos del lenguaje Assembler, para
elaborar un programa, que cumpla con las expectativas ofrecidas por
la guía.
- Desarrollar los puntos planteados en la guía de actividades.
- Exponer la solución planteada a través de videos explicativos.
IDENTIFICACIÓN DE REQUISITOS Y VARIABLES QUE
INTERVIENEN

PROTON

Los compiladores Protonbasic han existido desde hace mucho tiempo, y


han sido utilizados por los entusiastas y profesionales. Ambos
compiladores producen un código ensamblador extremadamente
eficiente, lo que significa que los proyectos complejos se pueden realizar
en dispositivos pequeños y económicos, así como en los dispositivos
más grandes. Los compiladores son muy estables y ofrecen una manera
simple y eficiente de escribir código que nunca creíste que podrías
escribir antes.

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.

Descripción de las actividades que se debe desarrollar


Se plantea como proyecto desarrollar el diseño de un sistema de control
de un laboratorio biológico: en el cual 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.
EJERCICIO A DESARROLLAR
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.
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
3. Utilizando el PIC16F877 se va a monitorear la cantidad de luz que se
presenta en el laboratorio, por lo que se debe hacer lo siguiente:
- Utilizando una fotorresistencia o elemento parecido sensar la cantidad
de lumenz que existe en el laboratorio
- Realizar un promedio de cantidad de luz mínima y máxima (pueden
utilizar una escala de porcentaje de 0% a 100%) que puede existir en el
laboratorio, si la cantidad de luz baja del 40% se debe encender un
bombillo que nivele la cantidad de luz y pase el 80% de lumen.

RELOJ
'****************************************************************
'* Name : UNTITLED.BAS *
'* Author : [select VIEW...EDITOR OPTIONS] *
'* Notice : Copyright (c) 2019 [select VIEW...EDITOR OPTIONS] *
'* : All Rights Reserved *
'* Date : 9/04/2019 *
'* Version : 1.0 *
'* Notes : *
'* : *
'****************************************************************
Device 16F84A
Dim a As Byte
Dim b As Byte
b=0
Dim c As Byte
c=0
TRISB = 0
TRISA = 0
PORTA = 0

prog:

If b=6 Then
b=0
c=c+1
If c=10 Then
c=0
EndIf
EndIf

For a=0 To 9
PORTA=c
PORTB=a+16*b
DelayMS 200
If a==9 Then
b=b+1
EndIf
Next a
GoTo prog
End

MOTORES
'****************************************************************
'* Name : UNTITLED.BAS *
'* Author : [select VIEW...EDITOR OPTIONS] *
'* Notice : Copyright (c) 2019 [select VIEW...EDITOR OPTIONS] *
'* : All Rights Reserved *
'* Date : 9/04/2019 *
'* Version : 1.0 *
'* Notes : *
'* : *
'****************************************************************
Device = 16F877
XTAL 4
TRISB.0=1
TRISB.7=0
PORTB.7=1
TRISB.1=0
TRISB.2=0
PORTB.1=0
PORTB.2=0
TRISB.3=0
TRISB.4=0
PORTB.3=0
PORTB.4=0
TRISB.5=0
TRISB.6=0
PORTB.5=0
PORTB.6=0
Dim t As Byte
t=0

INTCON = %10110000
On Interrupt GoTo x

inicio:

If t=30 Then
PORTB.1 =%0
PORTB.2 =%1
EndIf

If t=41 Then
PORTB.1 =%0
PORTB.2 =%0
EndIf

If t=60 Then
PORTB.1 =%0
PORTB.2 =%1
PORTB.3 =%1
PORTB.4 =%0
EndIf

If t=71 Then
PORTB.3 =%0
PORTB.4 =%0
EndIf

If t=73 Then
PORTB.1 =%0
PORTB.2 =%0
EndIf

If t=90 Then
PORTB.3 =%0
PORTB.4 =%1
PORTB.5 =%1
PORTB.6 =%0
EndIf

If t=101 Then
PORTB.5 =%0
PORTB.6 =%0
EndIf

If t=103 Then
PORTB.3 =%0
PORTB.4 =%0
EndIf

If t=107 Then
PORTB.5 =%0
PORTB.6 =%1
EndIf

If t=120 Then
PORTB.5 =%0
PORTB.6 =%0
EndIf

GoTo inicio

Disable
x:
t=t+1
INTCON = %10110000
If t>120 Then
t=0
EndIf
Resume
Enable

End
SENSOR DE LUZ Y INDICADORES DE
ESTADOS DE LAS PUERTAS
'****************************************************************
'* Name : UNTITLED.BAS *
'* Author : [select VIEW...EDITOR OPTIONS] *
'* Notice : Copyright (c) 2019 [select VIEW...EDITOR OPTIONS] *
'* : All Rights Reserved *
'* Date : 11/04/2019 *
'* Version : 1.0 *
'* Notes : *
'* : *
'****************************************************************
Device = 16F877
XTAL 4
TRISD=0
TRISA.0=1
TRISA.1=0
PORTA.1=0
TRISB=%11111111
ADCON1=%100000
Dim L As Float
Dim P As Float
Dim S As Byte
S=1
Dim r As Byte
r=1

Declare LCD_TYPE 0
Declare LCD_DTPIN PORTD.4
Declare LCD_RSPIN PORTD.2
Declare LCD_ENPIN PORTD.3
LCD_LINES 2

inicio:

Print At 1,1, "Lm:"


L = (ADIn 0)/32704
P=100*(2-L)
Print At 1,4,DEC1,P,0
DelayMS 100

;LCDOUT $FE, 1

If PORTB.1=0 And PORTB.2=0 And PORTB.3=0 And PORTB.4=0 And PORTB.5=0


And PORTB.6=0 And S=1 Then
Print At 1,10, "Sig: P1"
Print At 2,1, "P1:C /P2:C /P3:C"
EndIf

If PORTB.2=1 And r=1 Then


Print At 1,10, "P1:Abri..."
Print At 2,1, "P1:C /P2:C /P3:C"
S=2
EndIf

If PORTB.1=0 And PORTB.2=0 And PORTB.3=0 And PORTB.4=0 And PORTB.5=0


And PORTB.6=0 And S=2 Then
Print At 1,10, "Sig: P2"
Print At 2,1, "P1:A /P2:C /P3:C"
r=2
EndIf

If PORTB.2=1 And PORTB.3=1 And r=2 Then


Print At 1,10, "P2:Abri..."
Print At 2,1, "P1:A /P2:C /P:3C"
DelayMS 400
Print At 1,10, "P1:Cerr..."
DelayMS 400
EndIf

If PORTB.2=1 And PORTB.3=0 And r=2 Then


Print At 1,10, "P1:Cerr..."
Print At 2,1, "P1:A /P2:A /P3:C"
S=4
EndIf

If PORTB.1=0 And PORTB.2=0 And PORTB.3=0 And PORTB.4=0 And PORTB.5=0


And PORTB.6=0 And S=4 Then
Print At 1,10, "Sig: P3"
Print At 2,1, "P1:C /P2:A /P3:C"
r=3
EndIf

If PORTB.4=1 And PORTB.5=1 And r=3 Then


Print At 1,10, "P2:Cerr..."
Print At 2,1, "P1:C /P2:A /P3:C"
DelayMS 400
Print At 1,10, "P3:Abri..."
DelayMS 400
EndIf

If PORTB.4=1 And PORTB.5=0 And r=3 Then


Print At 1,10, "P2:Cerr..."
Print At 2,1, "P1:C /P2:A /P3:A"
S=5
EndIf

If PORTB.1=0 And PORTB.2=0 And PORTB.3=0 And PORTB.4=0 And PORTB.5=0


And PORTB.6=0 And S=5 Then
Print At 1,10, "Sig: P3"
Print At 2,1, "P1:C /P2:C /P3:A"
r=4
EndIf

If PORTB.6=1 And r=4 Then


Print At 1,10, "P3:Cerr..."
Print At 2,1, "P1:C /P2:C /P3:A"
S=1
EndIf

;Print At 1,1,d,p1
;DelayMS 100
;Print At 1,1,DEC1,p2

If P<40 Then
PORTA.1=1
Else
PORTA.1=0
EndIf

GoTo inicio

End
CONCLUSIÓN

Cumplimos con los puntos escogidos, aun así desarrollamos todos los
dados por la guía. Se estudió y reconoció la estructura de un
microcontrolador, y la programación del mismo, a su vez, la
implementación de este en un proyecto cotidiano. A través del software
Proteus, se llevó a cabo la implementación del programa, cargándolo a un
microcontrolador PIC16f84 y PIC16f877. Su simulación la podemos
apreciar en el link que se dejó en el marco metodológico, aun así podemos
apreciar las capturas de pantallas en el desarrollo del trabajo. De igual
forma, también se dejó evidenciado el desarrollo del programa con sus
respectivos códigos y sus significados.

Nos pudimos dar cuenta, que los microcontroladores y el lenguaje


Assembler va de la mano, y con estos dos, podemos crear variedades de
programas, para empresas complejas o para manejo cotidiano.
BIBLIOGRAFIA

Unidad 2 - Arquitectura de un Microcontrolador

- 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=3194849
- 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

OVA Unidad 2 - Programación de un Microcontrolador utilizando


Assembler

En este objeto virtual de aprendizaje se presenta la introducción a como


se debe realizar la programación de un Microcontrolador, con el cual el
estudiante profundiza en el aprendizaje e implementación de los
Microcontroladores y utiliza este para el desarrollo del trabajo
colaborativo y componente práctico del curso

- Rodriguez, N. (2018). OVA: Programación de un Microcontrolador


utilizando Assembler. Universidad Nacional Abierta y/a Distancia.
Recuperado de: http://hdl.handle.net/10596/18941
- González, H. U. (2009). 309696- Modulo de Microprocesadores y
Microcontroladores. Recuperado de:
http://hdl.handle.net/10596/6933

También podría gustarte