Download - PROTON IDE.pdf

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

DECLARACIÓN 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.

DEFINICIÓN 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 PROPÓSITO 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 Relación Expresión

= 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

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 expresión contante

Ejemplos

DIM m as 1

DIM km as m * 1000

DIM PI as 3.14

Proton IDE

SYMBOLOTRO MÉTODO 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 NUMÉRICAS

Binario Prefijo %. Por ejemplo. %0101010101

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

Carácter 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 MATEMÁTICOS

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

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

AdiciónSubstracciónMultiplicaciónDivisiónModuloRetorna 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 MATEMÁTICOS

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

Value1 = %00001111 Value2 = %10101101 Result <= %00001101

'&‘ ‘|’ ‘^’ (AND) (OR) (XOR)

Proton IDE

OPERADORES MATEMÁTICOS

Value1 = %10101101 Result = ~Value1

Value1 = %10101101 Result <= %01010010

'~' (COMPLEMENTO)

Proton IDE

OPERADORES MATEMÁTICOS

Value1 = %10101101 Result = Value1 << 4

Value1 = %10101101 Result <= %11011010

'<<‘ '>>' (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 PROTÓN NO SE DETECTAN DESBORDAMIENTOS. SI EL RESULTADO DE UNA EXPRESIÓN ESTA FUERA DEL RANGO, EL

VALOR RESULTANTE ES ERRÓNEO, PERO NO SE INTERRUMPE EL PROGRAMA NI SE SEÑALIZA 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 DECISIÓN

SENTENCIA IF

If Condición ThenSentencia1..Sentencia1.. ....

End If

Proton IDEESTRUCTURAS DE DECISIÓN

SENTENCIA ELSE

If Condición ThenSentencia1..Sentencia1.. ..

ElseSentencia3..Sentencia4.. ..

End If

Proton IDEESTRUCTURAS DE DECISIÓN

SENTENCIA ELSEIF

IF Condición THEN Sentencia1.. ..

ELSEIF Condición THEN Sentencia2.. ..

ELSEIF Condición THEN Sentencia3.. ..

ELSE Sentencia4.. ..

ENDIF

Proton IDE ESTRUCTURAS DE DECISIÓN

SENTENCIA SELECT CASE

Select PORTBCase 0X01

PORTC=0X01...

Case 0X02PORTC=0X0A...

Case 0X03PORTC=0X0D...

Case 0X04PORTC=0XFF ...

End Select

EjemploSelect ExpresiónCase valor1

Sentencias......

Case valor2Sentencias......

Case valor3Sentencias......

Case valor4Sentencias......

Case elseSentencias......

End Select

Proton IDEESTRUCTURAS DE REPETICIÓN

SENTENCIA WHILE

WHILE PORTB + 1 = 2PORTD = PORTD + 1

WEND

WHILE CondiciónSentencia1..Sentencia1.. ......

WEND

Ejemplo

* LAS CONDICIÓN SE EVALÚA ANTES DE EJECUTAR LAS SENTENCIAS

Proton IDEESTRUCTURAS DE REPETICIÓN

SENTENCIA REPEAT

REPEATPORTD = PORTD + 1

UNTIL PORTB + 1 = 2

REPEATSentencia1..Sentencia1.. ......

UNTIL Condición

Ejemplo

* LAS CONDICIÓN SE EVALÚA LUEGO DE EJECUTAR LAS SENTENCIAS

LA SENTENCIA REPEAT (REPETIR – HASTA QUE ) ES UNA ESTRUCTURA DE REPETICIÓN , PARA EJECUTAR LAS SENTENCIAS VARIAS VECES Y HASTA QUE LA CONDICIÓN SEA CIERTA

Proton IDEESTRUCTURAS DE REPETICIÓN

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 ]


Top Related