You are on page 1of 10

Generador de efectos luminosos

muchos de los compañeros de este curso, comentaron en los foros sobre aplicaciones de los
microcontroladores , y pues aquí les va una interesante aplicacion, este es un generador de efectos
luminosos utilizando un pic 16f84.

El circuito es de 8 canales de salida, y 5 canales de entrada,utiliza todos los puertos del pic, y a
demas les muestro tambien como conectar el control al circuito de potencia.

Espero que les agrade el sistema, ya que me demore todo un dia codificando y calculando los retardos.
Gracias.

No explicare el codigo ye que habla por si solo, solo puedo decir que es muy facil de entender y solo
usa conceptos basicos de programación. Por lo que cualquiera podra uzarlo.

En cuanto al sistema, no le he probado aun en la practica, por que no tengo aun el programador, pero
debe funcionar, deben colocarsen resistencias de 1k desde tierra a los pines del puerta a, para que
adopten como base el estado 0.

El programa

listp = 16f84a

pc equ 02

status equ 03

porta equ 04

portb equ 05

valor1 equ d'1'

valor2 equ d'125'

valor3 equ d'255'

reg1 equ 0c

reg2 equ 0d

reg3 equ 0e

yo equ 0f

ind equ 10

cd equ 11

cris equ 12
or equ 14

cion equ 15

viru equ 16

judo equ 17

shido equ 18

sui equ 19

INEM equ 1A

Diana equ 1B

Reset org 00

Goto inicio

org 05

inicio bsf status,5

movlw b'00000000'

movwf portb

clrw

movlw b'11111'

movwf port A

bcf status,5

clrw

clrf portb

clrf port A

empezar clrf yo

movlw d'8'

movwf yo

clrf ind
movwf ind

clrf cd

movwf cd

clrf cris

movwf cris

clrf or

movwf or

clrf cion

movwf cion

clrf virus

movwf virus

clrf judo

movwf judo

clrf shido

movwf shido

clrf shui

movwf ishui

clrw

merlind btfss portA,0

goto millos

goto rutina 1

millos btfss portA,1

goto niño

goto rutina 2

niñ0 btfss portA,2


goto electron

goto rutina 3

electron btfss portA,3

goto german

goto rutina 4

german btfss portA,4

goto merlind

goto rutina 5

rutina 1 clrf portb

call retardo

comf portb,1

call retardo

decfsz yo,1

goto rutina 1

sub 1 movlw b'10101010'

movwf portb

call retardo

comf portb,1

call retardo

decfsz ind,1

goto sub 1

goto empezar

rutina 2 movlw b'11110000'

movwf portb
call retardo

comf portb,1

call retardo

decfsz cd,1

goto rutina 2

sub 2 clrf portb

call retardo

movlw b'10000001'

movwf portb

call retardo

clrw

movlw b'11000011'

movwf portb

call retardo

clrw

movlw b'11100111'

movwf portb

call retardo

clrw

movlw b'11111111'

movwf portb

call retardo

clrw

decfsz cion,1

goto sub 2

goto empezar
rutina3 movlw b'11000011'

movwf portb

call retardo

comf portb,1

call retardo

decfsz or,1

goto rutina 3

sub 3 bsf portb,0

call retardo

bcf portb,0

bsf portb,1

call retardo

bcf portb,1

bsf portb,2

call retardo

bcf portb,2

bsf portb,3

call retardo

bcf portb,3

bsf portb,4

call retardo

bcf portb,4

bsf portb,5

call retardo

bcf portb,5
bsf portb,6

call retardo

bcf portb,6

bsf portb,7

call retardo

bcf portb,7

decfsz cris,1

goto sub3

goto empezar

rutina4 bsf portb,7

call retardo

bcf portb,7

bsf portb,6

call retardo

bcf portb,6

bsf portb,5

call retardo

bcf portb,5

bsf portb,4

call retardo

bcf portb,4

bsf portb,3

call retardo

bcf portb,3

bsf portb,2

call retardo
bcf portb,2

bsf portb,1

call retardo

bcf portb,1

bsf portb,0

call retardo

bcf portb,0

decfsz virus,1

goto rutina 4

retardo movlw valor1

movwf reg1

uno movlw valor2

movwf reg2

dos movlw valor3

movwf reg3

tres decfsz reg3,1

goto tres

decfsz reg2,1

goto dos

decfsz reg1,1

goto uno

return

end
circuito de control
Circuito de la fuente y de acople a etapa de potencia

You might also like