You are on page 1of 22

MICROPROCESADORES Y MICROCONTROLADORES

UNIDAD 1 DISEAR LA PROPUESTA DEL PROYECTO DE


IMPLEMENTACIN

Presentado por:

LUIS FELIPE MORA Cdigo: 94 532 292


OMAR MONTAO TORRES Cdigo: 16 792 094
HECTOR DAVID MORALES Cdigo: 1113624878
CESAR AUGUSTO HINCAPIE Cdigo: 6406797

GRUPO
309696_22
TUTOR:
NOEL JAIR ZAMBRANO

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA (UNAD)


ESCUELA DE CIENCIAS BASICAS, TECNOLOGA E INGENIERA
MARZO 2017

INTRODUCCION

Los microprocesadores y microcontroladores son una tecnologa que han cambiado el


mundo debido que estn en casi todos los aparatos electrnicos que usamos actualmente; en
esta trabajo vamos abordar todos los temas de la unidad 1 y a su vez realizaremos prcticas
que nos ayudan a entender mas sobre la importancia de los microprocesadores y
microcontroladores.

Utilizando algunos software de desarrollaremos algunos programas donde vamos a


evidencia el direccionamiento, almacenamiento y control de entradas y salidas de un
procesador, tambin vamos a realizar encendidos y apagados de leds.

Por ultimo seleccionaremos una de las propuestas con la cual vamos a desarrollar nuestro
proyecto final del curso y al cual vamos a investigar para luego darle una solucin.

DESARROLLO DE LA ACTIVIDAD

Mapa conceptual de los microprocesadores y microcontroladores


Tomando las edades de cada uno de los 5 integrantes de grupo como constantes hallar
c1,c2,c3,c4,c5:

a: permetro de un pentgono.

b: Encontrar el rea lateral de un cilindro con base de radio C3, y altura de C4.

c: hallar el rea del tringulo rectngulo cateto opuesto = C2, Cateto adyacente = C5

d:dar solucin a la siguiente ecuacin: c2X+ c3= c5x c1

a: Permetro de un pentgono
#SimuProc 1.4.2.0
MSG 'PROGRAMA A PUNTO 1'
MSG 'GRUPO: 309696_22 MICROCONTROLADORES'
MSG '-------------------PERIMETRO-------------------'
MOV AX,4A
ADD 4B
ADD 4C
ADD 4D
ADD 4E ;HEMOS SUMADO LOS 4 LADOS Y EL VALOR SE ACUMULO EN
EL REGISTRO A
EAP 'EL PERIMETRO DEL PENTAGONO ES:'

HLT

#04A
11110 ;32 C1 posicion 4A
101101 ;45 C2 posicion 4B
100101 ;37 C3 posicion 4C
101000 ;40 C4 posicion 4D
101010 ;42 C5 posicion 4E

Pantallazos
b: Encontrar el rea lateral de un cilindro con base de radio C3, y altura de C4.
#SimuProc 1.4.2.0
MSG 'PROGRAMA B PUNTO 1'
MSG 'GRUPO: 309696_22 MICROCONTROLADORES'

MSG '-----------AREA LATERAL DE UN CILINDRO------------'


MOV AX,4A
MUL 4C ; MULTIPLICAMOS RADIO C3 POR 2 Y ES LA BASE
EAP 'LA BASE ES:'
MUL 4B ; AHORA LA BASE POR LA LA ALTURA C4
EAP 'EL AREA LATERAL DEL CILINDRO ES'

HLT

#04A
100101 ;37 C3 posicion 4A
101000 ;40 C4 posicion 4B
10 ;2 para multiplicar por C3 y hallar la base del cilindro en posicion 4C

Pantallazos
c: Hallar el rea del tringulo rectngulo cateto opuesto = C2, Cateto adyacente = C5

#SimuProc 1.4.2.0
MSG 'PROGRAMA C PUNTO 1'
MSG 'GRUPO: 309696_22 MICROCONTROLADORES'

MSG '-----------AREA DE UN TRIANGULO RECTANGULO------------'


MOV AX,4A ; C2
MUL 4B ; multiplicado por C5
DIV 4C ; Y divido por dos
EAP 'EL AREA DEL TRIANGULO RECTANGULO ES'

HLT
#04A
101101 ;45 C2 posicion 4A
101010 ;42 C5 posicion 4B
10 ;2 para multiplicar por C3 y hallar la base del cilindro en posicion 4C

Pantallazos
d. Dar solucin a la siguiente ecuacin: c2X+ c3= c5x c1

Resolviendo tenemos c2X - c5x = c1 - c3


Luego x(C2 C5) = -C1 C3
-X(C2-C5) = -(-C1-C3)
X = C1 + C3 / C5 C2

#SimuProc 1.4.2.0
MSG 'PROGRAMA D PUNTO 1'
MSG 'GRUPO: 309696_22 MICROCONTROLADORES'
MSG '-------------------ECUACION-------------------'

MOV AX,4E
SUB 4B ; AQUI HACEMOS C5 - C2
MOV 5C,AX

MOV AX,4A
ADD 4C
; AQUI LO QUE HACE ES SUMAR C1 + C3

DIV 5C ;AQUI DIVIDIMOS C5 - C2 / C1 + C3

EAP 'EL RESULTADO DE LA ECUACION ES:'


HLT
#04A
11110 ;32 C1 posicion 4A
101101 ;45 C2 posicion 4B
100111 ;37 C3 posicion 4C
101000 ;40 C4 posicion 4D
101010 ;42 C5 posicion 4E
Utilizando el programa Mplab IDE versin 8.92 lenguaje asembler (o la actual) para
la elaboracin de los programas respectivos.

Simulado en programa proteus 7.9 o versiones 8.0 en adelante.

1. Encendido y apagado de un LED con intermitencia de aproximadamente 1.5


segundos.

Cdigo del programa Encendido y apagado de un LED con intermitencia de


aproximadamente 1.5 segundos.
;
==================================================================
=============
;PROGRAMA: Led_Intermitente.asm
;AUTOR: Csar Hincapi
;FECHA: Marzo 01 de 2017
;COMENTARIO: El programa Led_Intermitente.asm energiza un
diodo LED y
;hace que prenda y apague con una intermitencia de
1.5 s.
;-----------------------------------------------------------------
-------------
; ENCABEZADO
;-----------------------------------------------------------------
-------------
LIST p = PIC16F84A ; Se utiliza el PIC16F84A
RADIX HEX ; Se utiliza el sistema hexadecimal

#INCLUDE <P16F84A.INC> ; Lista de etiquetas de microchip


; Bits de configuracin. Configuran opciones externas de
hardware para
;la programacio
__CONFIG _CP_OFF & _WDT_OFF & _XT_OSC & _PWRTE_ON
;-----------------------------------------------------------------
--------------
; DEFINICIN DE ETIQUETAS
;-----------------------------------------------------------------
-------------
PUERTOB EQU 0x06 ; El registro 0x06 corresponde al
puerto B, si el
; banco 0 est seleccionado
CONFGB EQU 0x06 ; El registro 0x06 permite
configurar el puerto B
; como entrada o como salida, si el banco 1
est
; seleccionado
ESTADO EQU 0x03 ; El registro 0x03 corresponde al
registro de ESTADO
; sin importar el banco seleccionado
OPCION EQU 0X01 ; El registro 0x01 corresponde al
registro OPCIN
TIMER EQU 0X01 ; El registro 0x01 corresponde al
temporizador
; interno cuando el banco 0 est seleccionado
CONTADOR EQU 0x0C
;-----------------------------------------------------------------
--------------
; INICIO DEL PROGRAMA
;-----------------------------------------------------------------
--------------
ORG 0 ; Las prximas instrucciones se
ensamblaran a partir
; de la posicin cero
goto inicio
;-----------------------------------------------------------------
--------------
; CDIGO DEL PROGRAMA
;-----------------------------------------------------------------
--------------
inicio bsf ESTADO,5 ;Coloca 1 en el bit 5 del
registro de estado,
;seleccionando de esta manera el banco 1
clrf CONFGB ;Almacena ceros en el registro 0x06,
dado que el
;banco 1 est seleccionado el puerto B se
;configura como puerto de salida
movlw 0xD6;valor a cargar en OPCION
movwf OPCION
bcf ESTADO,5 ;Al colocar 0 en el bit 5 del
registro de ESTADO
;se selecciona el banco 0
clrf PUERTOB ;Todas las lineas del puerto B a nivel
bajo
clrf CONTADOR ;Pone en cero

onda2 bsf PUERTOB,7 ;Enciende el led RB7 = 1


call RETARDO ;Llama subrutina retardo
bcf PUERTOB,7 ;Apaga el led RB7 = 0
call RETARDO ;Llama subrutina retardo
goto onda2 ;se crea un ciclo infinito

RETARDO clrf TIMER ;Pone el temporizador en cero e inicia


el conteo
VERIFICA btfss TIMER,7 ;TIMER<7> = 1?
goto VERIFICA ;No ha llegado TIMER al valor 128
bcf ESTADO,2 ;Pone en cero el bit 2 del
registro de Estado
incf CONTADOR ;incrementa en 1 el registro contador
movf CONTADOR,0 ;mueve el dato de CONTADOR al
registro de trabajo
sublw 0x2E;Encuentra la diferencia entre el CONTADOR
;y 46
btfss ESTADO,2 ;ESTADO<2> = 1?
goto RETARDO ;No se ha puesto en 1
clrf CONTADOR ;Pone en cero al registro CONTADOR
return ;regresa a la intruccin siguiente de la
llamada
;de la subrutina
;-----------------------------------------------------------------
--------------
; FIN DEL PROGRAMA
;-----------------------------------------------------------------
--------------
END
2. Encendido de un led por accin de un pulsador y apagado por otro.

Cdigo del programa Encendido de un led por accin de un pulsador y apagado por
otro.

;
==================================================================
=============
;PROGRAMA: led_pulsadores_ON_OFF.asm
;AUTOR: Csar Hincapi
;FECHA: Marzo 01 de 2017
;COMENTARIO: El programa led_pulsadores_ON_OFF.asm enciende
un diodo LED
;por accin de un pulsador y lo apaga por la accin
de otro
;pulsador.
;-----------------------------------------------------------------
-------------
; ENCABEZADO
;-----------------------------------------------------------------
-------------
LIST p = PIC16F84A ; Se utiliza el PIC16F84A
RADIX HEX ; Se utiliza el sistema hexadecimal

#INCLUDE <P16F84A.INC> ; Lista de etiquetas de microchip


; Bits de configuracin. Configuran opciones externas de
hardware para
;la programacin
__CONFIG _CP_OFF & _WDT_OFF & _XT_OSC & _PWRTE_ON
;-----------------------------------------------------------------
--------------
; DEFINICIN DE ETIQUETAS
;-----------------------------------------------------------------
-------------
PUERTOA EQU 0x05 ; El registro 0x05 corresponde al
puerto A, si el
; banco 0 est seleccionado
TRIS_A EQU 0x05 ; El registro 0x05 permite
configurar el puerto A
; como entrada o como salida, si el banco 1
est
; seleccionado
PUERTOB EQU 0x06 ; El registro 0x06 corresponde al
puerto B, si el
; banco 0 est seleccionado
TRIS_B EQU 0x06 ; El registro 0x06 permite
configurar el puerto B
; como entrada o como salida, si el banco 1
est
; seleccionado
ESTADO EQU 0x03 ; El registro 0x03 corresponde al
registro de ESTADO
; sin importar el banco seleccionado
;-----------------------------------------------------------------
--------------
; INICIO DEL PROGRAMA
;-----------------------------------------------------------------
--------------
ORG 0 ; Las prximas instrucciones se
ensamblaran a partir
; de la posicin cero
goto inicio
;-----------------------------------------------------------------
--------------
; CDIGO DEL PROGRAMA
;-----------------------------------------------------------------
--------------
inicio bsf ESTADO,5 ;Coloca 1 en el bit 5 del
registro de estado,
;seleccionando de esta manera el banco 1
movlw 0x0F;Se carga el registro de trabajo con el valor
2
movwf TRIS_A ;Se configura el pin A0 y A1 como
entradas
clrf TRIS_B ;Almacena ceros en el registro 0x06,
dado que el
;banco 1 est seleccionado el puerto B se
;configura como puerto de salida
bcf ESTADO,5 ;Al colocar 0 en el bit 5 del
registro de ESTADO
;se selecciona el banco 0
clrf PUERTOA ;Todas las lneas del puerto A y B se
ponen a
clrf PUERTOB ;nivel bajo

MANTENER1 btfss PUERTOA,0 ;Verificar si hay un cero en el


pin A0
goto MANTENER1 ;Se sigue verificando hasta que haya un
1 en A0
bsf PUERTOB,7 ;Se enciende el led
MANTENER2 btfss PUERTOA,1 ;Verificar si hay un cero en el
pin A1
goto MANTENER2 ;Se sigue verificando hasta que haya un
1 en A0
bcf PUERTOB,7 ;Se apaga el led
goto MANTENER1 ;Se reinicia el ciclo

;-----------------------------------------------------------------
--------------
; FIN DEL PROGRAMA
;-----------------------------------------------------------------
--------------
END

PROPUESTA SELECCIONADA PARA EL DESARROLLO DEL


PROYECTO FINAL DEL CURSO
Sistema de control de nivel de tanques de crudo ms
bombeo.

-Planteamiento del problema


Se requiere un control de nivel en un tanque de almacenamiento de petrleo,
el sistema constara de un sensor de nivel y una bomba.

El control se realizar en dos posiciones, a este control se le denomina control


on/off.

Estrategia de control:
EL sensor de nivel enviara continuamente el valor del nivel actual al
microcontrolador. Este es un control realimentado o en lazo cerrado.
- Si el nivel de crudo ha llegado al nivel mximo configurado, la bomba deber
apagarse y solo volver a encenderse cuando el nivel descienda al nivel
mnimo configurado.
- El sistema contara con un sensor de nivel en la parte superior del tanque
que servir de apagado de emergencia en caso de no apagarse la bomba,
adems contara con una alarma sonora que informara de la situacin al
personal encargado, esto en caso de fallar el sistema de control automtico.
- Contar con una pantalla en la cual podremos visualizar el nivel actual del
tanque.
- Contar con un teclado a travs del cual ingresaremos el nivel mximo y el
nivel mnimo para controlar el llenado del tanque.
- Contar con un sistema de paro de emergencia, en caso de requerirse una
parada inmediata.
Componentes del sistema
1. Sensores:

Sensor de nivel: este de acuerdo al nivel nos entregara


una seal de 0 a 5V que ser analizada por el
microcontrolador.

Interruptor de nivel capacitivo: mecanismo de


seguridad en caso de que el sistema no apague la bomba
al llegar al limite de nivel mximo.

2. Actuadores:
Bomba de crudo: Se encargar de bombear el
crudo al tanque.

Vlvula de flujo: Esta permitir la salida de crudo del tanque.


3. Control:
Microcontrolador PIC 16f877A el cual incluir un display
16x2 para visualizacin del nivel y un teclado matricial
para ingreso de consignas.

You might also like