La educacion

Solo disponible en BuenasTareas
  • Páginas : 22 (5489 palabras )
  • Descarga(s) : 0
  • Publicado : 22 de agosto de 2012
Leer documento completo
Vista previa del texto
Curso Programación en C
microcontroladores PIC
microcontroladores
Introducción al MPLAB C-18
Andrés Prieto-Moreno Torres
andres@ifara.com

Características del MPLAB-C18
• Compilador ANSI C para microcontroladores PIC18.
• Aprovecha las modificaciones arquitecturales de la
familia de microcontroladores PIC18.
– Diferente distribución memoria de datos.
– Nuevas instrucciones de acceso atablas en memoria de
programa
– Nuevos modos de direccionamiento.

• Admite ensamblador empotrado
• Integrado con el MPLAB-IDE
• Versión de DEMO gratuita
junio-2003

Ifara Tecnologías S.L.

2

1

Tipos de datos: Enteros
Tipo

Tamaño

Mínimo

Máximo

Char

8 bits

-128

127

Signed char

8 bits

-128

127

Unsigned char

8 bits

0

255

Int

16bits

-32768

32767

Unsigned int

16 bits

0

65535
32767

Short

16 bits

-32768

Unsigned short

16 bits

0

65535

Short long

24 bits

-8.388.608

8.388.607

Unsigned short long

24 bits

0

16.777.215

Long

32 bits

-2.147.483.648

2.147.483.647

Unsigned long

32 bits

0

4.294.967.295

junio-2003

Ifara Tecnologías S.L.

3Tipos de datos: Reales
Tipo

Exponente
Mínimo

Exponente
Máximo

Float

32 bits

-126

128

Double

junio-2003

Tamaño

32 bits

-126

128

Ifara Tecnologías S.L.

4

2

Tipo de datos: Little Endian
Los datos de más de un byte de longitud, se
almacenan en memoria siguiendo el criterio
LITTLE ENDIAN, es decir los bytes menos
significativos ocupan lasposiciones de
memoria más bajas.

0xDD

0x1001

0xCC

0x1001

0xBB

0x1003

Ejemplo:

0x1000

0xAA

#pragma idata mi_dato=0x1000
Long valor = 0xAABBCCDD;

junio-2003

Ifara Tecnologías S.L.

5

Tipos de datos: Storage I
MPLAB C18 maneja los modificadores establecidos por la norma ANSI:
1. Auto:


Las variables declaradas fuera de las funciones son globales y lasdeclaradas
en las funciones son locales. El ámbito local tiene prioridad sobre el global.



Si no se inicializan el valor que toman es indefinido.



Las globales se comportan como estáticas en el bucle C018i.c (*)

2. Extern:


Indica que la variable declarada pertenece a otro módulo, por lo que no es
necesario reservar memoria para ella.



Dentro de un mismo fichero fuentesirve para acceder a una variable aunque
todavía no se haya llegado a su declaración.



Se auto-inicializan a cero.

junio-2003

Ifara Tecnologías S.L.

6

3

Tipos de datos: Storage II
3. Register:


Indica que la variable declarada se debe guardar en uno de los registros del
procesador.



Si no es posible, se comporta como ‘Auto’



Se utiliza para optimizar eltiempo de ejecución de algunas funciones.

4. Static:


Variables locales a una función que retienen su valor en llamadas sucesivas a
dicha función.



Hay que poner static delante de la declaración.



Se inicializan a valor cero.



Ahorra número de instrucciones para acceder a las variables.

junio-2003

Ifara Tecnologías S.L.

7

Tipos de datos: Storage III
4.Typedef:


Asigna un nuevo nombre a un tipo de datos.

Y además añade ...
5. Overlay:


Se aplica sobre variables locales.



Las declara estáticas pero se inicializan cada vez que se llama a la función.



Se permite que una misma posición de memoria pueda ser utilizada por
diferentes variables. Podemos ahorrar espacio de memoria.



El proceso es controlado por el linker.junio-2003

Ifara Tecnologías S.L.

8

4

Tipos de datos: Qualifiers I
1. Const: Contenido de la variable es fijo. ANSI C.
2. Volatile: El contenido de la variable puede cambiar. ANSI C.
MPLAB C-18 añade ...
3. Far:


Datos: La variable esta en un banco lejano, se necesitan instrucciones de
cambio de banco y/o acceso indirecto.



Código: Podemos acceder a objetos por...
tracking img