Sei sulla pagina 1di 6

Constantes en c

Son aquellos valores que, una vez compilado el programa, no pueden ser cambiados.

Al definir las constantes, debemos tomar en cuenta las siguientes reglas de conversión de tipos de
datos.

* Una constante entera (sin parte decimal) es tomada como tal, a menos que se le añada la letra F
ó L (mayúsculas o minúsculas) ejemplo:

1: tomada como entera (int)

12f: tomada como flotante (float)

456L: tomada como doble carga (long double)

* Una variable con parte decimal es tomada siempre como DOUBLE, salvo que se la soga de la
letra F ó L (mayúsculas o minúsculas) ejemplo:

2.0: tomada como doble (double)

3.56F: tomada como flotante (float)

1.007L: tomada como flotante larga (long float)

* Si en cualquiera de los casos anteriores agregamos la letra U ó u la constante queda calificada


como UNSIGNED:

86u: tomada como entera sin signo (unsigned int)

32.44632UL: tomada como doble larga sin signo (unsigned long double)

* Una variable numérica que comienza con “0” (cero) es tomado como OCTAL así: 012 equivale a
10 unidades en numeración decimal

* Una variable numérica que comienza con “0x” ó “0X” (cero – equis) es tomada como
HEXADECIMAL así: 0x16 equivale a 22 unidades en numeración decimal.

Variables en C

Es solo un nombre para identificar posiciones de memoria.

Este nombre de la variable debe ser un identificador válido.

En las variables (posiciones de memoria) se guardan los datos usados por el programa durante su
ejecución.

TODA variable debe ser DECLARADA antes de poder ser utilizada.

Variables globales: son las que se declaran después del llamado a las cabeceras, pero antes de
cualquier función, y son útiles para cualquier parte del programa.
Variables locales: son las que se declaran dentro de una función, y solo sirven para ser usadas
dentro de esa función.

Tipos de datos

Los tipos de datos definen los métodos de almacenamiento disponibles para representar
información, junto con la manera en que dicha información ha de ser interpretada.

Los tipos de datos son indispensables para la declaración de variables.

En C tenemos diferentes tipos de datos:

Arquitectura de von Neumann

Tradicionalmente los sistemas con microprocesadores se basan en esta arquitectura, en la cual la


unidad central de proceso (CPU), está conectada a una memoria principal única (casi siempre sólo
RAM) donde se guardan las instrucciones del programa y los datos. A dicha memoria se accede a
través de un sistema de buses único (control, direcciones y datos).

Las principales limitaciones que nos encontramos con la arquitectura Von Neumann son:

* La limitación de la longitud de las instrucciones por el bus de datos, que hace que
el microprocesador tenga que realizar varios accesos a memoria para buscar instrucciones
complejas.

* La limitación de la velocidad de operación a causa del bus único para datos e instrucciones que
no deja acceder simultáneamente a unos y otras, lo cual impide superponer ambos tiempos de
acceso

Los ordenadores con arquitectura Von Neumann constan de las siguientes partes:

4
-

La arquitectura Von Neumann realiza o emula los siguientes pasos secuencialmente:

1) Obtiene la siguiente instrucción desde la memoria en la dirección indicada por el contador de


programa y la guarda en el registro de instrucción.

2) Aumenta el contador de programa en la longitud de la instrucción para apuntar a la siguiente.

3) Descodifica la instrucción mediante la unidad de control. Ésta se encarga de coordinar el resto


de componentes del ordenador para realizar una función determinada.

4) Se ejecuta la instrucción. Ésta puede cambiar el valor del contador del programa, permitiendo
así operaciones repetitivas.

5) Regresa al paso N° 1.

Arquitectura Harvard

Este modelo, que utilizan los Microcontroladores PIC, tiene la unidad central de
proceso (CPU) conectada a dos memorias (una con las instrucciones y otra con los datos) por
medio de dos buses diferentes.

Ventajas de la arquitectura Harvard:

* El tamaño de las instrucciones no está relacionado con el de los datos, y por lo tanto puede ser
optimizado para que cualquier instrucción ocupe una sola posición de memoria de programa,
logrando así mayor velocidad y menor longitud de programa.

* El tiempo de acceso a las instrucciones puede superponerse con el de los datos, logrando una
mayor velocidad en cada operación.

CARACTERISTICAS

Microcontroladores PIC

* La arquitectura del procesador sigue el modelo Harvard.

* Se aplica la técnica de segmentación ("pipe-line") en la ejecución de las instrucciones.

* El formato de todas las instrucciones tiene la misma longitud.


* Procesador RISC (Computador de Juego de Instrucciones Reducido).

* Todas las instrucciones son ortogonales.

* Arquitectura basada en un banco de registros.

* Prácticamente todos los PIC se caracterizan por poseer unos mismos recursos mínimos.

* Modelos de arquitectura cerrada y de arquitectura abierta.

* Diversidad de modelos de microcontroladores.

* Amplio margen de alimentación y corrientes de salida elevadas.

* Herramientas de soporte potentes y económicas.

Microcontroladores ATMEL

* 256KB de memoria flash para programación,

* Tamaño de datos RAM: 8KB

* Interfaz: 2-wire, SPI, USART

* Velocidad: 16MHz

* Puertos de entrada/salida programables: 86

* Temporizadores: 6

* Canales de ADC: 16 canales de 10 bits

* Empaquetado: TQFP-100

Microcontroladores FREESCALE

* La sensación del tacto de interfaz (clase PT solamente)

* Escalable desde 0.5 K-4 KB de RAM y 2 K-60 KB de Flash

* Hasta 256B de EEPROM

* Hasta 3 veces UART, 2x Serial Peripheral Interface (SPI) y un circuito inter-integrado (CII)

* Hasta 16 canales, 12-bit analógico a digital (ADC) con cuatro buffers de entrada

* De 6 canales + 2 canales + 2 canales Flex Timer: 2 temporizadores módulo

* Analógicos de comparación, RTC y CRC

* 8 pines con 20 mA sink

* 2 pines con drenaje abierto verdadera


* 2,7 a 5,5 voltios (PT / PA única clase)

* Escalables de 8-pin SOIC de hasta 64 pines QFP

Fuses en el PIC
_BODEN_ON Activado el reset por bajada de tensión
_BODEN_OFF

_CP_ALL protección para impedir la lectura de toda la memoria del programa


_CP_75 protección del 75% de la memoria
_CP_50 protección del 50%
_CP_OFF permite la lectura de la memoria del programa

_DATA_CP_ON La memoria de datos de la eeprom no se puede leer


_DATA_CP_OFF

_PWRTE_ON Pequeño retardo al inicio de conectar la alimentación, para permitir que la tensión se
estabilice.
_PWRTE_OFF

_WDT_ON activado el perro guardián que vigila el correcto funcionamiento del programa
_WDT_OFF

_LVP_ON habilitada la función de grabación serie en baja tensión RB4/PGM actúa como tal
_LVP_OFF RB4 actúa como pin de entrada/salida

_MCLRE_ON El pin de reset RA5/MCLR actúa como tal


_MCLRE_OFF el pin actúa como entrada o salida

_ER_OSC_CLKOUT oscilador con resistencia y condensador externos, con salida de reloj por RA6
_ER_OSC_NOCLKOUT oscilador exterior R/C sin salida de reloj. RA6 actúa como Entrada/Salida
_INTRC_OSC_CLKOUT oscilador R/C interno, con salida de reloj por RA6, mientras que RA7 es I/O
_INTRC_OSC_NOCLKOUT oscilador R/C interno, sin salida de reloj. RA6 y RA7 actúan como I/O
_EXTCLK_OSC Reloj externo, siendo RA7 la entrada, y RA6 actúa como I/0
_LP_OSC Cristal o resonador de baja velocidad, para bajar el consumo
_XT_OSC Cristal típico de 4Mhz
_HS_OSC cristal de alta velocidad

Potrebbero piacerti anche