Autor Tema: Famoso PIC 16F84A  (Leído 5933 veces)

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

Desconectado firepic

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1130
    • JC Servicios
Re: Famoso PIC 16F84A
« Respuesta #15 en: 19 de Mayo de 2008, 19:29:20 »
Saludos!

Vakjorsan, creo que no has tomado en cuenta esta observación que te he hecho varias veces:  :?

Ahora bien, en tu dibujo tienes los 8 pines del LCD D0-D7 conectados al pic... no sé si sabes que eso no es necesario, pues el LCD puede configurarse a 4 bits, así sólo usarías los pines D4-D7 que conectarías por ejemplo a los pines RB0-RB3, luego te queda E y RS que los puedes conectar en el puerto A y te quedan libres RB4 - RB7 para los pulsadores... que por cierto, no los ví contemplados en tu dibujo...

En cuanto a lo de los pulsadores, como te mencioné antes me parece que deberías cambiar la interfaz del LCD a 4 bits para que tengas libres los pines RB4-RB7 del lcd... o por lo menos dos de ellos, para usar interrupciones y facilitar la parte el código que te permita enviar el mensaje correspondiente al pulsador activado.
Creo que deberías trabajar en eso por ahora... pues como dices ya esa rutina está funcionando, no creo que te sea difícil cambiar la configuración a cuatro bits... lo único que tienes que hacer es dividir los 8 bits en dos partes, y enviar una primero y otra después (primero los más significativos y después los menos significativos)...
En este archivo conseguirás una buena explicación de cómo hacerlo.

Eso tienes que tomarlo en cuenta para que puedas hacer lo de los pulsadores de una manera más eficiente.
Ok nos leemos!  :mrgreen:

"Por la presunción solo se ocasiona una lucha, pero con los que consultan juntos hay sabiduría" (Proverbios 13:10).
Visita Mi Sitio Web

Desconectado vakjorsan

  • PIC10
  • *
  • Mensajes: 10
Re: Famoso PIC 16F84A
« Respuesta #16 en: 20 de Mayo de 2008, 14:37:40 »
Buenassssssss!!!

Ciertamente, se me olvido comentar que referente a la primera cita que me has puesto amigo firepic, sobre:
Citar
Ahora bien, en tu dibujo tienes los 8 pines del LCD D0-D7 conectados al pic... no sé si sabes que eso no es necesario, pues el LCD puede configurarse a 4 bits, así sólo usarías los pines D4-D7 que conectarías por ejemplo a los pines RB0-RB3, luego te queda E y RS que los puedes conectar en el puerto A y te quedan libres RB4 - RB7 para los pulsadores... que por cierto, no los ví contemplados en tu dibujo...

pues bien, es verdad hay pines que no hace falta conectar ya que solamente teniendo conectados el RB4 al RB7 me funciona tambien el texto, pero claro solamente con el principal es decir que de RB0 a RB3 pueden quedar libres.

tambien aclarar q no seran pulsadores, sino un doble conmutador la primera vez que conmuta apareceria el mensaje 2 y la segunda vez que conmuta saldria el mensaje 3 y despues claramente mediante un interruptor a 0 saldria el mensaje 4 y puesto a 1 saldria el mensaje 5 :P

Pienso que el pic16f84a es super interesane, pero es que me parece que ............... pufffffff ....... no llego a ver que pueda salida y trabajo a conrareloj, pero yo dia a dia intento mil y dos mil cosas para que salga.

Gracias!

Desconectado firepic

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1130
    • JC Servicios
Re: Famoso PIC 16F84A
« Respuesta #17 en: 20 de Mayo de 2008, 14:55:43 »
Saludos!

Ciertamente, se me olvido comentar que referente a la primera cita que me has puesto amigo firepic, sobre:
Citar
Ahora bien, en tu dibujo tienes los 8 pines del LCD D0-D7 conectados al pic... no sé si sabes que eso no es necesario, pues el LCD puede configurarse a 4 bits, así sólo usarías los pines D4-D7 que conectarías por ejemplo a los pines RB0-RB3, luego te queda E y RS que los puedes conectar en el puerto A y te quedan libres RB4 - RB7 para los pulsadores... que por cierto, no los ví contemplados en tu dibujo...

pues bien, es verdad hay pines que no hace falta conectar ya que solamente teniendo conectados el RB4 al RB7 me funciona tambien el texto, pero claro solamente con el principal es decir que de RB0 a RB3 pueden quedar libres.

Bueno Vakjorsan la idea es al contrario, conectar el bus de datos del LCD en RB0:RB3 para que te queden RB4:RB7 libres  y usar las interrupciones que te mencioné.

Por otro lado, sería bueno que colocaras un esquema con los conmutadores que mencionas.

Nos leemos!  :mrgreen:
"Por la presunción solo se ocasiona una lucha, pero con los que consultan juntos hay sabiduría" (Proverbios 13:10).
Visita Mi Sitio Web

Desconectado vakjorsan

  • PIC10
  • *
  • Mensajes: 10
Re: Famoso PIC 16F84A
« Respuesta #18 en: 24 de Mayo de 2008, 14:08:02 »
Holaaaaaaaaaa!!! despues de haber estado leyendo mucho y examinando muchos documentos, no veo la posibilidad que me comentas amigo firepic de no usar los pines RB4-RB7 y usas los RB0 a RB3, nuse haber si me puedes ofrecer algo de informacion sobre lo que comentaste, por que ya te digo que todo lo que hay es como lo tenia yo desde un principio.

El esquema ya lo pase, pero lo vuelvo a poner no hay problema

Haber si podemos mirar lo de los conmutadores y tal....porque el tiempo ya me escasea y de aqui a dos semanas he de presentarlo, es lo unico que me queda!

Gracias de antemano

Desconectado firepic

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1130
    • JC Servicios
Re: Famoso PIC 16F84A
« Respuesta #19 en: 30 de Mayo de 2008, 20:36:08 »
Vakjorsan, sería bueno que colocaras el código que llevas al momento para enviar el mensaje al lcd a 4bits dejando libre los pines RB4:RB7.
En cuanto a lo de los conmutadores... deberás colocarlos en algunos de esos pines, RB4 y RB7.
No tengo mucho tiempo ahora, así que te voy a dar orientación para que tú mismo trates de buscar la información: en la datasheet del pic, encontrarás una sección que dice "características especiales del cpu" (claro, escrito en inglés)... entonces busca allí las interrupciones. Busca la interrupción por cambio en Portb. Allí te explica los pasos que debes seguir para activar esta interrupción.
Anda mirándote eso y cuando tenga un tiempo te ayudo un poco más. Si mal no recuerdo tú no estás usando ninguna otra interrupción, así que lo que tienes que hacer es colocar al inicio del programa:

Código: [Seleccionar]
ORG 0x00
goto inicio
ORG 0x04
goto interrupccion

donde interrupción es una subrutina en la que harás lo siguiente:
1- Deshabilitas las interrupciones globales (aclaras bit GIE)
2- Aclaras la bandera de interrupción (creo que el bit se llama RBIF, busca en la datasheet del pic).
3- Lees el puerto B (así ves cuál conmutador fue activado).
4- De acuerdo al conmutador que haya sido activado llamas a la subrutina para enviar el mensaje correspondiente.
5- Vuelves a habilitar las interrupciones (set a bit GIE).

Bueno como te dije esto es muy a groso modo pero allí tienes una guía para que vayas trabajando...
Luego trataré de ayudarte mejor.

Nos leemos!  :mrgreen:

"Por la presunción solo se ocasiona una lucha, pero con los que consultan juntos hay sabiduría" (Proverbios 13:10).
Visita Mi Sitio Web


 

anything