Beruflich Dokumente
Kultur Dokumente
; ; Al llegar al 100% con el botn UP puedo ir disminuyendo la intensidad de luz hasta llegar al 0% Condiciones de funcionamiento segn se empiece a pulsar el botn UP o DOWN: * Al conectarse el montaje la lmpara est apagada. * Si toco el botn UP se enciende lmpara al 100% y con dicho botn puedo bajar la intensidad de luz hasta llegar al 0%. Con el botn DOWN a partir de ese 0% puedo ir incrementando la intensidad de la luz hasta el 100%. * Si una vez conectado el montaje (lmpara apagada) toc el botn DOWN la luz ir aumentado progresivamente de 0% al Control de la intensidad lumnica de la lmpara mediante el sistema de recorte o graduador de fase. Cada 10 mseg. tenemos el paso de la seal rectificada en doble onda por cero. A partir de hay introducimos temporizaciones que al acabar nos indicar el instante para disparar el triac, siempre antes de que llegue otro impulso de paso por cero.
;---------------------------------------------------------------------------------;PIC 16F84A/ 4 MHz/ ;Bits de configuracin para el programador: ;CP(proteccin de la memoria de cdigo):..............................No ;PWRTE(activacin del temporizador "Power-up"):..............No ;WDTE(activacin del "perro guardin"):...............................No ;FOSC1-FOSC0(tipo de oscilador):........................................Xtal ;----------------------------------------------------------------------------------;PROGRAMA LIST INCLUDE p=16f84A "p16f84A.inc"
00h inicio
10h
;Configurar el puerto B (RB4 salida). call bcf call banco1 TRISB,4 banco0 ;El Puerto RB4 como salida
bcf
PORTB,4
;Configurar la INT. call bcf call programa movlw movwf progra1 btfss goto INTCON,INTF progra1 00h 20h banco1 OPTION_REG,INTEDG ;flanco de bajada de la INT banco0
up down progra1
;--------------------------------------------------
;Subrutinas de los botones UP-DOWN. ;--------------------------------------------------up btfss goto incf PORTB,2 saltu1 20h,1 ;incremento el registro 20h ;testeo el puerto RB2 y si vale uno salto
bcf
STATUS,C
movlw addwf btfss goto movlw movwf saltu1 return down btfss goto decf
bcf
STATUS,C
0fh 20h
;-----------------------------------;Disparo del triac: 225 useg. ;-----------------------------------,Pulso de disparo de 225 microsegundos necesarios para activar el triac disparo bsf call bcf return usg225 movlw movwf sal4 decfsz goto return ;----------------------------------------------;Retardo variable despus de la INT. ;----------------------------------------------;El tiempo entre que se activa la bandera INTF es de 10mseg (10.000 microsegundos) Si un registro (21h) lo cargo con un valor comprendido entre 01h y FFh y lo voy decrementando hasta llegar a cero con un retardo fijo de unos 25 microsegundos entre medias puedo conseguir unos pocos microsegundos o los 10.000 microsegundos. varia movf movwf salte 20h,0 21h 30h,1 sal4 4bh 30h PORTB,4 usg225 PORTB,4
call decfsz goto return usg25 movlw movwf sal5 decfsz goto return
08h 31h
31h,1 sal5
;-----------------------------------------;Subrutinas de cambios de bancos. ;-----------------------------------------banco0 bcf return banco1 bsf return END STATUS,RP0 STATUS,RP0