lunes, 27 de marzo de 2017

XiuaElectronics: Curso Proteus 8.5 + MPASM y PIC16F628A

Curso Proteus 8.5 + MPASM y PIC16F628A #02: Características técnicas Pic16f628a y set insrucciones. 


¿Que tal amigos?


En el día de hoy vamos a ver la segunda clase del curso de Proteus 8.5 + MPASM y el pic16f628a; para esta clase vamos a tratar unos aspectos importantes, y serán el setlist de instrucciones que trae el pic16f628a, con  las cuales podremos formar diferentes programas en assembler, de igual manera veremos las características técnicas de nuestro microcontrolador entre otras cosas, así que empezemos:


Set de Instrucciones:


La anteriores nstrucciones son las pertinentes a uestro microcontrolador pic16f628a, estas intrucciones tienen una duración de un ciclo, pero en algunos casos tendrán 2 ciclos de duraciones, esto es importante ya que sabremos exactamente cuanto se tardará en ejecutar una acción nuestro microcontrolador, y eso mismo podreos hacer retarmos mucho más eficientes.

En la siguiente clase me detendré a explicar las operacones basicas de bit-oriented, las cuales podrán observar en la imagen, ya que con estas procederemos a hacer la mayoria de nuestros programas, en dado caso que necesitemos explicar otra instrucción a parte de las mencionadas anteriormente, se explicará en una clase posterior.


Ya que vimos el set de instrucciones que posee nuetro microcontrolador, ahora vamos a ver la características técnicas que este posee:


Características principales


• Velocidad de operación hasta 20 MHZ con oscilador externo.
• Admite 8 configuraciones de oscilador.
• 8 niveles de PILA.
• Procesador con arquitectura HARVARD.
• Conjunto reducido de instrucciones RISC (35) gama media.
• Instrucciones de un ciclo excepto los saltos (200nS por instrucción a 20 MHZ).
• Resistencias PULL-UP programables en el puerto B.
• Pin RA5 MCLR programable como reset externo o pin de entrada.
• Rango de operación desde 3V hasta 5.5V.
• 15 pines de I/O y 1 sólo de entrada (RA5).
• Temporizador Perro guardián WDT independiente del oscilador.
• Programable con bajo voltaje LPV (5V.).
• Programación serial en Circuito ICSP por 2 pines: RB6 reloj y RB7 datos.
• Código de protección programable por sectores.
• Memoria de programa FLASH 2048K. de 100.000 ciclos escritura/borrado.
• Memoria de datos EEPROM de 1.000.000 ciclos escritura/borrado de 100 años retención.
• 2 circuitos comparadores análogos con entradas multiplexadas.
• 3 Timers, Timer 0 a 8 bits, Timer 1 a 16 bits y Timer 2 a 8 bits.
• Módulos CCP, Captura compara 16 bits, y PWM, modulación de ancho de pulso 10 bits.
• 10 fuentes de interrupción.
• Módulo de comunicación serial USART/SCI.
• Capacidad de corriente para encender leds directamente (25 mA I/O) por cada pin.


Pines de entradas y salidas(IN y OUTPUT):


Para mayor información les dejaré el link del datasheet para que lo puedan descargar y ver: http://adf.ly/1ltwuG

Estas son las características básicas de nuestro microcontrolador y su disposición de pines, ahora veremos el vídeo tutorial correspondiente a esta clase:




Para complementar esta clase, les dejo el link del vídeo tutorial de como instalar Proteus 8.5 en todas las versiones de windows:

https://www.youtube.com/playlist?list=PLHsJoDYdMkxWV3KRvvzMXPHqoXpUgPtj2

Bien muchachos, esto es todo por hoy; esten pendiente en mi canal, o de mi blog o de mi pagina de facebook.

Facebook: https://www.facebook.com/electronicalibrexc/
Youtube:  http://www.youtube.com/c/breismanrueda
Google +: https://plus.google.com/u/0/+breismanrueda
Twitter: https://twitter.com/BreismamR

Esto es todo por hoy, Sigue mi blog y visita mi próxima entrada!

Cualquier duda, trabajo, tutoria personalizada por correo electronico o pagina en facebook:
Correo: ElectronicaLibreXC@outlook.com
Facebook: https://www.facebook.com/electronicalibrexc/



Salu2...



viernes, 17 de marzo de 2017

XiuaElectronics: Curso Proteus 8.5 + MPASM y PIC16F628A

Curso Proteus 8.5 + MPASM y PIC16F628A #01: Configuración Proteus 8.5 para programar en ensamblador.


¿Que tal amigos?

En esta noche vamos a dar inicio a la primera clase del curso Proteus 8.5 + MPASM y PIC16F628A;
Pero bueno, para entender mejor de que trata este curso hablaremos sobre el.

Curso Proteus 8.5 + MPASM y PIC16F628A:

Este curso se esta desarrollando por la necesidad de adaptarse a un entorno de trabajo el cual requiera muchos recursos para poder diseñar y programar diferentes artefactos electrónicos y no se posea estos. Basicamente lo que se hará en este curso serán dos cosas. La primera es que, aprenderemos a programar en un lenguaje que por excelencia, todos los electrónicos deberiamos conocer, me estoy refiriendo al lenguaje assembler o ensamblador; más adelante abordaremos un concepto más extenso sobre este lenguaje, no sin antes decir que programaremos el pic16f628a, ya que es un pic muy utilizado industrialmente, por su facilidad de uso y sus perifericos compatibles para una amplia gama de proyectos.
La segunda cosa que se hará en este curso es aprender a utilizar el MPASM Compiler, es una de las nuevas funcionalidades de Proteus 8, la cual nos permite programar dentro del software, pero bien, ¿como así?, basicamente la funcionalidad nueva de Proteus es que nos permite agregar un compilador a este para poder programar un lenguaje en especifico y cargarlo directamente al microcontrolador que se esta programando, cabe recordar que este microcontrolador será el que esta dentro del esquematico de Proteus 8; esto es una gran ventaja, ya que podemos desarrollar un mundo de proyectos, sin necesidad de gastar dinero en los dispositivos, sino que todo será simulado.


Ya que vimos el por que de este curso veremos algo sobre el lenguaje que utilizaremos durante este curso, en este caso será ASSEMBLER o ENSAMBLADOR.


Lenguaje Assembler o Ensamblador:

El lenguaje ensamblador, o assembler (en inglés assembly language y la abreviación asm), es un lenguaje de programación de bajo nivel. Consiste en un conjunto de mnemónicos que representan instrucciones básicas para los computadores, microprocesadores, microcontroladores y otros circuitos integrados programables. Implementa una representación simbólica de los códigos de máquina binarios y otras constantes necesarias para programar una arquitectura de procesador y constituye la representación más directa del código máquina específico para cada arquitectura legible por un programador. Cada arquitectura de procesador tiene su propio lenguaje ensamblador que usualmente es definida por el fabricante de hardware, y está basada en los mnemónicos que simbolizan los pasos de procesamiento (las instrucciones), los registros del procesador, las posiciones de memoria y otras características del lenguaje. Un lenguaje ensamblador es por lo tanto específico de cierta arquitectura de computador física (o virtual). Esto está en contraste con la mayoría de los lenguajes de programación de alto nivel, que idealmente son portátiles.



Un programa utilitario llamado ensamblador es usado para traducir sentencias del lenguaje ensamblador al código de máquina del computador objetivo. El ensamblador realiza una traducción más o menos isomorfa (un mapeo de uno a uno) desde las sentencias mnemónicas a las instrucciones y datos de máquina. Esto está en contraste con los lenguajes de alto nivel, en los cuales una sola declaración generalmente da lugar a muchas instrucciones de máquina.

Muchos sofisticados ensambladores ofrecen mecanismos adicionales para facilitar el desarrollo del programa, controlar el proceso de ensamblaje, y la ayuda de depuración. Particularmente, la mayoría de los ensambladores modernos incluyen una facilidad de macro (descrita más abajo), y se llaman macro ensambladores.

Fue usado principalmente en los inicios del desarrollo de software, cuando aún no se contaba con potentes lenguajes de alto nivel y los recursos eran limitados. Actualmente se utiliza con frecuencia en ambientes académicos y de investigación, especialmente cuando se requiere la manipulación directa de hardware, alto rendimiento, o un uso de recursos controlado y reducido. También es utilizado en el desarrollo de controladores de dispositivo (en inglés, device drivers) y en el desarrollo de sistemas operativos, debido a la necesidad del acceso directo a las instrucciones de la máquina. Muchos dispositivos programables (como los microcontroladores) aún cuentan con el ensamblador como la única manera de ser manipulados.


Esto es algo acerca de assembler, pero bueno, dejemonos de conceptos y vamos al grano; importante que los lean ya que sin ellos estarán perdiendo el tiempo en el curso 😈😈. Veamos el siguiente vídeo donde muestro como iniciar con la configuración de Proteus 8 para poder programar con el compilador que viene por defecto.


Para complementar esta clase, les dejo el link del vídeo tutorial de como instalar Proteus 8.5 en todas las versiones de windows:

https://www.youtube.com/playlist?list=PLHsJoDYdMkxWV3KRvvzMXPHqoXpUgPtj2

Bien muchachos, esto es todo por hoy; esten pendiente en mi canal, o de mi blog o de mi pagina de facebook.

Facebook: https://www.facebook.com/electronicalibrexc/
Youtube:  http://www.youtube.com/c/breismanrueda
Google +: https://plus.google.com/u/0/+breismanrueda
Twitter: https://twitter.com/BreismamR

Esto es todo por hoy, Sigue mi blog y visita mi próxima entrada!

Cualquier duda, trabajo, tutoria personalizada por correo electronico o pagina en facebook:
Correo: ElectronicaLibreXC@outlook.com
Facebook: https://www.facebook.com/electronicalibrexc/



Salu2...

XiuaElectronics: Curso NODEMCU LOLIN ESP8266 Y Arduino IDE.

Curso NODEMCU LOLIN ESP8266 y Arduino IDE [#10]: Envio de datos a multiples IP (UDP y TCP).

Que tal amigos?

En este día veremos el tutorial #10 del curso de ESP8266 con la IDE de Arduino; en este caso vamos a ver la pequeña intruducción al mundo del transporte informatico, ubicado en la cuarta capa del modelo ISO de la red.


Cuarta capa del modelos ISO para la RED: Nivel de transporte.


El nivel de transporte o capa de transporte es el cuarto nivel del modelo OSI encargado de la transferencia libre de errores de los datos entre el emisor y el receptor, aunque no estén directamente conectados, así como de mantener el flujo de la red. Es la base de toda la jerarquía de protocolo. La tarea de esta capa es proporcionar un transporte de datos confiable y económico de la máquina de origen a la máquina destino, independientemente de las de redes físicas en uno. Sin la capa transporte, el concepto total de los protocolos en capas tendría poco sentido.


Protocolo TCP:

La descripción completa del protocolo TCP se encuentra en el documento RFC793 o su traducción al español. TCP (Transmission-Control-Protocol, en español Protocolo de Control de Transmisión) es de los protocolos fundamentales en Internet. Fue creado entre los años 1973 - 1974 por Vint Cerf y Robert Kahn.

Muchos programas dentro de una red de datos compuesta por computadoras pueden usar TCP para crear conexiones entre ellos a través de las cuales puede enviarse un flujo de datos. El protocolo garantiza que los datos serán entregados en su destino sin errores y en el mismo orden en que se transmitieron. También proporciona un mecanismo para distinguir distintas aplicaciones dentro de una misma máquina, a través del concepto de puerto.

TCP da soporte a muchas de las aplicaciones más populares de Internet, incluidas HTTP, SMTP, SSH y FTP.

TCP es un protocolo de comunicación orientado a conexión y fiable del nivel de transporte, actualmente documentado por IETF en el RFC 793. Es un protocolo de capa 4 según el modelo OSI.


Protocolo UDP:


La descripción completa del protocolo UDP se encuentra en el documento RFC768 o su traducción al español.

User Datagram Protocol (UDP) es un protocolo del nivel de transporte basado en el intercambio de datagramas. Permite el envío de datagramas a través de la red sin que se haya establecido previamente una conexión, ya que el propio datagrama incorpora suficiente información de direccionamiento en su cabecera. Tampoco tiene confirmación ni control de flujo, por lo que los paquetes pueden adelantarse unos a otros; y tampoco se sabe si ha llegado correctamente, ya que no hay confirmación de entrega o recepción. Su uso principal es para protocolos como DHCP, BOOTP, DNS y demás protocolos en los que el intercambio de paquetes de la conexión/desconexión son mayores, o no son rentables con respecto a la información transmitida, así como para la transmisión de audio y vídeo en tiempo real, donde no es posible realizar retransmisiones por los estrictos requisitos de retardo que se tiene en estos casos.


Bueno, esto es algo de teoria, pero para tener un concepto más claro, les dejaré el siguiente vídeo, donde explicaré de la mejor forma, en que consisten estos tipos de protocolos de transporte de datos en la red, y así mismo como se es aplicado en la actualidad.



Bien muchachos, esto es todo por hoy; esten pendiente en mi canal, o de mi blog o de mi pagina de facebook.

Facebook: https://www.facebook.com/electronicalibrexc/
Youtube:  http://www.youtube.com/c/breismanrueda
Google +: https://plus.google.com/u/0/+breismanrueda
Twitter: https://twitter.com/BreismamR

Esto es todo por hoy, Sigue mi blog y visita mi próxima entrada!

Cualquier duda, trabajo, tutoria personalizada por correo electronico o pagina en facebook:
Correo: ElectronicaLibreXC@outlook.com
Facebook: https://www.facebook.com/electronicalibrexc/



Salu2...

XiuaElectronics: Curso NODEMCU LOLIN ESP8266 Y Arduino IDE.

Curso NODEMCU LOLIN ESP8266 y Arduino IDE [#09 ]: Conexion a servidor + ESP8266 (Modo Sever).


Que tal amigos?

En este día veremos el tutorial #9 del curso de ESP8266 con la IDE de Arduino; en este caso vamos a ver la pequeña intruducción y conceptos basicos del MODO SERVER de nuestro esp8266, y anexaremos un vídeo con el cual profundizaremos en el tema, creando una aplicación con este tipo de modo y el resto que ya hemos visto en el transcurso del curso.

¿Qué es un Servidor?


Un servidor, como la misma palabra indica, es un ordenador o máquina informática que está al “servicio” de otras máquinas, ordenadores o personas llamadas clientes y que le suministran a estos, todo tipo de información. A modo de ejemplo, imaginemos que estamos en nuestra casa, y tenemos una despensa.


Pues bien a la hora de comer necesitamos unos ingredientes por lo cual vamos a la despensa, los cogemos y nos lo llevamos a la cocina para cocinarlos. Así en nuestro ejemplo, nuestra máquina servidor sería la despensa, y los clientes somos nosotros como personas que necesitamos unos ingredientes del servidor o despensa. Pues bien con este ejemplo podemos entender ahora un poco mejor qué es un servidor.

Por tanto un servidor en informática será un ordenador u otro tipo de dispositivo que suministra una información requerida por unos clientes (que pueden ser personas, o también pueden ser otros dispositivos como ordenadores, móviles, impresoras, etc.).


¿Qué es un Cliente-Servidor?


Es la tecnología que proporciona al usuario final el acceso transparente a las aplicaciones, datos, servicios de cómputo o cualquier otro recurso del grupo de trabajo y/o, a través de la organización, en múltiples plataformas. El modelo soporta un medio ambiente distribuido en el cual los requerimientos de servicio hechos por estaciones de trabajo inteligentes o "clientes, resultan en un trabajo realizado por otros computadores llamados servidores".


¿Qué es un Servidor Web?


Es un programa que gestiona cualquier aplicación en el lado del servidor realizando conexiones bidireccionales y/o unidireccionales y síncronas o asíncronas con el cliente generando una respuesta en cualquier lenguaje o aplicación en el lado del cliente. El código recibido por el cliente suele ser compilado y ejecutado por un Navegador Web. Para la transmisión de todos estos datos se utiliza algún protocolo. Generalmente se utiliza el protocolo HTTP para estas comunicaciones, perteneciente a la capa de aplicación del Modelo OSI. El término también se emplea para referirse al ordenador que ejecuta el programa.

Con las anteriores definiciones nos bastará para entender el siguiente vídeo, en el cual explicaremos como hacer un servidor y con este enviar respuestas a las peticiones de los clientes; es importante que tengan un recorrido estricto durante el curso, ya que en vídeos pasados, vimos diferentes terminos y definiciones los cuales se usarán en esta clase; nos siendo más:



Bien muchachos, esto es todo por hoy; esten pendiente en mi canal, o de mi blog o de mi pagina de facebook.

Facebook: https://www.facebook.com/electronicalibrexc/
Youtube:  http://www.youtube.com/c/breismanrueda
Google +: https://plus.google.com/u/0/+breismanrueda
Twitter: https://twitter.com/BreismamR

Esto es todo por hoy, Sigue mi blog y visita mi próxima entrada!

Cualquier duda, trabajo, tutoria personalizada por correo electronico o pagina en facebook:
Correo: ElectronicaLibreXC@outlook.com
Facebook: https://www.facebook.com/electronicalibrexc/