Es un circuito integrado que en su interior contiene una unidad central de
procesamiento (CPU), unidades de memoria (RAM y ROM), puertos de entrada/salida y periféricos.
Son dispositivos que operan uno o mas procesos, están basados en la arquitectura de Harvard, la cual consiste en dispositivos de almacenamiento
separados (memoria de programa y memoria de datos).
Arquitecturas:
Arquitecura Von Neumann: la unidad central de proceso, o CPU, esta conectada a una memoria
única que contiene las instrucciones del programa y los datos. El tamaño de la unidad de datos o
instrucciones esta fijado por el ancho del bus de la memoria.
Características:
- Longitud de las instrucciones esta limitada por la unidad de longitud de los datos, por lo tanto el
microprocesador debe hacer varios accesos a memoria para buscar instrucciones complejas.
- Velocidad de operación está limitada por el efecto de cuello de botella que significa un bus único para datos e
instrucciones que impide superponer ambos tiempos de acceso
- Permite el diseño de programas con código automodificable
Arquitectura Harvard: consiste simplemente en un esquema en el que el CPU esta conectado a dos
memorias por intermedio de dos buses separados. Una de las memorias contiene solamente las
instrucciones del programa, y es llamada Memoria de Programa. La otra memoria solo almacena los
datos y es llamada Memoria de Datos. Ambos buses son totalmente independientes y pueden ser de
distintos anchos.
Características:
- Como los buses son independientes, el CPU puede estar accediendo a los datos para completar la
ejecución de una instrucción, y al mismo tiempo estar leyendo la próxima instrucción a ejecutar.
- El tiempo de acceso a las instrucciones puede superponerse con el de los datos, logrando una mayor
velocidad de operación.
- Deben poseer instrucciones especiales para acceder a tablas de valores constantes que pueda ser
necesario incluir en los programas
Arquitectura interna de un microcontrolador
CPU: es el núcleo del microcontrolador, se encarga de ejecutar las instrucciones almacenadas en la
memoria.
Memoria: se emplean para almacenar información durante un periodo determinado de tiempo, la
información que necesitaremos durante la ejecución del programa que consta del propio
código, y de los diferentes datos usados durante su ejecución.
Unidades de entrada/salida: son los sistemas que emplea el microcontrolador para comunicarse con
el exterior
PIC18F4550
El microcontrolador PIC18F4550 es un poderoso microcontrolador de la
familia PIC18F, es ideal para aplicaciones de bajo voltaje.
Contiene los siguientes protocolos de comunicación:
USB, I2C, SPI, EUSART, LIN serial port
Características:
- 1kB de memoria de doble acceso vía USB - 35 pines I/O
disponibles - Memoria de programa flash de 32 kB - RAM de
2048 Bytes - EEPROM de datos de 256 Bytes - Velocidad de la
CPU 12 MIPS
- Oscilador externo de dos modos hasta 48 MHz - Oscilador interno selecionable entre 8 frecuencias
desde 31kHz hasta 8MHz - Oscilador secundario con Timer 1 de hasta 32kHz - Opciones de oscilador
dual permiten que la velocidad de la CPU y del módulo USB sean diferentes
- ADC de 10 bits y 13 canales - Tecnología nanoWatt que brinda características y funciones de bajo
consumo y ahorro de energía - Voltaje de operación 4.2V a 5.5V - 4 Timer(desde Timer0 a Timer3). Uno
de 8 bits y 3 de 16 bits - 2 módulos de captura/comparación/PWM
- EUSART, SPP, SPI, I²C. - 20 fuentes de interrupciones (3 externas) - Resistencias de pull-ups en el puerto
B programables - Función del pin MCLR opcional - Brown-out Reset de valor programable - Power-on
Reset
- Power-up Timer y Oscillator Start-up Timer - Soporta 100,000 ciclos de borrado/escritura en memoria
flash - Soporta 1,000,000 ciclos de borrado/escritura en memoria EEPROM - Retención de datos mayor a
40 años - Protección de código y datos programable - Encapsulado DIP de 40 pines
Distribución de pines
Manejo de puertos
El compilador ofrece funciones predefinidas
que ayudan a trabajar con los puertos, para
lo cual se utilizan comandos predefinidos