Recordando PIC16F84A

Buenas,
Saludos a tod@s, soy nueva por aqui, me gustaria decir que espero ayudaros en lo que pueda pero creo que no servire de mucho viendo el nivel... asique... espero que nos llevemos bien al menos jeje

Bueno mi "problema" es bastante largo, para vosotros sera simple pero para mi no lo es ahora mismo. Como digo va para largo, asique si no quereis perder tiempo lo entendere, agradezco un saludo aunque sea jeje

Si sigues leyendo te cuento... Hara como unos 4 o 5 años hacia yo el primer año del ciclo de equipos electronicos de consumo, una asignatura era electronica digital o algo asi, y algo que aprendimos fue a "programar" un PIC16F84A. Montamos una plaquita simple con 4 pulsadores de entrada, 16 leds de salida y el zocalo del PIC, en aquel entonces yo hacie esas cosas jeje.
Nos enseñaron a "programarlo" (entre comillas porque seguro que los "programas" que haciamos a vosotros os pareceran de risa), haciamos cositas simples, la salida eran 16 leds asique hasta ahi llegabamos.

El caso es que me gustaba romperme el coco para hacer tonterias con los leds y secuencias con los pulsadores.

Bueno pues pasado aquello no he vuelto a saber nada de el tema, y las cosas se olvidan.
Ahora (volvemos al presente), por un tema que de momento no explicare en detalle, me han planteado un "problema" y yo veo una solucion el utilizar el PIC, pero lo que en su dia me entretenia y mas o menos manejaba bien, hoy esta algo oscuro, como un gato negro en un pozo de petroleo, de noche, jeje
Y bueno, tampoco es cosa de vida o muerte, pero ya que se rieron de mi me gustaria intentarlo aunque sea por orgullo jaja

Despues de la historia, si aun sigues despierto, el problema.
Tendria que empezar casi de cero, los puntos serian mas o menos:

- Conectar el PIC el PC, el profesor usaba una plaquita con zocalo que no nos enseño a montar, parecia simple, pero desconozco.
- El modelo que tengo es PIC16F84A, esta eso vivo aun?
- El programa que usabamos para crear los "programitas" era el PIC SimulatorIDE 4,51 , estara viejo o me servira igual? aunque tampoco es que recuerde 100% su uso ( a favor es que lo tengo guardado e instalado ahora mismo)
- Para crear el programita a mi gusto me gustara romperme el coco, leere los apuntes unas cuantas veces, creo que se donde estan, creo...

Bueno, para hacer todo esto.... necesito ayuda... buscarlo todo en internete por separdo me llevaria media vida y las cosas me sonarian a chino, se lo que quiero (mas o menos) , pero no se como se llama ni donde encontrarlo (partiendo de que hace 4 o 5 años del material que hablo).

Asi de primeras.... me doy cuenta de que pido demasiado, asique comprendo que no querais perder tanto tiempo, pero agradeceria cualquier orientacion, incluso algun correo para ruegos, dudas y cuestiones jeje (intentare no molestar demasiado lo prometo)

Y bueno, si llegaste a leer hasta aqui te agradezco mucho tu atensión, incluso si no vas a responder, gracias :)

Un saludo a tod@s
 
Bueno lo que pides esta aqui...

"Conectar el PIC el PC, el profesor usaba una plaquita con zocalo que no nos enseño a montar, parecia simple, pero desconozco"

Eso se llama un programador PIC... hay varios con puerto serial, paralelo y hasta USB... busca en internet PROGRAMADOR JDM (aqui hay USB y JDM) lo manejas con winPIC o ICProg, con este aparatito y el soft que te mencione te sirve para grabar el PIC en .HEX (Que son un sin fin de ceros y unos), previamente claro haz tenido que hacer el programa en ASM o en C.

"- El modelo que tengo es PIC16F84A, esta eso vivo aun?"

Ese PIC es del tipo memoria flash y tienes para usarlo unas 100000 veces(no tengo el datasheet a mano para darte el numero exacto de veces)

Y finalmente sobre el software te recomiendo uses el MPlab es de la misma microchip y segun me han dicho llena menos la memoria del PIC... y lo mejor es que soporta ambos lenguajes (ASM y C).

Con todo esto SAN GOOGLE es un buen punto de comienzo... busca "Programador JDM" y "Manual ASM"

eso seria todo.. cualquier duda te respondere a lo poco que se... ya sabes, por aqui ando... SALU2!
 
Última edición:
Exacto como te dicen la placa que se utiliza para conectar el pic al pc sirve para programarlo desde el software específico que estes utilizando. Como comentaba the_invader existen gran cantidad de programadores en internet o directamente en tiendas de electronica, o si lo deseas incluso existen esquemas para contruir tu propio programador.

Sobre si el pic aún se utiliza te puedo decir que si, yo recien lo he utilizado para un proyecto sobre un cargador de pilas y funciana muy bien :). Puedes entrar a la página de microchip donde te proporciona todos los datos sobre este microcontrolador:
http://www.microchip.com/wwwproducts/Devices.aspx?dDocName=en010230

En cuanto al entorno de desarrollo puedes utilizar el MPLAB que te proporciona el mismo microchip que tiene soporte para todos sus microcontroladores y es constantemente actualizado. Desde aquí puedes exportar el archivo .hex para usar el progamador de tu preferencia y grabarlo en la memoria del pic.

Existen bastantes ejemplos por la red de este tipo de micro y con la hoja de datos, que es muy completa, tendrías suficiente para desarrollar alguna aplicación. Saludos y suerte.
 
Muchas gracias por responder :)

Bueno voy mirando cositas en todas partes para ver si me va quedando claro.
Sobre el programador la opcion de montarlo o comprarlo, quiza pase a un par de tiendas a ver si lo tienen y eso que tengo adelantado, realmente estos ultimos dias no me sobra tanto tiempo como quisiera...

Sobre el programa para manejarlo creo que mire algo sobre icprog y mplab, hay guias y demas asique solo es echarle tiempo.

Pero ahora me surje otra duda. Tambien utilizabamos en clase un display 7 segmentos, y recuerdo que este se controlaba con un chip que segun mire en google y me suena podria ser algo como 7446 o 7447. Mi duda es, si quiero unir 7 displays alineados para que muestren distintos resultados, necesitaria tambien 7 chips para controlarlos?
Porque aunque parezca exagerado... la cantidad de displays en la que pienso para mi "proyecto" es de unos 30...

Y otra cuestion, en este "proyecto" mio un tanto raro, que quiza solo funcione en mi cabeza jeje, constaria de unos 12 pulsadores como entrada y unos 30 displays ,dos altavoces pequeños para emitir pitidos y algunos leds, osea 33 salidas como minimo. Es esto demasiado para un PIC? .... se pueden.... empalmar? dos PICs ?
(supongo que las preguntas os pareceran tontas pero esque no controlo mucho lo siento :()

De nuevo gracias por todo :)
 
bueno... en vez de tantos DISPLAYS porque no usar un LCD? lo configuras como 4bits y solo necesitarias 7 o 6 pines en caso extremo... y eso de las 33 salidas necesitarias un pic 16f877a que se programa casi igual que un 16f84 pero no se... que tienes en mente.... no entiendo aun
 
Para expandir los puertos puedes usar registros de desplazamiento seriales o latch tipo D... asi puedes mandar tantos bits como RAM soporte el micro...
 
Sobre utilizar un LCD, quedaria bonito, pero como ya puse en el primer post, mi experiencia en todo esto es bastante limitada...

Bueno para que me entendais mejor explico un poco lo que tengo en mente.

El grupo que comente de displays mostraria unas preguntas y mediante pulsadores responderias unos numeros, al ponerlos estos numeros se quedaran mostrandose fijos en otros displays.

Por ejemplo:
- grupo displays (pregunta) - [T.total]
- pulsadores (respondes) - 0100
- displays fijos (muestra) - [01:00]

Despues en el grupo de displays se pediria otro dato, se le introduciria mediante los pulsadores, y en otros displays fijos se mostraria de forma permanente. La idea es que en los displays fijos se muestre el resultado de todas las "respuestas" que le has introducido.
Nose si me explique bien... pero bueno mas o menos para esta idea, el LCD seria: util? caro? complicado para alguien con conocimientos muy basicos?

Otra vez gracias por vuestra ayuda :)
 
usar el LCD es mas facil de lo que piensas y no necesitas una interface(el integrado que necesitas para tus displays) para comunicarlo con el PIC es de forma directa puedes escribir lo que se te ocurra y luego de mandar un mensaje al LCD los 4 bits de bus de datos pueden ser usados para otro propósito... no es dificil solo necesitas saber para que sirven las patas del LCD, y tener los archivos para incluir y todo listo... no hay mas que hacer... si gustas te ayudo el fin de semana escribeme un MP... SALU2!
 
Exacto como dice the_invader el LCD es bastante sencillo de utilizar en vez de tantos display, además que el LCD lo puedes conectar en 8 salidas o en 4 salidas dependiendo si lo configuras como de 8 o 4 bits, más algunos bits de control que por lo regular son 3.

Igual depende de que lenguaje utilices para programar. Te pongo de ejemplo mi caso. La primera vez que utilice el LCD fue con ensamblador y se me complicó bastante, sobre todo entender bien el funcionamiento, ya después fue relativamente más sencillo. En este caso lo hice como LCD de 8 bits. Posteriormente con el CCS que ya incluye una librería para LCD fue mucho más sencillo, basta con inicializar el LCD mediante una función y con otra función escribes en el, bastante sencillo y además esta en modo 4 bits con lo que te ahorras bits de puertos.

Definitivamente usar el LCD es la mejor solución al problema que quieres resolver, tienes multiples líneas y posiciones para escribir dependiendo del LCD, te comento así rapidamente el que yo utilicé podía desplegar 16 caracteres por linea y contenía dos lineas con lo que son un total de 32, además que también puedes escribir en la memoria interna para un total de 80. Existen LCDs que pueden desplegar muchos más, eso ya quedaría a tu criterio decidir cual se te acomoda mejor para lo que necesitas.
 
Bueno si no es muy dificil se puede intentar utilizar, como me toca repasar como se utiliza todo de nuevo, asique mirare eso tambien.
Gracias por vuestra ayuda, ya encontre algunos apuntes, cuando tenga un poco de tiempo ire dandole vueltas, aunque realmente no se por donde empezar... :S

De nuevo gracias, cuando me vayan surgiendo problemas, que seran muchos jeje, ya comentare.
Saludos
 
Buenas,
aqui estoy para pedir ayuda de nuevo, encontre un poco de tiempo para seguir con esto, o mejor dicho empezar, pero me surgen muchas dudas, algunas las pude encontrar por internet, y otras nose ni como buscarlas jeje

Bueno una duda principal que tengo para empezar.
Segun mire, el PIC16F84A que es el que tengo, maneja en el TRISA 5 entradas/salidas y TRISB 8.
El caso es que yo necesito 12 pulsadores de entrada, y un monton de displays de salida, que podria agrupar en 3 pantallitas LCD (en caso de que aprendiese a utilizarlas...), mas el altavoz pequeño.

Total:
12 pulsadores entrada
3 LCD salida
Altavoz(mini) salida

Se podrian meter tantas cosas en el PIC?
y como jeje

Gracias por todo
 
tendrias que explicar muy bien lo que piensas hacer, asi te puedo decir muchas cosas de muchas formas pero quizas no la mas adecuada... a simple vista veo que necesitas un pic de 40 pines (como el 16f877a) para que tengas RA,RB,RC,RD y RE eso solucionaria hasta ahi tu problema... y la pregunta del millon es... porque 3 LCD's??? y porque 12 entradas... la verdad necesito al menos yo mas información sobre tu proyecto... SALU2!
 
Hmmmm... es un poco complicado de explicar... arriba puse mas o menos una idea.
A ver si lo consigo, la secuencia seria la siguiente:



- LCD 1
Pregunta "Tiempo total?"

- Pulsadores (0,1,2,3,4,5,6,7,8,9,"ok","atras")
Introducirias el tiempo. Ej: 0100, "ok"

- LCD 2
Mostraria siempre el tiempo total que introduciste. Ej: "T.total = 01:00"
Lo mostraria de forma fija para que sepas el tiempo que programaste

- LCD 3
Cuenta el tiempo total hacia atras (como un cronometro).Ej: 00:59 , 00:58 ...

- Altavoz
Pitaria al terminarse el tiempo para avisar.


No se si asi me explique un poco mejor
Gracias de nuevo :)
 
todo eso lo puedes hacer con un solo PIC... creo... bueno te explico un poco... el LCD de dos lineas es para eso para que uses las dos lineas... ejemplo haces que el LCD muestre por default la pregunta y luego de eso mediante un teclado puedes enviar el dato que requieras... es decir ya no necesitarias 3 LCD's sino 1, quizas si un pic mas potente como el 16f876a u otro... pero de menor costo.... pero eso de regresar el conteo y el pitido no lo se.. al menos aun no llegan x ahi mis conocimientos pero puedo comenzar a investigar... bueno estamos en contacto... SALU2!
 
Tambien me interesaria saber que LCD usar, porque mire y hay muchos tipos... y bueno... ni idea...
No se como se utilizan, pero para intentar aprender mirando alguna guia o manual tendria que saber antes cual seria el adecuado, alguna sugerencia?

Gracias
 
El problema no es la cantidad de I/Os que manejes ya que en teoria se pueden expandir hasta el infinito, el problema es la cantidad de memoria que maneja el PIC, el F84 me parece que solo tiene 1K y no creo que te alcance para usar un LCD y todos los botones..

Tambien depende mucho de que tantos mensajes quieras mostrar en el display, pero te recomendaria ir pensando en algo un poco mas grande... un F88 o un F873
 
Si es verdad que el 16F84 tiene 1k pero de hecho que se puede conectar el LCD un teclado matricial 4x4 y hacerlos trabajar... yo lo he hecho... lo unico que no se es como hacer el conteo regresivo.. de poder se puede con un F84 el problema es el como... ;) ... y a mucha exigencia creo que con un 16F628A bastaria... SALU2!
 
Atrás
Arriba