Microcontrolador

Circuito integrado de tecnologia moderna, caracteristicas, tipos...

Assembler

Definicion, tipos, registro, macros, y mucho mas encontraras aqui.

Microcontrolador PIC16F887

Microcontrolador de 8 bits basado en CMOS FLASH, Caracteristicas, Descripciones detalladas, memorias..

Operaciones Binarias

Aqui encontraras Operaciones Binarias con definicion y ejemplos ilustrados.

Descargas

Proteus, MPLab, pickit 3 todo gratis .

miércoles, 5 de diciembre de 2018

MPlab

MPlab

MPLAB® X Integrated Development Environment (IDE) es un programa de software que se ejecuta en una PC (Windows®, Mac OS®, Linux®) para desarrollar aplicaciones para microcontroladores de Microchip y controladores de señales digitales. Se denomina entorno de desarrollo integrado porque proporciona un "entorno" integrado único para desarrollar código para microcontroladores integrados.

MPLAB X IDE ofrece una gran cantidad de funciones para mejorar la experiencia de depuración durante la fase de diseño de su proyecto. Con base en el código abierto NetBeans IDE de Oracle, Microchip ha podido agregar muchas de las funciones más solicitadas de manera rápida y sencilla, al mismo tiempo que proporciona una arquitectura mucho más ampliable para ofrecerle incluso más funciones nuevas rápidamente, incluido soporte adicional para PIC®, dsPIC ®, AVR®, CEC y SAM microcontroladores y controladores de señal digital.

Resultado de imagen para download black

PICkit 3

PICkit 3

El PICkit 3 permite no solo la programación sino también la depuración del programa en microcontroladores PIC y dsPIC de memoria Flash, "In circuit" (en circuito) en tiempo real con su propio hardware, depuración con breakpoints por hardware, configuración de breakpoints basados en eventos internos, monitoreo de registros internos,  y emulación a full speed, empleando la interface gráfica de usuario del Entorno de Desarrollo Integrado (IDE) llamada MPLAB. También se puede utilizar mediante el "Pickit 3 Programmer", una aplicación de Microchip sencilla y rápida de usar independiente del MPLAB que además permite usar el Pickit como un analizador lógico de 3 canales o como 4 salidas de datos digitales.

El PICkit 3 puede programar un amplísimo rango de microcontroladores incluyendo las familias PIC10F, PIC12F, PIC16F, PIC18F, PIC24F/H, PIC32, dsPIC30F y dsPIC33F. Adicionalmente su firmware es actualizable, y Microchip libera regularmente nuevas versiones de este para soportar los nuevos chips, además de nuevas funcionalidades.

Puede programar sin necesidad de un computador con la función "Programmer To-Go" y es compatible con MPLAB X.


Resultado de imagen para download black
  

Proteus8.7

 Proteus8.7

Proteus Design Suite es un software de automatización de diseño electrónico, desarrollado por Labcenter Electronics Ltd., que consta de los dos programas principales: Ares e Isis, y los módulos VSM y Electra.

Proteus VSM usa nuestro software comprobado de captura esquemática para proporcionar el entorno para la entrada y el desarrollo del diseño. La captura de Proteus es un producto de larga data y combina la facilidad de uso con herramientas de edición potentes. Es capaz de admitir captura esquemática tanto para simulación como para diseño de PCB.

El módulo de captura esquemática de Proteus también proporciona un grado muy alto de control sobre la apariencia del dibujo, en términos de ancho de línea, estilos de relleno, fuentes, etc. Estas capacidades se utilizan al máximo para proporcionar los gráficos necesarios para la animación del circuito.

Resultado de imagen para download

Conversiones Binarias

Conversiones Binarias


Binario a Hexadecimal

Resultado de imagen para binary conversion
Binario a Decimal

Resultado de imagen para binario a decimal

Binario a Octal

Resultado de imagen para binario a octal


Byte

Byte

El byte es una unidad de información digital que generalmente consta de ocho bits, que representa un número binario. Históricamente, el byte era el número de bits utilizados para codificar un solo carácter de texto en una computadora y, por esta razón, es la unidad de memoria más pequeña y accesible en muchas arquitecturas de computadora.

El tamaño del byte ha sido históricamente dependiente del hardware y no existían estándares definitivos que exigieran el tamaño; se sabe que los tamaños de byte de 1 a 48 bits se usaron en el pasado. Los sistemas de codificación de caracteres tempranos a menudo utilizaban seis bits y las máquinas que usan Los bytes de seis y nueve bits eran comunes en los años sesenta. Estas máquinas con mayor frecuencia tenían palabras de memoria de 12, 24, 36, 48 o 60 bits, correspondientes a dos, cuatro, seis, ocho o 10 bytes de seis bits. En esta era, los bytes en el flujo de instrucciones a menudo se denominaban sílabas, antes de que el término byte se volviera común.

Resultado de imagen para what is byte

BIT

BIT

El bit (una combinación de dígitos binarios) es una unidad básica de información utilizada en computación y comunicaciones digitales. Un dígito binario puede tener solo uno de dos valores y puede representarse físicamente con un dispositivo de dos estados. Estos valores de estado generalmente se representan como 0 o 1.

Los dos valores de un dígito binario también se pueden interpretar como valores lógicos (verdadero / falso, sí / no), signos algebraicos (+/−), estados de activación (encendido / apagado) o cualquier otro atributo de dos valores. La correspondencia entre estos valores y los estados físicos del almacenamiento o dispositivo subyacente es una cuestión de convención, y se pueden usar diferentes asignaciones incluso dentro del mismo dispositivo o programa. La longitud de un número binario puede ser referida como su longitud de bit.

En teoría de la información, un bit se define típicamente como la entropía de información de una variable aleatoria binaria que es 0 o 1 con igual probabilidad, o la información que se obtiene cuando se conoce el valor de dicha variable.

Resultado de imagen para bit

Operaciones aritméticas binarias

Operaciones aritméticas binarias

En matemáticas, las cuatro operaciones aritméticas básicas aplicadas a los números son la suma, la resta, las multiplicaciones y la división.
En las computadoras, las mismas operaciones se realizan dentro de la unidad central de procesamiento mediante la unidad aritmética y lógica (ALU). Sin embargo, la unidad aritmética y lógica no puede realizar sustracciones binarias directamente. Realiza sustracciones binarias utilizando un proceso conocido como Para la multiplicación y división, la unidad aritmética y lógica utiliza un método llamado desplazamiento antes de agregar los bits.
Representación de números binarios firmados.

En tecnología informática, hay tres formas comunes de representar un número binario firmado.
Prefijando un bit de signo extra a un número binario.
Usando unos elogios.
Utilizando dos complementos.

Resultado de imagen para arithmetic operation binary

Operaciones Logicas

Operaciones Logicas

En la programación de computadoras digitales, una operación bitwise opera en uno o más patrones de bits o números binarios al nivel de sus bits individuales. Es una acción rápida y simple, directamente compatible con el procesador, y se utiliza para manipular valores para comparaciones y cálculos.

En los procesadores simples de bajo costo, por lo general, las operaciones a nivel de bits son sustancialmente más rápidas que la división, varias veces más rápidas que la multiplicación y, a veces, significativamente más rápidas que la adición. [Clarificación necesaria] Mientras que los procesadores modernos generalmente realizan la suma y la multiplicación tan rápido como las operaciones a nivel de bits debidas a En sus tuberías de instrucciones más largas y en otras opciones de diseño arquitectónico, las operaciones a nivel de bits suelen usar menos energía debido a la reducción en el uso de recursos. 

Definicion binaria

Operaciones Binarias

En matemáticas, una operación binaria en un conjunto es un cálculo que combina dos elementos del conjunto (llamados operandos) para producir otro elemento del conjunto. Más formalmente, una operación binaria es una operación de aridad de dos cuyos dos dominios y un codominio son el mismo conjunto. Los ejemplos incluyen las operaciones aritméticas elementales familiares de suma, resta, multiplicación y división. Otros ejemplos se encuentran fácilmente en diferentes áreas de las matemáticas, como la adición de vectores, la multiplicación de matrices y la conjugación en grupos

.

Bus de control

Bus de control

En la arquitectura de la computadora, un bus de control es parte del bus del sistema, utilizado por las CPU para comunicarse con otros dispositivos dentro de la computadora. Mientras que el bus de direcciones transporta la información sobre el dispositivo con el que se comunica la CPU y el bus de datos transporta los datos reales que se procesan, el bus de control transporta comandos de la CPU y devuelve señales de estado de los dispositivos. Por ejemplo, si los datos se leen o escriben en el dispositivo, la línea correspondiente (lectura o escritura) estará activa (lógica).
Resultado de imagen para control bus

Bus de direccionamiento

Bus de direccionamiento


La memoria RAM es direccionable, de forma que cada celda de memoria tiene su propia dirección. Las direcciones son un número que selecciona una celda de memoria dentro de la memoria principal o en el espacio de direcciones de la unidad de entrada/salida.
El bus de direcciones es un canal del microprocesador totalmente independiente del bus de datos donde se establece la dirección de memoria del dato en tránsito.
El bus de dirección consiste en el conjunto de líneas eléctricas necesarias para establecer una dirección. La capacidad de la memoria que se puede direccionar depende de la cantidad de bits que conforman el bus de direcciones, siendo 2n el tamaño máximo en bits del banco de memoria que se podrá direccionar con n líneas. Por ejemplo, para direccionar una memoria de 256 bits, son necesarias al menos 8 líneas, pues 28 = 256. Adicionalmente pueden ser necesarias líneas de control para señalar cuándo la dirección está disponible en el bus. Esto depende del diseño del propio bus.
Resultado de imagen para direcciones bus

Bus de datos

Bus de datos

En arquitectura de computadora, un bus de datos (una contracción del ómnibus latino) es un sistema de comunicación que transfiere datos entre componentes dentro de una computadora o entre computadoras. Esta expresión abarca todos los componentes de hardware relacionados (cable, fibra óptica, etc.) y el software, incluidos los protocolos de comunicación.

Los primeros buses de computadora eran cables eléctricos paralelos con múltiples conexiones de hardware, pero el término ahora se usa para cualquier disposición física que proporcione la misma función lógica que un bus eléctrico paralelo. Los buses de computadora modernos pueden usar conexiones en paralelo y en serie de bits, y pueden ser cableados en una topología de conexión múltiple (paralelo eléctrico) o en cadena margarita, o pueden conectarse mediante concentradores conmutados, como en el caso de USB.


Registros (SFR)

REGISTROS DE FUNCIONES ESPECIALES (SFR)

Los registros de funciones especiales son también parte de la memoria RAM. A diferencia de los registros de propósito general, su propósito es predeterminado durante el proceso de fabricación y no se pueden cambiar. Como los bits están conectados a los circuitos particulares en el chip (convertidor A/D, módulo de comunicación serial, etc), cualquier cambio de su contenido afecta directamente al funcionamiento del microcontrolador o de alguno de los circuitos. Por ejemplo, el registro ADCON0 controla el funcionamiento del convertidor A/D. Al cambiar los bits se determina qué pin del puerto se configurará como la entrada del convertidor, el momento del inicio de la conversión así como la velocidad de la conversión. Otra característica de estas localidades de memoria es que tienen nombres (tanto los registros como sus bits), lo que simplifica considerablemente el proceso de escribir un programa. Como el lenguaje de programación de alto nivel puede utilizar la lista de todos los registros con sus direcciones exactas, basta con especificar el nombre de registro para leer o cambiar su contenido.


// En esta secuencia, el contenido de los registros TRISC y PORTC será modificado

...
TRISC = 0x00        // un cero lógico (0) se escribe en el registro TRISC (todos
                    // los pines del puerto PORTC se configuran como salidas)
PORTC = 0b01100011  // cambio de estado lógico de todos los pines del puerto PORTC
...

Memoria RAM

Memoria RAM

Es la tercera y la más compleja parte de la memoria del microcontrolador. En este caso consiste en dos partes: en registros de propósito general y en los registros de funciones especiales (SFR). Todos estos registros se dividen en cuatro bancos de memoria de los que vamos a hablar más tarde en este capítulo. A unque los dos grupos de registros se ponen a cero al apagar la fuente de alimentación, además están fabricados de la misma forma y se comportan de la manera similar, sus funciones no tienen muchas cosas en común.
al-mundo-de-los-microcontroladores-chapter-03-fig3-9

Memoria EEPROM

EEPROM

EEPROM (también E2PROM) significa memoria de solo lectura programable y borrable eléctricamente y es un tipo de memoria no volátil utilizada en computadoras, integrada en microcontroladores para tarjetas inteligentes y sistemas remotos sin llave, y otros dispositivos electrónicos para almacenar cantidades relativamente pequeñas de datos, pero permitiendo que bytes individuales sean borrados y reprogramados.

Las EEPROM se organizan como matrices de transistores de puerta flotante. Las EEPROM se pueden programar y borrar en el circuito, mediante la aplicación de señales de programación especiales. Originalmente, las EEPROM se limitaban a operaciones de un solo byte, lo que las hacía más lentas, pero las EEPROM modernas permiten operaciones de páginas de múltiples bytes. También tiene una vida limitada para borrar y reprogramar, y ahora alcanza un millón de operaciones en EEPROM modernas. En una EEPROM que se reprograma con frecuencia mientras la computadora está en uso, la vida de la EEPROM es una consideración importante del diseño.

Resultado de imagen para memory eeprom

Memoria ROM

MEMORIA

El PIC16F887 tiene tres tipos de memoria: ROM, RAM y EEPROM. Como cada una tiene las funciones, características y organización específicas, vamos a presentarlas por separado.

MEMORIA ROM

La memoria ROM se utiliza para guardar permanente el programa que se está ejecutando. Es la razón por la que es frecuentemente llamada “memoria de programa”. El PIC16F887 tiene 8Kb de memoria ROM (en total 8192 localidades). Como la memoria ROM está fabricada con tecnología FLASH, su contenido se puede cambiar al proporcionarle un voltaje de programación especial (13V). No obstante, no es necesario explicarlo en detalles puesto que se realiza automáticamente por un programa especial en la PC y un simple dispositivo electrónico denominado programador.
al-mundo-de-los-microcontroladores-chapter-03-fig3-8

CPU

UNIDAD CENTRAL DE PROCESAMIENTO (CPU)

Con el propósito de explicar en forma clara y concisa, sin describir profundamente el funcionamiento de la CPU, vamos a hacer constar que la CPU está fabricada con la tecnología RISC ya que esto es un factor importante al decidir qué microcontrolador utilizar. RISC es un acrónimo derivado del inglés Reduced Instruction Set Computer, lo que proporciona al PIC16F887 dos grandes ventajas:


  • La CPU cuenta con sólo 35 instrucciones simples. Cabe decir que para poder programar otros microcontroladores en lenguaje ensamblador es necesario saber más de 200 instrucciones
  • El tiempo de ejecución es igual para casi todas las instrucciones y tarda 4 ciclos de reloj. La frecuencia del oscilador se estabiliza por un cristal de cuarzo. Las instrucciones de salto y de ramificación tardan ocho ciclos de reloj en ejecutarse. Esto significa que si la velocidad de operación del microcontrolador es 20 MHz, el tiempo de ejecución de cada instrucción será 200nS, o sea, ¡el programa ejecutará 5millones de instrucciones por segundo!
al-mundo-de-los-microcontroladores-chapter-03-fig3-7

Descripcion de Pines

DESCRIPCIÓN DE PINES


La mayoría de los pines del microcontrolador PIC16F887 son multipropósito como se muestra en la figura anterior. Por ejemplo, la asignación RA3/AN3/Vref+/C1IN+ para el quinto pin del microcontrolador indica que éste dispone de las siguientes funciones:

RA3 Tercera entrada/salida digital del puerto A

AN3 Tercera entrada analógica
Vref+ Referencia positiva de voltaje
C1IN+ Entrada positiva del comparador C1
La funcionalidad de los pines presentados anteriormente es muy útil puesto que permite un mejor aprovechamiento de los recursos del microcontrolador sin afectar a su funcionamiento. Estas funciones de los pines no se pueden utilizar simultáneamente, sin embargo se pueden cambiar en cualquier instante durante el funcionamiento. Las siguientes tablas se refieren al microcontrolador DIP de 40 pines
al-mundo-de-los-microcontroladores-chapter-03-fig3-4
al-mundo-de-los-microcontroladores-chapter-03-fig3-5
al-mundo-de-los-microcontroladores-chapter-03-fig3-6

Caracteristicas

Caracteristicas PIC16F887


Oscilador interno de precisión:

Calibrado en fábrica a ± 1%
Rango de frecuencia seleccionable por software de 8 MHz a 32 kHz
Software ajustable
Modo de arranque de dos velocidades
Monitoreo de reloj a prueba de fallas para aplicaciones críticas
Cambio de modo de reloj durante la operación para operación de baja potencia
Modo de suspensión de ahorro de energía
Reinicio de encendido (POR)
Voltaje de restablecimiento de salida (BOR) seleccionable
Temporizador de vigilancia ampliado (WDT) con su propio oscilador RC en el chip para un funcionamiento confiable
Programación en serie ™ en circuito (ICSP ™) a través de dos clavijas
Depuración en circuito (ICD) a través de dos pines
Celda Flash / EEPROM de alta resistencia:
Memoria del programa Flash mejorada de 100,000 ciclos de borrado / escritura, típica
1,000,000 memoria EEPROM del ciclo de borrado / escritura, típico
Retención de datos EEPROM> 40 años
Auto-reprogramable bajo control de software
Código programable de protección

Características periféricas:
Características del dispositivo:

1 entrada solo pin
36 I / O
Alta corriente de disipador / fuente 25 mA
Opción de cambio de interrupción en el pin

Temporizadores:

TMR0: temporizador / contador de 8 bits con preescalador de 8 bits
TMR1 mejorado: temporizador / contador de 16 bits con preescalador, modo de entrada de compuerta externa y oscilador dedicado de baja potencia de 32 kHz
TMR2: temporizador / contador de 8 bits con registro de período de 8 bits, preescalador y escalador posterior
Módulo de captura / comparación / PWM (CCP)
Módulo mejorado de captura / comparación / PWM (ECCP) con apagado automático y dirección PWM
Modo SPI ™ del módulo de puerto serie síncrono maestro (MSSP), modo I2C ™ con capacidad de máscara de dirección
Receptor asíncrono sincrónico universal mejorado

Módulo transmisor (EUSART):

Soporta compatibilidad RS-485, RS-232 y LIN
Detección de baudios automáticos
Activación automática en el bit de inicio
Despertador de potencia ultra baja (ULPWU)

Características analógicas:

Convertidor analógico a digital (A / D) de 10 bits y 14 canales

2 módulos de comparador analógico con:

Módulo de referencia de voltaje en chip (CVREF) programable (% de VDD)
Solucionado 0.6 Vref
Comparador de entradas y salidas accesibles externamente.
Modo SR Latch

al-mundo-de-los-microcontroladores-chapter-03-fig3-1

Definicion

PIC 16F8887

Este microcontrolador de 8 bits basado en CMOS FLASH  integra la poderosa arquitectura PIC® de Microchip en un paquete de 40 o 44 pines. El PIC16F887 cuenta con 256 bytes de memoria de datos EEPROM. programación, un ICD, 2 comparadores, 14 canales de 10 bits de analógico a digital (A / D) convertidor, 1 captura / comparación / PWM y 1 funciones mejoradas de captura / comparación / PWM, un puerto serie síncrono que se puede configurar ya sea como Interfaz Periférica Serial (SPI ™) de 3 hilos o como el bus de Circuito Integrado de 2 hilos (I²C ™) y un Transmisor de Receptor Asíncrono Universal Mejorado (EUSART). Todas estas características lo hacen ideal para aplicaciones A / D de nivel más avanzado en aplicaciones automotrices, industriales, de electrodomésticos o de consumo.


Es compatible con varios programadores de PICs como lo son el Master Prog, PicKit 3.5, K-150.Es un PIC un poco más grande que los normales, ya que cuenta con 40 pines, por lo cual, es importante que el controlador que vayas a utilizar tenga una base ZIF compatible con este controlador.

El microcontrolador PIC16F887 tiene un procesador del tipo RISC, cuenta con 35 instrucciones diferentes, todas son uni-ciclo excepto por las de ramificación. 

product primary image