domingo, 30 de abril de 2017

XiuaElectronics: Curso Proteus 8.5 + MPASM y PIC16F628A

Curso Proteus 8.5 + MPASM y PIC16F628A #03: Manejo de puertos digitales I/O, pulsador y leds.


Que tal amigos?

En el día de hoy veremos la tercera clase del curso de Proteus 8 con el compilador MPASM y el pic16f628a; para esta calse trabajaremos lo que tiene que ver con puertos digitales I/O (Estradas y salidas), también unas instrucciones básicas en assembler la cuales nos servirán para diferentes aplicaciones; en este caso las utilizaremos para el control del encendido y apagado de unos led's a través de un pulsador.

Para empezar miraremos los registros los cuales serán los encargados de configurar los puertos.


 Bancos de registros:

El pic16f628a posee 4 bancos en los cuales se dividen diferentes bits de cofiguración, por ejemplo en el banco 1 es donde configuraremos los registros TRIS los cuales serán los encargados de decir la configuración del puerto a controlar.

*Sintaxis C
 TRISA=0; // en este caso se le dice que el puerto A estará como salida

*Sitanxis Assembler
 MOVLW 0b'00000'
 MOVWF TRISA

Como ven solo aumento una linea con respecto a la sintaxis de c, pero en cambio ocupa menos memoria y son más rapidas las instrucciones.

También les comento que por defecto iniciamos en el banco 0, para ingresar al banco uno necesitamos poner en uno lógico es bit RP0 del registro status, esta aprte la verán en el vídeo de esta clase, solo se los comento para que lo tengan presente.

Instrucciones BTFSS y BTFSC de Ensamblador RISC

La instrucción BTFSS y la instrucción BTFSC son cada una como una simple instrucción de comparación, como lo es un IF en otros lenguajes de programación, a excepción de que los if pueden contener varias instrucciones como en el siguite código de Java:


if (variable=='condición')
{
   instrucción1;
   instrucción2;
   instrucción3;
}
else
{
   instrucción4;
   instrucción5;
   instrucción6;
}

La instrucción BTFSS de Assembler RISC verifica que el bit del puerto o variable especificado se encuentre en 1 lógico (alrededor de los 5v), si la respuesta es cierta entonces se salta la siguiente instrucción, mientras que si no lo es, realiza la sig instrucción. Como se muestra en el ejemplo:

BTFSS PORTA,0 ;"Bit 0" del puerto A esta en 1 lógico (5volts)?
   goto no esta en1 ;No, (esta en 0volts).
   goto  si  esta en1 ;Si,   (esta en 5volts).

Por otra parte la instrucción BTFSC de Assembler RISC verifica que el bit tenga un 0 lógico, y de igualmanera, si es cierto, se salta la instrucción siguiente, y si es falsa entonces hace la siguiente.

 BTFSC PORTA,0 ;"Bit 0" del puerto A esta en 0 lógico (0volts)?
   goto no esta en0 ;No, (esta en 5volts).
   goto si  esta  en0 ;Si,   (esta en 0volts).


Bien, esta es una breve explicación de unos datos básicos que debemos tener en cuenta a la hora de programar en assembler, ahora ya que vimos lo escencial, vamos a proceder a ver el vídeo tutorial de la clase de hoy:



Para complementar esta clase, les dejo el link del vídeo tutorial de como instalar Proteus 8.5 en todas las versiones de windows:

https://www.youtube.com/playlist?list=PLHsJoDYdMkxWV3KRvvzMXPHqoXpUgPtj2

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/