Usos de los puertos - Facultad de Ciencias

Anuncio
Microcontroladores
Puertos de Entrada y Salida Paralelos
Usos
Usos de
de los
los puertos
puertos
Carlos E. Canto Quintal
FACULTAD DE CIENCIAS/ UASLP
Microcontroladores
Puertos de Entrada y Salida Paralelos
Especificaciones El
éctricas del 80C52
Eléctricas
Corriente de salida para el 80C52
IOL ( corriente drenada) max = ~15mA ésta es una especificación
absoluta máxima
Valores mayores de IOL pueden dañar el dispositivo
La IOL total para los 8 bits no deben exceder de ~26 mA
IOH (corriente de suministro) max = 50 µA =.05 mA no es destructivo
es autolimitada
FACULTAD DE CIENCIAS/ UASLP
Carlos E. Canto Quintal
Microcontroladores
Puertos de Entrada y Salida Paralelos
Manejando directamente un LED
+5V
En un Puerto del 8051 IOL >> IOH
Manejando un LED con 5V
El LED está apagado cuando el bit
P1.0 =1
El LED está encendido cuando el bit
P1.0 = 0
De 330 a 470 Ω
Para un LED con Vf=~2V el voltaje a
través de R es:
+5V - 2V = 3V
y la corriente en R y el LED
3V/330 ohms = 9 mA
P1.0
P1.0
Típicamente
Típicamenteun
un
LED
requiere
de
LED requiere de
10-20
10-20mA
mApara
para
máximo
máximobrillo
brillo
Carlos E. Canto Quintal
FACULTAD DE CIENCIAS/ UASLP
Microcontroladores
Puertos de Entrada y Salida Paralelos
Incremento de la capacidad de manejo de corriente de los
Puertos
Salida con Transistor NPN
+5V
La ganancia del transistor limita
la corriente drenada por la
carga
Darlington con Beta alta
(1,000 ó más) proporciona
una salida más alta
voltaje, limit > 5V
La corriente mínima de
suministro del Puerto es de
50 uA
FACULTAD DE CIENCIAS/ UASLP
El Pin de la
CPU
suministra la
corriente que
prende
(satura) el
transistor
+
De 330 a 470 Ω
El transistor
drena más
corriente
P1.0
Resistencia
limitadora de
corriente de
Base opcional
Carlos E. Canto Quintal
Puertos de Entrada y Salida Paralelos
Microcontroladores
Incremento de la capacidad de manejo de corriente de los
Puertos
Resistencia
limitadora de
corriente de
Base 1K a 4.7 K
Salida con Transistor PNP
CPU IOL > IOH
IOL = 1.6 mA
IOH = 50 uA
El Transistor puede tener
ganancia más baja que el NPN
El Pin de E/S =1 con Reset, tal
que el transistor PNP está OFF
( en corte)
Trabaja con la carga conectada
a tierra
80C52
NMOS FET
P1.0
El Pin del
Puerto drena
la corriente
que pone al
transistor ON
(saturado)
cuando la
salida es baja
+5V
El transistor
suministra
corriente a la
carga
De 330 a
470 Ω
Carlos E. Canto Quintal
FACULTAD DE CIENCIAS/ UASLP
Puertos de Entrada y Salida Paralelos
Microcontroladores
Aplicaciones en CD
FACULTAD DE CIENCIAS/ UASLP
Carlos E. Canto Quintal
Puertos de Entrada y Salida Paralelos
Microcontroladores
Aplicaciones en CD
• La activación de un Relevador
Carlos E. Canto Quintal
FACULTAD DE CIENCIAS/ UASLP
Puertos de Entrada y Salida Paralelos
Microcontroladores
Aplicaciones en CD
Un display de 7 segmentos
FACULTAD DE CIENCIAS/ UASLP
Carlos E. Canto Quintal
Puertos de Entrada y Salida Paralelos
Microcontroladores
La corriente fluye en esta
dirección cuando el µC
pone el pin en bajo
El manejo de CA
Puerto del µC
Ánodo
común
Carlos E. Canto Quintal
FACULTAD DE CIENCIAS/ UASLP
Puertos de Entrada y Salida Paralelos
Microcontroladores
Aplicaciones en CD
• Control de motores de CD
FACULTAD DE CIENCIAS/ UASLP
Carlos E. Canto Quintal
Puertos de Entrada y Salida Paralelos
Microcontroladores
Ejemplo1: sensado de una tecla
Implemente un programa para detectar cuando una tecla, en el bit P1.0, ha sido
oprimida. Cuando se oprima se prende el LED en el bit P1.4, cuando se vuelve a
oprimir , el LED se apaga.
4.7 kΩ
P1.0
On/off
P1.1
P1.2
P1.3
1/8
74HCT244
80C51
80C51
P1.4
P1.5
220Ω
P1.6
P1.7
FACULTAD DE CIENCIAS/ UASLP
Microcontroladores
Carlos E. Canto Quintal
Puertos de Entrada y Salida Paralelos
Ilustración del ejemplo con un diagrama de tiempos
TECLA
On/Off
LED
FACULTAD DE CIENCIAS/ UASLP
Carlos E. Canto Quintal
Puertos de Entrada y Salida Paralelos
Microcontroladores
Cuando la tecla ,conectada en P1.0 , no se ha oprimido el
voltaje entre el pin y tierra será de aproximadamente
5Volts. Este voltaje equivale a un uno lógico.
V=~
V=~55VV
4.7 kΩ
P1.0
On/off
V
P1.1
P1.2
P1.3
1/8
74HCT244
80C51
80C51
P1.4
P1.5
220Ω
P1.6
P1.7
Carlos E. Canto Quintal
FACULTAD DE CIENCIAS/ UASLP
Puertos de Entrada y Salida Paralelos
Microcontroladores
Cuando la tecla se oprime el voltaje medido entre P1.0 y
tierra será de 0Volts , que equivale a un cero lógico.
Entonces el LED se prende.
V=
V=00VV
4.7 kΩ
P1.0
On/off
V
P1.1
P1.2
P1.3
1/8
74HCT244
80C51
80C51
P1.4
P1.5
220Ω
P1.6
P1.7
FACULTAD DE CIENCIAS/ UASLP
Carlos E. Canto Quintal
Puertos de Entrada y Salida Paralelos
Microcontroladores
El LED se mantiene prendido hasta que se oprima otra vez
la tecla.
V=~
V=~55VV
4.7 kΩ
P1.0
On/off
V
P1.1
P1.2
P1.3
1/8
74HCT244
80C51
80C51
P1.4
P1.5
220Ω
P1.6
P1.7
Carlos E. Canto Quintal
FACULTAD DE CIENCIAS/ UASLP
Puertos de Entrada y Salida Paralelos
Microcontroladores
V=
V=00VV
4.7 kΩ
P1.0
On/off
V
P1.1
P1.2
P1.3
1/8
74HCT244
80C51
80C51
P1.4
P1.5
220Ω
P1.6
P1.7
FACULTAD DE CIENCIAS/ UASLP
Carlos E. Canto Quintal
Puertos de Entrada y Salida Paralelos
Microcontroladores
SOLUCI
ÓN DEL EJEMPLO
SOLUCIÓN
Inicio
Inicio
P1.4
P1.4Å0
Å0
No
CLR P1.4
OTRO: JB P1.0,OTRO
P1.0=0
P1.0=0
??
;apagar LED
;¿se oprimió Tecla?
Si
P1.4ÅP1.4
P1.4ÅP1.4
Delay
Delay
AQUÍ
AQUÍ:
DIAGRAMA DE FLUJO
CPL P1.4
;complementa status
; del LED
MOV R0,#0FFH
R0,#0FFH
DJNZ R0,AQUÍ
R0,AQUÍ
SJMP OTRO
;inicializa contador
;Retardo
;regresa a checar tecla
Carlos E. Canto Quintal
FACULTAD DE CIENCIAS/ UASLP
Puertos de Entrada y Salida Paralelos
Microcontroladores
La instrucci
ón
instrucción
DJNZ R0,Etiqueta
R0ÅR0-1
R0ÅR0-1
Localidad de
Localidad de
Memoria
Memoria
No
Si la etiqueta dirige hacia la misma
instrucción tendremos una operación
de retardo antes de salir del loop
R0ÅR0-1
R0ÅR0-1
¿ES R0=0 ?
¿ES R0=0 ?
Si
No
Siguiente
Siguiente
Instrucción
Instrucción
Si
Obtención de un
retardo que
depende del valor
de R0
FACULTAD DE CIENCIAS/ UASLP
¿ES R0=0 ?
¿ES R0=0 ?
Siguiente
Siguiente
Instrucción
Instrucción
Carlos E. Canto Quintal
Puertos de Entrada y Salida Paralelos
Microcontroladores
Ejemplo
Ejemplo 2:
2:
implementar
implementar un
un programa
programa para
para hacer
hacer prender
prender yy apagar,
apagar, con
con un
un push
push button
button de
de arranque
arranque
yy paroen
’s en
LED
paroen P3.0,
P3.0, en
en forma
forma alternada
alternada 88 LED’
LED’s
en el
el puerto1,
puerto1, de
de tal
tal forma
forma ,que
,que den
den la
la
impresió
ón de
impresi
impresión
de estar
estar girando
girando
+5 V
+5V
220Ω x 8
P1.0
P1.1
P1.2
P1.3
P1.4
P3.0
4.7 kΩ
run/stop
80C51
80C51
P1.5
P1.6
P1.7
74HCT244
Carlos E. Canto Quintal
FACULTAD DE CIENCIAS/ UASLP
Puertos de Entrada y Salida Paralelos
Microcontroladores
SOLUCI
ÓN DEL EJEMPLO
SOLUCIÓN
Inicio
Inicio
AÅFEh
AÅFEh
No
P3.0=0?
P3.0=0?
si
P1ÅA
P1ÅA
Rota-izq
Rota-izqAA
Delay2
Delay
Delay
si
No
P3.0=0?
P3.0=0?
MOV A,#0FEh
A,#0FEh
OTRO: JB P3.0,OTRO
SIGUE: MOV P1,A
RL A
MOV R0,#0FFH
R0,#0FFH
AQUÍ
AQUÍ: DJNZ R0,AQUÍ
R0,AQUÍ
JB P3.0,SIGUE
MOV R0,#0FFH
R0,#0FFH
AQUI2 : DJNZ R0,AQUÍ
R0,AQUÍ
SJMP OTRO
;inicializa acumulador
;¿se oprimió Tecla?
;prende LED
;Rota Acc a la Izq.
;inicializa contador
;Retardo
;¿se oprimió Tecla?
;inicializa contador
;de Delay2
;regresa a checar tecla
DIAGRAMA DE FLUJO
FACULTAD DE CIENCIAS/ UASLP
Carlos E. Canto Quintal
Puertos de Entrada y Salida Paralelos
Microcontroladores
Ejemplo del Procesador booleano µC-8051
P1.1
P1.1
F0
F0
P2.2
P2.2
P2.5
P2.5
20H.0
20H.0
P3.3
P3.3
21H.3
21H.3
P1.6
P1.6
MOV C, P2.2
ORL C, P2.5
ANL C, P1.1
CPL C
MOV FØ, C
MOV C, 2ØH.Ø
ANL C, /21H.3
ORL C, FØ
ORL C, P1.6
MOV P3.3, C
;Introducir P2.2 en el acarreo
;Relación O con P2.5
;Relación Y con P1.1
;Invertir el resultado
;Almacenar transitoriamente el resultado
;Introducir el bit 2ØH.Ø en el acarreo
;Relación Y con el bit 21H.3 invertido
;Relación O con el bit FØ
;Relación O con el bit P1.6 invertido
;Transferir a P3.3 el resultado final
Carlos E. Canto Quintal
FACULTAD DE CIENCIAS/ UASLP
Puertos de Entrada y Salida Paralelos
Microcontroladores
El manejo de CA
FACULTAD DE CIENCIAS/ UASLP
Carlos E. Canto Quintal
Descargar