TODOPIC

Microcontroladores PIC => Primeros pasos - Iniciación a los microcontroladores => Mensaje iniciado por: Joga en 22 de Abril de 2008, 06:48:46

Título: ¿Que lenguaje hay que utilizar?
Publicado por: Joga en 22 de Abril de 2008, 06:48:46
Hola, muy buenas a todos.Soy nuevo en el mundo de la electrónica y quiero empezar a programar micros junto con pequeños circuitos para ir aprendiendo poco a poco.Voy a comprar el 16F84A y he visto que hay libros y tutoriales sobre el en ensamblador. Pero no se si cada micro tiene que programarse en un lenguaje o se puede en varios, ¿se puede programar el 16F84A en C o solo en ensamblador?.Lo digo porque programo en c sharp y he programado en c y c++, por lo que me es mas sencillo. Y en cuanto al ensamblador he hecho alguna cosilla a modo de iniciación pero estoy muy verde  :mrgreen:.

Un saludo a todos y enhorabuena por este foro con tanta información para los que empezamos. 
Título: Re: ¿Que lenguaje hay que utilizar?
Publicado por: jfmateos2 en 22 de Abril de 2008, 07:12:29
Bienvenido Joga. Los microcontroladores sólo se pueden programar en ensamblador... ahora bien: existen compiladores de C, Basic, ... capaces de convertir tu código fuente Basic,C, ... a ensamblador, de modo que todos los microcontroladores se pueden programar con cualquier lenguaje (si existe un compilador para él).
Título: Re: ¿Que lenguaje hay que utilizar?
Publicado por: migsantiago en 22 de Abril de 2008, 10:52:49
Cierto, un micro se puede programar en el lenguaje que tú quieras, mientras exista un compilador para hacerlo.

La recomendación general es que siempre empieces a programar microcontroladores en lenguaje ensamblador para que los conozcas a nivel hardware, después ya puedes usar lenguajes como c o como basic.
Título: Re: ¿Que lenguaje hay que utilizar?
Publicado por: Joga en 22 de Abril de 2008, 14:14:15
Gracias por responder, he decidido empezar con ensamblador, ya que los tutoriales y libros sobre el chip con que voy a empezar lo utilizan. Y cuando lo domine y haga algún proyecto mas complicado o cambie a otro (tengo pensado pasar al 18Fxxx y hacer algo conectado al pc vía usb (a largo plazo  :mrgreen:)), pues empiezo con el c.

Un saludo.
Título: Re: ¿Que lenguaje hay que utilizar?
Publicado por: vszener en 24 de Abril de 2008, 10:09:37
Yo te recomendaría que empezaras por en C y echándole un vistazo al ASM, pero en ese orden.


Suerte!!! ;)
Título: Re: ¿Que lenguaje hay que utilizar?
Publicado por: Joga en 24 de Abril de 2008, 18:17:52
vszener, gracias por el animo, me va a hacer falta  :mrgreen:.
Estoy empezando con algun manual de elctronica básica y despues me pongo con un libro sobre el pic16f84a. Un pregunta ¿como consigo 5 voltios para el pic si mi fuente da 4.5 voltios o 6 voltios?, ¿Es más facil subir 0.5v o bajar 1v?, ¿Que resistencia necesitaria para bajar? Se nota que no he empezao a leer  :?.

P.D.:es una fuente estabilizada
Título: Re: ¿Que lenguaje hay que utilizar?
Publicado por: Leon Pic en 24 de Abril de 2008, 18:33:36
El pic funciona muy bien con 4,5 volt.
Título: Re: ¿Que lenguaje hay que utilizar?
Publicado por: vszener en 25 de Abril de 2008, 06:21:59
Hay reguladores que estabiliza la tensión, por eujemplo a 5V el 7805, hay una amplia familia de reguladores, búscalos por 78xx.

Normalmente se baja tensión o estabiliza con diodos zener, no con resistencias, y para subir, hay dos metodos, una es por diodos (para elevar la tensión en 0.7 V aprox. por cada diodo) y la más usada, es por fuente de conmutación, los conocidos por chooper.

Pero como te han comentado antes, con tú nivel de tensión, le agregas un estabilizador 7805 y listo.


Suerte!!! ;)
Título: Re: ¿Que lenguaje hay que utilizar?
Publicado por: Joga en 25 de Abril de 2008, 10:33:36
Pues me he encontrado con unos estabilizadores de tension, no se si valdrán. Son el LM317, el LM317L y el LM334Z. Pueden variar la salida desde 1.2 v hasta 37v y el z es de 10mA, el L de 100mA y el otro de 1.5A. ¿Alguna sugerencia? :roll:. Donde vivo solo hay un pequeña tienda de electrónica que se dedica más bien a reparar, así que tengo que conseguir los componentes por internet. A ver si me puedo apañar con lo que tengo.

Un saludo.
Título: Re: ¿Que lenguaje hay que utilizar?
Publicado por: Leon Pic en 25 de Abril de 2008, 10:37:24
Estos componentes, no amplifican la tensión, si no que la regulan. Para que LM334Z entregue 37V, necesita en su entrada unos 39V como mínimo. Por lo que no te va a servir en la fuente que mensionaste en el 5to pos.
Título: Re: ¿Que lenguaje hay que utilizar?
Publicado por: Joga en 26 de Abril de 2008, 12:52:04
Gracias por la respuesta LeonPic, pues voy a seguir tu consejo y lo voy a poner a 4.5v de hecho he visto el datasheet de Microchip sobre el 16F84A y pone:

Wide operating voltage range:
- Commercial: 2.0V to 5.5V
- Industrial: 2.0V to 5.5V

por lo que no hay problema. También me pone esto:

Operating speed: DC - 20 MHz clock input
                          DC - 200 ns instruction cycle

El pic va a 4Mhz y en todos los ejemplos que he visto se le pone un cristal de 4 Mhz. ¿Se le puede poner uno de 20Mhz? ¿Cuanto aumentaría la velocidad de ser posible?

Un saludo.

P.D: He realizado mi primer programa en ensamblador: un led parpadeando y lo he simulado en isis satisfactoriamente  :-/ . Solo me falta que me llegue el programador y lo pruebo en un modulo board.  :-)
Título: Re: ¿Que lenguaje hay que utilizar?
Publicado por: Leon Pic en 26 de Abril de 2008, 14:26:45
Se le puede poner al 16f84A 20Mhz. El que no posee la letra A al final, no.

La velocidad aumentaría más del doble que llendo a 4 Mhz. Para empezar está muy bien hacerlo con 4Mhz, pero a medida que hagas proyectos, deberás elegir la velocidad que mas te convenga. Ya te vas a ir dando cuenta.

Por ejemplo, un ciclo de intrucción a 4Mhz, tarda 0,000001 seg o 1 uS y a 20Mhz tardará 0,0000002 seg o 0,2uS

Citar
P.D: He realizado mi primer programa en ensamblador: un led parpadeando y lo he simulado en isis satisfactoriamente  :-/ . Solo me falta que me llegue el programador y lo pruebo en un modulo board.  :-)

Es una gran sastifacción verlo cuando funciona. No te lo pierdas porque es el inicio de muchos grandes proyectos.
Título: Re: ¿Que lenguaje hay que utilizar?
Publicado por: micro_cadaver en 28 de Abril de 2008, 15:53:21
lo mejor viene cuando tengas tu primer micro_cadaver  :D
Título: Re: ¿Que lenguaje hay que utilizar?
Publicado por: firepic en 28 de Abril de 2008, 16:04:19
Comparto la opinión de miqsantiago, es bueno comenzar con el ensamblador porque permite entender bien lo que realmente hace y no hace el microcontrolador, da muchas ventajas a la hora de programar.
Sobre la tensión, como dice vszener, le agregas un 7805 y listo el pollo!
Animo Joga, que te vas a divertir en grande!  :-/
Avisas qué tal los resultados con el montaje del circuito, si te funcionó bien tu primer programa de pic y qué tal te fue...
Exitos programando pics!  :mrgreen:
Título: Re: ¿Que lenguaje hay que utilizar?
Publicado por: Joga en 28 de Abril de 2008, 19:08:35
Gracias por los ánimos, ya tengo el programador  :). En cuanto haga la primera prueba en circuito os lo digo.