Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Tutorial Proton Ide Plus Part 1 PDF
Tutorial Proton Ide Plus Part 1 PDF
Qu es un microcontrolador?
Sistemas numricos
A parte del sistema decimal existen otros sistemas numricos como son el sistema
binario, el sistema octal y el sistema hexadecimal. Realmente los microcontroladores
manejan el sistema binario; pero en la programacin el ms conveniente es el
hexadecimal y para clculos matemticos el decimal. En la siguiente tabla vea la
conversin equivalente entre el sistema decimal, hexadecimal y binario.
El sistema decimal est compuesto por 10 smbolos (09), el sistema hexadecimal est
compuesto por 16 smbolos (0-9, A, B, C, D, E, F) y el sistema binario est compuesto
por dos smbolos (0-1).
Por ejemplo suponga que se tiene el siguiente valor decimal: Mil Ciento Diez (1110):
Este valor se puede interpretar:
La lgica binaria trata con variables que toman dos valores distantes y con operaciones
que tienen significado lgico. Los dos valores que toman las variables pueden
designarse con nombres diferentes (verdadero y falso, si y no, true y false, 0 y 1,
etc.), pero para este propsito no es conveniente pensar en trminos de BITS y
asignarles los valores de 1 y 0. La lgica binaria se usa para describir, en forma
matemtica, la manipulacin y el proceso de la informacin binaria. Existe una
analoga directa entre las seales binarias, los elementos de circuito binario y digito
binario.
Un BIT, por definicin, es un digito binario. Cuando se usa junto con un cdigo binario,
es mejor considerarlo como si denotara una cantidad binaria igual a 0 o 1. Para
representar un grupo de 2n elementos distintos en un cdigo binario, se requiere un
mnimo de n BITS. Esto se debe a que es posible ordenar n BITS en 2n formas
distintas. Por ejemplo un grupo de 16 elementos puede representarse mediante un
cdigo de 4 BITS. 24 = 16 elementos.
Durante todo el contenido de este material usted deber estar familiarizado con los
trminos (1) lgico, (0) lgico, seal alta, seal baja, HIGH, LOW, 0 y 1. Cuando se
dice que una seal es alta quiere decir que mide +5 Voltios con relacin a tierra,
cuando una seal es baja mide +0 Voltios con relacin a tierra. Los BS2 trabajan con
la lgica TTL, esta opera con +5 Voltios como fuente de alimentacin. Las seales se
fundamentan entre +0 Voltios y +5 Voltios.
Esto es aplicable tanto para las entradas como para las salidas, en la siguiente tabla se
puede apreciar los diferentes trminos para referirse a la lgica binaria.
1. AND esta funcin es verdadera cuando todas sus entradas son verdaderas. Y es
falso cuando cualquiera de sus entradas es falsa. Se interpreta como la
multiplicacin binaria.
2. OR esta funcin es falsa cuando todas sus entradas son falsas. Y es verdadera
cuando cualquiera de sus entradas sea verdadera. Se interpreta como la suma
binaria.
3. NOT es la negacin del resultado si es verdadero lo convierte en falso. Si es
falso lo convierte en verdadero.
Software Protn
Esta es la ventanilla lista para crear los programas en el icono ayuda encontrara todo
lo referente a la funcin de cada uno de los iconos.
BASIC es un simple y fcil lenguaje de programacin. Tiene slo unas pocas normas y
el control de estructuras que definen su gramtica. En este tutorial vamos a aprender
acerca de algunos principios bsicos de este gran lenguaje de programacin. Los
cdigos presentados aqu no pretenden ser programados en el microcontrolador, como
tal, sino que se dan para explicar el tema.
Una vez que haya pasado por esta introduccin al lenguaje de BASIC, slo entonces se
puede ir a las reas especficas de su inters. Lo que se presenta aqu se repite
muchas veces a travs de los siguientes captulos del tutorial.
Programa de cabecera
Declaraciones
Explicacin de los signos e identificadores
Declaraciones y comandos
Device = 16F877A
XTAL = 4
La primera lnea indica el procesador y la segunda lnea dice que el hardware utiliza
20MHz de cristal.
Declaraciones
Son instrucciones especiales sobre los diversos dispositivos a utilizar, esto ayuda al
compilador a generar instrucciones especficas. Por ejemplo, si estamos usando una
pantalla LCD y se conecta en PORTD, entonces tenemos que informar las conexiones
de nuestro LCD. Vamos a declarar este tipo de configuracin generalmente despus de
la seccin de encabezado utilizando los comandos:
Identificadores
Los identificadores son smbolos de texto especial que se utiliza para representar algo.
Pueden ser utilizados como etiquetas para marcar ciertos lugares en el programa, de
modo que el programa se puede hacer para ir a las etiquetas y luego continuar con el
programa a partir de entonces. Del mismo modo los identificadores pueden usarse
para nombrar algunas ubicaciones de memoria.
Estos son por lo general variables llamadas, y son los identificadores ms importantes
en la programacin. Los identificadores tambin se pueden utilizar como alias en cierto
texto, de modo que en lugar de escribir el texto concerniente del identificador, el
compilador inserta el texto pertinente en su lugar.
Por ejemplo, para mantener un LED, hasta que la temperatura es alta desde un punto
de ajuste.
Etiquetas
Para marcar las declaraciones que el programa podra hacer referencia con los
comandos Goto, Call o Gosub, PROTON utiliza las etiquetas de lnea. A diferencia de los
antiguos BASICS, PROTON no permite o exige a los nmeros de lnea y no requiere
que se etiquete cada lnea. En cambio, cualquier lnea puede comenzar con una
etiqueta de lnea, que es simplemente un identificador seguido de dos puntos (:).
LAB:
PRINT "Hola Mundo"
GOTO LAB
Label1:
1LABEL:
Se producir un error de sintaxis porque las etiquetas se inician con el valor 1. Una
etiqueta que contenga ms de 32 caracteres producir un error de sintaxis sealando
la etiqueta de reincidencia. Tambin se permite caracteres como parte de la etiqueta.
Esto ayuda a crear ms nombres de etiqueta descriptiva. Por ejemplo:
THISISALABEL:
THIS_IS_A_LABEL:
Variables
Por lo tanto, si usted tiene 16K de la memoria del programa y 256 bytes de memoria
RAM, no se puede utilizar la memoria de programa libre para almacenar datos.
Variables
Por lo tanto, nada ms que bytes de memoria. Para facilitar este trabajo, el compilador
le permite dar a estos los nombres en lugares de la memoria, llamados nombres de
variables.
Las variables existentes en la memoria RAM, como una secuencia de bytes, pueden ser
agrupados juntos para hacer ms grande las organizaciones de distintos tipos de
datos, que pueden ser manipulados por nuestro compilador. Los compiladores de
diferentes fabricantes difieren en este servicio, sin embargo algunos tipos de datos
estndar son apoyados por todos.
Las variables son declaradas mediante una instruccin Dim, seguida del nombre de
variable y su tipo de datos. La declaracin Dim puede aparecer en cualquier lugar sin
embargo es una buena prctica de programacin ubicar todas las declaraciones Dim en
la parte superior del programa....
Los tipos de datos como bit, byte, WORD, DWORD, float y string definen el nmero de
bytes reservados para la variable, tambin definen el rango de nmero, que puede ser
almacenada, as como la naturaleza del nmero almacenado.
Los nmeros almacenados pueden ser firmados o no-firmados, as como que pueden
contener un punto decimal. Una cadena por otra parte, que es una coleccin de bytes
de tamao variables, para mantener los datos de carcter.
Los nombres de variables siguen las mismas lneas de gua general como
identificadores. Sin embargo, hay ciertas palabras que no pueden ser utilizados como
nombres de variables. Consulte la ayuda de PRORON para obtener detalles de reserva
palabras.
Muchas veces una parte de una variable se debe acceder, ya sea para lectura o
escritura. La mayora de las veces en un Bytes de tamao variable un poco particular,
se debe acceder. Un byte consta de 8 bits numerados del 0 al 7.
Dim x As Byte
Dim y As Byte
x.0 = 1
y.7 = x.0
End
En el caso de la palabra DWord , se puede hacer al byte de orden alto y byte de orden
bajo, o Byte0, Byte1, etc Byte2 por separado.
Smbolos
Los smbolos son en realidad una manera de simplificar las cosas. Se asigna a un alias
o un registro, una variable o un valor constante. El alias se utilizar en el programa, el
compilador reemplazar el alias con los datos reales, antes de compilacin
En este ejemplo, un smbolo de LED se ha definido para el PORTB.0. Por lo tanto cada
vez que usamos la palabra LED en nuestro programa significara PORTB.0 este
programa es ms fcil de entender, y ms lgico.
Matrices
En este ejemplo, una variable denominada Temp ha sido declarada como una matriz
de 20 variables, siendo cada uno un byte de tamao. El nmero de ndice de estas 20
variables sern 0 a 19. As, para acceder al primer elemento de la matriz, que utilizar
temp [0] en lugar de Temp. El nmero de ndice en s puede ser una variable.
Cadenas
Las cadenas son una serie de datos alfanumricos. Para ejemplo, su nombre, pas,
direccin estn configurados como cadenas. Las cadenas son ms que matrices de
bytes. Sin embargo cuando las matrices son utilizados como cadenas, el ltimo byte de
datos debe contener un 0.
El uso de un prefijo Str. le dice al compilador que se tratar la matriz como una
cadena.
Como ya hemos comentado, el mismo nmero puede ser representado como formato
decimal, binario o hexadecimal. Sin embargo, se hace anteponiendo la cantidad
numrica con ciertos smbolos.
Son estructuras especiales internas del microcontrolador. Los puertos han sido
nombrados como PORTA, PORTB, PORTC, etc. Todos los puertos son bidireccionales, es
decir, que pueden ser utilizados para leer el estado del PIN o establecer el estado del
PIN. La mayora de los puertos son de 8 bits, pero algunos son de menos salidas. Los
puertos y sus bits se pueden acceder de la misma manera que las variables. Tambin
se puede utilizar en las expresiones matemticas.
Adems de los puertos hay una serie de registros internos con funciones especficas,
que se asignan a los bits especficos de estos registros. A pesar que estos registros
tienen una direccin especial, en la memoria y estas direcciones se utilizan para
acceder a ellos. BASIC PROTON hace que sea ms fcil acceder a estos registros por
sus nombres para luego tratarlos como cualquier otra variable.
Vamos a hablar de dichos registros en las secciones apropiadas. Aqu slo quiero
mencionar que estos registros de funciones especiales pueden ser tratados como
variables normales, para establecer o leer sus valores y bits.
Toma de decisiones
La mayora de los programas requieren algn tipo de toma de decisiones basada en las
aportaciones o condiciones. Las decisiones siempre se evalan como verdadero o falso.
El programa se ejecuta a ciertos grupos de instrucciones en cada caso. Esto se logra
con la Declaracin IF THEN ENDIF.
Otra forma de IF utiliza ELSE. Este formulario tiene dos lotes de instrucciones, una que
se ejecuta si la comparacin se evala como verdadera, y otros se ejecuta si la
comparacin se evala como falsa.
Else
Low LED
End If
La repeticin o bucles
Como ya hemos visto que nuestro programa se ejecuta de arriba a abajo. Sin
embargo, si un conjunto de instrucciones se tiene que repetir una y otra vez de alguna
forma debe haber una declaracin en la parte superior que controle el estado de la
instruccin. Esto proceso se denomina un bucle.
Device=18F2550
Symbol LED = PORTC.0
Inicio:
High LED
DelayMS 500
Low LED
DelayMS 500
GoTo Inicio
En este programa hemos definido una etiqueta, llamada de Inicio, observe los dos
puntos despus de ella. Despus de haber realizado la instruccin que queremos
transferir, se utiliza el comando Goto, el cual a transfiere el control a la etiqueta de
Inicio y el programa continuar.
Este ciclo se repite sin cesar. No hay manera de que el programa puede salir de este
bucle.
La mayora de las veces queremos un bucle de control, en la que el grupo de
instrucciones se repita de tal manera que despus de una determinada condicin el
bucle se terminara. Esto se puede hacer combinando un caso de declaracin. Por
ejemplo, queremos que el LED se active 10 veces y luego continuar con el resto del
programa.
Device=18F2550
Symbol LED = PORTC.0
Dim x As Byte
x=0
Again:
If x = 10 Then
GoTo Cont
End If
High LED
DelayMS 500
Low LED
DelayMS 500
x=x+1
GoTo Again
Cont:
resto del Programa
Dado que este es un escenario comn, BASIC de PROTON ha introducido una serie de
maneras de hacerlo, con la misma ideologa, pero en ms estructurada y controlada.
Uno de ellos es el llamado bucle For... Next.
Device=18F2550
Symbol LED = PORTC.0
Dim x As Byte
For x=0 To 10
High LED
DelayMS 500
Low LED
DelayMS 500
Next x
Aqu est el mismo programa, pero con bucle For. En un bucle, que da un rango a una
variable, entre los estados mencionados y la declaracin siguiente se repite, cada vez
que el valor de la variable de control se incrementa y cuando la condicin ha
alcanzado el lmite superior, el control se transfiere a la lnea debajo de la Instruccin
Next. Tambin puede utilizar el valor de la variable de control dentro de su ciclo. Sin
embargo, no se puede cambiar el valor por s mismo dentro del cuerpo del bucle.
Este tipo de bucle es muy usado para inicializar las matrices. Para la siguiente
declaracin es til, para repetir las instrucciones un nmero de veces. En algunas
ocasiones no se sabe por cunto tiempo las instrucciones tienen que ser repetidas.
Por ejemplo, queremos repetir ciertas instrucciones hasta que se pulsa una tecla. No
sabemos cundo una tecla se presiona. As que el bucle debe vigilar el estado de la
tecla.
Device=18F2550
Symbol LED = PORTC.0
Esa fue una introduccin al lenguaje de Basic En PROTON, podr aprender ms acerca
de los comandos normas y rdenes durante el tutorial , siendo esto lo mnimo que se
debe saber para comenzar.