PIC PROGRAMACION EN C

Páginas: 21 (5035 palabras) Publicado: 12 de diciembre de 2013
Curso Programación en C
microcontroladores PIC
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 a tablas en memoriade
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

16 bits

-3276832767

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.

3

Tipos 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 las posiciones de
memoria másbajas.

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 las declaradas
en lasfunciones 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 fuente sirve para acceder a unavariable 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 el tiempo de ejecución dealgunas 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 unnuevo 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-2003Ifara 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 encima de los 64K....
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Programación de PIC en C
  • Programación de Pic
  • programacion de pic
  • pic c
  • Pic programacion
  • Ejemplos programacion en c para pic
  • programación c++
  • programacion C

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS