Encendido led en ra0
El pic16F877A del siguiente circuito de la Fig. 1 a) y b) está programado para el encendido de un foco en “RA0”, con pulsadores en “RB0” y “RB1” y apaga elfoco en “RA0” con los mismos pulsadores.
Fig.1 a) Apagado
Fig. b) Encendido
Materiales:
* Pic 16F877A
* Oscilador de cristal (XT_OSC)
* C1 = C2 = 15 [pF]
* RB = 860 [ohm]* 2 pulsadores
* Relé de 6 [V]
* Transistor 2N3904
* Diodo 1N4007
* Foco 220 [V]
Calculo para el transistor y resistor:
El transistor 2N3904 se selecciono de acuerdo al voltaje quese aplicara en el circuito, ya que este valor es de Vcc = 5 [V], entonces el valor de la corriente para que el transistor active el relé no debe ser muy alto, la corriente IB de cumplir IB =Ic,máx/10, por tanto con una corriente de Ic,,máx = 50[mA] de las hojas de datos del transistor 2N3904 (Fig. 2) por tanto una corriente IB = 5[mA] es suficiente.
Fig. 2
Para determinar el valorde la resistencia RB se debe tomar en cuenta la corriente de base del transistor, IB = 5[mA] , y según la Fig. 3
CODIGO DE PROGRAMA:
LIST P=16F877A
#INCLUDE <P16F877A.INC>
__CONFIG_CP_OFF & _WRT_OFF & _DEBUG_OFF & _CPD_OFF & _LVP_OFF & _BODEN_ON & _PWRTE_OFF & _WDT_OFF & _XT_OSC
PDel0 EQU 0X70
PDel1 EQU 0X71
ORG 0X00
GOTO INICIO;--------------------------------------------------------------------------MACROS--------------------------------------------------------------------
BANCO_0 MACRO
BCF STATUS, RP1
BCF STATUS, RP0
ENDMBANCO_1 MACRO
BCF STATUS, RP1
BSF STATUS, RP0
ENDM
;------------------------------------------------------------------------RETARDO20ms--------------------------------------------------------------
RET_20ms movlw .21
movwf PDel0
PLoop1 movlw .237
movwf PDel1
PLoop2 clrwdt
decfsz PDel1, 1
goto PLoop2
decfsz PDel0, 1
goto PLoop1
PDelL1 goto PDelL2
PDelL2...
Regístrate para leer el documento completo.