sábado, 20 de agosto de 2016

XiuaElectronics: Curso de Pickit3 y MPLABX + Pic16f877a

Curso de Pickit3 y MPLABX + Pic16f877a: Programando desde MPLABX con PICKit3 Pic16f877a Parte#2


Buenas tardes amigos!

En esta tarde vamos a ver como funciona el Pickit3, como programar con el, como funcionan sus pilotos; además de esto veremos como configurar correctamente nuestro programa para programar desde MplabX sin ningún problema.


Que no se debe hacer:
En particular, estas directrices deben ser seguidas:
• No utilice pull-ups en PGC / DGP - van a alterar los niveles de tensión, ya
estas líneas tienen 4.7 k resistencias pull-down en el depurador.
• No utilice condensadores en PGC / DGP - evitarán que las transiciones rápidas de datos
y líneas de reloj durante las comunicaciones de programación y depuración.
• No utilice condensadores en MCLR - evitarán que las transiciones rápidas de V PP. UN
sencillo resistencia pull-up es generalmente suficiente.
• No utilizar diodos en PGC / DGP - van a impedir la comunicación bidireccional
entre el depurador y el dispositivo de destino.





Recomendaciones:

Conectar el reset del pic correctamente.
Alimentar tarjeta de programación con un voltaje externo, que no sea del pickit3.
conectar la tierra adecuadamente.


Y bien complementemos esta entrada con el sguiente vídeo, donde se mostrara muchos más detalles de como debe ser la programación correcta del pic con PICKit3, ademas, se muestra todo lo anteriormente dicho de una forma practica.






Guia de Usuario (English): http://sh.st/Xvt7E
Datasheet Pic16f877a (English): http://sh.st/Xvygv
Guia de usuario MPLAB IPE (English): http://sh.st/BaopD


Bien muchachos, esto es todo por hoy; esten pendiente en mi canal, o de mi blog o de mi pagina de facebook.

Facebook: https://www.facebook.com/electronicalibrexc/
Youtube:  http://www.youtube.com/c/breismanrueda
Google +: https://plus.google.com/u/0/+breismanrueda
Twitter: https://twitter.com/BreismamR

Esto es todo por hoy, Sigue mi blog y visita mi próxima entrada!

Cualquier duda, trabajo, tutoria personalizada por correo electronico o pagina en facebook:
Correo: ElectronicaLibreXC@outlook.com
Facebook: https://www.facebook.com/electronicalibrexc/



Salu2...

miércoles, 17 de agosto de 2016

XiuaElectronics: Curso de Pickit3 y MPLABX + Pic16f877a

Curso de Pickit3 y MPLABX + Pic16f877a: Programando desde MPLABX con PICKit3 Pic16f877a Parte#1 


Buenas noches amigos?

En esta noche vamos a ver como funciona el Pickit3, como programar con el, como funcionan sus pilotos; además de esto veremos como configurar correctamente nuestro programa para programar desde MplabX sin ningún problema.


SIGNIFICADO DE LOS DIFERENTES COLORES QUE ARROJA LOS PILOTOS DE PICKit3:


Los indicadores LED indican el estado de las operaciones en el PICkit 3 .

1. Power (verde ) - la energía se suministra a la PICkit 3 a través del puerto USB.
2. Active ( azul) - conectado al puerto USB del PC y de la vía de comunicación activo.
3. Status ( uno de los tres colores ):
    Success (verde ) - listo para comenzar , o la terminación exitosa.
    Busy (naranja ) - ocupado con una función en curso , por ejemplo , la programación.
    Error (rojo ) - Se ha producido un error.


 Bien,  ya que sabemos esto podemos pasar a algunas recomendaciones y apuntes que necesitamos para programar correctamente nuestro PICKit3.

CONFIGURACIONES BÁSICAS DEL MICROCONTROLADOR PARA SER CORRECTAMENTE PROGRAMADO CON PICKIT3:


Que no se debe hacer:
En particular, estas directrices deben ser seguidas:
• No utilice pull-ups en PGC / DGP - van a alterar los niveles de tensión, ya
estas líneas tienen 4.7 k resistencias pull-down en el depurador.
• No utilice condensadores en PGC / DGP - evitarán que las transiciones rápidas de datos
y líneas de reloj durante las comunicaciones de programación y depuración.
• No utilice condensadores en MCLR - evitarán que las transiciones rápidas de V PP. UN
sencillo resistencia pull-up es generalmente suficiente.
• No utilizar diodos en PGC / DGP - van a impedir la comunicación bidireccional
entre el depurador y el dispositivo de destino.

























Recomendaciones:

Conectar el reset del pic correctamente.
Alimentar tarjeta de programación con un voltaje externo, que no sea del pickit3.
conectar la tierra adecuadamente.


Y bien complementemos esta entrada con el sguiente vídeo, donde se mostrara muchos más detalles de como debe ser la programación correcta del pic con PICKit3, ademas, se muestra todo lo anteriormente dicho de una forma practica.




Guia de Usuario (English): http://sh.st/Xvt7E
Datasheet Pic16f877a (English): http://sh.st/Xvygv

Bien muchachos, esto es todo por hoy; esten pendiente en mi canal, o de mi blog o de mi pagina de facebook.

Facebook: https://www.facebook.com/electronicalibrexc/
Youtube:  http://www.youtube.com/c/breismanrueda
Google +: https://plus.google.com/u/0/+breismanrueda
Twitter: https://twitter.com/BreismamR

Esto es todo por hoy, Sigue mi blog y visita mi próxima entrada!

Cualquier duda, trabajo, tutoria personalizada por correo electronico o pagina en facebook:
Correo: ElectronicaLibreXC@outlook.com
Facebook: https://www.facebook.com/electronicalibrexc/



Salu2...

viernes, 12 de agosto de 2016

XiuaElectronics: Curso de Pickit3 y MPLABX + Pic16f877a

Curso de Pickit3 y MPLABX + Pic16f877a: Introducción (Partes, funciones y Conexiones).


Buenas noches amigos?

En esta noche vamos a ver como funciona el Pickit3; además de esto veremos sus partes y funciones y sus respectivas conexiones.

¿Que es Pickit3 y como funciona?


El Pickit3 es un programador/depurador de la empresa Microchip; este programador es el sucesor de Pickit2, es una herramienta necesaria para todo aquel programador que utilice la familia de los microcontroladores PIC; ya que soporta las diferentes arquitecturas que microchip ofrece, su comuicación es con la IDE de programación MPLABX y MPLAB IPE; además de esto posee una tecnología que perite almacenar un programa en su memoria y portar con su Pickit3 con el programa donde quieras, esto sirve para que puedas programar cualquier microcontrolador sin necesidad de un ordenador.

Como características básicas tiene:

  • USB (velocidad máxima de 12 Mbits / interfaz de la PC del anfitrión )
  • Ejecución en tiempo real
  • MPLAB IDE compatible ( copia gratuita incluida)
  • Built-in de la sobretensión Circuit Monitor / corto
  • Firmware actualizable desde el PC web descarga / totalmente cerrado
  • Soporta baja tensión de 2,0 voltios ( 2,0 V a 6,0 V gama )
  • Los LED de diagnóstico (el poder , ocupado, error)
  • Leer programa y los datos / escritura de la memoria del microcontrolador
  • Borrar el espacio de memoria de programa con la verificación
  • Imágenes congeladas periféricos en punto de interrupción
  • Programación de hasta 512K bytes de flash con el programador - to-Go *
  • Información de cabecera

Conexiónes:




Bueno ya viendo esto básico, complementaremos esto con el siguiente vídeo:





Guia de Usuario (English): http://sh.st/Xvt7E
Datasheet Pic16f877a (English): http://sh.st/Xvygv

Bien muchachos, esto es todo por hoy; esten pendiente en mi canal, o de mi blog o de mi pagina de facebook.

Facebook: https://www.facebook.com/electronicalibrexc/
Youtube:  http://www.youtube.com/c/breismanrueda
Google +: https://plus.google.com/u/0/+breismanrueda
Twitter: https://twitter.com/BreismamR

Esto es todo por hoy, Sigue mi blog y visita mi próxima entrada!

Cualquier duda, trabajo, tutoria personalizada por correo electronico o pagina en facebook:
Correo: ElectronicaLibreXC@outlook.com
Facebook: https://www.facebook.com/electronicalibrexc/



Salu2...


viernes, 3 de junio de 2016

XiuaElectronics: Grabando microcontroladores PIC con Pk2cmd en Linux [Mediafire]

Instalando y Grabando microcontroladores PIC con Pk2cmd en Linux [Mediafire].



Que tal amigos?

En el día de hoy vamos a ver como grabar microcontroladores PIC en Linux; para esto vamos a necesitar de un programa llamada Pk2cmd, este programa no es más si el mismo Pickit2 sino que para linux, funciona mediante la terminal. Para que se den una mejor idea les dejaré el siguiente tutorial de la instalación y uso de este Pickit2 (pk2cmd) para linux:



Bueno y para terminar les voy a dejar los link's de descarga y la contraseña, que es la dirección de mi blog; solo copienla y pegenla

Contraseña: http://engineers-worldwide.comlu.com/

Link Pk2cmd: http://adf.ly/ruiKr
Link Manual PDF: http://adf.ly/ruiE1

Bien muchachos, esto es todo por hoy; esten pendiente en mi canal, o de mi blog o de mi pagina de facebook.

Facebook: https://www.facebook.com/electronicalibrexc/
Youtube:  http://www.youtube.com/c/breismanrueda
Google +: https://plus.google.com/u/0/+breismanrueda
Twitter: https://twitter.com/BreismamR

Esto es todo por hoy, Sigue mi blog y visita mi próxima entrada!

Cualquier duda, trabajo, tutoria personalizada por correo electronico o pagina en facebook:
Correo: ElectronicaLibreXC@outlook.com
Facebook: https://www.facebook.com/electronicalibrexc/



Salu2...

domingo, 27 de diciembre de 2015

XiuaElectronics: Curso de XC8 y MPLABX

Curso de MPLABX y XC8 #6: Modulo PWM CCP2 Pic18f2550.


Buenas compañeros.
Antes de iniciar el sexto capitulo del curso de programación en C para pic's con MPLABX y XC8, les recomiendo ver los capítulos anteriores siguiendo el siguiente LINK.

Ya vistos los anteriores capítulos y una vez teniendo todos los software necesarios procederemos a explicar de que tratar esta clase.

Modulación de ancho de pulso (PWM).

La modulación de ancho de pulso ó PWM es una técnica que consiste en transferir una carga a un dispositivo con una señal cuadrada; esta señal se componen por dos estados, uno alto y uno bajo, para un microcontrolador estos estados se representarían como 5v voltios en estado alto y 0 voltios en estado bajo; esta señal puede variar dependiendo de la frecuencia a la que es enviada y la amplitud de la tensión a la que es enviada; para entender mejor este concepto veremos la siguiente imagen:

La anterior imagen corresponde a un pwm el cual se le asigna diferentes frecuencias para variar la velocidad de salida de la carga; esto se puede utilizar para el control de velocidad de motores y otro tipos de elementos.



Configuración PWM Pic18f2550:

Para configurar los pines CCP en modo PWM debemos tener clara las características de los módulos CCP en el microcontrolador a utilizar; en este caso es el pic18f2550.

Modulo CCPx Pic18f2550:

Sacado de: PIC18F2455/2550/4455/4550-Data Sheet, 15.0 CAPTURE/COMPARE/PWM
                (CCP) MODULES. Página; 143.


PIC18F2455/2550/4455/4550 todos los dispositivos tienen dos Módulos CCP (Captura/Comparación/ PWM ) .
Cada módulo contiene un registro de 16 bits , que puede funcionar como un registro de 16 bits de captura , de comparación o de PWM.


Estas son las características básicas del modulo CCPx en los microcontroladores de la familia PIC18F.
Ya que el módulo CCP posee tres funciones básicas debemos configurarlas, ya que no se pueden utilizar al mismo tiempo, por eso hay un registro que posee 8 bit para configurar los diferentes modos que soporta el modulo CCPx; este registro es CCPxCON. Ahora veremos sus diferentes configuraciones:





bit 06 al 07 --------------NO SE IMPLEMENTA: Se lee como '0'

bit 04 al 05 ------------- DCxB1:DCxB0: PWM Ciclo de trabajo. El bit 1 y el bit 0 para el Módulo CCPx.
Modo de captura:-----------------No usado.
Modo de comparación:-----------No usado.
El modo PWM: -------------------Estos bits son los dos bits menos significativos (bit 1 y bit 0) del ciclo de trabajo PWM 10-bit. Los ocho MSB de la obligación ciclo se encuentran en CCPR1L.

bits 03 al 0 -------------- CCPxM3: CCPxM0: Modo Módulo CCPx bits de selección
0000 = Captura / Comparación / PWM desactivado/a (restablece módulo CCPx)
0001 = Reservado
0010 = modo Comparación: palanca de salida en partido (bit CCPxIF está establecido)
0011 = Reservado
0100 = Modo de captura: cada flanco de bajada
0101 = Modo de captura: cada flanco ascendente
0110 = Modo de captura: cada flanco ascendente cuarto
0111 = Modo de captura: cada flanco ascendente 16a
1000 = modo de comparación: inicializa pin CCPx baja;comparar, pin vigor CCPx alta (CCPxIF bit se pone)
1001 = modo de comparación: inicializa pin CCPx alta; comparar, pin vigor CCPx baja (CCPxIF bit se pone)
1010 = modo Compare: genera interrupción por software en comparación  (bit CCPxIF se establece,
Pin CCPx  refleja I / O Estado)
1011 = modo de comparación: desencadenar eventos especiales, restablecer temporizador, iniciar la conversión A / D en el partido CCP2
(CCPxIF bit se pone)
11xx = modo PWM
Nota 1: Estos bits no se aplican en los dispositivos 28 patillas y se leen como '0'.

Bien, estos son los bits de configuración con sus respectivas configuraciones del registro CPPxCON;
recordemos que a la hora de programar este registro se tiene que agregar el número del modulo a utilizar; como vamos a utilizar CCP2 en este caso el registro quedaría CCP2CON.

Ya que tenemos claro este registro vamos a ver el siguiente vídeo para ver en forma practica la configuración e implementación de este modulo:


Recuerden que el CCP2 en los microcontroladores de la familia pic18f, es multiplexada, así que se encuentra en dos puertos, esto se configura a través de los bits de configuración del micro, en el vídeo se explica como hacerlo.

Eso es todo; espero que les halla gustado este capitulo del curso de programación en C para microcontroladores PIC con MPLABX y XC8 Compiler.

Si encuentran algún error por favor dejar un comentario en el blog, así podré solucionarlo e informar correctamente a todos; también si tienen algo que aportar con gusto será bienvenido; y por otro lado la traducción no es muy exacta, pero en el vídeo trato de explicar sin necesidad de ella; aún así también son bienvenidas las traducciones corregidas.



Esto es todo por hoy, Sigue mi blog y visita mi próxima entrada!




NOTA:
 se les recuerda a los lectores que se utilizo la versión del compilador XC8 Versión 1.34 la cual trae las peripheral libraries incluidas en él; el pdf de estas lo pueden encontrar en la parte de etiquetas del blog en la etiqueta llamada Documentación.


Bien muchachos, esto es todo por hoy; esten pendiente en mi canal, o de mi blog o de mi pagina de facebook.

Facebook: https://www.facebook.com/electronicalibrexc/
Youtube:  http://www.youtube.com/c/breismanrueda
Google +: https://plus.google.com/u/0/+breismanrueda
Twitter: https://twitter.com/BreismamR

Esto es todo por hoy, Sigue mi blog y visita mi próxima entrada!

Cualquier duda, trabajo, tutoria personalizada por correo electronico o pagina en facebook:
Correo: ElectronicaLibreXC@outlook.com
Facebook: https://www.facebook.com/electronicalibrexc/



Salu2...

domingo, 29 de noviembre de 2015

XiuaElectronics: Curso de XC8 y MPLABX

Curso de MPLABX y XC8 #05: Modulo Timer0 Pic18f2550 Parte#02.

 

Buenas compañeros.
Antes de iniciar la segunda parte del Quinto capitulo del curso de programación en C para pic's con MPLABX y XC8, les recomiendo ver los capítulos anteriores siguiendo el siguiente LINK.

Ya vistos los anteriores capítulos y una vez teniendo todos los software necesarios procederemos a explicar de que tratar esta clase.

 

Procedimiento para el uso del TIMER0 como Temporizador:

Ya que vinos en la parte #01 del modulo Timer0 la configuración de este por medio del registro T0CON, en esta Parte #02 veremos los pasos correctos para poder utilizar el Timer0 como Temporizador; para esto vamos a proponer un breve ejercicio.

Resolver:


Se tiene un microcontrolador Pic18f2550, un led y un interruptor; se necesita hacer prender el led por medio de la bandera de desbordamiento  del modulo Timer0 que se encuentra en el pic, este modulo será activado a través de un interruptor. Para este ejercicio se utilizará como condición solo el puerto B del micro.


Antes de empezar hay que tener en cuenta habilitar las interrupciones globales;
esto se hace de la siguiente forma:
 
INTCONbits.GIE = 1;  //Habilitamos Interrupciones globales

Luego es hora de conocer la interrupción por medio del timer0, esta se produce cuando se registra desbordamientos en el timer0, al producirse un desbordamiento se pone en alto el bit TMR0IF del registro INTCON; cuando se desborda, este bit solo puede ser vuelto a cero por software; esto se hace de la siguiente forma:

INTCONbits.TMR0IF = 0; //Limpiamos bandera de desborde

Y por ultimo les recomiendo que activen unas interrupciones perimetrales y la más importante, habilitamos la interrupción del timer0, esto se hace de la siguiente forma:

INTCONbits.PEIE = 1; //Habilitamos interrupciones perimetrales
INTCONbits.T0IE = 1; //Habilitamos interrupciones T0


Bien! ya planteado el problema y conociendo los anteriores datos, vamos a ver el siguiente vídeo donde se dará solución al problema:


Esto sería todo del quinto capitulo de programación en C con XC8 Compiler y MPLABX, de pronto en el vídeo tuve algunos errores, o mal pronunciamiento, pero la finalidad de este blog es corregir esto y profundizar un poco más en el tema; espero que les sirva!

Esto es todo por hoy, Sigue mi blog y visita mi próxima entrada!


NOTA:
 se les recuerda a los lectores que se utilizo la versión del compilador XC8 Versión 1.34 la cual trae las peripheral libraries incluidas en él; el pdf de estas lo pueden encontrar en la parte de etiquetas del blog en la etiqueta llamada Documentación.



Bien muchachos, esto es todo por hoy; esten pendiente en mi canal, o de mi blog o de mi pagina de facebook.

Facebook: https://www.facebook.com/electronicalibrexc/
Youtube:  http://www.youtube.com/c/breismanrueda
Google +: https://plus.google.com/u/0/+breismanrueda
Twitter: https://twitter.com/BreismamR

Esto es todo por hoy, Sigue mi blog y visita mi próxima entrada!

Cualquier duda, trabajo, tutoria personalizada por correo electronico o pagina en facebook:
Correo: ElectronicaLibreXC@outlook.com
Facebook: https://www.facebook.com/electronicalibrexc/



Salu2... 

domingo, 22 de noviembre de 2015

XiuaElectronics: Curso de XC8 y MPLABX

Curso de MPLABX y XC8 #05: Modulo Timer0 Pic18f2550 Parte#01.

Buenas compañeros.
Antes de iniciar el Quinto capitulo del curso de programación en C para pic's con MPLABX y XC8, les recomiendo ver los capítulos anteriores siguiendo el siguiente LINK.

Ya vistos los anteriores capítulos y una vez teniendo todos los software necesarios procederemos a explicar de que tratara esta clase.

Modulo Timer0 PIC18F2550: Registro T0CON

El registro T0CON controla todo aspectos de la operación del módulo, incluyendo la selección de preescala. A la vez permite la lectura y escritura. El módulo Timer0 incorpora las siguientes características: 
• Software de operación seleccionable como un temporizador o contador en ambos modos de 8 bits o de 16 bits 
• registros de lectura y escritura 
• Dedicado 8 bits, software programable prescaler 
• fuente de reloj seleccionable (interno o externo) 
• Edge seleccionar para reloj externo 
• Interrumpir el desbordamiento por medio de una flag o bandera.

Configuración de los bits en el registro T0CON:


bit 7    TMR0ON: Timer0 El bit / Off Control
            1 = Habilita Timer0
            0 = Detiene Timer0
bit 6    T08BIT: Timer0 8-Bit / 16-Bit Bit de control
            1 = Timer0 se configura como una de 8 bits de temporizador / contador
            0 = Timer0 se configura como un 16-bit de temporizador / contador
   
bit 5 T0CS: Timer0 Reloj de selección de fuente poco
            1 = transición en el pin T0CKI
            0 = reloj ciclo de instrucción interna (CLKO)
   
bit 4 T0SE: Timer0 Fuente Edge Selección bits
            1 = Incremento en la transición de alto a bajo en el pin T0CKI
            0 = Incremento de bajo a alto transición en el pin T0CKI
   
bit 3 PSA: Timer0 de divisor bits Asignación
            1 = TIMER0 prescaler NO se le asigna. Entrada de reloj Timer0 no pasa por prescaler.
            Se asigna 0 = Timer0 prescaler. Entrada de reloj Timer0 proviene de salida de prescaler.
   
bits 2-0 T0PS2: T0PS0: Timer0 de divisor bits de selección
            111 = 1/256 Valor preescaler
            110 = 1/128 Valor preescaler
            101 = 1/64 Valor preescaler
            100 = 1/32 Valor preescaler
            011 = 1/16 Valor preescaler
            010 = 1/8 Valor preescaler
            001 = 1/4 Valor preescaler
            000 = 1/2 Valor preescaler

Bien! ya que sabemos para que sirve cada bit del registro T0CON, vamos a ver como nuestro compilador XC8 nos permite configurar este registro y sus formas básicas:


T0CON ==> Con esta instrucción podemos configurar todos los bits del registro T0CON en forma binaria.

T0CON = 0b11011011;

Pero también se puede hacer bit por bit de la siguiente forma:

T0CONbits. y seleccionamos el bit a configurar, esto sería:

T0CONbits.TMR0ON: 1 ó 0
T0CONbits.T0SE: 1 ó 0
T0CONbits.PSA: 1 ó 0
T0CONbits.T0PS0: 1 ó 0
T0CONbits.T0PS1: 1 ó 0
T0CONbits.T0PS2: 1 ó 0

ETC...

Para saber la carga máxima que se le puede dar al timer0 con respecto al modo de bits que este utilizando se utiliza el siguiente calculo:

(2^16)-1=65535  Modo 16.
(2^8)-1=255 Modo 8 bits.

El 2 se refiere a los dos registros que acumulan la carga los cuales son Timer0L y Timer0H; y luego se eleva al modo de bits del timer0 a utilizar; luego se le resta uno para no acudir a la bandera de desbordamiento del timer0.

Bien para complementar y entender mejor esta clase, los invito a que vean el siguiente vídeo donde se mostrará y profundizará más acerca del Modulo TIMER0 del PIC18F2550:


Esto sería todo del quinto capitulo de programación en C con XC8 Compiler y MPLABX, de pronto en el vídeo tuve algunos errores, o mal pronunciamiento, pero la finalidad de este blog es corregir esto y profundizar un poco más en el tema; espero que les sirva!

Esto es todo por hoy, Sigue mi blog y visita mi próxima entrada!



NOTA:
 se les recuerda a los lectores que se utilizo la versión del compilador XC8 Versión 1.34 la cual trae las peripheral libraries incluidas en él; el pdf de estas lo pueden encontrar en la parte de etiquetas del blog en la etiqueta llamada Documentación.


Bien muchachos, esto es todo por hoy; esten pendiente en mi canal, o de mi blog o de mi pagina de facebook.

Facebook: https://www.facebook.com/electronicalibrexc/
Youtube:  http://www.youtube.com/c/breismanrueda
Google +: https://plus.google.com/u/0/+breismanrueda
Twitter: https://twitter.com/BreismamR

Esto es todo por hoy, Sigue mi blog y visita mi próxima entrada!

Cualquier duda, trabajo, tutoria personalizada por correo electronico o pagina en facebook:
Correo: ElectronicaLibreXC@outlook.com
Facebook: https://www.facebook.com/electronicalibrexc/



Salu2...