Mis primeros pinitos con Microcontroladores

En esta página poco a poco voy a ir mostrando y comentando los avances que vaya teniendo en este maravilloso mundo de los microcontroladores.

Estoy estudiando la programación de los microcontroladores de la familia ®microchip porque son los más económicos y comerciales en mi localidad, e intentado programar en assembler pero para ser sincero me ha parecido bastante dificil, sin contar con que el programa que se haga con este programa sólo sirve para el pic especifico que fué creado, por lo tanto estoy aprendiendo a programar en picbasic y en lenguaje c que permiten ver con mayor rapidez los avances con estos mpc, el assembler lo dejamos para despues para no perder de pronto el entusiasmo con estos magnificos integrados.

Para hacer las practicas es necesario adquirir una herramienta fundamental como es el programador de pics, pero mejor aun es construir uno mismo su propio programador y tener doble satisfación; en la web hay infinidad de programadores, yo me decidí a hacer el ®pickit2 clone de suky porque está muy bien documentado, aprovecho para dar las gracias a él y a todas las personas que comparten sus conocimientos en la web.

Para programar el pic 18f2550 tuve que hacer el programador serial  ®JDM PLUs el cual funciona a la perfección y con el cual pude programar sin problemas el firmware con extension .hex en el pic con la ayuda del ®winpic800 el cual es gratuito y muy facil de manejar.

El pickit2 original es fabricado por microchip y su diagrama a si como su firmware se pueden descargar gratis de la página del fabricante, una vez programado por primera vez se puede actualizar facilmente ya que el pickit2 tiene un bootloader (gestor de arranque) que lo hace posible, este programador es denomidado in-circuit-programmer (icsp) lo que quiere decir que no tiene zócalo para insertar el pic, si no que tiene un conector de 6 pines por medio del cual se conecta directamente al circuito donde está montado el pic a programar; se debe tener precaución al conectarlo porque se puede dañar el pickit2, pero a su vez es muy facil si se tiene a mano el datasheet del pic.

 

Subo algunas fotos para que vean mi progreso y se animen a construir el suyo:)

Ejemplos:

BLINK LEDS PUERTO B CON EL 18F2550

/**PARPADEA LEDS EN EL PUERTO B CON EL  PIC 18F2550**/

#include <p18f2550.h>

#include <delays.h>

#include "18F2550BOLT.h"  // configura el valor del xtal, los pines de entrada y salida para que corra en mi entrenadora

extern void _startup( void ); // Ver  c018i.c en su  C18 compiler dir 

#pragma code _RESET_INTERRUPT_VECTOR = 0x000800 // a partir de esta dirección se empieza a grabar el código, de otro modo puede borrar  el bootloader del pic

void _reset( void ) 

    _asm goto _startup _endasm 

#pragma code

 

/*********************FUSES **************************/

 

#pragma config FOSC = XTPLL_XT//Oscilador externo XT (4mhz) con PLL

#pragma config PLLDIV = 1//Pll sin divisor, es decir, crystal de 4Mhz.

#pragma config CPUDIV = OSC1_PLL2//PLL/2 es decir, el cpu trabajara a 48Mhz. 

#pragma config PWRT = OFF// Power-up timer desactivado.

#pragma config BOR = OFF//Brownout reset desactivado.

#pragma config VREGEN = OFF//Regulador de voltaje usb desactivado

#pragma config WDT = OFF//Watchdog timer desactivado

#pragma config MCLRE = ON//Master Clear activado.

#pragma config LPT1OSC = OFF//Timer 1 condigurada para operacion con//máxima potencia.

#pragma config PBADEN = OFF//Entradas A/D del puerto B <4:0>//condiguradas como digitales.

#pragma config STVREN = OFF//Desboradamiento del Stack no causará reset.

#pragma config LVP = OFF//Soporte para una sola fuente de voltaje para//programacion ICSP desactivada

#pragma config XINST = OFF//Set de instrucciones extendidas desactivado.

#pragma config DEBUG = OFF//Debug desactivado por lo tanto B7 y B6 sirven//para pines de proposito general.

#pragma config CP0 = OFF, CP1 = OFF, CP2 = OFF, CP3 = OFF//Proteccion de bloques//desactivada

#pragma config CPB = OFF//Proteccion del código del boot desactivada

#pragma config CPD = OFF//Protección del código de memoria EEPROM//desativada.

#pragma config WRT0 = OFF, WRT1 = OFF, WRT2 = OFF, WRT3 = OFF//Proteccion de//escritura de los bloques// de memoria desactivada

#pragma config WRTD = OFF//Proteccion de escritura de la memoria EEPROM//desactivada.

 

/****************************************** PROGRAMA PRINCIPAL ***********************************************************************/

 

void main(void)

{

TRISB = 0X00; // configura el puerto B como salida, 0 = salida, 1 = entrada

 

while (1)

 

{

PORTB=0X00;  // apaga los leds

Delay10KTCYx(255); // retardo

PORTB=0XFF;  // prende los leds

Delay10KTCYx(255); // retardo

 

}

 

}

 

(1) El lazo do-while con el Pic 18F4550

/*prende y apaga un led en el pin_d0 hasta que se cumpla la condición dentro del parentesis del while*/

#include <18f4550.h>

#fuses xt,nowdt,nomclr

#use delay(clock=4Mhz)

int cont=0;//declara la variable cont entera y la inicializa

void main()

{

do

{

set_tris_d(0b11111110); //declara el bit0 del puerto d como salida

output_high(pin_d0); 

delay_ms(1000);

output_low(pin_d0);

delay_ms(1000);

cont++;

}

while(cont<6);

 

}

firmware.rar
Archivo comprimido 312 Bytes
simulacion.rar
Archivo comprimido 14.9 KB
Software de Instalación Pickit2 de ®microchip
PICkit 2 v2.61.00 Setup A.zip
Archivo comprimido formato ZIP 3.9 MB
Firmware del Pickit2 de ®microchip
PK2V023200.zip
Archivo comprimido formato ZIP 26.5 KB
Clone del Pickit2
Excelente aporte del señor jonathan moyano y su socio carlos petry
Pickit2_Clone_5v_3.3v.zip
Archivo comprimido formato ZIP 404.8 KB
Conexión directa del pic con el pickit2 clone
El clone reload utiliza la misma distribución de pines del pickit2 original
icsp-info.pdf
Documento Adobe Acrobat 56.0 KB
® Ing. Carlos Reyes
microcontroladores_pic_basic_-.pdf
Documento Adobe Acrobat 8.9 MB
PIC18F2550
18F2550.pdf
Documento Adobe Acrobat 6.8 MB
WINPIC800
Software útil para programar microcontrolares por el puerto serial con un programador del tipo JDM como el descrito en la sección de herramientas
®WinPic800.zip
Archivo comprimido formato ZIP 1.9 MB

PRACTICAS CON MICROCONTROLADORES:

 

 

código en lenguaje C de microC para pic y simulación en proteus

controlar los cuatro semáforos en una intersección
Semaforo.rar
Archivo comprimido 44.9 KB
SENSOR DE TEMPERATURA
LM35.pdf
Documento Adobe Acrobat 303.7 KB
ULN2803 Circuito Integrado Driver
Dentro del ULN2803 se encuentran 8 transistores Darlington. Es un circuito integrado ideal para ser empleado como interfaz entre las salidas de un PIC o cualquier integrante de las familias TTL o CMOS y dispositivos que necesiten una corriente más elevada para funcionar.
ULN2803.pdf
Documento Adobe Acrobat 90.8 KB
DHT11 SENSOR DE HUMEDAD Y TEMPERATURA
DHT 11 Humidity.pdf
Documento Adobe Acrobat 190.2 KB

PICAXE

Empiezo por decir que las personas que saben bastante de programación menosprecian estos integrados lo mismo que hacen con el Basic, pero para personas como yo que apenas estamos aprendiendo son una muy buena alternativa para aprender a programar los microcontroladores, que dicho de paso los picaxe tambien son microcontroladores, sólo que ya vienen preprogramados con un bootloader que nos facilita la vida y nos permite rapidamente ver resultados practicos, el pequeño inconveniente con el que me he encontrado es que no se consiguen en el mercado local y es necesario comprarlos en linea y por esto se hacen un poco mas costosos que los otros pics, tienen la ventaja que el software de programación se consigue facilmente en internet y su manejo es muy sencillo, se pueden programar una y otra vez con diagramas de flujo y/o en basic, descargar el código es aun mucho mas fácil y no necesita comprar ningun programador de pics, basta con armar un sencillo cable de tres hilos que se conecta al puerto serial del pc y desde el mismo software de programación se puede descargar el código al picaxe, mejor aun sin necesidad de desconectarlo del circuito. La mayoria de estos integrados vienen con varias entradas ADC las cuales son muy útiles al momento de trabajar con sensores para monitorear  variables analogicas, tales como la temperatura, humedad, presion, etc estos sensores se consiguen muy economicos en el mercado.....

CABLE DE PROGRAMACION POR EL PUERTO SERIAL

Cable de Programación Picaxe
Cable de Programación Picaxe

 

 

Plug estereo de 3.5 mm y un conector DB9 hembra

 

 

PEQUEÑA TARJETA DE DESARROLLO PICAXE 08M
KIT DE PROGRAMACION PICAXE 08M

PEQUEÑA TARJETA DE DESARROLLO PICAXE 08M 

Trae una parte del circuito impreso libre para implementar cualquier circuito que se nos ocurra o mejor aun colocarle varias hileras de headers hembras para recibir componentes pequeños que se puedan intercambiar facilmente de acuerdo al diseño

 

 

 

Estamos en la era de la información y el conocimiento el cual avanza a pasos agigantados y todo gracias a la NUBE. El conocimiento nos hace libres y nos permite adaptarnos a este mundo que segundo a segundo permanece en constante cambio.

 

La información suministrada en este sitio web se hace con el ánimo de compartir los conocimientos que he ido adquiriendo de a poco

en este mundo maravilloso de la electrónica y los computadores, de todas maneras si mis apuntes son desarcetados o estoy rompiendo alguna norma por favor comunicarse  via e-mail que con gusto lo voy a corregir.

 

 

Gracias por visitar tu página

Vuelve Pronto