Usos de los puertos Especificaciones Eléctricas del 80C52 Corriente de salida para el 80C52 IOL ( corriente drenada) max = ~15mA ésta es una especificación absoluta máxima alores mayores de IOL pueden dañar 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
Manejando directamente un LED En un Puerto del 8051 IOL >> IOH Manejando un LED con 5 El LED está apagado cuando el bit =1 El LED está encendido cuando el bit = 0 De 330 a 470 Ω +5 Para un LED con f=~2 el voltaje a través de R es: +5-2 = 3 y la corriente en R y el LED 3/330 ohms = 9 ma Típicamente un un LED requiere de de 10-20 ma para máximo brillo Incremento de la capacidad de manejo de corriente de los Puertos Salida con Transistor NPN 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 > 5 La corriente mínima de suministro del Puerto es de 50 ua + El Pin de la CPU suministra la corriente que prende (satura) el transistor Resistencia limitadora de corriente de Base opcional +5 De 330 a 470 Ω El transistor drena más corriente
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 Incremento de la capacidad de manejo de corriente de los Puertos 80C52 NMOS FET Resistencia limitadora de corriente de Base 1K a 4.7 K El Pin del Puerto drena la corriente que pone al transistor ON (saturado) cuando la salida es baja +5 El transistor suministra corriente a la carga De 330 a 470 Ω Aplicaciones en CD
La activación de un Relevador Aplicaciones en CD Aplicaciones en CD Un display de 7 segmentos
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 Control de motores de CD Aplicaciones en CD
Ejemplo1: sensado de una tecla Implemente un programa para detectar cuando una tecla, en el bit, ha sido oprimida. Cuando se oprima se prende el LED en el bit, cuando se vuelve a oprimir, el LED se apaga. On/off 220Ω 1/8 Ilustración del ejemplo con un diagrama de tiempos TECLA On/Off LED
Cuando la tecla,conectada en, no se ha oprimido el voltaje entre el pin y tierra será de aproximadamente 5olts. Este voltaje equivale a un uno lógico. =~ =~ 5 5 On/off 220Ω 1/8 Cuando la tecla se oprime el voltaje medido entre y tierra será de 0olts, que equivale a un cero lógico. Entonces el LED se prende. = = 0 0 On/off 220Ω 1/8
El LED se mantiene prendido hasta que se oprima otra vez la tecla. =~ =~ 5 5 On/off 220Ω 1/8 = = 0 0 On/off 220Ω 1/8
Inicio SOLUCIÓN N DEL EJEMPLO 0 0 CLR ;apagar LED No =0 =0? OTRO: JB,OTRO ; se oprimió Tecla? Si CPL ;complementa status ; del LED Delay Delay DIAGRAMA DE FLUJO AQUÍ: MO R0,#0FFH DJNZ R0,AQUÍ SJMP OTRO ;inicializa contador ;Retardo ;regresa a checar tecla R0 R0-1 R0 R0-1 La instrucción DJNZ R0,Etiqueta Si la etiqueta dirige hacia la misma instrucción tendremos una operación de retardo antes de salir del loop Localidad de Localidad de Memoria Memoria No ES R0=0? ES R0=0? Si Siguiente Siguiente Instrucción Instrucción No R0 R0-1 R0 R0-1 ES R0=0? ES R0=0? Si Obtención de un retardo que depende del valor de R0 Siguiente Siguiente Instrucción Instrucción
Ejemplo 2: implementar un programa para hacer prender y apagar, con un push button de arranque y paroen P3.0, en forma alternada 8 LED s s en el puerto1, de tal forma,que den la impresión n de estar girando +5 220Ω x 8 +5 P3.0 run/stop Inicio A FEh A FEh SOLUCIÓN N DEL EJEMPLO Delay2 No si P3.0=0? P3.0=0? si P1 A P1 A Rota-izq Rota-izqA Delay Delay P3.0=0? P3.0=0? No MO A,#0FEh OTRO: JB P3.0,OTRO SIGUE: MO P1,A RL A MO R0,#0FFH AQUÍ: DJNZ R0,AQUÍ JB P3.0,SIGUE MO R0,#0FFH AQUI2 : DJNZ 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
Ejemplo del Procesador booleano µc-8051 P2.2 F0 P2.5 20H.0 21H.3 P3.3 MO C, P2.2 ;Introducir P2.2 en el acarreo ORL C, P2.5 ;Relación O con P2.5 ANL C, ;Relación Y con CPL C ;Invertir el resultado MO FØ, C ;Almacenar transitoriamente el resultado MO C, 2ØH.Ø ;Introducir el bit 2ØH.Ø en el acarreo ANL C, /21H.3 ;Relación Y con el bit 21H.3 invertido ORL C, FØ ;Relación O con el bit FØ ORL C, ;Relación O con el bit invertido MO P3.3, C ;Transferir a P3.3 el resultado final El manejo de CA