Documente Academic
Documente Profesional
Documente Cultură
2.2
CARACTERSTICAS
PROGRAMACIN BASIC
PRINCIPALES
DEL
LENGUAJE
DE
Similar al uso de cualquier lengua que no est limitada a los libros y a las revistas,
el lenguaje de programacin Basic no est estrechamente relacionado a un tipo
particular de ordenador, procesador o sistema operativo. Esto puede ser un
problema, ya que Basic vara ligeramente dependiendo de su aplicacin (como
diferentes dialectos de una lengua). Por consiguiente, en este libro no vamos a
darle una descripcin detallada de todas las caractersticas de Basic, sino
presentar una aplicacin muy concreta de Basic, lenguaje de programacin
utilizado en el compilador mikroBasic PRO for PIC.
Identificadores
Comentarios
Operadores
Expresiones
Instrucciones
Constantes
Variables
Smbolos
Directivas
Etiquetas
Procedimientos y funciones
Mdulos
ESTRUCTURA DE PROGRAMA
Similar a los otros lenguajes de programacin, Basic dispone de un conjunto de
reglas estrictamente definidas que se deben observar al escribir un programa.
Para escribir un programa en Basic, es necesario instalar un software que
proporciona el entorno de trabajo apropiado y entiende estas reglas en la PC... Al
escribir una carta, se necesita un programa para procesar palabras. En este caso,
se
necesita
el
compilador
mikroBasic
PRO
for
PIC.
A diferencia de la mayora de programas a los que est acostumbrado a manejar,
el proceso de escribir programas en el compilador no empieza por seleccionar la
opcin File>New, sino Project>New. Por qu? Bueno, usted escribe un programa
en un documento con extensin .mbas (mikroBasic). Una vez que se ha escrito el
programa, el mismo se debe compilar en cdigo HEX para crear un nuevo
documento con extensin .hex. Al mismo tiempo el compilador generar
Slo para estar seguro de que estamos hablando en los mismos trminos... A
partir de ahora la palabra mdulo se refiere a un documento con extensin .mbas.
El texto que contiene se refiere a un programa. Cada proyecto escrito en el
compilador mikroBasic PRO for PIC es de extensin .mbppi (microBasic Project for
PIC) y consiste en un mdulo como mnimo (mdulo principal - Main Module).
Cada proyecto en el mikroBasic PRO for PIC requiere un solo mdulo principal. Lo
identifica la palabra clave program y ordena al compilador por dnde empezar el
proceso de la compilacin. Al crear con xito un proyecto vaco en Project Wizard,
el mdulo principal (main module) ser visualizado automticamente en la ventana
Code Editor:
program MyProject ' El mdulo principal es denominado MyProject
main: ' Procedimiento principal
... '*
... '* Escribir el cdigo de programa aqu
... '*
end.
module MyModule
...
...
...
end.
Para que el compilador pueda reconocer todos los mdulos que pertenecen a un
proyecto, es necesario especificarlos en el mdulo principal por medio de la
palabra clave include seguida por un nombre del mdulo entre comillas. La
extensin de estos ficheros no se debe incluir. Se permite slo un mdulo por
clusula include. El nmero de las clusulas include no est limitado, pero todas
ellas deben estar especificadas inmediatamente despus del nombre del
programa (mdulo principal). Ejemplo:
program MyProgram
include "utils"
include "strings"
include "MyUnit"
...
Como se puede ver, es una variable de punto flotante, o sea un nmero con
posicin decimal opcional. Las otras dos variables estn declaradas y nombradas
velocidad y tiempo. Ahora, se pueden utilizar en el siguiente programa:
Esto es un ejemplo de cmo escribir el mdulo principal correctamente:
IDENTIFICADORES
Los identificadores son los nombres arbitrarios asignados a los objetos bsicos del
lenguaje teles como constantes, variables, funciones, procedimientos etc. A
alguien se le ocurri utilizar la palabra identificador en vez de utilizar el nombre.
As de simple. Aqu estn las reglas a observar al utilizar los identificadores.
Abstract
And
Array
As
At
Asm
Assembler
Automated
Bdata
Begin
Bit
Case
Cdecl
Class
Code
Compact
Const
Constructor
Contains
Data
Default
Deprecated
Destructor
Dispid
Dispinterface
Div
Do
Downto
Dynamic
Else
End
Except
Export
Exports
External
Far
File
Finalization
Finally
For
Forward
Function
Goto
Idata
If
Ilevel
Implementation
In
Index
Inherited
Initialization
Inline
Interface
Io
Is
Label
Large
Library
Message
Mod
Name
Near
Nil
Not
Object
Of
On
Or
Org
Out
Overload
Override
Package
Packed
Pascal
Pdata
Platform
Private
Procedure
Program
Property
Protected
Public
Published
Raise
Read
Readonly
Record
Register
Reintroduce
Repeat
Requires
Resourcestring
Rx
Safecall
Sbit
Set
Sfr
Shl
Shr
Small
Stdcall
Stored
String
Stringresource
Then
Threadvar
To
Try
Type
Unit
Until
Uses
Var
Virtual
Volatile
While
With
Write
Writeonly
Xdata
Xor
ETIQUETAS
Las etiquetas proporcionan el modo ms fcil de controlar el flujo de programa. Se
utilizan para denotar las lneas particulares en el programa donde se deben
ejecutar la instruccin de salto y la subrutina apropiada. Todas las etiquetas deben
terminar por : as que el compilador las puede reconocer con facilidad.
CONSTANTES
Las constantes son los nmeros o caracteres cuyo valor no puede ser cambiado
durante la ejecucin de programa. A diferencia de las variables, las constantes se
almacenan en la memoria ROM del microcontrolador para guardar el mayor
espacio posible de la memoria RAM. El compilador reconoce las constantes por
sus nombres y el prefijo const. Cada constante se declara bajo un nombre nico
que debe ser un identificador vlido. Las constantes pueden ser en formatos
decimal, hexadecimal o binario. El compilador los distingue por su prefijo. Si una
constante no lleva prefijo, se considera decimal por defecto.
FORMATO
PREFIJO
Decimal
EJEMPLO
const MAX = 100
Hexadecimal
0x o $
Binario
Punto flotante
Las variables en Basic son de un tipo, lo que significa que es necesario especificar
el tipo de dato que se asignar a la variable. Las variables se almacenan en la
memoria RAM y el espacio de memoria ocupado (en bytes) depende de su tipo.
Aparte de las declaraciones de una sola variable, las variables del mismo tipo, se
pueden declarar en forma de una lista. Aqu, lista de identificadores es una lista de
identificadores vlidos delimitados por comas, mientras que tipo puede ser
cualquier tipo de dato.
dim i, j, k as byte
dim counter, temp as word
'Definir variables i, j, k
'Definir variables contador y temp
SMBOLOS
Los smbolos en Basic permiten crear los macros simples sin parmetros.
Cualquier lnea de cdigo se puede reemplazar por un solo identificador. Los
smbolos pueden aumentar legibilidad y reutilizacin de cdigo cuando se utilizan
correctamente.
Los smbolos deben ser declarados al principio del mdulo, bajo el nombre del
mdulo y la directiva opcional include. El mbito de un smbolo es siempre limitado
al mdulo en el que ha sido declarado.
symbol nombre_de_smbolo = cdigo
Aqu, nombre_de_smbolo debe ser un identificador vlido que se utilizar por todo
el cdigo. El especificador cdigo puede ser cualquier lnea de cdigo (literales,
asignaciones, llamadas de funcin etc.)
symbol MAXALLOWED = 216
symbol OUT = PORTA
symbol MYDELAY = Delay_ms(762)
dim cnt as byte
main:
if cnt > MAXALLOWED then
cnt = 0
OUT.1 = 0
MYDELAY
end if
...
TIPO DE
DATO
DESCRIPCIN
TAMAO (NMERO
DE BITS)
RANGO DE VALORES
bit
Un bit
0o1
sbit
Un bit
0o1
byte, char
Carcter
0 ... 255
short
word
16
0 ... 65535
integer
16
longword
Palabra de 32 bits
32
0 ... 4294967295
longint
Palabra de 32 bits
asignada
32
float
Punto flotante
32
1.17549435082*10-38 ...
6.80564774407*1038
PROMOCIN
Cuando los operandos son de tipos diferentes, mediante la conversin implcita se
realiza la promocin de tipo ms bajo a tipo ms alto, de la siguiente manera:
bit byte
short, byte/char integer, word, longint, longword
integer, word longint, longword
short, byte/char, integer, word, longint, longword float
RECORTE DE DATOS
En las sentencias de asignacin y en las sentencias que requieren una expresin
de tipo particular, el valor correcto ser almacenado en el destino slo si el
resultado de expresin no excede al rango del destino. Al contrario, si el resultado
de la expresin resulta en un tipo ms complejo de lo esperado, los datos que
exceden se recortarn, o sea los bytes ms altos se pierden.
dim i as byte
dim j as word
...
j = $FF0F
i=j
OPERADORES
Un operador es un smbolo que denota una operacin aritmtica, lgica u otra
operacin particular. Cada operacin se realiza sobre uno o ms operandos
(variables o constantes) en una expresin. Adems, cada operador dispone de la
OPERADORES
ASOCIATIVIDAD
Alta
@ not + -
de derecha a izquierda
de izquierda a derecha
+ - or xor
de izquierda a derecha
de izquierda a derecha
Baja
OPERADORES ARITMTICOS
Los operadores aritmticos se utilizan para realizar operaciones aritmticas. Estas
operaciones se realizan sobre los operandos numricos y siempre devuelven
los resultados numricos. Las operaciones binarias se realizan sobre dos
operandos, mientras que las operaciones unitarias se realizan sobre un operando.
Todos los operadores aritmticos se asocian de izquierda a derecha.
OPERADOR
OPERACIN
Adicin
Resta
Multiplicacin
div
Divisin - redondear
mod
Remanente
SIGNIFICADO
EJEMPLO
CONDICIN DE VERACIDAD
>
es mayor que
b>a
si b es mayor que a
>=
a >= 5
<
es menor que
a<b
si a es menor que b
<=
a <= b
es igual que
a=6
si a es igual que 6
<>
no es igual que
a <> b
si a no es igual que b
SIGNIFICADO
EJEMPLO
RESULTADO
<<
desplazamiento a la izquierda
A = B << 2
B = 11110011
A = 11001100
>>
desplazamiento a la derecha
A = B >> 3
B = 11110011
A = 00011110
and
C = A and B
A=11100011
B=11001100
C = 11000000
or
C = A or B
A=11100011
B=11001100
C = 11101111
not
A = not B
B = 11001100
A = 00110011
xor
C = A xor B
A = 11100011
B = 11001100
C = 00101111
Los operadores de manejo de bits y (and), o (or) y xor realizan las operaciones
lgicas sobre los pares de bits de operandos apropiados. El operador not
complementa cada bit de un solo operando.
$1234 or $5678
$1234 xor $5678
not $1234
OPERADORES DE DESPLAZAMIENTO
Hay dos operadores de desplazamiento de bits en mikroBasic. Son el operador
<< que realiza un desplazamiento de bits a la izquierda y el operador >> que
realiza un desplazamiento de bits a la derecha. Los operadores de desplazamiento
de bits tienen dos operandos cada uno. El operando izquierdo es un objeto que se
desplaza, mientras que el derecho indica el nmero de posiciones a mover el
objeto. Los dos operandos deben ser de tipo entero. El operando derecho debe
ser el valor positivo.
Al desplazar a la izquierda los bits que salen por la izquierda se pierden, mientras
que los nuevos bits a la derecha se rellenan con ceros. Por lo tanto, el
desplazamiento del operando que carece de signo a la izquierda por n posiciones
equivale a multiplicarlo por 2n si todos los bits descartados son ceros. Lo mismo se
puede aplicar a los operandos con signo si todos los bits descartados son iguales
que el signo de bit.
Al desplazar a la derecha los bits que salen por la derecha se pierden, mientras
que los nuevos bits a la izquierda se rellenan con ceros (en caso del operando sin
signo) o con el signo de bit (en caso del operando con signo). El desplazamiento
del operando a la derecha por n posiciones equivale a dividirlo por 2 n.
dim num as integer
num = 0xFF56
num >> 4
SENTENCIAS CONDICIONALES
Las condiciones son ingredientes comunes de un programa. Las condiciones
permiten ejecutar una o varias sentencias dependiendo de validez de una
expresin. En otras palabras, Si se cumple la condicin (...), se debe hacer (...).
De lo contrario, se debe hacer (...). Una sentencia condicional puede ser seguida
por una sola sentencia o por un bloque de sentencias a ser ejecutadas.
SENTENCIA CONDICIONAL IF
La sintaxis en una forma simple de la sentencia if es:
if expresin then
operaciones
end if
BUCLE WHILE
El bucle while aparece cuando el nmero de iteraciones no est especificado. Es
necesario comprobar la condicin de iteracin antes de ejecutar un bucle. En otras
palabras, el bucle while se ejecuta una vez cumplidas todas las condiciones
necesarias para su ejecucin. La sintaxis del bucle while se parece a lo siguiente:
while expresin
sentencias
wend
BUCLE FOR
El bucle for se utiliza cuando el nmero de iteraciones est especificado. La
sintaxis del bucle for es la siguiente:
for contador = valor_inicial to valor_final [step valor_de_paso]
sentencias
next contador
A veces el proceso de escribir un programa en Basic requiere las partes del cdigo
escritas en ensamblador. Esto permite ejecutar algunas partes del programa de
una forma definida con precisin en un perodo de tiempo exacto. Por ejemplo,
cuando se necesita que los pulsos muy cortos (de unos microsegundos)
aparezcan peridicamente en un pin del microcontrolador. En tales casos la
solucin ms simple sera escribir el cdigo ensamblador en la parte del programa
que
controla
la
duracin
de
pulsos.
El comando asm se utiliza para introducir una o ms instrucciones en ensamblador
en el programa escrito en Basic:
asm
instrucciones en ensamblador
...
end asm
MATRICES
Una matriz es una lista organizada y limitada de variables del mismo tipo
denominadas elementos. Este tipo es denominado tipo bsico. Cada elemento es
referenciado por un ndice nico as que los diferentes elementos pueden tener el
mismo valor. Para declarar una matriz, es necesario especificar el tipo de sus
elementos (denominado tipo de matriz), su nombre y el nmero de sus elementos
encerrados entre corchetes:
dim nombre_de_matriz as tipo_de_componente [nmero_de_componentes]
Los elementos de una matriz se identifican por su posicin. Los ndices van desde
0 (el primer elemento de una matriz) a N-1 (N es el nmero de elementos
contenidos en la matriz). El compilador tiene que saber cuntas localidades de
memoria debe alojar al declarar una matriz. Por eso, el tamao de una matriz no
puede ser variable.
Para explicar con ms claridad, una matriz puede ser pensada como una lista ms
o menos larga o corta de variables del mismo tipo en la que a cada una se le
asigna un nmero ordinal que siempre empieza por cero. A esta matriz se le
denomina vector. En la tabla de la derecha se muestra una matriz denominada
estante que contiene 100 elementos.
ELEMENTOS DE LA MATRIZ
CONTENIDO DE ELEMENTOS
estante[0]
estante[1]
23
estante[2]
34
estante[3]
estante[4]
estante[5]
12
estante[6]
...
...
...
...
estante[99]
23
SENTENCIA GOSUB
Una subrutina es una parte del cdigo dentro de un programa largo ejecutado a
peticin. Realiza una tarea especfica, es relativamente independiente del resto del
cdigo. El intrprete del compilador salta a la subrutina, la ejecuta y vuelve al
programa principal. Las palabras clave gosub y return se utilizan en Basic para
denotar el inicio y el final de la subrutina:
gosub nombre_de_etiqueta
...
...
...
nombre_de_etiqueta:
...
return
INTCON.B0 = 0
ADCON0.5 = 1
i=5
STATUS.(i+1) = 1
Por fin, a un bit deseado se le puede acceder al utilizar un nombre alias. En este
caso, es el GIE_bit:
GIE_bit = 1 ' Poner a uno el bit GIE
TIPO SBIT
El compilador mikroBasic PRO for PIC tiene un tipo de dato sbit. Esto es un tipo de
dato ms corto que se refiere a un solo bit. Si al tipo sbit se le asigna una variable,
el bit apropiado de un registro ser cambiado al cambiar esta variable sin
especificar el nombre y la localidad del registro. La variable sbit se comportar
como un puntero. Para declarar la variable sbit, basta con escribir:
dim Nombre_de_bit as sbit at Nombre_de_registro.Posicin_de_bit
program MyProgram
' Mdulo principal
...
dim Output1 as sbit at PORTB.0
' Variable Output1 es de tipo sbit
...
Output1 = 1
' Pin del puerto PORTB.0 est a uno (5V)
Si una variable de tipo sbit no est definida en el mismo mdulo donde se utiliza,
la palabra clave external debe ser utilizada. Adems, el especificador de memoria
apropiado se debe aadir:
dim nombre_de_bit as sbit sfr external
module MyModule
' Esto no es el mdulo principal y el bit Output1
...
' no est definido aqu
dim Output1 as sbit sfr external
...
Output1 = 1
' Pin PORTB.0 (definido en el ejemplo anterior como Output1) est a uno (5V)
TIPO BIT
El compilador mikroBasic PRO for PIC proporciona un tipo de dato bit que se
puede utilizar para declarar las variables.
dim bf as bit
A diferencia de variables de tipo sbit, solo el nombre de bit est declarado aqu,
mientras que el compilador almacena una variable bit en algunos de los registros
libres de la RAM. Como se puede ver, no es necesario especificar un bit de algn
registro especfico. La localidad exacta de la variable de tipo bit es desconocida al
usuario.
Los tipos Bit y sbit se utilizan con los siguientes limitaciones:
' invlido
' invlido
FUNCIONES Y PROCEDIMIENTOS
Las funciones y los procedimientos, denominados bajo el nombre comn de
rutinas, son subprogramas (bloques de sentencias autnomos) que ejecutan
ciertas tareas a base de un nmero de los parmetros de entrada. Las funciones
devuelven un valor despus de la ejecucin, mientras que los procedimientos no
devuelven un valor.
PROCEDIMIENTOS
Un procedimiento es un bloque de cdigo nombrado, o sea, una subrutina con
algunas caractersticas adicionales. Por ejemplo, puede aceptar parmetros. Los
procedimientos se declaran de la siguiente manera:
sub procedure
[ declaraciones locales ]
cuerpo de procedimiento
end sub
nombre_de_procedimiento (lista_de_parmetros)
Ahora, podemos llamar al procedimiento add para hacer clculo del peso total de
una carga, por ejemplo:
FUNCIONES
Las funciones deben estar declaradas apropiadamente para ser interpretadas
correctamente durante el proceso de la compilacin.
sub function nombre_de_funcin (lista_de_parmetros) as valor_devuelto
[ declaraciones locales ]
cuerpo de funcin
end sub
Ahora, podemos llamar a la funcin power para hacer clculo de 312 por ejemplo:
tmp = power(3, 12) ' Hacer clculo de 3*12
Vdelay_Advanded_ms
Vdelay_ms
Delay_Cyc
Clock_KHz
Clock_MHz
Reset
ClrWdt
DisableContextSaving
SetFuncCall
SetOrg
GetDateTime
GetVersion
COMPILACIN CONDICIONAL
Las directivas de la compilacin condicional se utilizan generalmente para facilitar
la modificacin y compilacin de los programas fuente para los diferentes
microcontroladores. El compilador mikroBasic PRO for PIC soporta a la
compilacin condicional. Todas las directivas de la compilacin condicional deben
terminar dentro del mdulo en el que han empezado.
DIRECTIVAS #IF, #ELIF, #ELSE, Y #ENDIF
Las directivas condicionales #if, #elif, #else y #endif se ejecutan de manera similar
a las sentencias condicionales comunes en Basic. Si una expresin escrita
despus de #if tiene un valor distinto de cero, las lneas de programa que siguen
Cada directiva #if en un archivo fuente debe terminar por una directiva
#endif de cierre correspondiente. Entre las directivas #if y #endif puede
haber cualquier nmero de las directivas #elif, pero slo se permite una
directiva #else. Si est presente la directiva #else, debe ser la ltima
directiva antes de la directiva #endif.
Seccin puede ser cualquier cdigo de programa reconocido por el
compilador o preprocesador. El preprocesador selecciona una seccin al
evaluar la expresin_de_constante que sigue a cada directiva #if o
#elif hasta encontrar una expresin_de_constante verdadera (distinta de
cero).
Si todas las expresiones-constantes son evaluadas como falsas o no
aparecen ninguna directiva #elif, el preprocesador selecciona la
seccin_final que sigue a la clusula #else. Si se omite la clusula #else y
todas las expresiones_constantes en el bloque #if son evaluadas como
falsas, no se seleccionar ninguna seccin para un procesamiento
posterior.
Por ltimo, resulta que solamente una seccin del cdigo ser compilada, aunque
est vaca.
PUNTEROS
Como ya hemos mencionado, a cada objeto en el programa (variable,
procedimiento, subrutina etc.) se le asigna una direccin de memoria particular. Al
declarar una variable en el programa el compilador le asigna automticamente una
localidad de la memoria RAMlibre. Durante la programacin, estas direcciones no
son visibles para los programadores. La posibilidad de acceder a los diferentes
objetos por sus nombres (identificadores) en vez de por sus direcciones es una de
las ventajas principales de los lenguajes de programacin de alto nivel. En
realidad, es ms fcil manejar las palabras (nombres) que los nmeros. Adems,
el compilador se encarga de los objetos asociados y de sus direcciones.
Direccionar los
direccionamiento
objetos
al
especificar
sus
nombres
es
denominado
directo.
Si quiere cambiar el valor de una variable apuntada, basta con cambiar el valor
del puntero y posponer el signo de intercalacin (^) al valor. Veamos la figura a la
derecha: a la variable variable_a en la direccin 12 se le asigna el valor 26 por
medio
del
puntero
puntero_p.
Los punteros pueden apuntar a los datos almacenados en cualquier espacio de
memoria disponible y pueden residir en cualquier espacio de memoria disponible
menos en el espacio de memoria de programa (ROM).
@ OPERADOR
El operador @ devuelve la direccin de un objeto, o sea, crea un puntero sobre su
operando. Las siguientes reglas se aplican al operando @:
ptr_arr as ^byte[10]
arr as byte[10]
main:
ptr_b = @arr
temp = @arr
ptr_arr = @arr
end.
problemas con los nombres exactos de los registros, sus direcciones, nombres de
los bits de control particulares, y muchos ms al empezar a escribir su primer
programa en Basic. El punto es que usted necesita ms que una teora para que el
microcontrolador haga algo til.
Teniendo en cuenta de que Es mejor prevenir que curar, hay que avisarle de
todas las cosas por resolver antes de que empiece a escribir un programa para el
microcontrolador. Antes que nada, necesita un programa instalado en la PC que
eniende el lenguaje de programacin a utilizar y que proporciona un entorno de
trabajo apropiado. No hay un compilador apropiado para un tipo de compilador,
tampoco para todos los microcontroladores. Normalmente se utiliza un software
para programar los similares microcontroladores de un fabricante.
En las secciones anteriores hemos presentado el lenguaje mikroBasic,
especialmente diseado para programar los PIC. Ahora, cuando sabe lo suficiente
sobre ese lenguaje, es hora de presentar el software que utilizar para desarrollar
y editar los proyectos. Este software se le denomina Entorno de desarrollo
integrado (Integrated Developement Environment - IDE) e incluye todas las
herramientas necesarias para desarrollar los proyectos (editor, depurador etc.).
Como implica su nombre, mikroBasic PRO for PIC est pensado para escribir los
programas para los microcontroladores PIC en Basic. Este compilador contiene
las informaciones de arquitectura de los microcontroladores PIC (registros, sus
direcciones exactas, mdulos de memoria, funcionamiento de sus mdulos, juego
de instrucciones, disposicin de pines etc.). Adems incluye las herramientas
apropiadas para programar los microcontroladores PIC. Lo primero que tiene que
hacer al iniciar el compilador es seleccionar el chip y frecuencia de operacin de la
lista. Esto no es un final, sino un comienzo. Por fin puede empezar a escribir el
programa en Basic.
funcionamiento
del
microcontrolador
en
la
pantalla.
Los puntos de ruptura hacen el proceso de depurar los programas de una manera
ms eficiente, puesto que permiten ejecutar el programa a toda velocidad y
detenerlo automticamente en una lnea especfica (punto de ruptura). Eso resulta
muy til, permitindole comprobar slo las partes crticas del programa y no perder
el tiempo probando todo el programa lnea a lnea. Para aadir o quitar un punto
de ruptura basta con pulsar sobre la lnea apropiada en el lado izquierdo del editor
del cdigo, o presionar [F5]. Una pequea ventana denominada Breakpoints
muestra dnde estn los puntos de ruptura. Note que las lneas designadas como
puntos de ruptura estn marcadas en rojo.
STOPWATCH (Cronmetro)
Si quiere saber cunto tiempo tarda un microcontrolador en ejecutar una parte del
programa, seleccione la opcin Run/View Stopwatch. Aparecer una ventana
como se muestra en la figura a la derecha.Cmo funciona un cronmetro? Eso
es pan comido...El tiempo que tarda un comando (step into, step over, run/pause
etc.) en ejecutarse por el depurador se mide automticamente y se visualiza en la
ventana Stopwatch. Por ejemplo, se mide tiempo para ejecutar un programa,
tiempo para ejecutar el ltimo paso etc.
DEPURADOR EN CIRCUITO
La otra forma de comprobar la ejecucin de programa es al utilizar el depurador
mikroICD (depurador en circuito). El mikroICD (depurador en circuito) es una parte
integral del programador PICflash. Se utiliza con el propsito de probar y depurar
los programas. El proceso de probar y depurar se realiza al monitorizar los
estados de todos los registros dentro del microcontrolador durante su
funcionamiento en entorno real. Para habilitar la depuracin, es necesario
seleccionar las opciones Build Type-ICD Debug y Debugger-mikroICD antes de
cargar el programa en el microcontrolador. Tan pronto como se inicie el depurador
mikroICD, aparecer una ventana como se muestra en la siguiente Figura. El
depurador mikroICD se comunica con el microcontrolador PIC por sus pines
utilizados para la programacin. Por eso no se pueden utilizar como pines de E/S
durante la ejecucin de la depuracin de programa. Durante la operacin del
depurador mikroICD, el programador y la PC deben estar conectados al utilizar un
cable USB.
Cada de estos comandos se activa por medio de los atajos de teclado o al pulsar
sobre el icono apropiado en la ventana Watch Values.
El depurador mikroICD tambin ofrece funciones tales como ejecutar el programa
paso a paso, detener la ejecucin de programa para monitorear el estado de los
registros actualmente activos por medio de los puntos de ruptura, monitorear los
valores de algunas variables etc. El siguiente ejemplo muestra una ejecucin de
programa paso a paso utilizando el comando Step Over.
Paso1:
En este ejemplo la lnea de programa 31 est marcada por el azul, lo que quiere
decir que es la siguiente en ser ejecutada. El estado actual de todos los registros
dentro del microcontrolador se puede visualizar en la ventana Watch Values del
mikroICD.
Paso 2:
para programar todos los tipos de microcontroladores PIC. Est compuesto por
dos partes:
TERMINAL USART
Al seleccionar la opcin EEPROM Editor del men Tools, aparecer una ventana
como se muestra en la siguiente figura. As es cmo funciona la memoria
EEPROM del microcontrolador. Si quiere cambiar de su contenido despus de
cargar el programa en el microcontrolador, sta es la forma correcta de hacerlo. El
nuevo contenido es un dato de un tipo especfico (char, int o double), primero debe
seleccionarlo, introducir el valor en el campo Edit Value y pulsar sobre Edit. Luego,
pulse sobre el botn Save para guardarlo como un documento con extensin .hex.
Si la opcin Use EEPROM in Project est activa, los datos se cargarn
automticamente en el microcontrolador durante el proceso de la programacin.
VENTANA ASCII CHART
Si necesita representar numricamente un carcter ASCII, seleccione la opcin
ASCII chart del men Tools. Aparecer una tabla, como se muestra en la figura
que est a continuacin.
Usted probablemente sabe que cada tecla de teclado est asociada con un cdigo
(cdigo ASCII). Como se puede ver, los caracteres que representan los nmeros
tienen valores diferentes. Por esta razn, la instruccin de programa para
visualizar el nmero 7 en un LCD no visualizar este nmero, sino el equivalente a
la instruccin BEL. Si enva el mismo nmero en forma de un carcter a un LCD,
obtendr el resultado esperado - nmero 7. Por consiguiente, si quiere visualizar
un nmero sin convertirlo en un carcter apropiado, es necesario aadir el nmero
48 a cada dgito en el que consiste el nmero a visualizar.
EDITOR DE SIETE SEGMENTOS
Un editor de siete segmentos le permite determinar con facilidad el nmero a
poner en un puerto de salida con el propsito de visualizar un smbolo
deseado. Por supuesto, se da por entendido que los pines del puerto deben estar
bits debe ser monocromtico y tener la resolucin apropiada del visualizador (128
x 64 pxeles en este ejemplo). El procedimiento a seguir es igual que en el ejemplo
anterior: Copy to Clipboard...
Un cdigo generado que utiliza
herramientas para controlar los
visualizadores LCD y GLCD
contiene funciones de la librera
Lcd. Si las utiliza en el
programa, no se olvide de
marcar la caja de chequeo junto
a esta librera en la ventana
Library
Manager.
As
el
compilador ser capaz de
reconocer
estas
funciones
correctamente.
LIBRARAS
Uno de los elementos ms importantes del compilador mikroBasic
PRO for PIC es Library Manager, que por supuesto merece
nuestra
atencin.
include.
El mikroBasic PRO for PIC incluye las libreras miscelneas y las libreras para el
hardware.
LIBRERAS MISCELNEAS
Las libreras miscelneas contienen algunas funciones de propsito general:
LIBRARA
DESCRIPCIN
Button Library
Conversions Library
C Type Library
String Library
Time Library
Trigon Library
Funciones trigonomtricas
DESCRIPCIN
ADC Library
CAN Library
CANSPI Library
EEPROM Library
Ethernet PIC18FxxJ60
Library
IC Library
Keypad Library
Lcd Library
Utilizada para las operaciones con las tarjetas multimedia MMC flash
OneWire Library
PS/2 Library
PWM Library
RS-485 Library
Software IC Library
Sound Library
SPI Library
UART Library