Autor Tema: Duda sobre 16f84a  (Leído 5506 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado dunkelheit

  • PIC10
  • *
  • Mensajes: 15
Duda sobre 16f84a
« en: 18 de Junio de 2011, 12:04:08 »
Hola estoy haciendo un proyecto de una cerradura electronica que contiene los siguientes dispositivos

-Tablero matricial 4x4
-LED LM016L
-Speaker
-Motor Paso a Paso

Mi duda es, ¿es suficiente con un pic16f84A para organizar todos estos dispositivos?.
Es decir mi funcionamiento seria.

Ingreso la clave por medio del tablero, el lcd siempre mostrara si es correcto o no o tambien si se abre la cerradura o se esta cerrando, el motor paso a paso simula un jale de puerta (abriendose) luego que la contraseña es correcta mientras se va abriendo el speaker emite un sonido.

Si es posible que funcione con un solo pic me podrian ayudar a organizar los puertos A y B para conectar estos dispositivos.
Gracias.

Desconectado Suky

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: Duda sobre 16f84a
« Respuesta #1 en: 18 de Junio de 2011, 12:34:10 »
Cuantos pines necesitas para conectar los dispositivos y cuantos pines dispones? Averigua y estudia la posibilidad de colocar el teclado y el LCD en el mismo puerto (Busca información, en el foro se ha hablado del tema). Luego, el firmware será realizado en asm, basic o C? Si lo pines son suficientes podrías estudiar la posibilidad de usar un 16F628 o 16F648 (Tienen más memoria de programa). Si se necesitan más pines tienes 16F873, 16F874, 16F883, ect...


Saludos!
No contesto mensajes privados, las consultas en el foro

Desconectado pachomil

  • PIC12
  • **
  • Mensajes: 70
Re: Duda sobre 16f84a
« Respuesta #2 en: 18 de Junio de 2011, 12:36:30 »
buenos dias


lo que pasa es que el 16f84a es un pic bastante viejo podrias pensar en una familia de pic mas nuevos como el 16f1827 o el 16f628a si quieres un pic pequeño o un 16f883, pero aun asi con el 16f84a lo podrias hacer


francisco

Desconectado dunkelheit

  • PIC10
  • *
  • Mensajes: 15
Re: Duda sobre 16f84a
« Respuesta #3 en: 18 de Junio de 2011, 12:45:29 »
Gracias por responder, es necesario usar el pic16f84 por eso me tengo que adecuar a las soluciones.

el tablero es 4x4 asi que usaria 8 pines.
el lcd usaria 4 de datos y 2 que controlen la lectura y escritura
el speaker solo necesita 1
y el motor paso a paso 4.

lo estoy haciendo en asm (mplab)
Yo he visto entrenadores que tienen conectados muchos dispositivos, espero que me ayuden a adecuarlo. gracias

Desconectado Suky

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: Duda sobre 16f84a
« Respuesta #4 en: 18 de Junio de 2011, 12:51:49 »
Bien, de alcanzar, alcanzan justo! Puerto B para LCD y teclado, RA0 a RA3 para PAP, y RA4 (Colector abierto, ojo) para speaker. Busca como conectar un lcd y teclado al mismo puerto, se agregan un par de diodos me parece.


Saludos!
No contesto mensajes privados, las consultas en el foro

Desconectado dunkelheit

  • PIC10
  • *
  • Mensajes: 15
Re: Duda sobre 16f84a
« Respuesta #5 en: 19 de Junio de 2011, 01:58:45 »
gracias por responder, lo unico que encontre fue:

Encontre : http://www.x-robotics.com/rutinas.htm#TOP  que indica para solo tener 5 pines con los diodos, pero no entiendo como captaria la informacion.

tambien encontre: http://www.todopic.com.ar/foros/index.php?topic=18911.0 para usar solo un pin pero no sabria como implementarlo con el 16f84A ya que no cuenta con ADC, usar externo? cual? y como se haria la comparacion? o como captaria la informacion?

---------------------------------------------------------

Me pregunte si se puede hacer que con un PCF8591 convierta la entrada analogica ? y en la programacion del pic se tenga una tabla con los valores?
« Última modificación: 19 de Junio de 2011, 02:42:39 por dunkelheit »

Desconectado stk500

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 4923
Re: Duda sobre 16f84a
« Respuesta #6 en: 19 de Junio de 2011, 03:32:08 »
amigo,es que no ha comprendido lo que dice nuestros amigos ,con todos eso que quiere hacer te sera fastidioso, si logra controlar todas las RAM , ya que ese pic no tiene muchas capacidad para todoslos que quiere hacer, lo que podia hacer es con 2 uno el teclado y el LCD y el otro envia los comandos,  asi tiene un Zocalo de 40 pata con 2x16F84.
otro consejo que te doi es, que comienze con lo que sabe y entonce comenta tus dudas aqui, de ese Pic16F4  hay de todos en nuestros  foros solo es emplear las palabras magica de busquedas,cosas concretas.  :mrgreen:
Saludos

Desconectado dunkelheit

  • PIC10
  • *
  • Mensajes: 15
Re: Duda sobre 16f84a
« Respuesta #7 en: 19 de Junio de 2011, 04:38:46 »
Gracias por responder, pero eso no tendria el sentido de programa, lo que quisiera es que con un solo pic (una sola programacion) haga funcionar todo ese sistema.

Desconectado tapi8

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1506
Re: Duda sobre 16f84a
« Respuesta #8 en: 19 de Junio de 2011, 05:21:30 »
Creo que aqui esta lo que necesitas.

http://www.todopic.com.ar/foros/index.php?topic=23812.0

Como ya te dijeron otros compañeros, el16f84 se te hara muy justo, tienes otros PICs mucho mas baratos y mucho mejores.



Desconectado Suky

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: Duda sobre 16f84a
« Respuesta #9 en: 19 de Junio de 2011, 10:26:12 »
Hace mucho que no uso un 84, pero en asm el trabajo aue necesita realizar me parece que alcanza... queda ver como trabajar todo el conjunto, informacion hay, solo hay que buscar, estudiar y practicar....


Saludos
No contesto mensajes privados, las consultas en el foro

Desconectado dunkelheit

  • PIC10
  • *
  • Mensajes: 15
Re: Duda sobre 16f84a
« Respuesta #10 en: 19 de Junio de 2011, 16:02:01 »
bueno aca en mi pais es dia del padre ... asi que saludos para todos los que son, estuve investigando y el lcd con el teclado matricial por compartir los pines de datos hacen que cuando se aprete un boton del teclado se modifique lo que se muestra? habra algun tipo de solucion :S

Desconectado BlueShift

  • PIC10
  • *
  • Mensajes: 14
Re: Duda sobre 16f84a
« Respuesta #11 en: 19 de Junio de 2011, 17:11:22 »
deberias usar un pic de 28 pines, el 16f84a se te queda corto

Desconectado dunkelheit

  • PIC10
  • *
  • Mensajes: 15
Re: Duda sobre 16f84a
« Respuesta #12 en: 19 de Junio de 2011, 17:30:21 »
hola tengo un problema con la libreria TECLADO.INC

me la descargue de esta pagina: http://www.dackenperu.com/codigo-Librerias-Assembler-1.html el cual tambien me descargue los de lcd y no tuve ningun problema.

pero esta vez me bota este tipo de error:

Error[151]   C:\USERS\JOHN\DESKTOP\PROYECTO ARQUI\TECLADO.INC 52 : Operand contains unresolvable labels or is too complex

el cual apunta a esta parte del codigo:

Teclado_FinTablaHex
;
; Esta tabla se sitúa al principio de la librería con el propósito de que no supere la
; posición 0FFh de memoria ROM de programa. De todas formas, en caso que así fuera
; visualizaría el siguiente mensaje de error en el proceso de ensamblado:
;
   IF (Teclado_FinTablaHex > 0xFF)
      ERROR   "Atención: La tabla ha superado el tamaño de la página de los"
      MESSG   "primeros 256 bytes de memoria ROM. NO funcionará correctamente."
   ENDIF

:S como podria solucionarlo

al eliminarlo ya no sale el error, pero es correcto eliminarlo?
« Última modificación: 19 de Junio de 2011, 17:39:16 por dunkelheit »

Desconectado dunkelheit

  • PIC10
  • *
  • Mensajes: 15
Re: Duda sobre 16f84a
« Respuesta #13 en: 20 de Junio de 2011, 11:51:25 »
Ahora estoy usando el PCF8591 para recibir señal analogica de los teclado, me funciona bien, pero el modo de llamado que uso es polling, pero como podria hacer que solo funcione cuando apreto un boton (cuando apreto las resistencias se suman y dan un valor de los voltios este se transforma en el pcf8591 y luego se transfiere a la ranura RA3 y RA4) ya que este no cuenta con pin de interrupcion.


Código: [Seleccionar]
ORG 0
goto Inicio
ORG 4
goto ServicioInterrupcion
Inicio
call LCD_Inicializa
call I2C_EnviaStart ; Va a configurar el PCF8591.
movlw PCF8591_DireccionEscritura ; Apunta al dispositivo.
call I2C_EnviaByte
movlw b'00000000' ; Carga la palabra de control utilizando la
call I2C_EnviaByte ; entrada AIN0 en modo simple.
call I2C_EnviaStop ; Termina la configuración
call I2C_EnviaStart ; Comienza a leer.
movlw PCF8591_DireccionLectura ; Apunta al dispositivo.
call I2C_EnviaByte
call I2C_LeeByte ; La primera lectura es incorrecta y por lo tanto
; la desecha.
Principal
call I2C_LeeByte ; Lee la entrada analógica.
call Visualiza
goto Principal
ServicioInterrupcion
; Subrutinas "Visualiza" ----------------------------------------------------------------
CBLOCK
Auxiliar
ENDC
Visualiza
movwf Auxiliar ; Lo guarda.
movlw teclaD
subwf Auxiliar,W
btfss STATUS,Z
call LCD_Linea1 ; Se sitúa al principio de la primera línea.
movlw MensajeIntro ; Visualiza la tensión deseada.
call LCD_Mensaje
call LCD_Linea2 ; Se sitúa al principio de la primera línea.
movf Auxiliar,W ; Recupera el dato a visualizar y lo
call LCD_Nibble ; unidades de voltios.
return
« Última modificación: 20 de Junio de 2011, 12:16:50 por dunkelheit »

Desconectado tapi8

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1506
Re: Duda sobre 16f84a
« Respuesta #14 en: 20 de Junio de 2011, 12:49:57 »
Citar
pero el modo de llamado que uso es polling, pero como podria hacer que solo funcione cuando apreto un boton (cuando apreto las resistencias se suman y dan un valor de los voltios este se transforma en el pcf8591 y luego se transfiere a la ranura RA3 y RA4) ya que este no cuenta con pin de interrupcion.

En el 16f84A solo tienes interrupciones externas en el PORTB, y en RA4 para el TIMER0, si tienes libre RA4  y no usas el TIMER0,hay una manera de usarla como interrupcion externa, pero ¿como harias para que se produzca un cambio de 0 a 1 en RA4?. No podrias usar el TIMER0 y es el unico que tienes...no se si seria buena solucion.