You are on page 1of 4

INTRODUCCIN

Siguiente
MIKROELEKTRONIKA
Aprender cmo escribir un programa por su cuenta, cmo depurar, y cmo utilizarlo para
poner en marcha un microcontrolador. El libro ofrece numerosos ejemplos prcticos
, con esquemas de conexin necesarios para explicar el funcionamiento de los senso
res de temperatura, A / D y D / A, LCD y LED, rels, mdulos de comunicacin, etc. Se
actualiza constantemente con nuevos ejemplos. Todos los cdigos de programa se com
entan en detalle para que sea ms fcil para los principiantes a empezar la programa
cin. conjunto de instrucciones, operadores, estructuras de control, y otros eleme
ntos del lenguaje de programacin C se explican a fondo as. Y eso no es todo, el li
bro tambin incluye un apndice til en el entorno de desarrollo mikroC for dsPIC, ins
trucciones sobre cmo instalarlo y cmo usarlo en todo su potencial.1.1 LOS CONCEPTO
S BSICOS DEL LENGUAJE DE PROGRAMACIN C
anterior
Siguiente
MIKROELEKTRONIKA
Todos los ejemplos presentados en este libro se basan en el lenguaje de programa
cin C y su aplicacin en el compilador mikroC for dsPIC. Por tanto, es necesario in
troducir algunos de los conceptos, modos de sus aplicaciones, y sus significados
, a fin de facilitar la understaning de los abundantes ejemplos que figuran en e
l libro. Se utilizan las estructuras ms simples de C, por lo que los ejemplos se
pueden entender sin necesidad de un anlisis del lenguaje de programacin.
NOTA: En este captulo no completo lenguaje C usadas por el compilador se ha prese
ntado, pero slo algunos de los mtodos de los tipos de declarar y algunas de las pa
labras clave a menudo utilizados en los ejemplos. Se remite al lector a la del s
istema de ayuda que acompaa el compilador mikroC para un estudio detallado de las
posibilidades del lenguaje C y su aplicacin en la programacin de los microcontrol
adores de la familia dsPIC30F.
La memoria de un microcontrolador de la familia dsPIC30F mantiene 16 bits (2 byt
es) de datos bsicos. Todos los dems tipos de datos se derivan de stas. El compilado
r tambin es compatible con los datos de 1 byte y 4-bytes. Ambas variables enteras
y en coma flotante son compatibles. En este captulo se presentarn los tipos de us
o ms frecuente de los datos.
La Tabla 1-1 presenta una revisin de las variables enteras soportados por el comp
ilador dsPIC mikroC.
TIPO
Tamao en bytes DISTANCIA
(Sin firmar) Char
1
0 .. 255
signed char
1
- 128 127 ..
(Firmado) corto (int) 1
- 128 127 ..
unsigned short (int)
1
0 .. 255
(Firmado) int 2
-32768 .. 32767
sin signo (int) 2
0 .. 65535
(Firmado) de largo (int)
4
-2147483648 2147483647 ..
unsigned long (int)
4
0 .. 4294967295
Ejemplo - declara la variable entera:
int i;
long l;
1
2
int i;

long l;
Ejemplo - declaracin de una variable de coma flotante:
Las variables de coma flotante son compatibles con el tipo de datos flotante , d
oble y doble de largo , 32 bits de ancho en la memoria y de la gama (-1,5 * 10 4
5 .. 3.4 * 10 38 ).
float fnumber;
1
float fnumber;
Ejemplo - declaracin de matrices:
Un conjunto de variables del mismo tipo, si el ndice, est representado por una mat
riz.
int vector_one[10]; /* declares an array of 10 integers */
int days[12] = {31,28,31,30,31,30,31,31,30,31,30,31};
1
2
int vector_one[10]; /* declares an array of 10 integers */
int days[12] = {31,28,31,30,31,30,31,31,30,31,30,31};
Como puede observarse a partir de los ejemplos anteriores, los ndices de un array
puede comenzar desde cualquier valor entero. Si dentro de los corchetes se decl
ara un solo valor, la matriz tiene tantos miembros (10 en el ejemplo anterior).
En ese caso, el ndice de la primera cero iz miembro!
Ejemplo - declaracin de tipo cadena:
Una serie de caracteres es representado por un tipo de datos llamados cadena . E
s, en esencia, representa una matriz del tipo de carbn , pero a veces es til para
ser considerado como texto.
char txt[6] = "mikro";
1
char txt[6] = "mikro";
Ejemplo - declaracin de puntero:
Ms difcil de entender, sino que se utiliza a menudo el tipo de datos es puntero. S
irve para mantener la direccin en la memoria donde se guarda alguna informacin ese
ncial. La aplicacin de este tipo de datos es de importancia excepcional para el md
ulo se describe
en el captulo 11: DSP motor.1.2 PALABRAS CLAVE
anterior
Siguiente
MIKROELEKTRONIKA
Las palabras clave son los conceptos en un lenguaje de programacin que tiene un s
ignificado especial. Los nombres de las variables no deben utilizar este conjunt
o de palabras. En este captulo 3 palabras clave cuyo understaning es muy importan
te va a ser tratado. Ms detalles acerca de las palabras clave podran ser encontrad
os en el sistema de ayuda que acompaa el compilador mikroC for dsPIC.
1.2.1 Palabra clave ASM
Palabra clave asm denota el comienzo de un bloque de instrucciones escritas en e
l ensamblador. El compilador soporta las instrucciones de ensamblador. Si se req

uiere una velocidad excepcional de la ejecucin de una parte de un cdigo, y el usua


rio posee el conocimiento correspondiente de la arquitectura de microcontrolador
y ensamblador instrucciones, a continuacin, la parte crtica de la programe podra e
scribirse en el ensamblador (partes optimizada de usuario de la cdigo).
Nota: El bloque de instrucciones de ensamblador tiene que empezar por la palabra
clave asm { y termine } !
Ejemplo - uso de la palabra clave asm:
asm {
MOVLW 10 // just a test
MOVLW _myvar
MOVLW 0 // just a test
MOVLW _myvar+1
}
1
2
3
4
5
6
asm {
MOVLW 10 // just a test
MOVLW _myvar
MOVLW 0 // just a test
MOVLW _myvar+1
}
Cuando se utiliza la palabra clave asm , la atencin tiene que ser tomado de los r
ecursos disponibles. Por esta razn no se recomienda el uso de esta palabra clave
a menos que sea necesario. El uso de la palabra clave asm es necesario cuando se
utiliza el mdulo DSP que ser discutido en el captulo 11. En este caso no hay otra
alternativa si el mximo uso del mdulo DSP se dirige.
1.2.2 palabra clave absoluta
Palabra clave absoluta se utiliza en los casos en que se requiere que cierta var
iable se guarda en una clula de memoria que se determina con antelacin. En la mayo
ra de los casos el uso de la palabra clave absloute no tiene sentido. Sin embargo
, su uso es a veces necesario cuando se utiliza el mdulo DSP se describieron en e
l Captulo 11: DSP Engine.
Ejemplo - el uso de la palabra clave absoluta:
int coef[10] absolute 0x0900;
double series[16] absolute 0x1900;
1
2
int coef[10] absolute 0x0900;
double series[16] absolute 0x1900;
En el ejemplo anterior matriz de coe se encuentra en 0x0900 direccin en la memori
a. Se tarda 10 2 = 20 bytes (10 elementos, 2 bytes cada uno), es decir, 20 direc
ciones (10 lugares), por lo que el rango de direcciones que contienen los elemen
tos de la matriz es coef (0x0900 0x0913 ...). serie matriz se encuentra en 0x190
0 direccin en la memoria. Se tarda 16 x 4 = 64 bytes (16 elementos, 4 bytes cada
uno), es decir, 64 direcciones (32 lugares) y el rango de direcciones que contie
nen los elementos de la serie matriz es (0x1900 ... 0x193F).

1.2.3 Palabra clave ORG


La palabra clave org se utiliza en situaciones en las que se requiere que cierto
mtodo (funcin) se guarda en una direccin asignada previamente en la memoria progra
me (la parte de la memoria donde se guarda el programe). El uso de la palabra cl
ave org es necesario cuando se procesan las interrupciones o trampas. Los mtodos
(funciones) de procesamiento de interrupciones o trampas tienen que ser mantenid
os en una direccin especificada con precisin.
Ejemplo - el uso de los org de palabras clave:
void ADC1_Int() org 0x2A{
int s;
IFS0.F11 = 0; //clear AD1IF
s = ADCBUF0; //fetch sample
}
1
2
3
4
5
void ADC1_Int() org 0x2A{
int s;
IFS0.F11 = 0; //clear AD1IF
s = ADCBUF0; //fetch sample
}
El ejemplo anterior muestra el mtodo de instruir al compilador que la funcin dada
se guarda en la parte de la memoria de programa a partir de la ubicacin 0x2A.

You might also like