Anda di halaman 1dari 43

SISTEMAS BASADOS EN MICROPROCESADORES

ESTACION DE CONTROL DE
CONTAMINANTES UTILIZANDO
MICROPROCESADOR
FASE III

Ing. Mario Urrutia Espinoza

03/12/2017 MUE 1
Definicin

03/12/2017 MUE 2
Se trata de disear un equipo electrnico
basado en un microprocesador capaz de
visualizar ndices de contaminacin, as como
registrar mximos y promedios
La colocacin de varias estaciones de este
tipo en diferentes puntos de una zona
posibilitar un estudio y control permanentes
en los contaminantes registrados

03/12/2017 MUE 3
La estacin desarrollar 3 funciones:
1) Visualizar continua y alternativamente 2
ndices de contaminacin del aire con los
contaminantes A y B (por ejemplo S O2 y
C O).
2) Registrar el valor mximo que alcance el
ndice A por cada periodo de 24 horas.
3) Calcular el ndice promedio de los dos
contaminantes

03/12/2017 MUE 4
En funcionamiento normal, el dispositivo
visualiza en un display de 3 dgitos, en forma
secuencial, el ndice A y el ndice B, durante 2
segundos cada uno.
Se dispondr de un pulsador C que al
presionarlo aparecer en el display el valor
mximo del ndice A ocurrido en un periodo de
24 horas.
Otro pulsador D permitir ver en el display el
ndice medio en ese momento, definido por la
frmula:
A B
2
03/12/2017 MUE 5
Se prev que el valor entero de A estar comprendido
entre 0 y 99 mientras que B estar entre 10 y 80
En el display, adems de la cantidad, aparacer en el
dgito de ms a la izquierda las letras A, B, C o D
segn se visualicen los ndice A o B o segn se haya
pulsado C o D.
Los valores analgicos de los contaminantes A y B se
determinan mediante dos sensores apropiados cuyas
seales analgicas se aplican a conversores A/D que
las transforman en un valor digital de 8 bits.

03/12/2017 MUE 6
Captador de B
Captador de A

C D

03/12/2017 MUE 7
Diagrama General por Bloques

03/12/2017 MUE 8
Dadas las caractersticas de los datos a
manejar, el microprocesador a utilizar podra
ser sencillamente un 8085.
A continuacin se muestra el diagrama de
bloques del sistema donde se muestra: el
CPU, la RAM, la ROM, la puerta de entrada
desde los conversores A/D que envan al MP
el valor de los ndices A y B en formato digital
y la puerta de salida por la que el MP manda
el valor decimal de las medidas que se han de
visualizar en el display
03/12/2017 MUE 9
Cristal

PUERTA DE
RAM / ROM
SALIDA

CPU

BUS DE DATOS

BUS DE DIRECCIONES

PUERTA DE
ENTRADA

BUFFERS DE BUFFERS DE
ENTRADA ENTRADA

CONVERSOR CONVERSOR
A/D A/D

SENSOR A SENSOR B
Ordinograma Principal de
Funcionamiento

03/12/2017 MUE 11
Centrando el problema en el funcionamiento
normal de la estacin de control de
contaminantes, en la siguiente figura se
muestra el diagrama de flujo utilizado en la
presentacin de los ndices A y B.
En este diagrama no se prev el uso de los
pulsadores C y D

03/12/2017 MUE 12
Inicio de pila, I/O e Compara A con
interrupcin mximo A anterior

Eleccin de entradas del


sensor A
Si
Registra nuevo
Es mayor?
mximo de A

Carga entradas del sensor A

No

Eleccin de entradas del


Almacena A
sensor B

Hacia subrutina PREVIA Carga entradas del sensor B

Hacia subrutina VISUAL Almacena B

Hacia subrutina PREVIA

Hacia subrutina VISUAL


En el flujograma anterior se comienza
inicializando:
la pila
las puertas de entrada y salida
la interrupcin que servir para interrumpir el
funcionamiento del CPU cuando se presione
CD

03/12/2017 MUE 14
Luego se elige el valor del sensor A que, una
vez transformado en formato digital mediante
un C A/D se compara con el mximo valor de
A registrado con anterioridad desde que se
produjo la inicializacin del sistema que se
supone se efecta cada 24 horas.
Si el valor de A presente es mayor que el valor
mximo registrado, queda como nuevo
mximo.

03/12/2017 MUE 15
Finalmente, el valor de A se enva a las
subrutinas PREVIA y VISUAL que se
encargan de la codificacin del formato y su
visualizacin en las tres unidades de 7
segmentos del display
El tratamiento de la seal B es an ms
sencillo que el descrito para la seal A

03/12/2017 MUE 16
Interrupciones.
El programa principal de visualizacin de A y
B se efecta normalmente hasta que se
pulsa C o D
En este caso se interrumpe y se pasa a otro
subprograma que atiende la presin de C
presentando en el display el mximo de A en
24 horas o de D, presentando el valor
promedio:
A B
2

03/12/2017 MUE 17
Para distinguir cul de los dos
pulsadores es el presionado se debe
hacer uso de un PPI.
En tal caso, para decodificar el empleo
de C o D podemos usar el bit 7 de la
puerta A del PPI.
Esto se hace a travs del circuito auxiliar
mostrado en la siguiente figura

03/12/2017 MUE 18
CPU PPI

PUERTA A
PA7 PA0

Decodificacin

Lnea de D
interrupcin

+5 V

03/12/2017 MUE 19
A su vez la atencin de la interrupcin se
hace directamente por el CPU.
Ello quiere decir que, una vez producida
la interrupcin:
PA7 = 1 si D est pulsado
PA7 = 0 si C est pulsado
El ordinograma que atiende a la
interrupcin provocada por la presin del
pulsador C o D se muestra en la figura:

03/12/2017 MUE 20
Interrupcin

Si
Hacia subprograma
PA7 = 0? Fin o retorno
D

No
Hacia subprograma
C

03/12/2017 MUE 21
Estructuracin
del hardware

03/12/2017 MUE 22
Establecido el diagrama general en bloques y
el diagrama de flujo principal con el de
interrupcin se pasa a continuacin a perfilar
los detalles del circuito electrnico y realizar la
compatibilidad entre el hardware y el software.
El sector ms importante a definir es el de
entradas y salidas

03/12/2017 MUE 23
Las entradas de informacin al CPU proceden
de los sensores analgicos A y B que han de
ser convertidos mediante los C A/D adecuados
a formato digital de 8 bits.
Finalmente existen 2 buffers que dan paso al
bus de datos, sea del sensor A o del B segn
cual de los buffers sea activado a travs de la
seal enable como se muestra en la figura

03/12/2017 MUE 24
Buffer de Conversor
Sensor A
entrada A/D

Enable A
BUS DE
DATOS

Buffer de Conversor
Sensor B
entrada A/D

Enable B

03/12/2017 MUE 25
La puerta de salida se encargan de enviar
informacin adecuada a los 3 dgitos del
display.
Mediante 4 lneas se enva la informacin a
representar en uno de los dgitos y mediante 2
lneas ms y un decodificador 2 x 4 se elige el
dgito que se ha de activar a travs de entrada
enable como se ve en la siguiente figura.

03/12/2017 MUE 26
Puerta de Salida

Decodificador
2x4
Enable
Enable
Enable

Bscula Bscula Bscula


4 bits 4 bits 4 bits

Decoder Decoder Decoder

03/12/2017 MUE 27
Teniendo en cuenta que el PPI dispone
de las puertas A y B cada una de 8 bits
podemos utilizarlas para nuestros
propsitos

03/12/2017 MUE 28
Puerta de Entrada (Puerta B)
Los 8 pines de esta puerta se encargan de recibir la
informacin procedente de los conversores A/D
(transportan los valores de los sensores A y B)
Como cada pin de esta puerta est compartido por la
informacin de A y B, segn el momento, la
informacin procedente de A llega a los pines de esta
puerta a travs de los buffers triestado numerados
con 0, 2, 4, 6, 8, 10, 12 y 14 mientras que la
informacin de B llega a traves de los buffers 1, 3, 5,
7, 9, 11, 13 y 15.
La activacin de los strobes de los buffers pares o
impares procede del pin PA6 de la puerta A de forma
que cuando dicho pin est a 0 se activan los buffers
pares y cuando est a 1 se activan los impares

03/12/2017 MUE 29
INFORMACION PROCEDENTE DE LOS
CONVERSORES A/D

B1 B2 B3 B4 B5 B6 B7 B8

A1 A2 A3 A4 A5 A6 A7 A8

HA

HA

HA

HA

HA

HA

HA

HA

HA

HA

HA

HA

HA

HA

HA

HA
B.

B.

B.

B.

B.

B.

B.

B.

B.

B.

B.

B.

B.

B.

B.

B.
74125
CPU

PB7 PB6 PB5 PB4 PB3 PB2 PB1 PB0


PUERTA B

PPI
8085 Bus de Datos
PUERTA A
PA7 PA6 PA5 PA4 PA3 PA2 PA1 PA0

B A

74LS139

Y2 Y1 Y0

Lnea de D
interrupcin

4.7K 4.7K

+5 V
Puerta de Salida y Control (Puerta A)
El pin PA7 de esta puerta determina cual ha
sido el pulsador presionado (C o D).
Al mismo tiempo que se informa al pin PA7,
mediante el circuito auxiliar correspondiente
se origina un flanco ascendete que produce
una interrupcin RST hacia el MP.
El pin PA6 como ya se coment, selecciona la
informacin que pasa al bus de datos
procedente de los C A/D.

03/12/2017 MUE 31
Los pines PA5 y PA4 junto con el
decodificador 2x4 se emplean para
seleccionar el dgito al que se enva
informacin en cada instante para visualizar
en l, el cdigo enviado a travs de los pines
PA3, PA2, PA1 y PA0

03/12/2017 MUE 32
Diagramas de flujo de
subprogramas y subrutinas

03/12/2017 MUE 33
Subrutina PREVIA
La informacin que contiene el acumulador del
programa principal o de los subprogramas de
interrupcin se almacena y luego debe
dividirse en 2 cuartetos.
El de menos peso contiene el valor que se
visualiza en el dgito de las unidades y queda
almacenado en la posicin denominada M2
El cuarteto de ms peso contiene el cdigo de
las centenas situado en el centro de los 3
dgitos del display y se almacena en la
posicin M1.
03/12/2017 MUE 34
El dgito restante presentar las letras A, B, C,
o D (etiqueta) segn sea el caso, estando
almacenado su cdigo en la posicin M0.
El dgito de las unidades quedar
seleccionado por el decodificador cuando
reciba una informacin de entrada 00, el de
las decenas 01 y el de la etiqueta 10.
En la siguiente figura se muestra el diagrama
de flujo

03/12/2017 MUE 35
Inicio

Registra valor
cargado del
Acumulador

Separa 1er cuarteto


(unidades)

Registra unidades en
M2

Separa 2do. cuarteto


(decenas)

Registra decenas en
M1

Fin
Subrutina VISUAL
En el dgito ms a la izquierda del display se
visualiza la etiqueta A, B, C o D segn lo que
en ese momento se est presentado en los
otros dos dgitos.
La posicin M0 soporta el cdigo de la
etiqueta, de tal forma que si se est leyendo y
visualizando el sensor A la subrutina VISUAL
coloca en M0 el cdigo de la letra A

03/12/2017 MUE 37
La subrutina VISUAL se encarga de ir
tomando el contenido de las posiciones M0
(etiqueta), M1 (decenas) y M2 (unidades) y
sacarlo por los pines correspondientes de la
puerta A para su visualizacin en el display.
En este punto habra que evaluar la
implementacin de un retardo para poder ver
adecuadamente el dato.
El diagrama de flujo de esta subrutina se
muestra en la siguiente figura:

03/12/2017 MUE 38
Inicio

Carga Etiqueta (M0)

Almacena en Puerta
A

Carga Decenas (M1)

Almacena en Puerta
A

Carga Unidades (M2)

Almacena en Puerta
A

Retardo

Fin
Subprograma de Interrupcin
Al producirse una interrupcin por presionar
uno de los interruptores C o D el programa de
interrupcin salta al subprograma C o D segn
sea el caso.
El subprograma C comienza colocando la
etiqueta C en la posicin M0 para indicar que
se visualiza el campo C, el cual corresponde
al valor mximo de A registrado desde la
inicializacin del programa principal que se
supone se efecta cada 24 horas
03/12/2017 MUE 40
Luego toma el valor mximo de A registrado por el
programa principal y pasa a las subrutinas PREVIA y
VISUAL que muestra dicho valor en el display
En el caso del subprograma D se visualiza el valor
promedio (A+B)/2.
En el diagrama de flujo respectivo, despus de
colocar la etiqueta D en M0, se carga el valor
procedente del sensor A y se divide por 2.
Hace lo mismo con el valor procedente de B y suma
A/2 con B/2 para finalmente visualizar este ltimo
valor usando las subrutinas PREVIA y VISUAL

03/12/2017 MUE 41
Inicio

Colocar Etiqueta C

Cargar el ltimo valor


de A mximo
registrado

Hacia subrutina
PREVIA

Hacia subrutina
VISUAL

Fin de Interrupcin
Inicio

Colocar Etiqueta D

Cargar A y dividir por


2

Cargar B y dividir por


2

Sumar A/2 + B/2

Hacia subrutina
PREVIA

Hacia subrutina
VISUAL

Fin de Interrupcin