Proton IBASIC DE

El compilador Proton Basic es un lenguaje de programación de nueva generación que hace mas fácil y rápido el manejo de microcontroladores Pic micro de Microchip. El lenguaje Basic es mucho más fácil de leer y escribir que el lenguaje ensamblador Microchip, a continuación podras descargar Proton IDE gratis por servidores de MEGA o de Mediafire completamente full.

El Proton Basic produce un código que puede ser programado para una variedad de micro controladores PIC que tengan de 8 a 68 pins y varias opciones en el chip incluyendo convertidores A/D, temporizadores y puertos seriales.

Esta paquete de Proton IDE permite instalar una versión portable de Proteus 7.

______________________________________________________
LINKS DE DESCARGA:
______________________________________________________
Descargar PROTON IDE + PROTEUS PORTATIL:
➡️Descarga por MEGA: https://fc.lc/aaslb
➡️Descarga por Mediafire: https://fc.lc/iApupjXg
👉Contraseña: universodelamecatronica
______________________________________________________

Visita nuestras redes sociales:
Visitanos en facebook Visita nuestro Instagram Envíanos un Tuit Sigue nuestro canal Visitanos en Google+

Vídeo tutorial de instalación


GUÍA RÁPIDA:

Con la siguiente guia pretendemos darte una idea general de la instrucciones que utiliza el lenguaje BASIC.

Identificadores:

Un identificador es simplemente un nombre. Son usados en Pronto Basic como etiquetas de líneas y nombres de variables. Un identificador es cualquier secuencia de letras, dígitos y símbolos, aunque no deben comenzar con un dígito. Los identificadores no distinguen las letras mayúsculas de las minúsculas, por lo que etiqueta, ETIQUETA, Etiqueta son todas tratadas como equivalentes. Aunque las etiquetas pueden tener cualquier número de caracteres de longitud, Protón Basic solamente reconoce los primeros 32.

Etiquetas:

Para marcar líneas que el programa puede desear referenciar con comandos GOTO ó GOSUB, Proton BAsic usa tiquetas de línea y no permite número de línea y no requiere que cada línea sea etiquetada. Cualquier línea puede comenzar con una etiqueta de línea que es simplemente un identificador seguido por dos puntos (:)

ejemplo:

        here:
        Goto here

Variables:

Variables es donde se guardan datos en forma temporaria en el programa. Son creadas usando la palabra clave DIM. Pueden ser bits , bytes, word, dword, float y string. 

El Espacio para cada variable es automáticamente destinado en la memoria RAM del microcontrolador. 

El formato para crear una variable es el siguiente:

       DIM etiqueta AS tipo

Etiqueta es cualquier identificador excluyendo palabras claves como se describe anteriormente.

       Tipo es bit, byte , word , dword or float.

Algunos ejemplos de declaracion de varibles de cada tipo son:

DIM   Var1      AS BYTE  ' Crea una  variable de 8-bit sin signo  (0 - 255) 
DIM   Var2      AS BIT      ' Crea una variable de un simple bit (0 - 1) 
DIM   Var3      AS WORD ' Crea una variable de 16-bit sin  signo (0 - 65535) 
DIM   Var4 AS DWORD   ' Crea a variable de 32-bit con signo (-2147483647 , +2147483647) 
DIM   Var5      AS FLOAT  '  Crea una variable de 32-bit punto flotante.
DIM    ST       AS STRING * 20 ' Crea una cadena con capacidad de 20 caracteres (8-bit)

Alias:

DIM también puede ser usado para crear un alias para una variable. Esto es muy útil para acceder al interior de una variable.

       Dim Var1 as Var2 ´Var2 es otro nombre de var1
       Dim VAr3 as Portb.1 ´asigna el alias Var3 a la patilla RB0

Arreglos:

Los arreglos de variables pueden ser creados en una manera similar a las variables. 

       Dim Etiqueta [tamaño] as tipo

Etiqueta es cualquier identificador, excluyendo palabras claves, como se describió anteriormente. 

Tipo es BIT, BYTE ó WORD. Número de elementos es cuantos lugares en el arreglo se desean. Algunos ejemplos de creación de arreglo son los siguientes:

       DIM sharks[10] as byte
       DIM var3[10] as Word

La primera ubicación dentro del arreglo es el elemento cero. Dada la forma en que los arreglos están localizados en memoria hay límites de tamaño para cada tipo.

Constantes:

Las llamadas constantes pueden ser creadas de manera similar a las variables. Puede ser mas conveniente usar un nombre de constante en lugar de un número constante. Si el número necesita ser cambiado, únicamente puede ser cambiando en un lugar del programa donde se define la constante. No pueden guardarse datos variables dentro de una constante. Ejemplos :

       Dim Mice as 4.13

En este ejemplo la constante mice es de 4,13 y la misma no puede ser modificada durante el transcurso del programa.

Constantes Numéricas:

Proton BAsic permite definir constantes numéricas en tres bases: decimal, binario y hexadecimal. Valores binarios son definidos usando el prefijo “%” y valores hexadecimales usando el prefijo “$”. Los valores decimales se toman por defecto y no requieren prefijo. Ejemplos:

       100 ´ valor decimal 100
       %100 ´ valor binario para el decimal 4.
       $100 ´ valor hexadecimal para el decimal 256.

Pines:

A los pines de Microcontrolador, se puede acceder de diferentes modos. El mejor camino para especificar un pin para una operación, es simplemente usar sus nombres PORT y un número de bit: 

       PORTB.1=1 ‘ Coloca PORTB, bit 1 a 1

Para recordar fácilmente para qué puede ser usado un pin, debe serle asignado un nombre usando el comando DIM. De esta manera, el nombre puede ser utilizado luego en cualquier operación.

Comentarios:

Un comentario de Protón Basic comienza con la palabra clave REM o el apóstrofe (´). Todos los demás caracteres de esa línea se ignoran. REM es una única palabra clave y no es una abreviación de REMark, por lo tanto, los nombres de variables pueden comenzar con REM (aunque REM por sí mismo no es válido).

Declaraciones múltiples:

Para permitir programas mas compactos y agrupamientos lógicos de comandos relacionados, Proton Basic soporta el uso de (:) para separar comandos ubicados en la misma línea. Los siguientes dos ejemplos son equivalentes.

       W2 = W0
       W0 = W1
       W1 = W2

Es lo mismo que:

       W2 = w0 : W0 = W1 : W1 = W2

En los dos casos, el tamaño del código generado es el mismo.

Operadores Matemáticos:

Protón Basic efectúa todas las operaciones matemáticas en orden jerárquico. Esto significa que existe precedencia para los operadores .Multiplicación y división son efectuados antes que suma y resta , por ejemplo.

Para asegurarse que las operaciones son efectuadas en el orden que se desea, se usan paréntesis para agrupar las operaciones.

       A = ( B + C ) * ( D - E )

Todas las operaciones matemáticas se realizan sin signo y con una precisión de 16 bit.

Los operadores soportados son :

Operador matemático Descripción

       + Suma
       - Resta
       * Multiplicación
       ** 16 bits superiores de la multiplicación
       */ 16 nits medios de la multiplicación
       / División
       // Resto (módulo)
       << Desplazamiento izquierdo
       >> Desplazamiento derecho
       ABS Valor absoluto
       COS Coseno
       DIG Digito
       SIN Seno
       SQR Raiz cuadrada

Operadores lógicos:

Los operadores lógicos difieren de las operaciones de bit inteligente. Entregan un resultado CIERTO / FALSO de su operación .Valores 0 son tratados como falso. Cualquier otro valor es cierto. Se usan junto a operadores de comparación en una declaración IF .. THEN .Los operadores soportados son :

Operador Descripción

       AND o && AND logico
       OR o I I OR logico
       XOR o ^ ^ OR exclusivo logico
       NOT AND NAND logico
       NOT OR NOR logico
       NOT XOR NXOR logico

Relational operators are used to compare two values as shown in the list below. The result can be used to make a decision regarding program flow.

Operadores del tipo   Expression de Relacion:

Los Operadores de Relacion son usados para comparar dos valores como se muestra en la lista abajo. El resultado es boleano y pouede ser usado para tomar deiciones en el flujo del programa.

    Operador             Relacion              Ejemplo
       =                     Igualdad                X = Y 
       <>                  desigualdad             X <> Y 
        <                     menor que             X < Y 
       >                    mayor que              X > Y 
       <=              menor o igual que        X <= Y 
       >=              mayor o igual que        X >= Y 

CALL etiqueta:

Ejecuta la subrutina ensamblador llamada etiqueta. Normalmente se usa GOSUB para ejecutar una subrutina .La principal diferencia entre GOSUB y CALL, es que con ésta última no se chequea la existencia de etiquetas hasta el momento de ensamblar. Usando CALL se puede acceder a una etiqueta en una sección de lenguaje ensamblador, lo que es inaccesible mediante Protón Basic .

Dentro de los comandos de Protón Basic mas estudiados para la elaboración del diseño se describen los Siguientes:

END:

Detiene la ejecución del proceso y entra en modo de baja potencia .Todos los pins de I/O permanecen en el estado en que se encuentran ,END trabaja ejecutando una instrucción SLEEP continua dentro de un loop . Un END , STOP ó GOTO deben ser colocados al final de un programa para evitar pasar del límite de la misma u comience nuevamente .

       FOR .. NEXT
         FOR Count = Start TO End {STEP {-} Inc}
                {Body}
        NEXT {Count}

El loop FOR .. NEXT permite a los programas ejecutar un número de declaraciones ( Body ) un numerode veces , usando una variable como contador . Debido a su complejidad y versatilidad , es mejor describirla paso a paso .

El valor de Start se asigna a la variable índice ,Count , que puede ser una variable de cualquier tipo . Se ejecuta el Body . Body es opcional y puede ser omitido ( quizás por un loop de demora ). El valor de Inc es sumado a ( ó restado si se especifica “-“ ) Count .Si no se define una cláusula STEP , se incrementa Count en uno . Si Count no pasó End ó desbordó el tipo de variable , la ejecución vuelve al paso 2) . Si el loop necesita contar más de 255 ( Count > 255 ) , se debe usar una variable de tamaño word .

IF ...THEN

        IF Comp { AND/OR Comp ... } THEN

                {Declaración}

        ELSE

              { Declaración}

       ENDIF

 Efectúa una ó más comparaciones .Cada término Comp puede relacionar una variable con una constante ú otra variable e incluye uno de los operadores listados anteriormente . En la segunda forma, IF..THEN puede ejecutar condicionalmente un grupo de declaraciones que sigan al THEN. Las declaraciones deben estar seguidas por un ELSE o un ENDIF para completar la estructura.

ON INTERRUPT GOTO Label:

Permite el manejo de las interrupciones del micro controlador por medio de una subrutina . Existen dos formas de manejar interrupciones usando Proton Basic . La primera es escribir una subrutina de interrupción en lenguaje ensamblador .Esta es la forma de manejar interrupciones con la menor latencia y el menor overhead . El segundo método es escribir un handler ( manejador ) de interrupciones.Es similar a una subrutina , pero termina con un RESUME . Cuando ocurre una interrupción , se marca con una bandera .Cuando la ejecución de la declaración que se estaba ejecutando termina , el programa salta al handler de interrupciones indicado en Label.

Una vez que termina el trabajo del handler , una declaración RESUME envía el programa de vuelta a donde estaba cuando ocurrió la interrupción , tomando todo como lo dejó .

DISABLE y ENABLE:



Permiten que distintas secciones de un programa se ejecuten sin la posibilidad de ser interrumpidas .El lugar más notorio para usar DISABLE es justo antes del actual handler de interrupciones. O el handler puede ser colocado antes que la declaración ON INTERRUPT ya que la bandera de interrupciones no se chequea antes del primer ON INTERRUPT en un programa.