# Introduccion a los microcontroladores



## nyquist (Jul 27, 2005)

Hola,
desde hace un tiempo quiero armar un proyecto con un micro, pero despues de tanto buscar sobre el tema (aclaro que soy principiante) me encuetro sumergida en un monton de datos inutiles que no los puedo llevar a la pratica. Para empezar, quiero un micro de la flia. del 8051, pero no se de que marca (ni los codigos) se consiguen en Argentina. Tambien se que necesito conversores D/A pero no se que tipo necesito. En definitiva necesito alguna ayuda o introduccion PRACTICA al tema. 

Muchas gracias, Nyquist.


----------



## MaMu (Jul 27, 2005)

Si sos de Argentina, como yo, te recomendaria que comiences por la familia de microcontroladores Pic, debido a la abismal diferencia de precios entre un 80C51 y cualquiera de la gran familia de Pic. Podes empezar utilizando un PIC 16F84, es uno de los más faciles de conseguir, y su programador, como el JDM ( http://www.maxoverclocking.com/ele_jdmprog.html ) es de muy facil construcción, el mismo puedes programarlo utilizando el ICProg.
Ante todo lo primero que debes hacer, es conseguirte el set de instrucciones de programación del pic, que no son muchas, asi como la distribución de pines y la arquitectura interna. Tomá en cuenta que practicamente existe un Pic por cada necesidad, imagina que en esta gran familia de microcontroladores existen aquellos en los que ya viene incorporado conversores A/D, Osciladores, Puertos, y hasta un Max232!!!, y seguramente una lista interminable de configuraciones.


----------



## nyquist (Jul 28, 2005)

Hola,
Gracias por la pagina. La parte de programacion y el set lo tengo entendido. Pero todavia se me presenta una duda basica: ¿Que diferencia existe, aparte del precio, entre un 80C51 y un PIC? Me refiero a utilidades y arquitectura. 
Tambien necesito saber las memorias ROM y RAM que voy a necesitar. En este momento tengo un programa en C (funcionando) pero no se como verificar que capacidad necesita.
En este momento tengo que tomar la decision de basar el proyecto en un micro u otro para poder avanzar.

Gracias, Nyquist.


----------



## lucasprieto (Jul 28, 2005)

Que tal, me acabo de inscribir en este sitio asi que saludos a todos !!!
Te cuento que si quieres recuperar un programa de C e incorporarlo a un microcontrolador te recomiendo al igual que MaMu que utilices la familia PIC.
Lo que necesitas es:
1) Saber que tipo de PIC (Yo diria un 18Fxxx que aceptan el compilador de C FREE de Microchip)
2) Donde comprar el PIC 18F4550: http://www.mcelectronics.com.ar/ (Yo ya he comprado de estos aqui y me han brindado una excelente atención.)
3) Hardware para programarlo: TAIT CLASIC PROGRAMMER (Aunque puede ser otro con este funciona de diez) http://www.piclist.com/techref/microchip/davidtait/cpp.gif
4) Entorno de desarrollo MPLAB Gratis desde http://www.microchip.com
5) Compilador MCC18 Gratis desde http://www.microchip.com
6) Soft Programador para bajar el *.hex al micro 
http://www.sprut.de/electronic/soft/p18/p18.htm#download (Muy bueno)
Tambien funciona y puedes utilizar:
http://perso.wanadoo.fr/softelec/Projects/PIC18/PP18/Projects_PIC18_PP18_us.htm[/url]
7) Muchas ganas de empezar.

Te cuento que con este conjunto he programado con éxito el PIC18F4550 que tiene puerto USB con lenguaje ANSI C. Este micro tiene 32K de memoria de programa FLASH (Es bastante) + 2K de RAM + 256 Bytes de EEPROM por lo que le debería caber un programa medio.
La memoria FLASH te permite reprogramarlo muchas veces por lo que se vuelve muy práctico para empezar.
Bueno te deseo suerte en tu proyecto


----------



## nyquist (Jul 29, 2005)

Hola,
Les agradezco muchos sus consejos. Espero llegar a buen puerto (  ). Despues les cuento como termina la historia.

Nyquist.


----------



## Raflex (Ago 1, 2005)

Hola, yo tambien te recomiendo los pics por la variedad que hay, aunque para empezar el 8051 es bueno ya que los mnemonicos que usa son faciles de aprender. La diferencia del 8051 con el pic16f84 es que el 8051 es de 40 pins, tiene 32 lineas de entradas/salidas, cuenta con puerto serial. El pic16f84 tiene 18 pins, 13 lineas de entradas/salidas, no tiene interfase serial pero se puede implementar por programacion.

Para programarlos usa ensamblador, ya que si los programas en C el programa ocupara mas memoria.

Si vas a comprar un 8051 compra el AT89C51 o AT89C52, ya que son borrables electricamente (ambos son de ATMEL).


----------



## Ivan (Ago 5, 2005)

Yo e usado pic's e construido circuitos, pero no tengo la menor idea de como programarlos, siempre me pasan el asm echo y yo solo lo cargo, e buscado en internet alguna especie de manual, pero no e encontrado nada gratis, alguien tiene alguna guia de como programar un pic, el que siempre e usado es el PIC16F84


----------



## Raflex (Ago 5, 2005)

Hola, no es difícil programar los pics, solo tienes que guiarte en la hoja de datos para ver como funciona el conjunto de instrucciones. Para que le entiendas mejor intenta hacer programas básicos como prender un led, luego algo mas complejo. Si tienes bases del lenguaje ensamblador no te costara trabajo programar. De todas formas con el conjunto de instrucciones es suficiente para empezar, revisa esta pagina por si te sirve de ayuda.

http://perso.wanadoo.es/chyryes/tutoriales/pic0.htm


----------



## nyquist (Ago 9, 2005)

Hola, 
Finalmente seleccione un PIC18F452. La idea es programarlo en C (por eso de la linea 18) y a pesar de que me prestan el programador universal me gustaria armarme uno propio (para este PIC). Por otro lado tengo el entorno MPLAB y el compilador de C respectivo. Alguien conoce un programador "bueno" que pueda hacer para utilizar con estos programas?

Saludos, Nyquist.


----------



## Gabf (Nov 25, 2007)

sale 50 mangos el amigo ese...  

por que no el 16f84 digo yo?


----------



## JOSE JAVIER BAEZ (Dic 1, 2007)

para que no te metas en tantos lios te aconsejo que utilizes los pic de microchp mas exactamente el 16F628A utilices el editor de progama CodeStudio el compilador PBP y el programador icprog veras que es muy facil.  ....saludos.


----------



## argote (Jun 14, 2008)

Hola amigos del foro, tengo una duda que ya me tiene cabezón y espero que me ayuden a resolverla, cuando intentaba realizar un programa con el PIC18F452 usando el MCC18 v2.2a lo primero que hago al iniciar es hacer un programa básico para configurar MPLABv8.10, me refiero a Project>Select Language Toolsuite>Microchip C18 Toolsuite, eso lo hago tal cual como dice en el Manual Getting Started, el programa básico con el que siempre comienzo es:

#include <p18f452.h>

void main(void){

}

Eso ya lo habia hecho antes y me habia funcionado bien, lo otro es que al compilar los programas que he hecho antes funciona bién, con lo cual me aseguro que el programa esta bien configurado. He probado con el numero de caracteres en la ubicacion del proyecto y nada.

El error generado en la salida al compilar es el siguiente:

----------------------------------------------------------------------
Debug build of project `D:\Fargo C18\Termo2008\tempe.mcp' started.
Preprocessor symbol `__DEBUG' is defined.
Sat Jun 14 01:59:10 2008
----------------------------------------------------------------------
Clean: Deleting intermediary and output files.
Clean: Deleted file "D:\Fargo C18\Termo2008\prueba.o".
Clean: Done.
Executing: "C:\mcc18\bin\c18demo.exe" -p=18F452 "prueba.c" -fo="prueba.o" -D__DEBUG -Ou- -Ot- -Ob- -Op- -Or- -Od- -Opa-
Executing: "C:\mcc18\bin\mplink.exe" "C:\mcc18\lkr\18f452.lkr" "prueba.o" /m"tempe.map" /w /o"tempe.cof"
MPLINK 3.40, Linker
Copyright (c) 2003 Microchip Technology Inc.
Error - unknown switch: /w
Errors    : 1

Link step failed.
----------------------------------------------------------------------
Debug build of project `D:\Fargo C18\Termo2008\tempe.mcp' failed.
Preprocessor symbol `__DEBUG' is defined.
Sat Jun 14 01:59:10 2008
----------------------------------------------------------------------
BUILD FAILED


Lo que alcanzo a entender es que el error está en el linker, pero al compilar otro proyecto sin modificar la Toolsuite si me aparece el final feliz.

----------------------------------------------------------------------
Debug build of project `D:\Fargo C18\PUBLIC\PUBLIC.mcp' succeeded.
Preprocessor symbol `__DEBUG' is defined.
Sat Jun 14 02:35:12 2008
----------------------------------------------------------------------
BUILD SUCCEEDED


Estaré atento a todas las sugerencias que me puedan dar y no me queda mas que agradecerles.


----------

