domingo, 26 de noviembre de 2017

Diagrama de Bloques


Diagrama de Flujo

   

   El diagrama de flujo o diagrama de actividades es la representación gráfica del algoritmo o proceso. Se utiliza en disciplinas como programacióneconomíaprocesos industriales y psicología cognitiva.

     En Lenguaje Unificado de Modelado (UML), es un diagrama de actividades que representa los flujos de trabajo paso a paso de negocio y operacionales de los componentes en un sistema. Un diagrama de actividades muestra el flujo de control general.




Extensiones



Archivo .HEX

     Intel HEX es un formato de archivo para la programación de microcontroladores, EPROMs y otros circuitos integrados. Datando de los años 70, está entre los formatos más viejos con esta finalidad.

    Consiste en un archivo de texto cuyas líneas contienen valores hexadecimales que codifican los datos, y su offset o dirección de memoria. 

Cada línea consta de los siguientes elementos: 
  • Código de inicio: un símbolo ':' 
  • Longitud del registro: dos dígitos hexadecimales con la cantidad de bytes del campo de datos. Usualmente son 16 o 32 bytes. 
  • Dirección: cuatro dígitos hexadecimales en big endian, con la dirección de inicio de los datos. Para direcciones mayores a 0xFFFF se emplean otros tipos de registro. 
  • Tipo de registro: dos dígitos hexadecimales, de 00 a 05, definen el tipo del campo de datos 
  • Datos: duplas de dígitos hexadecimales que contienen los datos 
  • Checksum: dos dígitos hexadecimales con el complemento a dos de la suma de todos los campos anteriores, salvo el ':'. 

Hay seis tipos de registros:

  • 00: Datos, contiene una dirección de 16 bits y los datos correspondientes.
  • 01: Fin de archivo, no contiene datos y debe estar al final del archivo.
  • 02: Dirección Extendida de Segmento, dirección base del segmento, para acceder a direcciones con más de 16 bits. Este valor se desplaza 4 bits a la izquierda (= multiplicar con 16) y se suma a la dirección proporcionada por los registros de datos. Su campo de longitud debe valer 02 y el de dirección 0000.
  • 03: Dirección de Comienzo de Segmento, especifica los valores iniciales de los registros CS:IP, para procesadores 80x86. El campo de dirección es 0000, longitud 04 y los datos contienen dos bytes para el segmento de código y otros dos para el instruction pointer.
  • 04: Dirección Lineal Extendida, permite dirigirse a 32 bits de memoria al contener los 16 bits superiores de la dirección. Su campo de dirección vale 0000 y el de longitud 02.
  • 05: Comienzo de Dirección Lineal. Contiene 4 bytes que se cargan en el registro EIP de los procesadores 80386 y superiores. Su campo de dirección vale 0000 y el de longitud 04.

Archivo .ASM (código fuente)


      Los datos con código en lenguaje ensamblador se pueden guardar en el formato de ASM, y estos datos se pueden acceder con fines de edición mediante el uso de muchas aplicaciones de edición de texto, como el Bloc de notas del software Microsoft y la aplicación Microsoft WordPad entre otros. También hay programas de edición de texto para los sistemas basados ​​en Mac que se pueden usar para abrir y ver el contenido almacenado en estos archivos ASM. Considerado como un lenguaje de bajo nivel de scripting, lenguaje ensamblador se utiliza sobre todo para generar código para los procesos y funcionalidades de hardware, un simple ejemplo de lo cual es la función de un CD / DVD botón de la bandeja de apertura / cierre, y un ejemplo de un conjunto complejo aplicación de lenguaje es un software utilizado para operar las funciones mecánicas de una máquina de impresión electrónica. 

   Estos archivos ASM se pueden inicializar y corrieron el uso de aplicaciones en ensamblador, que pueden incluir .asm , HLA, entre otros. Archivos adjuntos con el .asm extensión también se clasifican como archivos de desarrolladores debido a que los datos almacenados en estos archivos ASM son referenciados por las aplicaciones programadas con estos archivos de código fuente del lenguaje ensamblador.


Archivo .COF (simulación)

   El archivo .COF es uno de los archivos de la categoría archivos de datos. Su nombre completo es AutoDesk data file. El formato de archivo .COF ha sido creado por Autodesk.

     La herramienta MPLAB al momento de compilar el código fuente de forma correcta genera este tipo de archivo necesario para la simulación en proteus, sin embargo en el caso de no ser generado, proteus para simular el .ASM utiliza la extensión .SDI que se puede obtener al cargar el archivo .HEX al micro y realizar las configuraciones pertinentes para que compile el código fuente.

sábado, 25 de noviembre de 2017

Herramienta Proteus




PROTEUS


     Es un software de simulación para circuitos eléctricos tanto análogos como digitales, además de que te permite crear el layout del PCB y visualizarlo en 3D. 


        Se compone de 4 módulos: 

· ISIS: es el encargado de realizar el modelo esquemático del circuito, para ello cuenta con una librería de más de 6,000 dispositivos tanto analógicos como digitales. 

· ARES: se encarga de hacer la placa de circuito impreso (PCB) además de que puede posicionar automáticamente los componentes y hacer las pistas. 

· Prospice: tal vez el componente más importante, pues se encarga de simular el comportamiento del circuito. 

   VSM: los que han trabajado con microcontroladores en Proteus sabrán lo útil que es este módulo. Te permite simular el comportamiento de un microcontrolador de las familias PIC, AVR, y otras, sólo le cargas el archivo HEX y Proteus lo simula, además puede interactuar con diferentes periféricos.



viernes, 17 de noviembre de 2017



Programación de PIC16F877 en Proteus


Programacion Basica en Asembler 


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 PIC16F887 DIP de 40 pines:




PIC 16F887


      Es un circuito integrado programable (Programmable Integrated Circuited), el cual contiene todos los componentes para poder realizar y controlar una tarea, por lo que se denomina como un microcontrolador.



  El pic contiene memoria de programa, Base de tiempos y circuitos auxiliares. Direccionamiento de la memoria directo o indirecto Unidad aritmética y lógica (ALU) de 8 bits Registro de trabajo W Contador de programa PLC ligado a 8 niveles, Bus de datos, entradas y salidas programables. 

      Algunos de estos explicados con mas detalles en Elementos de Microprocesadores.



CARACTERÍSTICAS BÁSICAS 
  •     Arquitectura RISC
    • El microcontrolador cuenta con solo 35 instrucciones diferentes
    • Todas las instrucciones  son uni-ciclo  excepto por las de ramificación
  •     Frecuencia de operación 0-20 MHz
  •     Oscilador interno de alta precisión
    • Calibrado de fábrica
    • Rango de frecuencia de  8MHz a 31KHz seleccionado por software
  •     Voltaje de la fuente de alimentación de 2.0V a 5.5V
    • Consumo: 220uA (2.0V, 4MHz), 11uA (2.0 V, 32 KHz), 50nA (en modo de espera)
  •      Ahorro de energía en el Modo de reposo
  •      Brown-out Reset (BOR) con opción para controlar por software
  •      35 pines de entrada/salida 
    • Alta corriente de fuente y de drenador para manejo de LED
    • Resistencias pull-up programables individualmente por software
    • Interrupción al cambiar el estado del pin
  •      Memoria ROM de 8K con tecnología FLASH
    • El chip se puede re-programar hasta 100.000 veces
  •     Opción de programación serial en el circuito
    • El chip se puede programar incluso incorporado en el dispositivo destino
  •     256 bytes de memoria EEPROM
    • Los datos se pueden grabar más de 1.000.000 veces
  •     368 bytes de memoria RAM
  •     Convertidor A/D:
    • 14 canales
    • Resolución de 10 bits
  •     3 temporizadores/contadores independientes
  •    Temporizador perro guardián
  •    Módulo comparador analógico con
    • Dos comparadores analógicos
    • Referencia de voltaje fija (0.6V)
    • Referencia de voltaje programable en el chip
  •     Módulo PWM incorporado
  •     Módulo USART mejorado
    • Soporta las comunicaciones seriales RS-485, RS-232 y LIN2.0
    • Auto detección de baudios
  •     Puerto Serie Síncrono Maestro (MSSP)
    •  Soporta los modos SPI e I2C

TEMPERATURA DE TRABAJO DEL PIC

     Tenga en cuenta en donde deberá funcionar el microcontrolador PIC, ya que la temperatura de trabajo les afecta en su normal operación o incluso puede terminar averiado el PIC permanentemente. Observe la referencia del PIC  y obtenga su hoja de datos (Datasheet),  en ella se especifica  el rango de temperaturas en las cuales el microcontrolador  puede trabajar eficientemente y de manera segura.

     La mayoría de ellos opera  en rangos de temperatura entre los -40 grados  a 150 grados Celsius.


INTERRUPCIONES


     Una interrupción es un aviso provocado por un módulo del PIC, por un cambio en el estado de un pin o un recordatorio de que ha pasado un cierto tiempo. Como su nombre indica este aviso interrumpirá la tarea que se esté haciendo en ese momento y pasaremos a ejecutar una rutina de servicio o gestión de la interrupción.


CICLOS DE MAQUINAS


    Se define como el tiempo mínimo necesario para ejecutar una instrucción, el cual está formado por un número determinado de ciclos o períodos de reloj (en la mayoría de los PIC están constituidos por 4 ciclos de reloj).

COMUNICACIÓN PIC-BLUETOOTH

     Es posible trabajar controlar sistemas con pics a través de bluetooth con los módulos HC-05 (incluyendo el pic16f887).

MÓdulo BLUETOOTH HC-05

     Los módulos HC-05 vienen configurados de fábrica como esclavos, con el nombre de dispositivo: HC-05 y la clave: 1234.
     
   El módulo de bluetooth HC-05 es el que ofrece una mejor relación de precio y características, ya que es un módulo Maestro-Esclavo, quiere decir que además de recibir conexiones desde una PC o tablet, también es capaz de generar conexiones hacia otros dispositivos bluetooth. Esto nos permite, por ejemplo, conectar dos módulos de bluetooth y formar una conexión punto a punto para transmitir datos entre dos microcontroladores o dispositivos.


COMUNICACIÓN PIC-WIFI

     También es posible lograr una comunicación con pic a través de wifi. Para este tipo de comunicaciones solo se requiere de los modulos adecuados y que se adapten a las necesidades del desarrollador. Microchip ha lanzado nuevas tarjetas de expansión que interconectan los módulos Wi-Fi de la reciente adquisición Roving Networks en sus sistemas modulares de desarrollo Explorer, que soportan todas las instrucciones del fabricante 8 -, 16 - y 32-bit de microcontroladores PIC. Las tablas permiten la adición de conectividad Wi-Fi a toda la gama de microcontroladores PIC sin el esfuerzo de integrar una pila TCP / IP, mientras que el uso de herramientas de desarrollo estándar.


      El PICtail RN-131 y RN 171-y PICtail Plus utilizan una interfaz serie sencilla de conectar con cualquier microcontrolador PIC.Los módulos de Roving Networks incluyen 802.11b / g, un procesador de banda base, una pila TCP / IP y una serie de funciones de redes. No son necesarios controladores externos para habilitar la conectividad Wi-Fi. Este enfoque reduce significativamente el tiempo de integración al tiempo que ofrece ultra-bajo consumo de corriente de sólo 4 uA en el modo de reposo, aumentando a 35 mA en modo de recepción y 120 mA en modo de transmisión.

EEPROM

  Similar a la memoria de programa, el contenido de memoria EEPROM está permanentemente guardado al apagar la fuente de alimentación. Sin embargo, a diferencia de la ROM, el contenido de la EEPROM se puede cambiar durante el funcionamiento del microcontrolador. Es la razón por la que esta memoria (256 localidades) es perfecta para guardar permanentemente algunos resultados creados y utilizados durante la ejecución del programa.