proton ide.pdf

Download PROTON IDE.pdf

Post on 08-Dec-2015

175 views

Category:

Documents

29 download

Embed Size (px)

TRANSCRIPT

  • Proton IDE

    Microprocesadores

    Prof. Juanmanuel Barroyeta

  • Variables

    TIPOS DE VARIABLES

    TIPO BITS RANGO

    Bit 1 0-1

    Byte 8 0-255

    Word 16 0-65535

    Dword 32 -2147483647 a +2147483647

    Float 32 -1e37 a +1e38

    Proton IDE

  • Variables

    DECLARACIN DE VARIABLES

    Proton IDE

    DIM Identificador AS Tipo

    DIM Dog AS BYTE ' (0 a 255) DIM Cat AS BIT ' (0 a 1) DIM Rat AS WORD '(0 a 65535) DIM Large_Rat as DWORD '(-2147483647 a +2147483647) DIM Pointy_Rat as FLOAT ' Variable de punto flotante

  • DIM IDENTIFICADOR [NRO_DE_ELEMENTOS ] AS TIPO

    Ejemplos

    DIM BYTE_VECTOR[10] AS BYTE ' Crea un arreglo de 10 elementos ByteDIM WORD_VECTOR [10] AS WORD ' Crea un arreglo de 10 elementos Word

    Proton IDE

    ArreglosGrupo de variables del mismo tipo (Byte o Word) quecomparten un mismo identificador pero organizados enceldas; cada variable es un elemento del arreglo.

    DEFINICIN DE ARREGLOS

  • Ejemplos

    DIM BYTE_VECTOR[10] AS BYTE ' Crea un arreglo de 10 elementos ByteDIM WORD_VECTOR [128] AS WORD ' Crea un arreglo de 128 elementos Word

    BYTE_VECTOR[0] MENOR NDICE BYTE_VECTOR[9] MAYOR NDICE

    WORD_VECTOR [0] MENOR NDICEWORD_VECTOR [127] MAYOR NDICE

    * UN ARREGLO DE ELEMENTOS BYTE PODR CONTENER HASTA 256 CELDAS.* UN ARREGLO DE ELEMENTOS WORD PODR CONTENER HASTA 128 CELDAS.

    Proton IDE

    Arreglos

  • EJEMPLO

    ETIQUETA_1:

    PRINT Hola Mundo"

    GOTO ETIQUETA_1

    Proton IDE

    EtiquetasSON UTILIZADAS CON EL PROPSITO DE MARCAR DIRECCIONES DE MEMORIA DEL PROGRAMA A LAS CUALES SE HAR REFERENCIA CON LAS INSTRUCCIONES goto, call o gosub .

  • Proton IDE

    Operadores Relacionales

    Se utilizan para comparar dos valores.

    Operador Relacin Expresin

    = Igualdad X = Y Desigualdad X Y< Menor que X < Y> Mayor que X > Y

    = Y

  • Proton IDE

    Alias

    DIM Puerto_b as PORTB

    DIM LED1 as Puerto_b.0

    DIM DATOL as DATO.LOWBYTE

    DIM DATOH as DATO.HIGHBYTE

  • Proton IDE

    Alias

    DIM Puerto_b as PORTB

    DIM LED1 as Puerto_b.0

    DIM DATOL as DATO.LOWBYTE

    DIM DATOH as DATO.HIGHBYTE

  • Proton IDE

    CONSTANTESDIM Identificador as expresin contante

    Ejemplos

    DIM m as 1

    DIM km as m * 1000

    DIM PI as 3.14

  • Proton IDE

    SYMBOLOTRO MTODO DE DEFINIR CONSTANTES Y ALIAS

    Ejemplos

    SYMBOL CAT = 123

    SYMBOL TIGER = CAT

    SYMBOL TIGOUSE = TIGER + MOUSE

    SYMBOL PI = 3.14

    SYMBOL QUANTA = 5.0 / 1024

    SYMBOL CONST = (PORTA + 1)

    SYMBOL LED = PORTA.1

  • Proton IDE

    REPRESENTACIONES NUMRICAS

    Binario Prefijo %. Por ejemplo. %0101010101

    Hexadecimal Prefijos $,0x Ejemplos $0A , 0x0A

    Carcter Encerrado entre comillas

    Por ejemplo "a" representa el valor de 97 (ASCII)

    Decimal No requiere prefijo

    Punto flotante Punto decimal por ejemplo 3.14

  • Proton IDE

    OPERADORES MATEMTICOS

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

    '+''-''*''/''//''&''|''^''''~'

    AdicinSubstraccinMultiplicacinDivisinModuloRetorna un AND bit a bit de dos valoresRetorna un OR bit a bit de dos valoresRetorna un XOR bit a bit de dos valoresRota a la izquierda los bits un numero determinado de vecesRota a la derecha los bits un numero determinado de veces

    complementa una variable.

  • Proton IDE

    OPERADORES MATEMTICOS

    Value1 = %00001111 Value2 = %10101101 Result = Value1 & Value2

    Value1 = %00001111 Value2 = %10101101 Result

  • Proton IDE

    OPERADORES MATEMTICOS

    Value1 = %10101101 Result = ~Value1

    Value1 = %10101101 Result

  • Proton IDE

    OPERADORES MATEMTICOS

    Value1 = %10101101 Result = Value1 ' (ROTAR IZQ) ROTAR DER.

  • Proton IDE

    Device 16F84

    XTAL 4ALL_DIGITAL TRUEPORTB_PULLUPS NO

    TRISB = %00000001

    Main:

    If PORTB.0 = 0 ThenPORTB.1 = 1

    ElsePORTB.1 = 0

    End If

    GoTo Main

    PRIMER PROGRAMA

  • Proton IDE

    Device 16F84

    XTAL 4ALL_DIGITAL TRUEPORTB_PULLUPS NO

    TRISB = %00000001

    Main:

    If PORTB.0 = 0 ThenPORTB.1 = 1

    ElsePORTB.1 = 0

    End If

    GoTo Main

    PRIMER PROGRAMA

  • Proton IDE

    PRIMER PROGRAMA

  • Proton IDE

    Device 16F84

    XTAL 4ALL_DIGITAL TRUEPORTB_PULLUPS NO

    TRISB = %00000001

    Main:

    If PORTB.0 = 0 ThenPORTB.1 = 1

    ElsePORTB.1 = 0

    End If

    GoTo Main

    PRIMER PROGRAMA

  • Proton IDE

    COMENTARIOS

    Device 16F877

    XTAL 4 ;Osc 4MhzALL_DIGITAL TRUE ;TODOS LOS PUERTOS DIGITALESPORTB_PULLUPS NO

    TRISB = %00000001 'PIN RB0 ENTRADA / RB1-RB7 SALIDAS

    Main:

    If PORTB.0 = 0 ThenPORTB.1 = 1

    ElsePORTB.1 = 0

    End If

    GoTo Main

  • Proton IDE

    DESBORDE

    EN PROTN NO SE DETECTAN DESBORDAMIENTOS. SI EL RESULTADO DE UNA EXPRESIN ESTA FUERA DEL RANGO, EL

    VALOR RESULTANTE ES ERRNEO, PERO NO SE INTERRUMPE EL PROGRAMA NI SE SEALIZA DE NINGUNA FORMA.

    Dim x As Byte ;0-255Dim y As Byte ;0-255

    x = 200y = x + 60 ;y valdra 04

    Ejemplo

  • Proton IDEESTRUCTURAS DE DECISIN

    SENTENCIA IF

    If Condicin ThenSentencia1..Sentencia1.. ..

    ..

    End If

  • Proton IDEESTRUCTURAS DE DECISIN

    SENTENCIA ELSE

    If Condicin ThenSentencia1..Sentencia1.. ..

    ElseSentencia3..Sentencia4.. ..

    End If

  • Proton IDEESTRUCTURAS DE DECISIN

    SENTENCIA ELSEIF

    IF Condicin THEN Sentencia1.. ..

    ELSEIF Condicin THEN Sentencia2.. ..

    ELSEIF Condicin THEN Sentencia3.. ..

    ELSE Sentencia4.. ..

    ENDIF

  • Proton IDE ESTRUCTURAS DE DECISIN

    SENTENCIA SELECT CASE

    Select PORTBCase 0X01

    PORTC=0X01...

    Case 0X02PORTC=0X0A...

    Case 0X03PORTC=0X0D...

    Case 0X04PORTC=0XFF ...

    End Select

    EjemploSelect ExpresinCase valor1

    Sentencias......

    Case valor2Sentencias......

    Case valor3Sentencias......

    Case valor4Sentencias......

    Case elseSentencias......

    End Select

    ``

  • Proton IDEESTRUCTURAS DE REPETICIN

    SENTENCIA WHILE

    WHILE PORTB + 1 = 2PORTD = PORTD + 1

    WEND

    WHILE CondicinSentencia1..Sentencia1.. ...

    ...

    WEND

    Ejemplo

    * LAS CONDICIN SE EVALA ANTES DE EJECUTAR LAS SENTENCIAS

  • Proton IDEESTRUCTURAS DE REPETICIN

    SENTENCIA REPEAT

    REPEATPORTD = PORTD + 1

    UNTIL PORTB + 1 = 2

    REPEATSentencia1..Sentencia1.. ...

    ...

    UNTIL Condicin

    Ejemplo

    * LAS CONDICIN SE EVALA LUEGO DE EJECUTAR LAS SENTENCIAS

    LA SENTENCIA REPEAT (REPETIR HASTA QUE ) ES UNA ESTRUCTURA DE REPETICIN , PARA EJECUTAR LAS SENTENCIAS VARIAS VECES Y HASTA QUE LA CONDICIN SEA CIERTA

  • Proton IDEESTRUCTURAS DE REPETICIN

    Sentencia FORFOR Variable = valor_inicial TO valor_final [STEP incremento]

    Sentencia1..Sentencia1.. ...

    ...

    NEXT

    FOR Variable = 1 TO 10 STEP 1PORTB = VariableDelayMs 1000

    NEXT

    Ejemplos

    FOR Variable = 10 TO 1 STEP -1PORTB = VariableDelayMs 1000

    NEXT

    [ Opcional ]