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