TODOPIC

Microcontroladores PIC => Todo en microcontroladores PIC => Mensaje iniciado por: lucho_asd en 07 de Mayo de 2007, 22:31:21

Título: 16f84 prender 8 leds y apagarlos! se puede esto?
Publicado por: lucho_asd en 07 de Mayo de 2007, 22:31:21
Hola! antes q todo muchas gracias! queria pedir un gran favor! si alguien me da una mano de como empesar a hacer un programa para el 16f84 para q prenda 8 leds activando 8 pulsadores en el mismo pic

POR EJ --->  PRECIONO EL PULSADOR 1 (SE PRENDE EL LED 1)
                   PRECIONO EL PULSADOR 5 (SE APAGA EL LED 1 Y SE PRENDE EL LED 5 )
                   PRECIONO EL PULSADOR 8( SE APAGA EL LED 5 Y SE PRENDE EL LED 8 )
                   PRECIONO EL PULSADOR 3( SE APAGA EL LED 8 Y SE PRENDE EL LED 3 )   
                   ........ Y ASI SUCESIVAMENTE!

la idea es mandar a masa cuando activo el pulsador

PIDO AYUDA AL MENOS Q ME INDIQUEN DONDE DEBO LEER PARA ESTE TIPO DE PROGRAMAS! PORQUE TODOS LOS Q ENCUENTRO ES CON TIMERS SE PRENDEN Y SE APAGAN SOLOS!

Y SI ALGUIEN ME TIRA UNA PARTE DEL PROGRAMA MEJOR TODABIA!  :-/  

MILES DE GRACIAS!!

SALUDOS

 
Título: Re: 16f84 prender 8 leds y apagarlos! se puede esto?
Publicado por: maunix en 07 de Mayo de 2007, 23:06:57
Puedes al menos decirnos en qué lenguaje estas programando?

¿has hecho al menos algún diagrama del flujo del programa o puedes enviarnos qué has estado intentando así te guiamos sobre eso?
Título: Re: 16f84 prender 8 leds y apagarlos! se puede esto?
Publicado por: sander en 08 de Mayo de 2007, 10:13:48
Lucho_asd no se puede hacer lo que quieres porque el pic16f84 solo tiene 14 pines configurables como entrada o salida , en todo caso podrias hacerlo con 7 leds y 7 pulsadores.

Saludos
Título: Re: 16f84 prender 8 leds y apagarlos! se puede esto?
Publicado por: migsantiago en 08 de Mayo de 2007, 10:33:35
Hola

Una aclaración, el 16F84 solo tiene 13 pines I/O.
Título: Re: 16f84 prender 8 leds y apagarlos! se puede esto?
Publicado por: lucho_asd en 08 de Mayo de 2007, 21:02:13
hola! no importa si se puede hacer de 7 entradas y 7 salidas! q asi sea, yo pense q multiplexando se podia enviando señales de 8bit o 4 pero de lenguaje no tengo mucha idea, por favor CUALQUIER SUGERENCIA SERA BIEN ACEPTADA! TENGO Q SALIR DE ESTO!

MUCHAS GRACIAS POR SU INTERES!!
 :mrgreen:

SALUDOS
Título: Re: 16f84 prender 8 leds y apagarlos! se puede esto?
Publicado por: sander en 09 de Mayo de 2007, 11:35:20
Citar
Hola

Una aclaración, el 16F84 solo tiene 13 pines I/O.

jeje , esto es cierto , se me olvidaba que este pic utiliza un pin exclusivo para el reset. gracias por la correccion migsantiago.

Lucho_asd hasta ahora no dices que tipo de ayuda necesitas , por lo menos deberias saber en que lenguaje vas  a programar .

Saludos
Título: Re: 16f84 prender 8 leds y apagarlos! se puede esto?
Publicado por: microcom en 09 de Mayo de 2007, 13:45:59
mira este
http://www.todopic.com.ar/foros/index.php?topic=2428.0
http://users.tpg.com.au/users/talking/5x7%20Display%20Index.html

saludos
Título: Re: 16f84 prender 8 leds y apagarlos! se puede esto?
Publicado por: lucho_asd en 09 de Mayo de 2007, 21:24:32
el lenguaje cualquiera, la idea es meterle un "hex" al pic q haga esta tarea! si no se pueden 7 q sean 6 aunque sea!!

Muchas gracias una ves mass!!

Saludos
Título: Re: 16f84 prender 8 leds y apagarlos! se puede esto?
Publicado por: Veguepic en 09 de Mayo de 2007, 21:41:37
Y si lo dejamos en cuatro?

http://www.todopic.com.ar/foros/index.php?topic=12345.msg72255#msg72255

De aqui lo puedes modificar para que sean 6, pero eso ya te corresponde a ti, ponle algo de esfuerzo y lo lograras.

Suerte.
Título: Re: 16f84 prender 8 leds y apagarlos! se puede esto?
Publicado por: lucho_asd en 09 de Mayo de 2007, 22:58:33
muchas gracias amigo! pero lo veo dificil poder modificarlo   :?  para 2 leds mas y encima lo peor es q cuando se activa uno el anterior se tiene q apagar, ademas tiene q ser con pulsador y no con switch, (dificil para mi conocimiento no es q no se pueda porque la verdad es q no lo se)

lo estuve probando en el proteus y funciona barabaro, lastima q es con switch y no es pulsador, ademas tengo q solucionar el tema q se apague cuando se enciende otro realmente no se como hacerlo. dejo el codigo aca por si alguien se le despierta alguna idea!

VAR

ORG   0
BSF   STATUS,5            ; activa la pagina 1
MOVLW   B'00000'               ; carga 00000 en W
MOVWF   TRISA                   ; puerto A todos salidas
MOVLW   B'11111111'        ; carga 11111111 en W
MOVWF   TRISB                   ; puerto B todas entradas
BCF   OPTION_REG,7  ; activa pull-up en puerto B
BCF   STATUS,5            ; volvemos a la pagina 0

CLRF   PORTA               ; ponemos a cero el puerto A

INICIO

CLRF   VAR                     ; etiqueta
BTFSC   PORTB,0            ; ponemos a cero VAR
BSF   VAR,0              ; si RB0 es 0 salta 1 linea
BTFSC   PORTB,1              ; si RB1 es 0 salta 1 linea
BSF   VAR,1                 ; pone 1 el bit 1 de vAR, encendido
BTFSC   PORTB,2              ; si RB2 es 0 salta 1 linea
BSF   VAR,2              ; pone 1 el bit 2 de VAR, encendido
BTFSC   PORTB,3              ; si RB3 es 0 salta 1 linea
BSF   VAR,3              ; pone 1 el bit 3 de VAR, encendido
COMF   VAR,0              ; complementa VAR y carga en W (*)
MOVWF   PORTA                ; carga W en PORTA
GOTO   INICIO              ; salta a INICIO

END


aunque paresca una pavada no saben lo importante q es para mi este circuito! para mi proyecto!!
muchas graciassssssssss!!!!!!!
Título: Re: 16f84 prender 8 leds y apagarlos! se puede esto?
Publicado por: slaine en 10 de Mayo de 2007, 06:01:46
para programillas de estos tan simples yo utilizo el niple q es bastante facil de utilizar.
el otro dia descubrí una pagina donde hay algunos ejemplos, creo que habia uno del 16f84, yo no le he visto pero a lo mejor te sirve.

http://grupodw.es/telsotec/


saludos.
Título: Re: 16f84 prender 8 leds y apagarlos! se puede esto?
Publicado por: microcom en 10 de Mayo de 2007, 14:11:08


MOVLW   B'00111111'        ; carga 00111111 en W
MOVWF   TRISB                   ; puerto B todas entradas Y SALIDAS B6,B7


BTFSC   PORTB,0            ; ponemos a cero VAR
BSF   VAR,0              ; si RB0 es 0 salta 1 linea
BTFSC   PORTB,1              ; si RB1 es 0 salta 1 linea
BSF   VAR,1                 ; pone 1 el bit 1 de vAR, encendido
BTFSC   PORTB,2              ; si RB2 es 0 salta 1 linea
BSF   VAR,2              ; pone 1 el bit 2 de VAR, encendido
BTFSC   PORTB,3              ; si RB3 es 0 salta 1 linea
BSF   VAR,3              ; pone 1 el bit 3 de VAR, encendido
BTFSC   PORTB,4              ; si RB3 es 0 salta 1 linea
BSF   VAR,4             ; pone 1 el bit 4 de VAR, encendido       ;5 LED
BTFSC   PORTB,5             ; si RB3 es 0 salta 1 linea
BSF   PORTB,6              ; pone 1 el bit 6 de PORTB, encendido  ; 6LED


ANTES DE PONER EN UNO EL RESPECTIVO BIT PUEDES LIMPIAR EL REGISTRO Y ASI SE APAGARIA EL ANTERIOR Y SE PRENDERIA EL SIGUIENTE BITS.

VAMOS A VER EN QUE MAS SE LE PUEDE AYUDAR, BOY A ENSAYARLO CON PULSADORES AVER.

SALUDOS
Título: Re: 16f84 prender 8 leds y apagarlos! se puede esto?
Publicado por: IIIC en 10 de Mayo de 2007, 15:45:18
Acuerdense que existen los registros de corrimiento y a sus salidas agregar los leds, procura comprar aquellos que tienen entrada serial y salida en paralelo, asi ocuparas pocos pines del microcontrolador.

saludos