domingo, 26 de marzo de 2017

Microcontroladores PIC – Curso de Programación en MikroC (Parte 0)



Hola nuevamente a los tutoriales de Artes Electrónicas Pachani, de aquí en adelante vamos a iniciar un nuevo viaje en un nuevo lenguaje, de aquí en adelante iremos aprendiendo sobre las características de C por ello este tutorial está dirigido a lectores novatos, aficionados (hobbistas), estudiantes, que deseen implementar programas para microcontroladores en lenguaje C.

Comencemos en un lenguaje de alto nivel



Bien sabemos que los microcontroladores se emplean en la actualidad en una inmensa variedad de aplicaciones de control electrónico: producción industrial, electrodomésticos, exploración espacial, equipo médico, telecomunicaciones, robótica, etc.

Diseño de programas en ensamblador para PIC ( PARTE 5 )


Hola nuevamente a los tutoriales de Artes Electrónicas Pachani, hoy continuaremos con la serie programación en componentes PIC, este tutorial está dirigido a lectores novatos, aficionados (hobbistas), estudiantes, que deseen implementar programas para microcontroladores en lenguaje ensamblador (ASM), para el desarrollo de aplicaciones.

¡Programar es divertido!



En la niñez de muchos, los juegos han sido importantes y mas divertidos cuando involucra luces y secuencias , lo divertido es cuando son competencias uno a uno. Ahora plantemos un para de ejercicios que pueden ser divertidos implementar:

Problema 4.- A la clase de microcontroladores se le plantea realizar un juego para la semana aniversario de la carrera, donde se pide que sea hecho en base a botoneras y luces. Diseñe un programa que sea para jugar entre dos personas.

Diseño de programas en ensamblador para PIC ( PARTE 4 )


Hola nuevamente a los tutoriales de Artes Electrónicas Pachani, hoy continuaremos con la serie programación en componentes PIC, este tutorial está dirigido a lectores novatos, aficionados (hobbistas), estudiantes, que deseen implementar programas para microcontroladores en lenguaje ensamblador (ASM), para el desarrollo de aplicaciones.

¡Sigamos esforzándonos!



Sin duda la programación como tal es un arte que muy pocos siguen debido a que es largo y moroso, pero la verdad es que un ciencia apasionante, el fruto se lo ve al momento de la implementación de nuestros prototipos. Bien continuemos con nuestro estudio, ahora imaginemos que nos encargan el siguiente trabajo:

Problema 3.- Se desea realizar un juego de interruptores para el manejo de las luces de un ambiente, se tiene tres interruptores que controlan el encendido de las luces, uno se encuentra en la puerta, el segundo al fondo del ambiente y el tercero en medio del ambiente.

sábado, 25 de marzo de 2017

Diseño de programas en ensamblador para PIC ( PARTE 3 )

Hola nuevamente ha Artes Electrónicas Pachani, hoy continuaremos con la serie programación en componentes PIC, tutorial dirigido a lectores novatos, aficionados (hobbistas), estudiantes, que deseen implementar programas para microcontroladores en lenguaje ensamblador (ASM), para el desarrollo de aplicaciones. 

¿Como lo hago?(El inicio)



 
Una vez hemos logrado realizar nuestro primer “Hola Mundo”, la pregunta que viene a nuestra cabeza es ¿Como lo hago?, muchos de los retos en cuanto a la programación viene a ser en la manera como se plantee la solución a un determinado problema, empecemos:
Problema 2.- Se desea realizar un juego donde se busca que los participantes escojan colores y cuando la combinación sea correcta se repita en el panel de colores.

Diseño de programas en ensamblador para PIC ( PARTE 2 )

Hola nuevamente ha Artes Electrónicas Pachani, continuando con la serie programación en componentes PIC, tutorial dirigido a lectores novatos, aficionados (hobbistas), estudiantes, que deseen implementar programas para microcontroladores en lenguaje ensamblador (ASM), para el desarrollo de aplicaciones.
Mi primer programa: “Hola Mundo”


¡Tal vez parezca extraño pero los microcontroladores pueden hablar!
Me imagino que debe ser en unos y ceros.
¿De alguna manera podemos ver esto?
Si lo veremos en primer Hola Mundo.

domingo, 19 de marzo de 2017

Diseño de programas en ensamblador para PIC ( PARTE 1 )

Hola nuevamente ha Artes Electrónicas Pachani, hoy iniciaremos la serie programación en componentes PIC.

Entorno de desarrollo MPlab IDE (instalación rápida)



Vamos ha empezar la programación de microcontroladores PIC, de aquí en adelante los programas que vamos a ir desarrollando en dos etapas una de desarrollo donde usaremos hoja y papel para idear nuestros códigos , donde ademas realizaremos simulación en Mplab y proteus 7.9, y por ultimo la implementaremos en el microcontrolador esta etapa vendrá acompañada de videos.

Análisis y diseño de programas en ensamblador para PIC ( PARTE 6 )


Hola nuevamente a los tutoriales de Artes Electrónicas Pachani, hoy vamos a continuar con la serie de tutoriales en la parte de componentes PIC, este tutorial está dirigido a lectores novatos, aficionados (hobbistas), estudiantes, que deseen implementar programas para microcontroladores en lenguaje ensamblador (ASM), para el desarrollo de aplicaciones.

Programando Operaciones Básicas en PIC (parte 4)


Finalizando esta serie de Operaciones Basicas. Una vez conociendo las capacidades de las instrucciones de los Saltos, podemos trabajar con subrutinas que hará que nuestros programas sean mas flexibles en cuanto a la programación, un único programa principal y luego solo realizar llamadas a las Subrutinas que vendrán a ser como módulos que facilitaran nuestra aplicación y por ende un ahorro de espacio en nuestro microcontrolador. 

SUBRUTINAS E INTERRUPCIONES
  Que entendemos por subrutina entonces, diremos, son pequeñas porciones del programa principal, que el programa principal utiliza para realizar completamente la aplicación. Para tener una idea más clara del concepto de subrutinas, observemos este ejemplo (Figura 3.11): supongamos que tenemos una misma tarea repetida varias veces en el programa, de tal manera que lo que tenemos es una repetición del código de esta tarea en diferentes partes del programa. Esto hace que este programa sea ineficiente debido a que consume mucha memoria de programa.

Figura 3.11.- Programa con y sin subrutina

Análisis y diseño de programas en ensamblador para PIC ( PARTE 5 )


Hola nuevamente a los tutoriales de Artes Electrónicas Pachani, hoy vamos a continuar con la serie de tutoriales en la parte de componentes PIC, este tutorial está dirigido a lectores novatos, aficionados (hobbistas), estudiantes, que deseen implementar programas para microcontroladores en lenguaje ensamblador (ASM), para el desarrollo de aplicaciones.


Programando Operaciones Básicas en PIC (parte 3)


Figura 6.7.- Las herramientas para programar.

INSTRUCCIONES DE SALTO
   Llegamos a la parte mas importante para realizar programas en función de saltos y toma de decisiones que son la base para condiciones como if, for, etc. Estas instrucciones permiten realizar saltos en el programa; tomando como base que se cumplan condiciones o no, se pueden realizar de las formas siguientes:
  • En función de un bit, según el estado (1 o 0) de un bit en un registro.
  • En función de un registro por disminución o incremento al llegar al valor 0 × 00.
  • Incondicional, ejecuta la instrucción goto k.

lunes, 13 de marzo de 2017

Análisis y diseño de programas en ensamblador para PIC ( PARTE 4 )



Hola nuevamente a los tutoriales de Artes Electrónicas Pachani, hoy vamos a continuar con la serie de tutoriales en la parte de componentes PIC, este tutorial está dirigido a lectores novatos, aficionados (hobbistas), estudiantes, que deseen implementar programas para microcontroladores en lenguaje ensamblador (ASM), para el desarrollo de aplicaciones.

3.- Programando Operaciones Básicas en PIC (parte 2)

 

Figura 3.3.- Las herramientas para programar.

Continuando con la segunda parte de las operaciones básicas debido a que no hemos llegado a realizar operaciones lógicas y desplazamiento de bits que son muy importantes,entonces continuemos.

iv).-Instrucciones logicas

Dentro de las operaciones lógicas que se pueden realizar con un microcontrolador están: AND, OR inclusive. OR exclusiva, la rotación, complemento y el intercambio de nibbles, todo con el fin de manipular byte:
AND
Dentro de las operaciones lógicas que vamos a estudiar esta la operación AND que se simboliza por () como (AB) o bien (A y B), también (A&B), una operación lógica donde ambos deben ser verdaderos, para que la operación sea verdadera.

domingo, 12 de marzo de 2017

Análisis y diseño de programas en ensamblador para PIC ( PARTE 3 )



Hola, sean bienvenidos nuevamente a los tutoriales de Artes Electrónicas Pachani, vamos a continuar con la serie de tutoriales para los microcontroladores PIC, como siempre este tutorial está dirigido a lectores novatos, aficionados (hobbistas), estudiantes, que deseen implementar programas para microcontroladores en lenguaje ensamblador (ASM), para el desarrollo de aplicaciones.
Programando Operaciones Básicas en PIC (parte 1)

Figura 4.1.- Las herramientas para programar.

Ya en el anterior tutorial hablamos acerca de que software íbamos a utilizar y el modo como realizaremos nuestros proyectos. Ahora comencemos describiendo las características de las instrucciones en función de las operaciones mas comunes dentro del diseño de aplicaciones para nuestro programa.
4.1.- Instrucciones de Carga
    Ésta es una de las instrucciones básicas de transferencia de datos entre los registros RAM y el registro de trabajo W, en todas sus variantes. Se transfieren datos desde una fuente hacia el registro de direcciones (f) por medio de un selector de destino (d):
Cuando d=0, se carga al registro de trabajo (W).
Cuando d=1, se carga al registro de direcciones (f).
    La fuente puede también ser una constante, cuyo valor (k) es de 8 bits (bit 7.0), que podemos cargar al registro de trabajo (W). También podemos realizar una instrucción de borrado, pues carga el valor 0x00 a (W) o (f) se puede borrar el contenido de los mismos. Las instrucciones de carga son las siguientes :

3.2.-Instrucciones Aritméticas
   Las operaciones aritméticas básicas que podemos realizar en ensamblador son: sumar, restar, incrementar y decremento.
i).- Suma o adición:
   Aquí vamos a realizar un análisis y comparación entre lo que nos han enseñado en colegio en cuanto a la operación de la suma y la suma hexadecimal. Como el microprocesador lo interpreta.
Ejemplo 1: Tenemos la suma de dos números (200 + 29) calcular su valor:
Analizando las operaciones tanto en decimal , binario y hexadecimal tenemos lo siguiente:
La operación es menor que 255. No hay C (Carry) la suma fue menor que 255d o FFh o b“1111 1111”; sin embargo, sí hay DC (Digit-Carry) del bit 3 al 4, al sumar los nibble LSB 8h+Dh=15h. No hay bandera Z (Zero), pues el resultado no es 0.
La operación es mayor que 255. Si hay C (Carry) la suma fue mayor que 255d o FFh o b“1111 1111”,
1111” no hay DC (Digit-Carry). No hay bandera Z (Zero), pues el resultado no es 0. Con estos dos ejemplos se nota cómo funciona el acarreo (C) y acarreo de dígito (DC). A continuación damos las dos instrucciones de suma en código ensamblador:
  ii).- Resta / sustracción :
Tal cual resta en los microprocesadores no existe, los microprocesadores solo saben sumar y realizar operaciones lógicas, entonces como vamos a resolver esto, pues por medio del complemento a dos el
sustraendo y sumarlo al minuendo; así obtenemos la diferencia. (Complementar a dos es igual que hallar el negativo del número) veamos esto con un ejemplo:
Ejemplo 1: Tenemos la resta de dos números en hexadecimal:
    Conviene anotar que al realizar la resta de 8 bits puede haber tres casos, dependiendo del resultado, así:
  • Positivo mayor que cero C = 1 y Z = 0.
  • Positivo igual a cero C = 1 y Z = 1.
  • Negativo menor que cero C = 0 y Z = 0.
Ahora en ensamblador la resta sera de las siguientes dos instrucciones:

iii).- Incrementos y decrementos
Dentro del conjunto de operaciones aritméticas para los PIC hay los incrementos y los decrementos en una unidad.
Como habrán notado los modos de tratar el dato como las operaciones básicas en ensamblador son un tema sencillo pero complejo, en la siguiente parte de estos tutoriales nos dedicaremos a los otros tipo de operaciones con el microcontrolador , subiré la información pronto así que a estudiar y espero les sea de utilidad esta información para iniciar con este estudio de programación en ensamblador.

Todo el material que aquí se encuentra es de mi autoría, ademas de una recopilación de información de Internet de recursos que se pueden descargar como libros los cuales son usados como referencia para los ejercicios y los ejemplos. Cualquier consulta la puedes realizar en la parte de comentarios.

Bibliografia:
1.- Enrique Palacios , Fernando Ramiro y Lucas J. López, Microcontrolador PIC16F84 Editorial Alfa Omega; Publicado el año 2004;[Fecha de consulta 21 de Febrero de 2017].
2.-Christian Bodignton Estava; Mikro Basic ; descargada de WWW.CONEXIONELECTRONICA.COM;
Publicado el año 2010; [Fecha de consulta 5 de Marzo de 2017].


Análisis y diseño de programas en ensamblador para PIC ( PARTE 2 )


Bienvenidos a los tutoriales de Artes Electrónicas Pachani, hoy vamos a iniciar la serie de tutoriales dedicados a los microcontroladores PIC, este tutorial está dirigido a lectores novatos, aficionados (hobbistas), estudiantes, que deseen implementar programas para microcontroladores en lenguaje ensamblador (ASM).



Figura 2.1.- Inicio de curso.


  En el anterior tutorial aprendimos acerca del microcontrolador PIC y las características del lenguaje de Bajo nivel, ahora continuaremos con los nemonicos que conforman el lenguaje ensamblador y las características de los mismos.

Set de instrucciones
Empecemos por el conjunto de instrucciones con que cuenta el MCU (microcontrolador) para hacer todas las operaciones; debido a su arquitectura RISC, RISC tenemos solamente 35 instrucciones de trabajo. 

sábado, 11 de marzo de 2017

Análisis y diseño de programas en ensamblador para PIC ( PARTE 1 )



Bienvenidos a los tutoriales de Artes Electrónicas Pachani, hoy vamos a iniciar la serie de tutoriales dedicados a los microcontroladores PIC, este tutorial está dirigido a lectores novatos, aficionados (hobbistas), estudiantes, que deseen implementar programas para microcontroladores en lenguaje ensamblador (ASM).

¿Que es un PIC?
Vayamos definiendo que entendemos por PIC: Los PIC son una familia de microcontroladores desarrollados y fabricados por la empresa Microchip Technologies Inc., diseñados en una tecnología del tipo RISC (“Reduced Instruction Set Computer” Set de instrucciones reducido para computadora) y con arquitectura interna característica que varían según el modelo de PIC que deseamos utilizar.



Figura 1.1.- Elementos de un microcontrolador.

lunes, 6 de marzo de 2017

Componentes electrónicos externos para PIC ( PARTE 5 )


   Hola nuevamente a los tutoriales de Artes Electrónicas Pachani, hoy vamos a continuar  con la serie de tutoriales en la parte de componentes generales, para la realización de proyectos que involucran el control de dispositivos mediante microcontroladores, ahora tomaremos enfasis en la impresion de datos por parte del microcontrolador.

1.13.-Display LCD

   Los display LCD son dispositivos que permiten mostrar la información requerida mediante caracteres alfanuméricos. Existen gran variedad de displays LCD, sin embargo, en el presente tutorial se centrará la atención en un display LCD de 16x2 (2 líneas por 16 columnas) como se observa en la figura 1.32. 

Figura 1.32.- Pantalla LCD y su simulación en esquemática.

Componentes electrónicos externos para PIC( PARTE4 )


   Hola nuevamente a los tutoriales de Artes Electrónicas Pachani, hoy vamos a continuar con  la serie de tutoriales en la parte de componentes generales, para la realización de proyectos que involucran el control de dispositivos mediante microcontroladores, continuemos con la parte de recopilación de datos por parte del microcontrolador.

1-9.-Botón pulsador

    Otro elemento de igual importancia para nuestro estudio son los botones ó pulsadores que permiten introducir señales digitales (niveles lógicos “0” ó “1”) hacia los microcontroladores. Al igual que los diodos emisores de luz los pulsadores tienen dos arreglos diferentes para establecer el nivel nivel lógico que se desea introducir de manera inicial (cuando aún no se ha presionado el botón pulsador). Los dos tipos de arreglos se muestran en la figura 1.26 y figura1.27.
 

Figura 1.26.- Entrada del pulsador en nivel alto (5V) .

Componentes electrónicos externos para PIC ( PARTE 3 )


  Hola nuevamente a los tutoriales de Artes Electrónicas Pachani, hoy vamos a continuar con la serie de tutoriales en la parte de componentes generales, para la realización de proyectos que involucran el control de dispositivos mediante microcontroladores. Hoy vamos a estudiar un tema importante.

1.6.- Cristal Oscilador

    Ahora la parte mas importante ademas de los componente ya mencionados es el Cristal Oscilador que se utiliza con los microcontroladores, pues requiere de un circuito que les indique la velocidad de trabajo.
    Ya muchos habrán escuchado el termino Frecuencia de reloj, pues viene a ser una señal de referencia con que trabajan los microprocesadores y como nuestro microcontrolador posee uno, en conclusión se necesita de un oscilador para poder realizar las operaciones logico - matematicas necesarias.
    Estos circuitos llamados osciladores o relojes generan ondas cuadradas de alta frecuencia de modo que sea constante e invariante en el tiempo. Ahora para nuestro caso es bueno mencionar que existen diferentes tipos de osciladores que se pueden utilizar en los microcontroladores, como son:

Componentes electrónicos externos para PIC ( PARTE 2)


Hola nuevamente a los tutoriales de Artes Electrónicas Pachani, hoy vamos a continuar con la  serie de tutoriales en la parte de componentes generales, para la realización de proyectos que involucran el control de dispositivos mediante microcontroladores.

1.4.-Capacitor
    De igual manera el capacitor es dispositivo pasivo con una característica especial que es capaz de almacenar energía en un campo eléctrico entre dos superficies o placas conductoras, separadas por un material dieléctrico o por el vacío. La utilidad de los capacitores se manifiesta en las baterías, memorias, filtros, adaptación de impedancias, para flash en cámaras fotográficas, para mantener corriente en un circuito y evitar las caídas de tensión. 
  Los capacitores se fabrican de diferentes materiales, como: vidrio, mica, papel, cerámicos, tantalio, electrolíticos, etc. En la figura 1.9 se muestran ejemplos de un capacitor cerámico y el otro electrolítico y su símbolo electrónico en la figura 1.10.



Figura 1.9.- Capacitores de cerámica y electrolítico (de izquierda a derecha).

Componentes electrónicos externos para PIC ( PARTE 1 )

   Hola y bienvenidos a esta nueva serie de tutoriales de Artes Electrónicas Pachani, hoy vamos a iniciar la serie de tutoriales en la parte de componentes generales, para la realización de proyectos que involucran el control de dispositivos mediante microcontroladores,  siempre será necesario la utilización de diferentes componentes electrónicos que son externos al PIC y que son necesarios para el correcto funcionamiento de los mismos por lo cual vamos a estudiar cada uno de ellos, entonces empecemos.

1.- Fuente de alimentación

    Para comenzar todos los microcontroladores PIC en su mayoría se alimenta con 5V DC, para los microcontroladores AVR la tensión con la que trabajan es de 3,3V DC, los cuales se aplican entre los pines de alimentación V DD (+) y V SS (-). El consumo de corriente del dispositivo dependerá de las cargas conectadas al microcontrolador y de su frecuencia de trabajo da ahí su importancia.

Microcontroladores PIC – Curso de Programación en MikroC (Parte 6 )

Microcontroladores PIC – Curso de Programación en MikroC Bienvenido nuevamente a los tutoriales de Artes Electrónicas Pachani , con...