Documentos de Académico
Documentos de Profesional
Documentos de Cultura
programación de
Microcontroladores PIC
Todos los Registros SFR del PIC están declarados implícitamente como
variables globales del tipo
byte, y son visibles en todo el proyecto.
Ejemplos:
const MAX as longint = 10000
const MIN = 1000 ' compiler will assume word type
const SWITCH = "n" ' compiler will assume char type
const MSG = "Hello" ' compiler will assume string type
const MONTHS as byte[12] = (31,28,31,30,31,30,31,31,30,31,30,31)
Etiquetas
Las etiquetas sirven como objetivos para las declaraciones goto y gosub.
label_identifier : statement
Ejemplo de uso:
loop:
Beep
goto loop
Arreglos
Un arreglo representa una colección de elementos indexados del mismo tipo
(llamados tipo de base). Como cada elemento contiene su propio índice, los
arreglos pueden contener significativamente más de una vez el mismo valor.
Cada elemento del arreglo es numerado desde 0 hasta la longitud del arreglo.
Cada elemento del arreglo es de un tipo y puede ser accedido especificando su
nombre seguido del numero de índice dentro de corchetes.
if samples[37] = 0 then
...
Símbolos
En Basic los símbolos permiten crear macros sin necesidad de parámetros. Puede reemplazar cualquier línea de código por un
identificador alias. Cuando los símbolos son usados correctamente pueden incrementar la usabilidad y la legibilidad del código.
Los símbolos necesitan ser declarados inmediatamente después del inicio del modulo, justo después del nombre del modulo y
opcionalmente de las cláusulas incluye. Vea organización de programa para mas detalles. El alcance de un símbolo esta siempre limitado
al archivo en el cual fue declarado. La forma de declararlas es:
symbol MAXALLOWED = 216 ' Símbolo como alias para un valor numérico
Symbol SALIDA = PORTA ' Símbolo como alias para un puerto
symbol MYDELAY = Delay_ms(1000) ' Símbolo como alias para un llamado a procedimiento
'...
main:
if cnt > MAXALLOWED then
cnt = 0
SALIDA.1 = 0
MYDELAY
end if
Declaraciones de asignación
Las declaraciones de asignación tiene la siguiente forma:
variable = expresión
El contador es una variable que se incrementa según el valor del paso con cada iteración del ciclo. El
parámetro valor de paso es un valor entero opcional y si este es omitido el valor por defecto es 1, antes de la
primera iteración, el valor del contador es puesto al valor inicial y se incrementa mientras no exceda o no
llegue al valor final, con cada iteración las declaraciones son ejecutadas. Los valores iniciales y finales deben
ser valores compatibles con el contador; las declaraciones pueden ser cualquier tipo de declaraciones siempre
y cuando no afecten el valor del contador. Note que el valor de paso puede ser un valor negativo,
permitiéndole hacer cuentas regresivas. Aquí un ejemplo de cómo calcular el producto escalar de 2 vectores a
y b, de longitud n usando la sentencia FOR:
Declaración WHILE
Use la sentencia WHILE para condicionar una declaración de iteración. La sintaxis
es:
while expresión
declaraciones
wend
do
declaraciones
loop until expresión
if PORTB.0 = 1 then
variable = 14
endif
No hay necesidad por una declaración en especial; este tipo de acceso selectivo es una
característica intrínseca de mikrobasic y puede ser usada en cualquier parte del código. Asegúrese
de no exceder el tamaño del tipo apropiado.(P.E. PORTB.12 retornara un error ya que el PORTB
es una variable de 8 bits).
Si esta familiarizado con un Chip en particular, puede acceder a sus bits por su nombre:
Aquí hay un ejemplo de una función que calcula el numero x↑ n basado en dos parámetros de entrada: x y n donde
n tiene que ser mayor que cero (n>0):