Introducción a los microcontroladores mas informacion
MICROCONTROLADOR (pic16f877A)
Un microcontrolador es
un circuito integrado que contiene toda la estructura (arquitectura) de un
microcomputador, o sea CPU, RAM, ROM, circuitos de entrada y salida, entre
otros.
Aplicaciones de un microcontrolador
Los
microcontroladores se encuentran por todas partes:
- Sistemas de comunicación: en
grandes automatismos como centrales y en télefonos fijos, móviles, fax,
etc.
- Electrodomésticos: lavadoras,
hornos, frigoríficos, lavavajillas, batidoras, televisores, vídeos,
reproductores DVD, equipos de música, mandos a distancia, consolas, etc.
- Industria informática: Se
encuentran en casi todos los periféricos; ratones, teclados, impresoras,
escáner, etc.
- Automoción: climatización,
seguridad, ABS, etc.
- Industria: Autómatas, control
de procesos, etc
- Sistemas de supervisión,
vigilancia y alarma: ascensores, calefacción, aire acondicionado, alarmas
de incendio, robo, etc.
- Otros: Instrumentación,
electromedicina, tarjetas (smartcard), sistemas de navegación, etc.
Fabricantes de Microcontroladores
¡Microchip Technology Inc. es una empresa fabricante de
microcontroladores, memorias y semiconductores analógicos, situada en Chandler,
Arizona, EE. UU.
Su Producto más pupular son los microcontroladores PIC de 8 bits.
freescale semiconductor
Freescale Semiconductor es una compañía global líder en la industria de
semiconductores enfocada proveer procesamiento embebido y productos de
conectividad.
Actualmente, se enfoca al suministro de productos para la industria
automotriz, de redes, comunicaciones inalámbricas, control industrial e
industrias de consumo electrónico. Con se oferta de procesadores embebidos y de
productos complementarios, proporciona una solución completa de semiconductores
y software.
Atmel Corporation
Atmel es una compañía de semiconductores, fundada en 1984. Su línea de
productos incluye microcontroladores (incluyendo derivados del 8051, el AT91SAM
basados en ARM, y sus arquitecturas propias AVR y AVR32), dispositivos de
radiofrecuencia, memorias EEPROM y Flash, ASICs, WiMAX, y muchas otras. También
tiene capacidad de ofrecer soluciones del tipo system on chip (SoC).
Texas Instruments
Texas Instruments o TI, es una empresa norteamericana que desarrolla y
comercializa semiconductores y tecnología para sistemas de cómputo.
TI es el tercer mayor fabricante de semiconductores del mundo tras Intel
y Samsung y es el mayor suministrador de circuitos integrados para teléfonos
móviles.
Igualmente, es el mayor productor de procesadores digitales de señal y
semiconductores analógicos.
Otras áreas de actividad incluyen circuitos integrados para módem de
banda ancha, periféricos para ordenadores, dispositivos digitales de consumo y
RFID.
microchip clasifica los pic en 4 gamas
memorias
ROM
microchip clasifica los pic en 4 gamas
- enana
- basica
- media
- alta
memorias
ROM
- prom
- eprom
- eeprom
- flash
- estatica (SRAM)
- dinamica (DRAM)
El PIC16F877 es un microcontrolador con memoria de programa tipo FLASH, lo que
representa gran facilidad en el desarrollo de prototipos y en su aprendizaje ya que
no se requiere borrarlo con luz ultravioleta como las versiones EPROM, sino que
permite reprogramarlo nuevamente sin ser borrado con anterioridad.
40 pines, propio para usarlo en experimentación. La referencia completa es
PIC16F877-04 para el dispositivo que utiliza cristal oscilador de hasta 4 MHz, máximo 20 MHz.
4 ciclos de reloj = 1 ciclo de instrucción
( es el tiempo que tarda el microcontrolador en ejecutar la instrucción).
1 ciclo de instrucción = 1 µs
tiempo= 250 ns
Cada banco se extiende hasta 7Fh ( 128 bytes ) .
Los lugares más bajos de cada banco están reservados para el Registros de Función Especial.Por encima de los Registros de funciones especiales son registros de uso general, implementan como RAM estática .Todos los bancos implementadas contienen Registros de Función Especial.
Todas las posiciones o registros de memoria se pueden acceder directa o indirectamente (esta última forma a través del registro selector FSR).. Para seleccionar que página o banco de memoria se trabaja en un momento determinado se utilizan los bits RP0 y RP1 del registro STATUS.
son 368 registros de proposito general
implementados como RAM estática .
SON 57 REGISTROS DE PROPOSITO ESPECIFICO.
9 se repiten en diferentes bancos.
BANCO 0:
- TMR0: Registro del temporizador/contador de 8 bits.
- PCL: Byte menos significativo del contador de programa (PC).
- STATUS: Contiene banderas (bits) que indican el estado del procesador
después de una operación aritmética/lógica.
- FSR: Registro de direccionamiento indirecto.
- PORTA, PORTB, PORTC, PORTD, PORTE: Registro de puertos de E/S de
datos. Conectan con los pines físicos del micro.
- PCLATH: Byte alto (más significativo) del contador de programa (PC).
- INTCON: Registro de control de las interrupciones.
- ADRESH: Parte alta del resultado de la conversión A/D.
- ADCON0: Controla la operación del módulo de conversión A/D
BANCO 1:
- OPTION: Registro de control de frecuencia del TMR0.
- TRISA, TRISB, TRISC, TRISD. TRISE: Registros de configuración de la
operación de los pines de los puertos.
- ADRESL: Parte baja del resultado de la conversión A/D.
- ADCON1: Controla la configuración de los pines de entrada análoga.
BANCO 2:
- TMR0: Registro del temporizador/contador de 8 bits.
- PCL: Byte menos significativo del contador de programa (PC).
- FSR: Registro de direccionamiento indirecto.
- EEDATA: Registro de datos de la memoria EEPROM.
- EEADR: Registro de dirección de la memoria EEPROM.
- PCLATH: Byte alto (más significativo) del contador de programa (PC).
- INTCON: Registro de control de las interrupciones.
Los pines de entrada/salida de este microcontrolador están organizados en cinco puertos,
el puerto A con 6 líneas, el puerto B con 8 líneas, el puerto C con 8 líneas, el puerto D con
8 líneas y el puerto E con 3 líneas.
Cada pin de esos puertos se puede configurar como entrada o como salida independiente programando un par de registros diseñados para tal fin. En ese registro un bit en "0" configura el pin del puerto correspondiente como salida y un bit en "1" lo configura como entrada.
4 PASOS QUE DE DESARROLLA EN EL PROCESO DE PROGAMACION DE MICROCONTROLADORES
- BÚSQUEDA DE LAS INSTRUCCIONES EN LA MEMORIA DEL PROGRAMA
- DECODIFICACION
- EJECUTAR INSTRUCCIONES
- ENTREGAR RESULTADOS
40 pines, propio para usarlo en experimentación. La referencia completa es
PIC16F877-04 para el dispositivo que utiliza cristal oscilador de hasta 4 MHz, máximo 20 MHz.
4 ciclos de reloj = 1 ciclo de instrucción
( es el tiempo que tarda el microcontrolador en ejecutar la instrucción).
1 ciclo de instrucción = 1 µs
tiempo= 250 ns
1000 ns= 1 µseg
1 seg= 1 millón de instrucciones
CARACTERÍSTICAS.
RISC : conjunto de instrucciones reducidas.
CISC: conjunto de instrucciones complejas.
35 instrucciones con 14 bit de
longitud.
las instrucciones se ejecutan en
un ciclo de de instrucción , excepto las
de salto que tardan dos
3 memorias de uso: FLASH, EPROM ,
RAM
FLASH: almacena el programa
8 k palabras de 14 bits para la memeoria de
codigo.
8k x14 bits
RAM : almacena datos
hasta 368 bytes de memoria de datos RAM
368 x 8
EEPROM: los datos se mantiene
hasta 256 bytes de memoria de datos EEPROM
256 x 8
DISPOSITIVOS PERIFÉRICOS
3 temporizadores
temporizador
contador
retardo.
preescalador= divisor de
frecuencias
TIMER0: temporizador- contador de
8 bits con preescalador de 8 bits.
TIMER1: temporizador - contador
de 16 bits con preescalador.
TIMER2: temporizador-contador de
8 bits con preescalador y postescalador.
convertidores analogo- digital de
10 bits y 8 canales.
EL PIN: permite ingresar /
expulsar informacion
DIRECCIONAR UNA MEMORIA. Tener la
capacidad de accesar a cada una de la localidad.
PC: Contador de programa.
Características especiales del microcontrolador :
100,000 erase/write cycle Enhanced Flash program memory typical
( memoria de programa típico ciclo mejorada de Flash )
ciclo de EEPROM 1,000,000 erase/write memoria típica
• Los datos EEPROM Retención > 40 años
• Auto- reprogramable bajo control de software
• In-Circuit Serial Programming ™ ( ICSP ™ )
a través de dos pines.
• Sencilla alimentación de 5V In-Circuit Serial Programming
• Watchdog Timer ( WDT PERRO GUARDIAN) con su propio on-chip RC
oscilador para un funcionamiento fiable
• Protección de código programable
• Modo de sueño ahorro de energía
• Opciones seleccionables del oscilador
• In-Circuit de depuración ( ICD ) a través de dos pines
100,000 erase/write cycle Enhanced Flash program memory typical
( memoria de programa típico ciclo mejorada de Flash )
ciclo de EEPROM 1,000,000 erase/write memoria típica
• Los datos EEPROM Retención > 40 años
• Auto- reprogramable bajo control de software
• In-Circuit Serial Programming ™ ( ICSP ™ )
a través de dos pines.
• Sencilla alimentación de 5V In-Circuit Serial Programming
• Watchdog Timer ( WDT PERRO GUARDIAN) con su propio on-chip RC
oscilador para un funcionamiento fiable
• Protección de código programable
• Modo de sueño ahorro de energía
• Opciones seleccionables del oscilador
• In-Circuit de depuración ( ICD ) a través de dos pines
MEMORIA
Memoria de datos (RAM)
Organización de la memoria de datos
La memoria de datos se divide en múltiples bancos que contienen los registros de propósito general y la Función Especial registros. Los bits RP1 ( STATUS < 6 > ) y RP0 ( STATUS < 5 > ) son los bits de selección de banco .
Cada banco se extiende hasta 7Fh ( 128 bytes ) .
Los lugares más bajos de cada banco están reservados para el Registros de Función Especial.Por encima de los Registros de funciones especiales son registros de uso general, implementan como RAM estática .Todos los bancos implementadas contienen Registros de Función Especial.
Todas las posiciones o registros de memoria se pueden acceder directa o indirectamente (esta última forma a través del registro selector FSR).. Para seleccionar que página o banco de memoria se trabaja en un momento determinado se utilizan los bits RP0 y RP1 del registro STATUS.
REGISTROS DE PROPOSITO GENERAL
El archivo de registro se puede acceder de forma directa , o indirectamente , a través del archivo , seleccione Registro (FSR).No tienen nombre , se le asigna un nombre.son 368 registros de proposito general
REGISTROS DE PROPOSITO ESPECIFICO.
Los registros de funciones especiales son registros utilizados por la CPU y los módulos periféricos para el control de la operación deseada del dispositivo . Estos registros sonimplementados como RAM estática .
SON 57 REGISTROS DE PROPOSITO ESPECIFICO.
9 se repiten en diferentes bancos.
Resumen de algunos de los registros de configuración
BANCO 0:
- TMR0: Registro del temporizador/contador de 8 bits.
- PCL: Byte menos significativo del contador de programa (PC).
- STATUS: Contiene banderas (bits) que indican el estado del procesador
después de una operación aritmética/lógica.
- FSR: Registro de direccionamiento indirecto.
- PORTA, PORTB, PORTC, PORTD, PORTE: Registro de puertos de E/S de
datos. Conectan con los pines físicos del micro.
- PCLATH: Byte alto (más significativo) del contador de programa (PC).
- INTCON: Registro de control de las interrupciones.
- ADRESH: Parte alta del resultado de la conversión A/D.
- ADCON0: Controla la operación del módulo de conversión A/D
BANCO 1:
- OPTION: Registro de control de frecuencia del TMR0.
- TRISA, TRISB, TRISC, TRISD. TRISE: Registros de configuración de la
operación de los pines de los puertos.
- ADRESL: Parte baja del resultado de la conversión A/D.
- ADCON1: Controla la configuración de los pines de entrada análoga.
BANCO 2:
- TMR0: Registro del temporizador/contador de 8 bits.
- PCL: Byte menos significativo del contador de programa (PC).
- FSR: Registro de direccionamiento indirecto.
- EEDATA: Registro de datos de la memoria EEPROM.
- EEADR: Registro de dirección de la memoria EEPROM.
- PCLATH: Byte alto (más significativo) del contador de programa (PC).
- INTCON: Registro de control de las interrupciones.
BANCO 3:
- OPTION: Registro de control de frecuencia del TMR0.
- EECON1: Control de lectura/escritura de la memoria EEPROM de datos.
- EECON2: No es un registro físico.
Configuracion de los pines.
Los pines de entrada/salida de este microcontrolador están organizados en cinco puertos,
el puerto A con 6 líneas, el puerto B con 8 líneas, el puerto C con 8 líneas, el puerto D con
8 líneas y el puerto E con 3 líneas.
Cada pin de esos puertos se puede configurar como entrada o como salida independiente programando un par de registros diseñados para tal fin. En ese registro un bit en "0" configura el pin del puerto correspondiente como salida y un bit en "1" lo configura como entrada.
Los pines del puerto A y del puerto E pueden trabajar como entradas para el convertidor Análogo a Digital interno, es decir, allí se podría conectar una señal proveniente de un sensor o de un circuito analógico para que el microcontrolador la convierta en su equivalente digital y pueda realizar algún proceso de control o de
instrumentación digital. El pin RB0/INT se puede configurar por software para que funcione como
interrupción externa, para configurarlo se utilizan unos bits de los registros que controlan las interrupciones.
descripcion de los pines
Arquitectura interna del microcontrolador
Este término se refiere a los bloques funcionales internos que conforman el microcontrolador y la forma en que están conectados, por ejemplo la memoria FLASH (de programa), la memoria RAM (de datos), los puertos, la lógica de control que permite que todo el conjunto funcione, etc.