<?xml version='1.0' encoding='UTF-8'?><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/" xmlns:blogger="http://schemas.google.com/blogger/2008" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" version="2.0"><channel><atom:id>tag:blogger.com,1999:blog-2980661185907846535</atom:id><lastBuildDate>Mon, 02 Sep 2024 08:14:21 +0000</lastBuildDate><category>FIRMWARE</category><category>SOFTWARE</category><category>HARDWARE</category><category>PROYECTOS</category><title>ELECTRONICA DESARROLLO</title><description>Artículos y proyectos sobre Hardware, Firmware y Software para el diseño electrónico.</description><link>http://electronicadesarrollo.blogspot.com/</link><managingEditor>noreply@blogger.com (Desarrollamos Proyectos)</managingEditor><generator>Blogger</generator><openSearch:totalResults>6</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2980661185907846535.post-7585420533367486349</guid><pubDate>Fri, 03 May 2019 18:04:00 +0000</pubDate><atom:updated>2023-05-10T11:55:50.436-07:00</atom:updated><title>Muestras de mi Desempeño Profesional</title><description>&lt;!-- Google tag (gtag.js) --&gt;
&lt;script async src=&quot;https://www.googletagmanager.com/gtag/js?id=G-MJ0EMHR5ZG&quot;&gt;&lt;/script&gt;
&lt;script&gt;
  window.dataLayer = window.dataLayer || [];
  function gtag(){dataLayer.push(arguments);}
  gtag(&#39;js&#39;, new Date());

  gtag(&#39;config&#39;, &#39;G-MJ0EMHR5ZG&#39;);
&lt;/script&gt;
&lt;div&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: helvetica;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;En este post listaré los enlaces o vínculos a los video tutoriales, tutoriales escritos, artículos y videos muestra que he efectuado de varios proyectos en los que he participado o que he desarrollado como  muestras o píldoras de mi desempeño profesional que es la primera intención de este post y por ello esta enlazado o referenciado con mi currículum en:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-size: small;&quot;&gt; &lt;a href=&quot;http://luisrobertoarteaga.blogspot.com/&quot; target=&quot;_blank&quot;&gt;Mi_curriculum&lt;/a&gt; &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-size: small;&quot;&gt; Obviamente no puedo publicar información de todos los proyectos en los que he participado, unos por motivos de confidencialidad y otros por diversos motivos.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-size: small;&quot;&gt; Aquellos quienes estén interesados en contratar mis servicios profesionales por favor contactarme en los datos de contacto suministrados en:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-size: small;&quot;&gt; &lt;a href=&quot;http://luisrobertoarteaga.blogspot.com/&quot; target=&quot;_blank&quot;&gt;Mi_curriculum&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-size: small;&quot;&gt; Como sé que este blog y este post no solo serán visitados por empresas o instituciones interesados en mis servicios profesionales sino también por particulares a quienes les encantan los temas sobre tecnología entonces dejo esta.....&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-size: small;&quot;&gt;Nota aclaratoria: &lt;i&gt;Aquí se publicarán artículos o enlaces a los mismos de proyectos desarrollados por el Administrador del blog, Ingeniero Electrónico, quien estará atento a sus comentarios. Igualmente  en este blog y en este post todos pueden compartir sus conocimientos e intercambiar opiniones o aportes dentro de un marco de respeto y tolerancia. Aquellos comentarios que estén por fuera de este marco, traten de otros temas no relacionados con la Electrónica, Robótica, IoT, Sistemas Embebidos  o Programación serán eliminados.&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;i&gt;También aclaro que los proyectos aquí relacionados no fueron elaborados con el fin de suplir todos los requerimientos que un lector o usuario de los mismos pueda tener para sus aplicaciones particulares, no me comprometo a solucionar problemas particulares y tampoco ofrezco ningún tipo de garantía sobre los mismos pues estos son solo para referencia. Sin embargo, si me comprometo a orientar, sugerir o apoyar a quien me solicite ayuda cuando el tiempo así me lo permita de manera desinteresada en el servicio de comentarios que encuentran aquí.&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-size: small;&quot;&gt; Bien, pasando ya a las muestras de mis capacidades y sin más aclaraciones a continuación los enlaces o vínculos a los video tutoriales, tutoriales escritos, artículos y videos muestra, que he efectuado de varios proyectos en los que he participado. Lo que observarán a continuación está ordenado de los mas recientes a los mas antiguos concordando con lo que se muestra en mi &lt;a href=&quot;http://luisrobertoarteaga.blogspot.com/&quot; target=&quot;_blank&quot;&gt;historial profesional en ingeniería&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: helvetica;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: helvetica;&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: helvetica;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: helvetica;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: helvetica;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: small;&quot;&gt;Estado Estacionario vs Transitorio&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: helvetica;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: helvetica;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;i&gt;&lt;span style=&quot;color: red;&quot;&gt;Categoría&lt;/span&gt;: Diseño Electrónico.&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: helvetica;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;i&gt;&amp;nbsp;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: helvetica;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;En mayo de 2022 redacté este artículo&lt;/span&gt;&lt;b&gt;&lt;span style=&quot;font-size: small;&quot;&gt;. &lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-size: small;&quot;&gt;En el campo de la #electrónica, el cambio suele ser un requisito de la funcionalidad general de un dispositivo. Como la mayoría de las cosas que encontramos en la electrónica, existen al menos dos estados de existencia. Por ejemplo, con un interruptor encontramos que está apagado o encendido abierto o cerrado. En electrónica existen dos clasificaciones de estados que son una parte compleja del análisis y la comprensión de las características de un sistema, así como de la funcionalidad general. Estos dos estados son el Estado #Estacionario y el Estado #Transitorio.&lt;/span&gt;&lt;b&gt;&lt;span style=&quot;font-size: small;&quot;&gt; &lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-size: small;&quot;&gt;A continuación el enlace a este artículo&lt;/span&gt;&lt;b&gt;&lt;span style=&quot;font-size: small;&quot;&gt;:&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: helvetica;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: helvetica;&quot;&gt;&lt;a href=&quot;https://www.electronicaplugandplay.com/tutoriales/electronica/52-estado-estacionario-vs-transitorio&quot; target=&quot;_blank&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;Estado Estacionario vs Transitorio&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: helvetica;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: helvetica;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: helvetica;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: small;&quot;&gt;Dispositivos de Protección Electrónica&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: helvetica;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: helvetica;&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: helvetica;&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span style=&quot;font-family: helvetica;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;i&gt;&lt;span style=&quot;color: red;&quot;&gt;Categoría&lt;/span&gt;: Diseño Electrónico.&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: helvetica;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;i&gt;&amp;nbsp;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: helvetica;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;A principios del año 2020 inicie una serie de videos sobre #dispositivos de #protección #electrónica, iniciando con los básicos. Luego culminé esa serie de videos en el año 2022. La serie es muy interesante por que se explica desde el punto de vista de #Diseño #Electrónico de una manera sencilla los fundamentos para protección electrónica. Aqui los enlaces respectivos de esta serie de Videotutoriales:&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: helvetica;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style=&quot;font-family: helvetica;&quot;&gt;&lt;span style=&quot;color: #3d85c6;&quot;&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=g8cW6rI3PEE&amp;amp;t=771s&quot; style=&quot;-webkit-text-stroke-width: 0px; background: rgb(255, 255, 255); box-sizing: border-box; cursor: pointer; font-size: 16px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 300; letter-spacing: normal; text-align: start; text-decoration: none; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;&quot; target=&quot;_blank&quot;&gt;Dispositivos de protección electrónicos Parte 1 de 4&lt;/a&gt;&lt;br style=&quot;-webkit-text-stroke-width: 0px; background-color: white; box-sizing: border-box; font-size: 16px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 300; letter-spacing: normal; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;&quot; /&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=IE9Kzd8oos4&amp;amp;t=14s&quot; style=&quot;-webkit-text-stroke-width: 0px; background: rgb(255, 255, 255); box-sizing: border-box; cursor: pointer; font-size: 16px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 300; letter-spacing: normal; text-align: start; text-decoration: none; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;&quot; target=&quot;_blank&quot;&gt;Dispositivos de protección electrónicos Parte 2 de 4&lt;/a&gt;&lt;br style=&quot;-webkit-text-stroke-width: 0px; background-color: white; box-sizing: border-box; font-size: 16px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 300; letter-spacing: normal; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;&quot; /&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=moNsKeJDONs&amp;amp;t=3s&quot; style=&quot;-webkit-text-stroke-width: 0px; background: rgb(255, 255, 255); box-sizing: border-box; cursor: pointer; font-size: 16px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 300; letter-spacing: normal; text-align: start; text-decoration: none; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;&quot; target=&quot;_blank&quot;&gt;Dispositivos de protección electrónicos Parte 3 de 4&lt;/a&gt;&lt;br style=&quot;-webkit-text-stroke-width: 0px; background-color: white; box-sizing: border-box; font-size: 16px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 300; letter-spacing: normal; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;&quot; /&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=P_C-rxWCAmM&quot; style=&quot;-webkit-text-stroke-width: 0px; background: rgb(255, 255, 255); box-sizing: border-box; cursor: pointer; font-size: 16px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 300; letter-spacing: normal; text-align: start; text-decoration: none; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;&quot; target=&quot;_blank&quot;&gt;Dispositivos de protección electrónicos Parte 4 de 4&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: small;&quot;&gt; &lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: helvetica;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: helvetica;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;b&gt;Cargando Sketches a Micros Arduino con Bootloader Precargado&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: helvetica;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: helvetica;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;i&gt;&lt;span style=&quot;color: red;&quot;&gt;Categoría&lt;/span&gt;: Hardware y Programación de Firmware&lt;/i&gt;&lt;/span&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;b&gt; &lt;/b&gt;&lt;i&gt;Arduino&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: helvetica;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;i&gt;&amp;nbsp;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: helvetica;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;En junio de 2019 elaboré este tutorial sobre como cargar #sketches a diferentes #microcontroladores #Atmel con #bootloader precargado previamente, es decir cargar sketches a microcontroladores Atmel #standalone. &lt;/span&gt;En este tutorial encontrarás los esquemas de conexiones para cargar sketches #Arduino junto a la lista de materiales empleados para dichos esquemas, en especifico para #ATMEGA328P-PU, #ATMEGA328-AU (smd) y #ATMEGA32U4 (smd) según lo explicado en conjunto con Videotutorial vinculado a este tutorial. Aquí el enlace respectivo:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: helvetica;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: helvetica;&quot;&gt;&lt;a href=&quot;https://www.electronicaplugandplay.com/tutoriales/sistemas-embebidos/47-tutorial-de-uso-de-micros-con-bootloader-precargado&quot; target=&quot;_blank&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;Cargando Sketches a Micros Arduino con Bootloader Precargado &lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: helvetica;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: helvetica;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: helvetica;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;b&gt;Calculadora de tiempo para Comunicación Serial Asíncrona&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: helvetica;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: helvetica;&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: helvetica;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;i&gt;&lt;span style=&quot;color: red;&quot;&gt;Categoría&lt;/span&gt;: Programación de software: Javascript.&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: helvetica;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;i&gt;&amp;nbsp;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: helvetica;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;En el Año 2019 elaboré esta pequeña aplicación de software en #JavaScript que sirve para calcular los tiempos de transmisión en #comunicaciones #seriales #asíncronas #UART, #RS-232, #Bluetooth, etc.&lt;/span&gt;&lt;span style=&quot;font-size: small;&quot;&gt; Que a su vez es útil también para calcular el tiempo de tranferencia de archivos. &lt;/span&gt;&lt;span style=&quot;font-size: small;&quot;&gt;Aquí el enlace a la aplicación:&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: helvetica;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: helvetica;&quot;&gt;&lt;a href=&quot;https://www.electronicaplugandplay.com/tutoriales/conversores-y-calculadoras/50-calculadora-de-tiempo-para-comunicacion-serial-asincrona&quot; target=&quot;_blank&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;Calculadora de tiempo para Comunicación Serial Asíncrona&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-size: small;&quot;&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: small;&quot;&gt; &lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: helvetica;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: helvetica;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;b&gt;Librería y App para Módulo #Dimmer #Arduino de Cargas AC resistivas e inductivas&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&lt;span style=&quot;color: red;&quot;&gt;Categoría&lt;/span&gt;: Programación de Firmware y Software: C, C++, Ensamblador, Android Studio.&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: helvetica;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;En el año 2018 diseñé la #librería #arduino con ejemplos para el &lt;a href=&quot;http://www.electronicaplugandplay.com/modulos-plug-and-play/product/286-modulo-control-fase-ac?search=control%20ac&quot; target=&quot;_blank&quot;&gt;Módulo Control de Fase y on-off para Cargas AC resistivas e inductivas&lt;/a&gt;. Así mismo elabore esta sencilla APP para usarla con smartphone que tengan sistema operativo #Android y #Bluetooth. En la librería  se usan interrupciones y registros propios de los microcontroladores #ATMEGA328P-PU, #ATMEGA328-AU, #ATMEGA328P-AU, ATMEGA2550 y ATMEGA32U4. Aquí todos los enlaces:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-size: small;&quot;&gt; &lt;a href=&quot;https://www.youtube.com/watch?v=j7VhrrhkPQ8&amp;amp;t=413s&quot; target=&quot;_blank&quot;&gt;Video Tutorial Uso Librería y App&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style=&quot;font-family: helvetica;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style=&quot;font-family: helvetica;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;br /&gt; &lt;a href=&quot;http://www.electronicaplugandplay.com/tutoriales/modulos/44-app-y-libreria-para-modulo-control-de-fase-ac&quot; target=&quot;_blank&quot;&gt;Tutorial escrito de uso Librería y App&lt;/a&gt; &lt;br /&gt;&lt;br /&gt;&lt;br /&gt; &lt;a href=&quot;http://www.electronicaplugandplay.com/apps-y-widgets/product/660-app-ac-phase-control&quot; target=&quot;_blank&quot;&gt;Sitio donde descargar la APP&lt;/a&gt; &lt;br /&gt;&lt;br /&gt;&lt;br /&gt; &lt;a href=&quot;http://www.electronicaplugandplay.com/component/edocman/libreria-acphasecontrol&quot; target=&quot;_blank&quot;&gt;Sitio donde descargar la Librería&lt;/a&gt; &lt;br /&gt;&lt;br /&gt;&lt;br /&gt; &lt;b&gt;¿Qué diferencia hay entre un producto:Original, Compatible, Genérico, Clon y OEM?&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&lt;span style=&quot;color: red;&quot;&gt;&lt;span style=&quot;background-color: white;&quot;&gt;Categoría&lt;/span&gt;&lt;/span&gt;: General Diseño Electrónico. &lt;/i&gt;&lt;br /&gt;&lt;br /&gt;En el año 2017 me hicieron esta interesante entrevista dónde explico las diferencias que hay entre un producto #Original, #Compatible, #Genérico, #Clon y #OEM:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; &lt;a href=&quot;https://www.youtube.com/watch?v=KTZvuUPDGYw&quot; target=&quot;_blank&quot;&gt;¿Qué diferencia hay entre un producto:Original, Compatible, Genérico, Clon y OEM?&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; &lt;b&gt;Tutorial #2 sobre una línea de Sistemas Embebidos&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&lt;span style=&quot;color: red;&quot;&gt;Categoría&lt;/span&gt;: Sistemas Embebidos, Arduino.&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;Este es un artículo donde doy algunas pautas para aquellos que se inician con #Arduino, cosas que deben tener en cuenta respecto a su funcionamiento y hasta dónde se puede llegar con esta plataforma. Aquí el enlace al artículo:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; &lt;a href=&quot;http://www.electronicaplugandplay.com/tutoriales/sistemas-embebidos/35-10-cosas-que-debe-saber-antes-de-empezar-su-primer-proyecto-con-arduino&quot; target=&quot;_blank&quot;&gt;10 Cosas que debe saber antes de empezar su primer proyecto con Arduino&lt;/a&gt; &lt;br /&gt;&lt;br /&gt;&lt;br /&gt; &lt;b&gt;Tutorial #1 sobre una línea de Sistemas Embebidos&lt;/b&gt;&lt;br /&gt;&lt;i&gt;&lt;br /&gt;&lt;span style=&quot;color: red;&quot;&gt;Categoría&lt;/span&gt;: Sistemas Embebidos, ChipKit.&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;Este es un  tutorial que publiqué en 2017 sobre las herramientas para programar las tarjetas #ChipKit de la empresa fabricante #Digilent. Aquí el enlace al tutorial escrito: &lt;br /&gt;&lt;br /&gt;&lt;br /&gt; &lt;a href=&quot;http://www.electronicaplugandplay.com/tutoriales/sistemas-embebidos/14-chipkit-para-todos&quot; target=&quot;_blank&quot;&gt;ChipKIT para todos &lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; &lt;b&gt;Calculadora interactiva del valor resistivo basado en el código de colores&lt;br /&gt;Una práctica herramienta para leer los códigos de colores de las resistencias de carbón de 4 bandas y resistencias de precisión de 5 bandas!&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&lt;span style=&quot;color: red;&quot;&gt;Categoría&lt;/span&gt;: Programación de software: Javascript.&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: helvetica;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;Una aplicación  web interactiva que puede ser utilizada en tanto en ordenadores de escritorio como en smartphones para determinar el valor resistivo de una #resistencia que esté basada en el #código de #colores ya sea de 4 o 5 bandas. Aquí el enlace a la aplicación:&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;font-family: helvetica;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;br /&gt;&lt;br /&gt; &lt;a href=&quot;http://www.electronicaplugandplay.com/tutoriales/conversores-y-calculadoras/39-calculadora-interactiva-del-valor-resistivo-basado-en-el-codigo-de-colores&quot; target=&quot;_blank&quot;&gt;Calculadora interactiva del valor resistivo basado en el código de colores&lt;/a&gt; &lt;br /&gt;&lt;br /&gt;&lt;br /&gt; &lt;b&gt;Un artículo en #Wikipedia&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&lt;span style=&quot;color: red;&quot;&gt;Categoría&lt;/span&gt;: General Diseño Electrónico.  &lt;/i&gt;&lt;br /&gt;&lt;br /&gt;Este es un artículo que publique hace varios en Wikipedia (2014) que trata sobre una descripción muy general sobre lo que es el Diseño Electrónico: &lt;br /&gt;&lt;br /&gt;&lt;br /&gt; &lt;a href=&quot;https://es.wikipedia.org/wiki/Dise%C3%B1o_electr%C3%B3nico&quot; target=&quot;_blank&quot;&gt;Diseño Electrónico en Wikipedia&lt;/a&gt; &lt;br /&gt;&lt;br /&gt;&lt;br /&gt; &lt;b&gt;Aplausómetro Arduino &lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&lt;span style=&quot;color: red;&quot;&gt;Categoría&lt;/span&gt;: Sensores Análogos.&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: helvetica;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;Una aplicación para sensores análogos de sonido con Arduino. Implementé el código, el circuito y la tarjeta de barra de LEDs smd para hacer esta breve demostración. Hace rato no la revisaba y también tiene un buen número de vistas. Aquí el enlace al video tutorial:&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;font-family: helvetica;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;br /&gt;&lt;br /&gt; &lt;a href=&quot;https://www.youtube.com/watch?v=RrlI0hguBSI&quot; target=&quot;_blank&quot;&gt;Medidor de nivel de sonido&lt;/a&gt; &lt;br /&gt;&lt;br /&gt;&lt;br /&gt; &lt;b&gt;Rompecabezas digital con Sensores de Proximidad Táctil&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&lt;span style=&quot;color: red;&quot;&gt;Categoría&lt;/span&gt;: Sensores Contactless&lt;/i&gt;. &lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: helvetica;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;Una demostración de como hacer entretenimiento básico con tecnología contactless. En este video demo se observa el uso de sensores óptico reflectivos para detectar movimientos. El módulo HID-USB IR BRIDGE de la compañía Silicon Labs fue configurado por el autor de este post y blog a modo demo para el para el Campus Party 2012. Aquí el enlace al video demo:&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;font-family: helvetica;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;br /&gt;&lt;br /&gt; &lt;a href=&quot;https://www.youtube.com/watch?v=VQtdixAT4Y4&quot; target=&quot;_blank&quot;&gt;Rompecabezas Digital con Sensores de Proximidad Táctil &lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; &lt;b&gt;Niños Aprenden Geografía de Colombia con Acelerómetro&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&lt;span style=&quot;color: red;&quot;&gt;Categoría&lt;/span&gt;: Sensores.&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;
&lt;span style=&quot;font-family: helvetica;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;i&gt;&amp;nbsp;&lt;/i&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: helvetica;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;Una demostración de como puede aplicarse la tecnología interactiva en educación, en este caso para áreas sociales. En este video se ve el uso de un Kit Acelerómetro STEVAL-MKI005V1 de la compañía STMicroelectronics. Configuré este módulo y su uso a modo demo para el Campus Party 2012. Aquí el enlace al video demo:&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: helvetica;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;br /&gt;&lt;br /&gt; &lt;a href=&quot;https://www.youtube.com/watch?v=auCHaxHJ0OU&quot; target=&quot;_blank&quot;&gt;Mapa de Colombia controlado con acelerometro Campus Party 2012&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; &lt;b&gt;Breve explicación y demostración funcionamiento de un osciloscopio análogo&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&lt;span style=&quot;color: red;&quot;&gt;Categoría&lt;/span&gt;: Equipos de Medición y Herramientas.&amp;nbsp;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: helvetica;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;i&gt;&amp;nbsp;&lt;/i&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: helvetica;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;Este es un video tutorial que hice en el año 2012 sobre el funcionamiento de un osciloscopio marca Tektronix. Para los conocedores del tema sabrán que #Tektronix es una de las empresas líderes en instrumentación electrónica. Aquí el enlace del video:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style=&quot;font-family: helvetica;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style=&quot;font-family: helvetica;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt; &lt;a href=&quot;https://www.youtube.com/watch?v=3gzEbCTqWlg&quot; target=&quot;_blank&quot;&gt;Tektronix 2430&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;  &lt;br /&gt;&lt;b&gt;Arduino Nano&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;
&lt;span style=&quot;font-family: helvetica;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;br /&gt;&lt;i&gt;&lt;span style=&quot;color: red;&quot;&gt;Categoría&lt;/span&gt;: Sistemas Embebidos. &lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: helvetica;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;Hace ya  varios años, por allá en el año 2012, cuando la ola de Arduino estaba en sus inicios en Colombia publiqué este video de iniciación en Arduino Nano. Esta tarjeta se ensamblaba aquí en Colombia bajo mi tutoría en ese entonces. Revisándolo hoy (ver fecha de este post) veo que este video tiene bastantes visitas. Aquí el video:&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: helvetica;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;br /&gt;&lt;br /&gt; &lt;a href=&quot;https://www.youtube.com/watch?v=P5AHoxhtSMM&quot; target=&quot;_blank&quot;&gt;Empezando con Arduino Nano&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; &lt;b&gt;Bluetooth Serie RN&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&lt;span style=&quot;color: red;&quot;&gt;Categoría&lt;/span&gt;: Comunicaciones inalámbricas.&amp;nbsp;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: helvetica;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;i&gt;&amp;nbsp;&lt;/i&gt;&lt;br /&gt;Los módulos #bluetooth de esta serie, antiguamente Roving Networks y ahora Microchip, son en mi concepto (sin demeritar las opiniones que puedan tener otros conocedores del tema sobre otros fabricantes) de los mejores módulos del mercado que hoy en día por supuesto se han diversificado encontrando muchas más opciones de la misma serie.  &lt;br /&gt;&lt;br /&gt;En el video que observarán a continuación se muestra un tarjeta desarrollada por el autor de este post, que era el breakout e interfaz de hardware que se ensamblaba aquí en Colombia bajo mi tutoría y sobre el cual hice este video demostrativo, luego por supuesto en dicha compañía se sacaron otros video tutoriales de uso del mismo:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; &lt;a href=&quot;https://www.youtube.com/watch?v=a3LlNFMwg54&quot; target=&quot;_blank&quot;&gt;Demostración Básica ME30024&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; &lt;b&gt;Motivatrix&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&lt;span style=&quot;color: red;&quot;&gt;Categoría&lt;/span&gt;: Multidisciplinar respecto a Diseño Electronico. &lt;/i&gt;&lt;br /&gt;&lt;br /&gt;#Motivatrix fue un proyecto en el que participé, el cual consistía de una máquina #fitness ya sea para hacer ejercicios o para quemar calorías a través de video #juegos. Los ejercicios son guiados a través de una pantalla gráfica tipo touch y el seguimiento y aprobación de los mismos lo hace la propia máquina mediante sensores que no tienen contacto con el usuario (Contactless). Para pasar al siguiente nivel el usuario debe cumplir cierto puntaje o quemar cierto numero de calorías. Igual sucede con los juegos que para la época en la que fue creada esta máquina superaba de manera absurda a lo que luego conocimos como #nintendo wii por lo que era muy innovadora. Además esta máquina tiene sensores de signos vitales para que el usuario  los revise cuando desee, puede incluirse en su software rutinas de su médico, nutricionista y entrenador personal.&lt;br /&gt;&lt;br /&gt;Mi participación en el desarrollo de #Motivatrix fue en la parte electrónica, de sensores y sistemas embebidos que posee. Aquí están los enlaces a los videos de funcionamiento de la  misma:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; &lt;a href=&quot;https://www.youtube.com/watch?v=Yw5C61Tb3u4&quot; target=&quot;_blank&quot;&gt;Video con rutina de baile&lt;/a&gt; &lt;br /&gt;&lt;br /&gt;&lt;br /&gt; &lt;a href=&quot;https://www.youtube.com/watch?v=8AKoCgOmbno&quot; target=&quot;_blank&quot;&gt;Video con rutina de entrenamiento personal&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; &lt;a href=&quot;https://www.youtube.com/watch?v=njOYMUy_WRE&quot; target=&quot;_blank&quot;&gt;Motivatrix en el programa The Price is Right&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; &lt;b&gt;Un Aplicativo tipo Applet para Caracteres y el Código ASCII&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&lt;span style=&quot;color: red;&quot;&gt;Categoría&lt;/span&gt;: Programación de software: Java.&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;En este artículo la principal intención es mostrar una simple aplicación que elaboré con #Java y Java Swing a través de un #Applet. Aqui el enlace respectivo:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; &lt;a href=&quot;http://electronicadesarrollo.blogspot.com/2010/02/los-caracteres-y-el-codigo-ascii.html&quot; target=&quot;_blank&quot;&gt;Los Caracteres y el Código ASCII&lt;/a&gt;  &lt;br /&gt;&lt;br /&gt;&lt;br /&gt; &lt;b&gt;Herramientas para Programar PICs&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&lt;span style=&quot;color: red;&quot;&gt;Categoría&lt;/span&gt;: Sistemas Embebidos.&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;En este artículo publiqué las herramientas que para la época, año 2009, eran lo último en programación de #Microcontroladores #PIC. Hoy en día existen otras herramientas también para programación de #PICs, tal vez esta fue una de las razones por la que Arduino paso a ser más popular pues incluía el propio programador en la placa. Como sabemos Microchip compró #Atmel que es el núcleo de #Arduino. Aquí el enlace al artículo del Blog:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; &lt;a href=&quot;http://electronicadesarrollo.blogspot.com/2009_05_03_archive.html&quot; target=&quot;_blank&quot;&gt;Herramientas para Programar PICs &lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Lenguajes de Programación para Microcontroladores PIC&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&lt;span style=&quot;color: red;&quot;&gt;Categoría&lt;/span&gt;: Sistemas Embebidos.&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;Este es un artículo que resumía los lenguajes de programación para microcontroladores PIC del fabricante Microchip en la época, año 2007, se esbozan las ventajas y desventajas de cada uno de ellos. Aquí el enlace respectivo:&lt;br /&gt;&lt;br /&gt; &lt;br /&gt;&lt;a href=&quot;https://electronicadesarrollo.blogspot.com/2007_12_30_archive.html&quot; target=&quot;_blank&quot;&gt;Lenguajes de programación para Microcontroladores PIC&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; &lt;b&gt;Manejo de Puerto Paralelo de un PC con VB y librería IO.dll&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: small;&quot;&gt;&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;br /&gt;&lt;i&gt;&lt;span style=&quot;color: red;&quot;&gt;Categoría&lt;/span&gt;: Programación de software: Visual Basic.&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;Este es un artículo que se encuentra en este blog y que efectué en el año 2007. En éste describo como hacer control electrónico y comunicaciones a través del puerto paralelo de un PC de aquella época, en la actualidad es muy difícil encontrar un ordenador de escritorio o laptop con este tipo de puertos o al menos con puertos seriales tipo RS-232. Aquí el enlace al tutorial:&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;https://electronicadesarrollo.blogspot.com/2007_06_10_archive.html&quot; target=&quot;_blank&quot;&gt;Control del Puerto Paralelo de un Ordenador&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; &lt;/span&gt;&lt;br /&gt;
&lt;/span&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: helvetica;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: helvetica;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: helvetica;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: helvetica;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: helvetica;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;span style=&quot;font-size: 85%;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: small;&quot;&gt;
&lt;span style=&quot;font-size: xx-small;&quot;&gt;&lt;span style=&quot;font-size: 85%;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style=&quot;font-family: helvetica;&quot;&gt;
&lt;/span&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: helvetica;&quot;&gt;
&lt;/span&gt;&lt;i&gt;&lt;span style=&quot;font-size: 85%;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;
&lt;/div&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;Nuevo en Proyectos de Electrónica&lt;/div&gt;</description><link>http://electronicadesarrollo.blogspot.com/2019/05/muestras-de-mi-desempeno-profesional.html</link><author>noreply@blogger.com (Desarrollamos Proyectos)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2980661185907846535.post-7751044506937168883</guid><pubDate>Fri, 05 Feb 2010 22:54:00 +0000</pubDate><atom:updated>2023-05-10T11:56:03.418-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">SOFTWARE</category><title>LOS CARACTERES Y EL CODIGO ASCII</title><description>&lt;!-- Google tag (gtag.js) --&gt;
&lt;script async src=&quot;https://www.googletagmanager.com/gtag/js?id=G-MJ0EMHR5ZG&quot;&gt;&lt;/script&gt;
&lt;script&gt;
  window.dataLayer = window.dataLayer || [];
  function gtag(){dataLayer.push(arguments);}
  gtag(&#39;js&#39;, new Date());

  gtag(&#39;config&#39;, &#39;G-MJ0EMHR5ZG&#39;);
&lt;/script&gt;
&lt;span style=&quot;font-size: 85%;&quot;&gt;Este blog fue diseñado para apoyar a la comunidad de desarrolladores de electrónica. Se publicarán artículos de proyectos desarrollados por el Administrador del blog, Ingeniero Electrónico, quien estará atento a sus inquietudes o sugerencias igualmente todos pueden compartir sus conocimientos e intercambiar opiniones o aportes dentro de un marco de respeto y tolerancia. Los artículos publicados aquí son elaborados con tal sencillez que son totalmente comprensibles y los proyectos indicados pueden ser llevados a cabo por cualquier &lt;/span&gt;&lt;span style=&quot;font-size: 85%;&quot;&gt;estudiante o profesional del ramo de la electrónica.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;;&quot;&gt;Para ver la página personal del autor haz clic &lt;a href=&quot;http://luisrobertoarteaga.blogspot.com/&quot;&gt;aqui&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div&gt;
Para ver más tutoriales, proyectos y noticias visita: &lt;/div&gt;
&lt;a href=&quot;http://www.electronicaplugandplay.com/tutoriales&quot; target=&quot;_blank&quot;&gt;Tutoriales&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;https://www.youtube.com/channel/UC19dWy12QAvnpsHWeaP5xBg&quot; target=&quot;_blank&quot;&gt;Videotutoriales &lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://www.electronicaplugandplay.com/noticias&quot; target=&quot;_blank&quot;&gt;Noticias&lt;/a&gt;&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: rgb(255 , 255 , 204);&quot;&gt;--&lt;/span&gt;&lt;span style=&quot;font-size: 85%;&quot;&gt;English&lt;/span&gt;&lt;span style=&quot;color: rgb(255 , 255 , 204); font-size: 85%;&quot;&gt;------&lt;/span&gt;&lt;span style=&quot;font-size: 85%;&quot;&gt;&lt;span style=&quot;color: rgb(255 , 255 , 204);&quot;&gt;-&lt;/span&gt;Español&lt;/span&gt;&lt;br /&gt;
&lt;a href=&quot;http://e-worldprojects.blogspot.com/2010/02/characters-and-ascii-code.html&quot; onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; id=&quot;BLOGGER_PHOTO_ID_5317606948478936562&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiqHZtmRCKtKKQ1Mqdz-SncPUykQuGl6D0I2gtSgz9i36Pt8AH4AF3CJuO2kjq73mQoT89HrI33Al1jmSCJXbNietInOjAEcKe5P6-QVmsT3LcNCf4wBjwfPNFkeCtdvvEIxpCAGeAOnfZq/s400/uk+flag.jpeg&quot; style=&quot;cursor: pointer; height: 27px; width: 47px;&quot; /&gt;&lt;/a&gt;   &lt;a href=&quot;http://electronicadesarrollo.blogspot.com/2010/02/los-caracteres-y-el-codigo-ascii.html&quot; onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; id=&quot;BLOGGER_PHOTO_ID_5317607508218779330&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhZbfFV6Idb6yY8ehKFe_eCofCrqX4fZPBhFg6rKDorUrpaXAA4xP-yaNb0JlOnLs2VL_Fq-ykZE8P5Qx3nZv5Bf152gcT8V0Pe1co8Whr_0jgYCn4OezPTF064QMWYtp0G03wbqkSVZk8i/s400/spain+flag.jpeg&quot; style=&quot;cursor: pointer; height: 30px; width: 45px;&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;span style=&quot;color: rgb(0 , 153 , 0); font-weight: bold;&quot;&gt;LOS CARACTERES Y EL CODIGO ASCII&lt;/span&gt;&lt;/div&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;&lt;br /&gt;Justificación&lt;/span&gt;: Cuando hablamos de información y mensajes de datos en diseño electrónico necesariamente tenemos que hablar de caracteres y  también de su representación especial (codificación) por que sabemos que la información se envía y recibe a través de medios digitales. Dado que en el mundo existen muchos idiomas es natural que existan miles de caracteres, por lo tanto existirán muchas tablas de códigos para representar dichos caracteres que es lo que confunde a los usuarios de dichas tablas, por ejemplo,  la confusión existente entre la codificación ASCII y los códigos ALT de teclado para usuarios de aplicaciones Microsoft.&lt;br /&gt;
En este artículo trataré de aclarar las dudas más comunes sobre codificación de caracteres y haré una breve introducción a los caracteres ASCII que son los más básicos para la comunicación en diseño electrónico así como su representación en algunos sistemas numéricos importantes.&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;Objetivos:&lt;/span&gt;&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Introducir al lector de este blog de diseño electrónico en los conceptos de sistemas de representación de información y codificación, teniendo en cuenta que el lector conoce los sistemas numéricos y ha trabajado previamente con ellos. En este artículo no se explican los sistemas numéricos pero tiene vínculos a sus explicaciones.&lt;/li&gt;
&lt;li&gt;Diferenciar que es el código ASCII, los caracteres de control, el código ASCII Extendido, las Páginas de Código, los Códigos Unicode y los códigos ALT de teclado.&lt;/li&gt;
&lt;li&gt;Desarrollar una aplicación online, bajo el lenguaje de programación Java, que facilite la conversión de los caracteres ASCII entre diferentes tipos de representación de caracteres más comunes tales como: Decimal, Hexadecimal, Binario y BCD.&lt;/li&gt;
&lt;/ul&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;Utilidad:&lt;/span&gt; Hallar a través de la herramienta online de este artículo los códigos equivalentes para los caracteres ASCII entre los sistemas &lt;a href=&quot;http://es.wikipedia.org/wiki/Decimal&quot;&gt;Decimal&lt;/a&gt;, &lt;a href=&quot;http://es.wikipedia.org/wiki/Binario&quot;&gt;Binario&lt;/a&gt;, &lt;a href=&quot;http://es.wikipedia.org/wiki/Sistema_hexadecimal&quot;&gt;Hexadecimal&lt;/a&gt;, &lt;a href=&quot;http://es.wikipedia.org/wiki/BCD&quot;&gt;BCD&lt;/a&gt;. Dar el verdadero nombre a cada carácter ASCII. También comprender la codificación ASCII y por que se utiliza en diseño electrónico.&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: rgb(255 , 0 , 0); font-weight: bold;&quot;&gt;Fundamentos&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
En electrónica, gran parte del manejo de la información (datos) se lleva a cabo empleando medios digitales, lo cual implica que existen estándares y normas para codificar la información de tal forma que la máquina pueda interpretar dicha información y mostrársela de la manera adecuada a un usuario humano o a otra máquina.&lt;br /&gt;
Los componentes más importantes de un mensaje son los &lt;a href=&quot;http://es.wikipedia.org/wiki/Car%C3%A1cter_%28inform%C3%A1tica%29&quot;&gt;caracteres&lt;/a&gt; que en últimas reunidos todos forman lo que llamamos un alfabeto. Dado que cada carácter empleará un medio digital entonces a cada carácter se le asigna un valor en el sistema numérico elegido y esto es lo que se conoce como codificación.&lt;br /&gt;
&lt;br /&gt;
Por ejemplo, a alguien se le ocurrió enumerar cada uno de las letras del &lt;a href=&quot;http://www.ngfl-cymru.org.uk/vtc/ngfl/ngfl-flash/alphabet-eng/alphabet.htm&quot;&gt;alfabeto inglés&lt;/a&gt; del 1 al 26,  esta persona posee un hardware y un firmware especial y quiere transmitir la palabra “&lt;span style=&quot;color: rgb(255 , 102 , 0); font-weight: bold;&quot;&gt;hello&lt;/span&gt;” de un dispositivo electrónico a otro, entonces lo hace empleando su codificación así: 85121215, dígito a dígito. A esto se le denomina codificación.&lt;br /&gt;
&lt;br /&gt;
En general cualquier codificación es independiente del medio de transmisión que puede ser alámbrico, inalámbrico o incluso satelital.&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: rgb(102 , 51 , 0); font-weight: bold;&quot;&gt;Nota&lt;/span&gt;: Es importante no confundir los términos codificación y &lt;a href=&quot;http://www.gestiopolis.com/delta/term/TER289.html&quot;&gt;encriptación&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
Puesto que el tema de la codificación no es nuevo existen diferentes estándares para la codificación de caracteres y por supuesto cuando se habla de comunicación, almacenamiento y análisis de información en ingeniería electrónica es necesario conocer los sistemas numéricos y el sistema de codificación de los datos. Los sistemas básicos en los que se codifican los caracteres son: el &lt;a href=&quot;http://es.wikipedia.org/wiki/Sistema_decimal&quot;&gt;Sistema Decimal&lt;/a&gt;, el &lt;a href=&quot;http://es.wikipedia.org/wiki/Sistema_binario&quot;&gt;Sistema Binario&lt;/a&gt;, el &lt;a href=&quot;http://es.wikipedia.org/wiki/Sistema_hexadecimal&quot;&gt;Sistema Hexadecimal&lt;/a&gt; y el &lt;a href=&quot;http://es.wikipedia.org/wiki/C%C3%B3digo_binario_decimal&quot;&gt;Sistema BCD&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
En diseño electrónico, cuando transmitimos información es muy probable que en nuestro receptor, por ejemplo el &lt;a href=&quot;http://technet.microsoft.com/es-es/library/cc736511%28WS.10%29.aspx&quot;&gt;HyperTerminal&lt;/a&gt; de Windows, obtengamos caracteres de los cuales desconocemos su interpretación en hexadecimal o en binario, la respectiva conversión podría aclararnos cual es el mensaje correcto que hemos recibido. Es muy común que los caracteres enviados estén codificados en &lt;a href=&quot;http://es.wikipedia.org/wiki/ASCII&quot;&gt;ASCII&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
El código ASCII o US-ASCII fue creado en 1963 para transferir información entre equipos eléctricos y entre equipos electrónicos basados en los caracteres comunes del alfabeto Norteamericano. Inicialmente tenía únicamente algunos signos de puntuación, los dígitos arábigos y las letras en mayúscula, luego en 1967 se agregó la lista de caracteres en minúscula del alfabeto norteamericano. Si quieres algo más de historia puedes ver este &lt;a href=&quot;http://tronweb.super-nova.co.jp/characcodehist.html&quot;&gt;enlace&lt;/a&gt;.&lt;br /&gt;
Actualmente, &lt;a href=&quot;http://es.wikipedia.org/wiki/ASCII&quot;&gt;el código ASCII&lt;/a&gt; está compuesto por 128 códigos, de los cuales los 32 (0 a 31) primeros y el 127 se les conoce como &lt;a href=&quot;http://es.wikipedia.org/wiki/Car%C3%A1cter_de_control&quot;&gt;caracteres de control&lt;/a&gt; o caracteres no imprimibles cuando el dato se envía (salida de datos), pero cuando estos códigos de control se visualizan en pantalla pueden verse caracteres especiales para los mismos valores. Como información adicional los &lt;a href=&quot;http://es.wikipedia.org/wiki/Car%C3%A1cter_de_control&quot;&gt;caracteres de control&lt;/a&gt; se utilizaban para controlar las impresoras y otros periféricos a través de los puertos paralelo y serial de un ordenador.&lt;br /&gt;
&lt;br /&gt;
En la herramienta online de este artículo se muestran todos los caracteres ASCII y sus respectivos valores numéricos para distintos sistemas numéricos.&lt;br /&gt;
&lt;br /&gt;
En diseño electrónico es muy común utilizar el código ASCII para comunicar dos dispositivos sin importar si se está efectuando un control (maestro-esclavo) o si se está transmitiendo información (maestro-maestro).&lt;br /&gt;
El código ASCII se utiliza por que cada carácter tiene dos &lt;a href=&quot;http://es.wikipedia.org/wiki/Nibble&quot;&gt;nibbles&lt;/a&gt; lo que facilita su manipulación y empaquetamiento cuando se transmiten varios bytes. Aunque todos los caracteres del código ASCII se representen con 7 bits,  se utilizan los 8 bits, simplemente el &lt;a href=&quot;http://es.wikipedia.org/wiki/Bit_m%C3%A1s_significativo&quot;&gt;MSB&lt;/a&gt; es siempre 0.&lt;br /&gt;
Muchas personas podrían pensar que si se utilizara el último bit (MSB) del byte de los códigos ASCII podrían ampliar el número de caracteres a 256 (2^8) con lo que podrían incluir otros símbolos, lo que se conoce como el código &lt;a href=&quot;http://es.wikipedia.org/wiki/ASCII_extendido&quot;&gt;ASCII Extendido&lt;/a&gt;. Esto fue lo que pensaron muchas personas al encontrar el código ASCII tan limitado (solo para el idioma inglés) para sus idiomas, pero con la mala suerte que esta idea la tenían las corporaciones fabricantes las cuales construyeron sus propios códigos ASCII Extendidos que luego se denominaron &lt;a href=&quot;http://es.wikipedia.org/wiki/P%C3%A1gina_de_c%C3%B3digo&quot;&gt;páginas de código&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
Dado que la codificación de caracteres también se utiliza para la comunicación entre un teclado y un ordenador así como la visualización en pantalla de lo digitado desde el teclado por parte del usuario común, entonces todos los teclados de un sistema de cómputo tienen sus propios caracteres, los cuales dependerán de la casa fabricante y del idioma. Por ejemplo, para ver el diseño o disposición de los caracteres en los teclados de Microsoft para diferentes idiomas haz clic &lt;a href=&quot;http://msdn.microsoft.com/es-co/goglobal/bb964651%28en-us%29.aspx&quot;&gt;aquí.&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
No obstante, no todos los caracteres aparecen en las teclas. A veces necesitamos incluir en nuestros escritos caracteres especiales ya sea por rigurosidad del mismo escrito o para darle un mejor aspecto. Es posible también que dependiendo de la fuente utilizada puedan incluirse algunos caracteres y otros no, por ejemplo las fuentes Arial y Symbol no poseen exactamente los mismos caracteres. En este momento es cuando surgen las dudas para el usuario común.&lt;br /&gt;
Los caracteres en un teclado y los códigos de caracteres en los ordenadores o sistema de cómputo comerciales se rigen por las &lt;a href=&quot;http://es.wikipedia.org/wiki/P%C3%A1gina_de_c%C3%B3digo&quot;&gt;páginas de código&lt;/a&gt; dispuestas en el sistema computacional. Todas las &lt;a href=&quot;http://es.wikipedia.org/wiki/P%C3%A1gina_de_c%C3%B3digo&quot;&gt;páginas de código&lt;/a&gt; poseen los 128 primeros caracteres pertenecientes al código ASCII pero los superiores a 128 se basan en el &lt;a href=&quot;http://es.wikipedia.org/wiki/ASCII_extendido&quot;&gt;ASCII Extendido&lt;/a&gt; propio de la casa fabricante y del idioma. Como existen muchas Páginas de código para los caracteres esto es lo  que causa la confusión para el usuario común. Sin embargo debo anotar que esta también es una razón para que los diseñadores electrónicos usen solo el código ASCII para transmitir información ya que este es independiente del fabricante o del idioma por que todas las páginas de código lo incluyen sin importar el sistema operativo.&lt;br /&gt;
&lt;br /&gt;
A medida que la codificación de caracteres se ha ido universalizando también se ha buscado un estándar común de códigos para caracteres que incluya todos los caracteres de todos los idiomas así como caracteres especiales en una única tabla, es así como podemos, por ejemplo, pulsar ALT+NUMERO en Word, donde NUMERO puede ser incluso un valor decimal superior a 256 y así obtener algún carácter. Entonces, ya no solo las Páginas de Código están presentes sino que también lo hacen los estándares &lt;a href=&quot;http://es.wikipedia.org/wiki/Unicode&quot;&gt;Unicode&lt;/a&gt;, en sus diferentes versiones, dentro de las cuales las más utilizada es UTF-8. Todo esto confunde mucho más al usuario común.&lt;br /&gt;
Tratando de aclarar las cosas, en la figura 1, podemos observar la lógica de una tabla de caracteres completa para Microsoft DOS teniendo en cuenta la página de códigos &lt;a href=&quot;http://en.wikipedia.org/wiki/Code_page_850&quot;&gt;PC850&lt;/a&gt; (Página de códigos multilingüe, incluidos todos los caracteres de la mayoría de los idiomas europeos, norteamericanos y sudamericanos) y el estándar UTF-8.&lt;br /&gt;
&lt;br /&gt;
&lt;div id=&quot;__ss_3084180&quot; style=&quot;text-align: left; width: 425px;&quot;&gt;
&lt;a href=&quot;http://www.slideshare.net/electronicadesarrollo/mapa-de-caracteres&quot; style=&quot;display: block; font-family: &amp;quot;helvetica&amp;quot; , &amp;quot;arial&amp;quot; , sans-serif; font-size: 14px; font-stretch: normal; font-style: normal; font-variant: normal; font-weight: normal; line-height: normal; margin: 12px 0pt 3px; text-decoration: underline;&quot; title=&quot;Mapa De Caracteres&quot;&gt;Mapa De Caracteres&lt;/a&gt;&lt;object height=&quot;355&quot; style=&quot;margin: 0px;&quot; width=&quot;425&quot;&gt;&lt;param name=&quot;movie&quot; value=&quot;http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=mapadecaracteres-100205185211-phpapp01&amp;amp;rel=0&amp;amp;stripped_title=mapa-de-caracteres&quot;&gt;&lt;param name=&quot;allowFullScreen&quot; value=&quot;true&quot;&gt;&lt;param name=&quot;allowScriptAccess&quot; value=&quot;always&quot;&gt;&lt;embed src=&quot;http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=mapadecaracteres-100205185211-phpapp01&amp;amp;rel=0&amp;amp;stripped_title=mapa-de-caracteres&quot; type=&quot;application/x-shockwave-flash&quot; allowscriptaccess=&quot;always&quot; allowfullscreen=&quot;true&quot; width=&quot;425&quot; height=&quot;355&quot;&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;
&lt;div style=&quot;font-family: &amp;quot;tahoma&amp;quot; , &amp;quot;arial&amp;quot;; font-size: 11px; height: 26px; padding-top: 2px;&quot;&gt;
View more &lt;a href=&quot;http://www.slideshare.net/&quot; style=&quot;text-decoration: underline;&quot;&gt;presentations&lt;/a&gt; from &lt;a href=&quot;http://www.slideshare.net/electronicadesarrollo&quot; style=&quot;text-decoration: underline;&quot;&gt;Electrónica Desarrollo&lt;/a&gt;.&lt;/div&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
Figura 1. Distribución de los códigos de caracteres para MS DOS.&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
Se debe tener en cuenta que dependiendo del idioma, la fuente o incluso el sistema operativo o el fabricante las páginas de código pueden cambiar entre ordenadores, es decir que los códigos ALT+NUMERO pueden variar de un ordenador a otro excepto para el código ASCII.&lt;br /&gt;
&lt;br /&gt;
Si su sistema operativo es Windows 2000, XP o Vista y desea saber cual es la página de códigos activa en su equipo siga estos pasos:&lt;br /&gt;
&lt;ol&gt;
&lt;li&gt;Vaya a la línea de comandos (CMD), ya sea por &lt;span style=&quot;color: rgb(0 , 153 , 0);&quot;&gt;ejecutar&lt;/span&gt; (Windows+R) o por &lt;span style=&quot;color: rgb(0 , 153 , 0);&quot;&gt;todos los programas&lt;/span&gt; -&amp;gt;&lt;span style=&quot;color: rgb(0 , 153 , 0);&quot;&gt;accesorios&lt;/span&gt; -&amp;gt;&lt;span style=&quot;color: rgb(0 , 153 , 0);&quot;&gt; símbolo del sistema&lt;/span&gt;.&lt;/li&gt;
&lt;li&gt;Escriba la siguiente instrucción CHCP.&lt;/li&gt;
&lt;li&gt;Pulse intro.&lt;/li&gt;
&lt;/ol&gt;
Los caracteres ASCII en otros sistemas operativos:&lt;br /&gt;
1.    En Linux y Ubuntu: en el procesador de texto respectivo digite Ctrl + Shift + U + código ASCII en Hexadecimal (el indicador de mayúsculas debe estar apagado). En general Linux y Ubuntu tienen la página de códigos Unicode UTF-8.&lt;br /&gt;
2.    En sistemas operativos Mac: Si desea introducir un carácter fuera del diseño del teclado puede seguir &lt;a href=&quot;http://docs.info.apple.com/article.html?path=Mac/10.4/es/mh1064.html&quot;&gt;estos pasos&lt;/a&gt; .&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: rgb(255 , 0 , 0); font-weight: bold;&quot;&gt;Utilizando la Herramienta Online&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
1. Haz Clic en el Botón Caracteres ASCII.&lt;br /&gt;
&lt;br /&gt;
&lt;form&gt;
&lt;div align=&quot;center&quot;&gt;
&lt;center&gt;
&lt;input height=&quot;25&quot; onclick=&quot;window.open(&#39;http://electroapplets.webcindario.com/Asciies.html&#39;, &#39;Códigos Ascii&#39;, &#39;toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,copyhistory=yes,width=630,height=460&#39;)&quot; type=&quot;button&quot; value=&quot;Caracteres ASCII&quot; width=&quot;70&quot; /&gt;&lt;/center&gt;
&lt;/div&gt;
&lt;/form&gt;
&lt;br /&gt;
&lt;br /&gt;
2. En la ventana que aparece, llamada Los Caracteres ASCII,  selecciona un carácter de la lista. Usa la barra vertical para buscar un carácter específico.&lt;br /&gt;
3. Las diferentes representaciones del carácter ASCII aparecerán en la misma ventana.&lt;br /&gt;
4. El código ALT + Número Decimal es aplicable solo para usuarios de Microsoft Office.&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;;&quot;&gt;Para ver la página personal del autor haz clic &lt;a href=&quot;http://luisrobertoarteaga.blogspot.com/&quot;&gt;aqui&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div&gt;
Para ver más tutoriales, proyectos y noticias visita: &lt;/div&gt;
&lt;a href=&quot;http://www.electronicaplugandplay.com/tutoriales&quot; target=&quot;_blank&quot;&gt;Tutoriales&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;https://www.youtube.com/channel/UC19dWy12QAvnpsHWeaP5xBg&quot; target=&quot;_blank&quot;&gt;Videotutoriales &lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://www.electronicaplugandplay.com/noticias&quot; target=&quot;_blank&quot;&gt;Noticias&lt;/a&gt;&amp;nbsp; &lt;div class=&quot;blogger-post-footer&quot;&gt;Nuevo en Proyectos de Electrónica&lt;/div&gt;</description><link>http://electronicadesarrollo.blogspot.com/2010/02/los-caracteres-y-el-codigo-ascii.html</link><author>noreply@blogger.com (Desarrollamos Proyectos)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiqHZtmRCKtKKQ1Mqdz-SncPUykQuGl6D0I2gtSgz9i36Pt8AH4AF3CJuO2kjq73mQoT89HrI33Al1jmSCJXbNietInOjAEcKe5P6-QVmsT3LcNCf4wBjwfPNFkeCtdvvEIxpCAGeAOnfZq/s72-c/uk+flag.jpeg" height="72" width="72"/><thr:total>35</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2980661185907846535.post-4336168094288390204</guid><pubDate>Fri, 13 Nov 2009 16:22:00 +0000</pubDate><atom:updated>2023-05-10T11:56:13.279-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">HARDWARE</category><title>CIRCUITOS PARA EL PUERTO PARALELO</title><description>&lt;!-- Google tag (gtag.js) --&gt;
&lt;script async src=&quot;https://www.googletagmanager.com/gtag/js?id=G-MJ0EMHR5ZG&quot;&gt;&lt;/script&gt;
&lt;script&gt;
  window.dataLayer = window.dataLayer || [];
  function gtag(){dataLayer.push(arguments);}
  gtag(&#39;js&#39;, new Date());

  gtag(&#39;config&#39;, &#39;G-MJ0EMHR5ZG&#39;);
&lt;/script&gt;
&lt;span style=&quot;font-size: 85%;&quot;&gt;Este blog fue diseñado para apoyar a la comunidad de desarrolladores de electrónica. Se publicarán artículos de proyectos desarrollados por el Administrador del blog, Ingeniero Electrónico, quien estará atento a sus inquietudes o sugerencias igualmente todos pueden compartir sus conocimientos e intercambiar opiniones o aportes dentro de un marco de respeto y tolerancia. Los artículos publicados aquí son elaborados con tal sencillez que son totalmente comprensibles y los proyectos indicados pueden ser llevados a cabo por cualquier &lt;/span&gt;&lt;span style=&quot;font-size: 85%;&quot;&gt;estudiante o profesional del ramo de la electrónica.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;;&quot;&gt;Para ver la página personal del autor haz clic &lt;a href=&quot;http://luisrobertoarteaga.blogspot.com/&quot;&gt;aqui&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div&gt;
Para ver más tutoriales, proyectos y noticias visita: &lt;/div&gt;
&lt;a href=&quot;http://www.electronicaplugandplay.com/tutoriales&quot; target=&quot;_blank&quot;&gt;Tutoriales&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;https://www.youtube.com/channel/UC19dWy12QAvnpsHWeaP5xBg&quot; target=&quot;_blank&quot;&gt;Videotutoriales &lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://www.electronicaplugandplay.com/noticias&quot; target=&quot;_blank&quot;&gt;Noticias&lt;/a&gt;&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: rgb(255 , 255 , 204);&quot;&gt;--&lt;/span&gt;&lt;span style=&quot;font-size: 85%;&quot;&gt;English&lt;/span&gt;&lt;span style=&quot;color: rgb(255 , 255 , 204); font-size: 85%;&quot;&gt;------&lt;/span&gt;&lt;span style=&quot;font-size: 85%;&quot;&gt;&lt;span style=&quot;color: rgb(255 , 255 , 204);&quot;&gt;-&lt;/span&gt;Español&lt;/span&gt;&lt;br /&gt;
&lt;a href=&quot;http://e-worldprojects.blogspot.com/2009_11_01_archive.html&quot; onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; id=&quot;BLOGGER_PHOTO_ID_5317606948478936562&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiqHZtmRCKtKKQ1Mqdz-SncPUykQuGl6D0I2gtSgz9i36Pt8AH4AF3CJuO2kjq73mQoT89HrI33Al1jmSCJXbNietInOjAEcKe5P6-QVmsT3LcNCf4wBjwfPNFkeCtdvvEIxpCAGeAOnfZq/s400/uk+flag.jpeg&quot; style=&quot;cursor: pointer; height: 27px; width: 47px;&quot; /&gt;&lt;/a&gt;   &lt;a href=&quot;http://electronicadesarrollo.blogspot.com/2009/11/circuitos-para-el-puerto-paralelo.html&quot; onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; id=&quot;BLOGGER_PHOTO_ID_5317607508218779330&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhZbfFV6Idb6yY8ehKFe_eCofCrqX4fZPBhFg6rKDorUrpaXAA4xP-yaNb0JlOnLs2VL_Fq-ykZE8P5Qx3nZv5Bf152gcT8V0Pe1co8Whr_0jgYCn4OezPTF064QMWYtp0G03wbqkSVZk8i/s400/spain+flag.jpeg&quot; style=&quot;cursor: pointer; height: 30px; width: 45px;&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;span style=&quot;color: rgb(0 , 153 , 0); font-weight: bold;&quot;&gt;CIRCUITOS PARA EL PUERTO PARALELO&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;Justificación&lt;/span&gt;: Hace algún tiempo escribí un artículo llamado &quot;&lt;a href=&quot;http://electronicadesarrollo.blogspot.com/2007_06_10_archive.html&quot;&gt;Manejo de Puerto Paralelo con IO.dll&lt;/a&gt;&quot; en la categoría &quot;PROYECTOS&quot;, pero el hardware ha usar en este proyecto está aún pendiente. Los circuitos básicos que podemos usar con este proyecto se decribirán en este post.&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;Objetivo&lt;/span&gt;: Describir diferentes circuitos para usar el puerto paralelo con el proyecto &quot;&lt;a href=&quot;http://electronicadesarrollo.blogspot.com/2007_06_10_archive.html&quot;&gt;Manejo de Puerto Paralelo con IO.dll&lt;/a&gt;&quot;, dando la circuitería necesaria para hacer la interfaz con puertos paralelos.&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;Utilidad&lt;/span&gt;: Desarrollar hardware para conectar apropiadamente el puerto paralelo y de esta manera implementar aplicaciones útiles.&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: rgb(255 , 0 , 0); font-weight: bold;&quot;&gt;Circuitos&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Observe los siguientes circuitos:&lt;br /&gt;
&lt;br /&gt;
&lt;div id=&quot;__ss_1401377&quot; style=&quot;text-align: left; width: 425px;&quot;&gt;
&lt;a href=&quot;http://www.slideshare.net/e.worldprojects/circuits-for-parallel-port&quot; style=&quot;display: block; font-family: &amp;quot;helvetica&amp;quot; , &amp;quot;arial&amp;quot; , sans-serif; font-size: 14px; font-stretch: normal; font-style: normal; font-variant: normal; font-weight: normal; line-height: normal; margin: 12px 0pt 3px; text-decoration: underline;&quot; title=&quot;Circuits For Parallel Port&quot;&gt;Circuits For Parallel Port&lt;/a&gt;&lt;object height=&quot;355&quot; style=&quot;margin: 0px;&quot; width=&quot;425&quot;&gt;&lt;param name=&quot;movie&quot; value=&quot;http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=circuitsforparallelport-090507125355-phpapp02&amp;amp;stripped_title=circuits-for-parallel-port&quot;&gt;&lt;param name=&quot;allowFullScreen&quot; value=&quot;true&quot;&gt;&lt;param name=&quot;allowScriptAccess&quot; value=&quot;always&quot;&gt;&lt;embed src=&quot;http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=circuitsforparallelport-090507125355-phpapp02&amp;amp;stripped_title=circuits-for-parallel-port&quot; type=&quot;application/x-shockwave-flash&quot; allowscriptaccess=&quot;always&quot; allowfullscreen=&quot;true&quot; width=&quot;425&quot; height=&quot;355&quot;&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;
&lt;div style=&quot;font-family: &amp;quot;tahoma&amp;quot; , &amp;quot;arial&amp;quot;; font-size: 11px; height: 26px; padding-top: 2px;&quot;&gt;
View more &lt;a href=&quot;http://www.slideshare.net/&quot; style=&quot;text-decoration: underline;&quot;&gt;presentations&lt;/a&gt; from &lt;a href=&quot;http://www.slideshare.net/e.worldprojects&quot; style=&quot;text-decoration: underline;&quot;&gt;Electronic Worldprojects&lt;/a&gt;.&lt;/div&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
El primer circuito en la presentación 1, &quot;&lt;span style=&quot;color: rgb(255 , 102 , 0); font-weight: bold;&quot;&gt;Circuito Simple de Prueba&lt;/span&gt;&quot; (Figure 1), es muy útil para probar el software. Cuando un bit se ponga en &#39;1&#39; (es decir, ud. ha dado clic en su respectivo botón), Ud puede ver el respectivo &lt;a href=&quot;http://es.wikipedia.org/wiki/Diodo_emisor_de_luz&quot;&gt;LED&lt;/a&gt; encenderse. No es necesaria una fuente externa de voltaje por que el puerto paralelo provee la suficiente energía para encender el &lt;a href=&quot;http://es.wikipedia.org/wiki/Diodo_emisor_de_luz&quot;&gt;LED&lt;/a&gt;, en general estados &lt;a href=&quot;http://es.wikipedia.org/wiki/Tecnolog%C3%ADa_TTL&quot;&gt;TTL&lt;/a&gt;. De esta forma Usted puede probar cada pin de datos del puerto paralelo de su PC.&lt;br /&gt;
&lt;br /&gt;
El segundo circuito en la presentación 1, Figura 2, usa un &lt;a href=&quot;http://www.datasheetcatalog.org/datasheets/90/366828_DS.pdf&quot;&gt;ULN 2803&lt;/a&gt;, este circuito integrado es un controlador de  transistores tipo Darlington a 8 bit/50Vdc/500 mA. Las entradas en el lado izquierdo del circuito integrado (pines 1 - 8) pueden conectarse directamente a las líneas de salida del puerto paralelo. Las salidas de este circuito integrado son &lt;a href=&quot;http://en.wikipedia.org/wiki/Open_collector&quot;&gt;Open Collector&lt;/a&gt; por lo que nos dan la ventaja de controlar varias cargas empleando una fuente de alimentación externa. los dispositivos de carga pueden ser desde simples LEDs, pequeños motores DC, pequeñas bombillas DC o &lt;a href=&quot;http://es.wikipedia.org/wiki/Rel%C3%A9&quot;&gt;relés&lt;/a&gt; (relevos). En la figura 2 de la presentación Usted puede ver un control de 8 LEDs a través de un ULN 2803.&lt;br /&gt;
Este circuito integrado tambien posee diodos que  protegen sus pines contra corrientes inversas cuando se conectan cargas tales como motores o relés y estas conmutan entre ON y OFF. El pin 10, debe conectarse a la fuente de poder que alimenta el circuito integrado, pero Ud. por ejemplo puede conectar dicha línea un &lt;a href=&quot;http://es.wikipedia.org/wiki/Diodo_Zener&quot;&gt;diodo Zener&lt;/a&gt; que limite la alimentación a +9 VDC como medida adicional de protección para un jego de 8 relés conectado en los pines 11 - 18, como se muestra en la Figura 2 de la presentación 1. También se puede conectar a ese mismo pin 10 un diodo Zener de +12 VDC  para limitar picos de la fuente de alimentación como en la figura 3, No use fuentes de alimentación superiores a + 30 VDC, en este circuito yo estoy controlando un solo relé en el pin 18 y este a su vez una carga sin importar el voltaje de dicha carga, alli Usted puede conectar otros 7 relés para controlar cargas adicionales si lo requiere.&lt;br /&gt;
En cualquier caso Usted requerirá una fuente de poder externa cuyo polo GND deberá acoplarse al GND del PC. Así estos circuitos (figura 2 y 3) pueden ser útiles para controlar cargas DC de hasta +50 Vdc. La idea principal en estos circuitos es aislar el hardware control externo de la circuitería interna del PC y proteger así el puerto paralelo.&lt;br /&gt;
&lt;br /&gt;
Si sus requerimientos son controlar cargas de myor potencia o cargar AC Usted puede Emplear el circuito de la Figura 4.&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi59TSWJrRlSne8wu9CQ5tDqmQeP1TkGjhp8GSSdTF2sfwHvSGSb3q5ybD4bk9jPt0ToqNv5SvNhpr5jLF_1ZcTpEfaFzs8HGQrF_lzo4x-FBjk4XuXUzkSt3Ib8jlg3exwA3tX_BrEe45u/s1600-h/warning1.gif&quot; onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; id=&quot;BLOGGER_PHOTO_ID_5403678333689945426&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi59TSWJrRlSne8wu9CQ5tDqmQeP1TkGjhp8GSSdTF2sfwHvSGSb3q5ybD4bk9jPt0ToqNv5SvNhpr5jLF_1ZcTpEfaFzs8HGQrF_lzo4x-FBjk4XuXUzkSt3Ib8jlg3exwA3tX_BrEe45u/s400/warning1.gif&quot; style=&quot;cursor: pointer; float: left; height: 81px; margin: 0pt 10px 10px 0pt; width: 93px;&quot; /&gt;&lt;/a&gt;&lt;span style=&quot;color: rgb(102 , 51 , 0); font-weight: bold;&quot;&gt;Precaución&lt;/span&gt;:Cuando manipule voltajes AC Ud. debe ser muy cuidadoso, Ud debe estar seguro de que lo que está haciendo lo esta hacieno correctamente y con seguridad. El voltaje AC puede causarle daños a Ud o un circuito mal conectado puede producir sobrecalentamientos o iniciar fuego.&lt;br /&gt;
&lt;br /&gt;
En el circuito de la Figura 4 podemos que se está haciendo opto-aislamiento a través del &lt;a href=&quot;http://www.datasheetcatalog.org/datasheet/fairchild/MOC3041-M.pdf&quot;&gt;MOC3041&lt;/a&gt; lo que brinda bastante seguridad al PC. Adicionalmente en la Figura 4  también observamos que hay un &lt;a href=&quot;http://es.wikipedia.org/wiki/Triac&quot;&gt;TRIAC&lt;/a&gt; para conmutar los altos voltajes AC o DC. En este caso se usa un TRIAC 12A/600V referencia &lt;a href=&quot;http://www.datasheetcatalog.org/datasheet/philips/BT138-500F.pdf&quot;&gt;BT138&lt;/a&gt;, esto a manera de ejemplo, usted debe colocar el TRIAC adecuado acorde a la carga que vaya a controlar.&lt;br /&gt;
&lt;br /&gt;
Finalmente, para ampliar las posibilidades, usted puede incluir microcontroladores o microprocesadores en cualquiera de los circuitos presentados aqui.&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;;&quot;&gt;Para ver la página personal del autor haz clic &lt;a href=&quot;http://luisrobertoarteaga.blogspot.com/&quot;&gt;aqui&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div&gt;
Para ver más tutoriales, proyectos y noticias visita: &lt;/div&gt;
&lt;a href=&quot;http://www.electronicaplugandplay.com/tutoriales&quot; target=&quot;_blank&quot;&gt;Tutoriales&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;https://www.youtube.com/channel/UC19dWy12QAvnpsHWeaP5xBg&quot; target=&quot;_blank&quot;&gt;Videotutoriales &lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://www.electronicaplugandplay.com/noticias&quot; target=&quot;_blank&quot;&gt;Noticias&lt;/a&gt;&amp;nbsp; &lt;div class=&quot;blogger-post-footer&quot;&gt;Nuevo en Proyectos de Electrónica&lt;/div&gt;</description><link>http://electronicadesarrollo.blogspot.com/2009/11/circuitos-para-el-puerto-paralelo.html</link><author>noreply@blogger.com (Desarrollamos Proyectos)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiqHZtmRCKtKKQ1Mqdz-SncPUykQuGl6D0I2gtSgz9i36Pt8AH4AF3CJuO2kjq73mQoT89HrI33Al1jmSCJXbNietInOjAEcKe5P6-QVmsT3LcNCf4wBjwfPNFkeCtdvvEIxpCAGeAOnfZq/s72-c/uk+flag.jpeg" height="72" width="72"/><thr:total>32</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2980661185907846535.post-5052321087782337995</guid><pubDate>Sat, 09 May 2009 16:55:00 +0000</pubDate><atom:updated>2023-05-10T11:56:27.493-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">FIRMWARE</category><title>PROGRAMADORES PARA PICs</title><description>&lt;!-- Google tag (gtag.js) --&gt;
&lt;script async src=&quot;https://www.googletagmanager.com/gtag/js?id=G-MJ0EMHR5ZG&quot;&gt;&lt;/script&gt;
&lt;script&gt;
  window.dataLayer = window.dataLayer || [];
  function gtag(){dataLayer.push(arguments);}
  gtag(&#39;js&#39;, new Date());

  gtag(&#39;config&#39;, &#39;G-MJ0EMHR5ZG&#39;);
&lt;/script&gt;
&lt;span style=&quot;font-size: 85%;&quot;&gt;Este blog fue diseñado para apoyar a la comunidad de desarrolladores de electrónica. Se publicarán artículos de proyectos desarrollados por el Administrador del blog, Ingeniero Electrónico, quien estará atento a sus &lt;/span&gt;&lt;span style=&quot;font-size: 85%;&quot;&gt;inquietudes o sugerencias igualmente todos pueden compartir sus conocimientos e intercambiar opiniones o aportes dentro de un marco de respeto y tolerancia. Los artículos publicados aquí son elaborados con tal &lt;/span&gt;&lt;span style=&quot;font-size: 85%;&quot;&gt;sencillez que  son totalmente comprensibles y los proyectos indicados pueden ser llevados a cabo por cualquier estudiante o profesional del ramo de la electrónica.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;;&quot;&gt;Para ver la página personal del autor haz clic &lt;a href=&quot;http://luisrobertoarteaga.blogspot.com/&quot;&gt;aqui&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div&gt;
Para ver más tutoriales, proyectos y noticias visita: &lt;/div&gt;
&lt;a href=&quot;http://www.electronicaplugandplay.com/tutoriales&quot; target=&quot;_blank&quot;&gt;Tutoriales&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;https://www.youtube.com/channel/UC19dWy12QAvnpsHWeaP5xBg&quot; target=&quot;_blank&quot;&gt;Videotutoriales &lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://www.electronicaplugandplay.com/noticias&quot; target=&quot;_blank&quot;&gt;Noticias&lt;/a&gt;&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: rgb(255 , 255 , 204);&quot;&gt;--&lt;/span&gt;&lt;span style=&quot;font-size: 85%;&quot;&gt;English&lt;/span&gt;&lt;span style=&quot;color: rgb(255 , 255 , 204); font-size: 85%;&quot;&gt;---&lt;/span&gt;&lt;span style=&quot;font-size: 85%;&quot;&gt;&lt;span style=&quot;color: rgb(255 , 255 , 204);&quot;&gt;-&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 85%;&quot;&gt;&lt;span style=&quot;color: rgb(255 , 255 , 204);&quot;&gt;-&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 85%;&quot;&gt;&lt;span style=&quot;color: rgb(255 , 255 , 204);&quot;&gt;-&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 85%;&quot;&gt;&lt;span style=&quot;color: rgb(255 , 255 , 204);&quot;&gt;-&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 85%;&quot;&gt;Español&lt;/span&gt;&lt;br /&gt;
&lt;a href=&quot;http://e-worldprojects.blogspot.com/2009_05_01_archive.html&quot; onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; id=&quot;BLOGGER_PHOTO_ID_5317606948478936562&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiqHZtmRCKtKKQ1Mqdz-SncPUykQuGl6D0I2gtSgz9i36Pt8AH4AF3CJuO2kjq73mQoT89HrI33Al1jmSCJXbNietInOjAEcKe5P6-QVmsT3LcNCf4wBjwfPNFkeCtdvvEIxpCAGeAOnfZq/s400/uk+flag.jpeg&quot; style=&quot;cursor: pointer; height: 27px; width: 47px;&quot; /&gt;&lt;/a&gt;   &lt;a href=&quot;http://electronicadesarrollo.blogspot.com/2009_05_03_archive.html&quot; onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; id=&quot;BLOGGER_PHOTO_ID_5317607508218779330&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhZbfFV6Idb6yY8ehKFe_eCofCrqX4fZPBhFg6rKDorUrpaXAA4xP-yaNb0JlOnLs2VL_Fq-ykZE8P5Qx3nZv5Bf152gcT8V0Pe1co8Whr_0jgYCn4OezPTF064QMWYtp0G03wbqkSVZk8i/s400/spain+flag.jpeg&quot; style=&quot;cursor: pointer; height: 30px; width: 45px;&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;span style=&quot;color: rgb(0 , 153 , 0); font-weight: bold;&quot;&gt;PROGRAMADORES PARA PICs&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
En el post anterior llamado “&lt;a href=&quot;http://electronicadesarrollo.blogspot.com/2007_12_30_archive.html&quot;&gt;&lt;span style=&quot;color: rgb(0 , 153 , 0);&quot;&gt;Lenguajes de programación para PICs&lt;/span&gt;&lt;/a&gt;&quot;, en la categoría de firmware, yo describí y comparé los lenguajes de programación para PICs. Sin embargo, un tema pendiente es la interface entre el ordenador y el PIC. En este artículo describriré los programadores no sin antes hacer una breve introducción a algunos conceptos y descripciones de las herramientas de desarrollo para contextualizar al lector en el objetivo final: El programador.&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;Objetivos&lt;/span&gt;:&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Clarificar conceptos y terminología empleados cuando nos referimos a las herramientas de desarrollo para PIC.&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;Entender los conceptos básicos sobre la interfaz del programador.&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;Describir los programadores que ofrece Microchip y dar opciones alternativas para la programación de PICs.&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;Dar un vistazo a los emuladores y depuradores de Microchip.&lt;/li&gt;
&lt;/ul&gt;
&lt;span style=&quot;color: rgb(255 , 0 , 0); font-weight: bold;&quot;&gt;Marco Teórico&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Es importante clarificar algunos conceptos sobre las herramientas de desarrollo para PICs en cuanto los términos &lt;span style=&quot;color: rgb(255 , 102 , 0);&quot;&gt;compilar&lt;/span&gt;, &lt;span style=&quot;color: rgb(255 , 102 , 0);&quot;&gt;depurar&lt;/span&gt;, &lt;span style=&quot;color: rgb(255 , 102 , 0);&quot;&gt;simular&lt;/span&gt; y &lt;span style=&quot;color: rgb(255 , 102 , 0);&quot;&gt;emular&lt;/span&gt;. En diseño electrónico esos términos tienen diferentes significados.&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: rgb(255 , 102 , 0); font-weight: bold;&quot;&gt;Compilar&lt;/span&gt;: Es el proceso de traducir un código fuente al lenguaje de máquina. Específicamente un código fuente en lenguaje ensamblador o C a OPCODES en formato hexadecimal o binario.&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: rgb(255 , 102 , 0); font-weight: bold;&quot;&gt;Depurar&lt;/span&gt;: Es el proceso de revisar el código fuente o programa para eliminar posibles errores en el mismo y a la vez optimizar el programa e incrementar su velocidad de ejecución. Los procesos de depuración se emplean en las etapas de diseño y desarrollo.&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: rgb(255 , 102 , 0); font-weight: bold;&quot;&gt;Simular&lt;/span&gt;: En  el contexto de los microcontroladores PIC, simular es la manera de llevar a cabo un experimento real en un ambiente virtual corriendo paso a paso o por bucles para analizar el desempeño y los registros afectados en el dispositivo. Usted puede incluso simular estados lógicos en los pines y verificar comportamientos en su programa. Todo esto puede llevarse a cabo si se cuenta con las apropiadas herramientas de software.&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: rgb(255 , 102 , 0); font-weight: bold;&quot;&gt;Emular&lt;/span&gt;: Cuando se tiene la interfaz apropiada puede fingirse que se tiene una memoria de programa de un PIC y correr el código fuente (firmware) desde un ordenador y observar en la memoria de programa y los registros internos y al mismo tiempo el comportamiento del programa cuando señales externas reales son aplicadas.&lt;br /&gt;
Nosotros emulamos para depurar el código fuente. Dicha emulación puede efectuarse en tiempo real y a plena velocidad (velocidad máxima del dispositivo). Esto no solo requiere de una apropiada interfaz de hardware sino también de software en el ordenador.&lt;br /&gt;
&lt;br /&gt;
Microchip clasifica sus herramientas de desarrollo en cuatro grupos:&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Compiladores: para compilar código fuente. Estos en todos los casos se tratan de herramientas de software.&lt;/li&gt;
&lt;li&gt;Emuladores: para depurar y emular códigos fuente, inclusive programar dispositivos.&lt;/li&gt;
&lt;li&gt;Depuradores: Para depurar y desarrollar, algunos de los cuales prestan el servicio de programación.&lt;/li&gt;
&lt;li&gt;Programadores: Dispositivos para programación  únicamente.&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhVXVCZTfMTnMGmk9-PYitjFiuSckd0PAqJWvMYp84QNER_VqCQuUmaOh149Rrhrcc3TVEozXNvgXNMjUcXHfS0VwdFTD2cp2ge4_xuIisgnQ5tLoXRhzZ_NV7HiCzQ4ErJWZCg0ZSgeNKK/s1600-h/Figure+1-ES.jpg&quot; onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; id=&quot;BLOGGER_PHOTO_ID_5333873567940935458&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhVXVCZTfMTnMGmk9-PYitjFiuSckd0PAqJWvMYp84QNER_VqCQuUmaOh149Rrhrcc3TVEozXNvgXNMjUcXHfS0VwdFTD2cp2ge4_xuIisgnQ5tLoXRhzZ_NV7HiCzQ4ErJWZCg0ZSgeNKK/s400/Figure+1-ES.jpg&quot; style=&quot;cursor: pointer; display: block; height: 300px; margin: 0px auto 10px; text-align: center; width: 400px;&quot; /&gt;&lt;/a&gt;Figura 1. Clasificación de las herramientas de desarrollo de Microchip.&lt;/div&gt;
&lt;br /&gt;
Muchas herramientas de desarrollo interactúan con el Entorno de Desarrollo integrado o MPLAB IDE, pero no todas necesitan este entorno o un computador para trabajar por que algunas de ellas pueden desempeñarse en modo autónomo para programar dispositivos sin un computador.&lt;br /&gt;
&lt;br /&gt;
Un programador es un dispositivo electrónico que comunica un computador con un PIC para transmitir datos, especialmente un código fuente compilado.&lt;br /&gt;
&lt;br /&gt;
El diagrama de bloques para la interfaz del programador se muestra en la figura 2.&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgq0u3s6uE2VbpnrnIgK5T08h-XCm47b4IBS8fR8e6RCtMYyA4Iu4BPkROBs9TfeuV1FIMFyYolAkpx2BHFlTbRFIcLy3XwQ8kHC25SaD-f6k-HgfcYoYLEVU-du1762znUsKXg7y1khE9D/s1600-h/Figure+2-ES.jpg&quot; onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; id=&quot;BLOGGER_PHOTO_ID_5333874181450383986&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgq0u3s6uE2VbpnrnIgK5T08h-XCm47b4IBS8fR8e6RCtMYyA4Iu4BPkROBs9TfeuV1FIMFyYolAkpx2BHFlTbRFIcLy3XwQ8kHC25SaD-f6k-HgfcYoYLEVU-du1762znUsKXg7y1khE9D/s400/Figure+2-ES.jpg&quot; style=&quot;cursor: pointer; display: block; height: 300px; margin: 0px auto 10px; text-align: center; width: 400px;&quot; /&gt;&lt;/a&gt;Figura 2. Diagrama de bloques de la interfaz del programador.&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
Algunos Depuradores y Emuladores pueden incluir una interfaz programadora o un dispositivo programador interno para programar microcontroladores PIC.&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: rgb(255 , 0 , 0); font-weight: bold;&quot;&gt;Un Vistazo a los Emuladores y Depuradores de Microchip&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
En la presentación 1, solamente describo aspectos generales acerca de la herramientas de desarrollo de Microchip, emuladores y depuradores, pero si usted quiere profundizar más en este tema , puede vistar : &lt;a href=&quot;http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;amp;nodeId=2123&amp;amp;param=en022495&quot;&gt;START NOW WITH MICROCHIP DEVELOPMENT TOOLS.&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div id=&quot;__ss_1380202&quot; style=&quot;text-align: left; width: 425px;&quot;&gt;
&lt;a href=&quot;http://www.slideshare.net/electronicadesarrollo/emuladores-y-depuradores-de-microchip?type=presentation&quot; style=&quot;display: block; font-family: &amp;quot;helvetica&amp;quot; , &amp;quot;arial&amp;quot; , sans-serif; font-size: 14px; font-stretch: normal; font-style: normal; font-variant: normal; font-weight: normal; line-height: normal; margin: 12px 0pt 3px; text-decoration: underline;&quot; title=&quot;Emuladores Y Depuradores De Microchip&quot;&gt;Emuladores Y Depuradores De Microchip&lt;/a&gt;&lt;object height=&quot;355&quot; style=&quot;margin: 0px;&quot; width=&quot;425&quot;&gt;&lt;param name=&quot;movie&quot; value=&quot;http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=emuladoresydepuradoresdemicrochip-090503160921-phpapp01&amp;amp;stripped_title=emuladores-y-depuradores-de-microchip&quot;&gt;&lt;param name=&quot;allowFullScreen&quot; value=&quot;true&quot;&gt;&lt;param name=&quot;allowScriptAccess&quot; value=&quot;always&quot;&gt;&lt;embed src=&quot;http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=emuladoresydepuradoresdemicrochip-090503160921-phpapp01&amp;amp;stripped_title=emuladores-y-depuradores-de-microchip&quot; type=&quot;application/x-shockwave-flash&quot; allowscriptaccess=&quot;always&quot; allowfullscreen=&quot;true&quot; width=&quot;425&quot; height=&quot;355&quot;&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;
&lt;div style=&quot;font-family: &amp;quot;tahoma&amp;quot; , &amp;quot;arial&amp;quot;; font-size: 11px; height: 26px; padding-top: 2px;&quot;&gt;
View more &lt;a href=&quot;http://www.slideshare.net/&quot; style=&quot;text-decoration: underline;&quot;&gt;presentations&lt;/a&gt; from &lt;a href=&quot;http://www.slideshare.net/electronicadesarrollo&quot; style=&quot;text-decoration: underline;&quot;&gt;Electrónica Desarrollo&lt;/a&gt;.&lt;/div&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
Presentación 1. Emuladores y Depuradores de Microchip.&lt;/div&gt;
&lt;br /&gt;
&lt;span style=&quot;color: rgb(255 , 0 , 0); font-weight: bold;&quot;&gt;Los Programadores de Microchip&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Los programadores más populares se detallan a continuación:&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: rgb(102 , 51 , 51); font-weight: bold;&quot;&gt;1.    MPLAB PM3&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: rgb(255 , 102 , 0); font-weight: bold;&quot;&gt;Definición&lt;/span&gt;: El MPLAB PM3 es  un Dispositivo Programador Universal que opera fácilmente con un ordenador o de manera autónoma.&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhYZUL7V3n9vCa_saRxN2-OpU3yjxBPP9gpehSA_pV9aUxEmS4MvTRrvKwakqOE___cJofPTWbq1KJqFCMyguf27VKdYfs365CCZVw6Yr9jn4TdIaT1sQyLY9bvd-jPqdG2sEOn3MtDM-uv/s1600-h/MPLAB_pm3.jpg&quot; onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; id=&quot;BLOGGER_PHOTO_ID_5333879379451105106&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhYZUL7V3n9vCa_saRxN2-OpU3yjxBPP9gpehSA_pV9aUxEmS4MvTRrvKwakqOE___cJofPTWbq1KJqFCMyguf27VKdYfs365CCZVw6Yr9jn4TdIaT1sQyLY9bvd-jPqdG2sEOn3MtDM-uv/s400/MPLAB_pm3.jpg&quot; style=&quot;cursor: pointer; display: block; height: 400px; margin: 0px auto 10px; text-align: center; width: 400px;&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;span style=&quot;color: rgb(255 , 102 , 0); font-weight: bold;&quot;&gt;Usos&lt;/span&gt;:&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Programa la línea completa de microcontroladores PIC y dsPIC.&lt;/li&gt;
&lt;li&gt;Programa dispositivos usando ICSP (In-Circuit Serial Programming) en las tarjetas de aplicación.&lt;/li&gt;
&lt;li&gt;Verifica que el firmware dentro del microcontrolador corresponda a su código fuente y también verifica si su microcontrolador está en blanco.&lt;/li&gt;
&lt;li&gt;Lee el firmware programado en un microcontrolador PIC para llevarlo hasta la ventana de Programa de Memoria del  MPLAB IDE y así poder depurarlo y/o transferirlo a otros microcontroladores PIC.&lt;/li&gt;
&lt;li&gt;Con una tarjeta de memoria opcional tipo SD-MMC, usted puede almacenar y transportar configuraciones para programar.&lt;/li&gt;
&lt;li&gt;Usando MPLAB PM3 en conjunto con MPLAB IDE, MPLAB PM3 simplemente se convierte en una herramienta más de MPLAB IDE permitiéndole rápidamente depurar y probar su firmware antes de cargarlo a su dispositivo.&lt;/li&gt;
&lt;li&gt;Sin conexión a un PC, el programador se comporta de manera autónoma. En este modo las principales características de programación están disponibles tales como: leer, programar y verificar.&lt;/li&gt;
&lt;/ul&gt;
&lt;span style=&quot;color: rgb(255 , 102 , 0); font-weight: bold;&quot;&gt;Notas&lt;/span&gt;:&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Cada versión de MPLAB IDE trae actualizaciones para ayudar a MPLAB PM3 a soportar nuevos dispositivos.&lt;/li&gt;
&lt;li&gt;Para actualizar la lista de dispositivos programables es necesaria la conexión con un PC con MPLAB IDE.&lt;/li&gt;
&lt;li&gt;MPLAB PM3 requiere los siguientes aditamentos para trabajar en un ambiente Windows: Software MPLAB IDE y un driver para comunicaciones USB.&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;span style=&quot;color: rgb(255 , 102 , 0); font-weight: bold;&quot;&gt;Comunicaciones&lt;/span&gt;: MPLAB PM3 tiene dos puertos de comunicaciones, serial (COM 1-4) y USB estándar. La comunicación serial viene a 56K por defecto o 9.6 K baudios, 8 bits de datos, 1 bit de parada y sin paridad.&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: rgb(255 , 102 , 0); font-weight: bold;&quot;&gt;Componentes&lt;/span&gt;:&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Unidad programadora MPLAB PM3.&lt;/li&gt;
&lt;li&gt;Cable serial RS-232 para conexión a un PC.&lt;/li&gt;
&lt;li&gt;Cable USB para conexión a un PC.&lt;/li&gt;
&lt;li&gt;Cable ICSP.&lt;/li&gt;
&lt;li&gt;Fuente de alimentación y cables de poder para dicha fuente.&lt;/li&gt;
&lt;li&gt;Un CD con MPLAB IDE.&lt;/li&gt;
&lt;li&gt;Guías de usuario y documentación técnica en el CD.&lt;/li&gt;
&lt;li&gt;Sockets para insertar dispositivos y programarlos.&lt;/li&gt;
&lt;/ul&gt;
&lt;span style=&quot;color: rgb(255 , 102 , 0); font-weight: bold;&quot;&gt;Partes adicionales&lt;/span&gt;:&lt;br /&gt;
&lt;br /&gt;
Principales Sockets:&lt;br /&gt;
&lt;br /&gt;
• Part Number: AC164301 - 18L/28L/40L DIP Socket Module for MPLAB PM3: This socket module supports 8P, 14P, 18P, 28P, and 40P DIP PICmicro or dsPIC devices on MPLAB PM3 Programmer.&lt;br /&gt;
• Part Number: AC164303 - 16L (.150), 18L, 28L (.300) SOIC Socket Module for MPLAB PM3: This socket module supports 64L TQFP PICmicro or dsPIC devices on MPLAB PM3 Programmer.&lt;br /&gt;
• Part Number: AC164305 - 44L TQFP Socket Module for MPLAB PM3: This socket module supports 44L TQFP PICmicro or dsPIC devices on MPLAB PM3 Programmer.&lt;br /&gt;
• Part Number: AC164306 - 20L TSSOP Socket Module for MPLAB PM3: This socket module supports 20L TSSOP PICmicro or dsPIC devices on MPLAB PM3 Programmer.&lt;br /&gt;
• Part Number: AC164307 - 28L SSOP Socket Module for MPLAB PM3: This socket module supports 28L SSOP PICmicro or dsPIC devices on MPLAB PM3 Programmer.&lt;br /&gt;
• Part Number: AC164308 - 68L PLCC Socket Module for MPLAB PM3: This socket module supports 68L PLCC PICmicro or dsPIC devices on MPLAB PM3 Programmer.&lt;br /&gt;
• Part Number: AC164309 - 44L PLCC Socket Module for MPLAB PM3: This socket module supports 44L PLCC PICmicro or dsPIC devices on MPLAB PM3 Programmer.&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: rgb(255 , 102 , 0); font-weight: bold;&quot;&gt;Costo&lt;/span&gt;: USD 895 incluyendo todos los components excepto los sockets. Hay un costo adicional para cada socket.&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: rgb(102 , 51 , 0); font-weight: bold;&quot;&gt;2.    PICSTART PLUS &lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: rgb(255 , 102 , 0); font-weight: bold;&quot;&gt;Definición&lt;/span&gt;: El PICSTART PLUS es una herramienta de desarrollo que habilita al desarrollador para cargar microcontroladores con código fuente compilado.&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEinjhBHTgO5LeQndtsLrWkm3sgcM3hwfOiUJmC5BQ6fB1gvVmeko_cgN_GxbzZy_DuEIgvJncq2bFCr-v7z-HGXNtozbpkmjfcGoZAmCOrjEo4kMzIcNnQP1Vh8n3mphjMgiC_aHsrpAPav/s1600-h/picstart+PLUS.jpg&quot; onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; id=&quot;BLOGGER_PHOTO_ID_5333887075132928370&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEinjhBHTgO5LeQndtsLrWkm3sgcM3hwfOiUJmC5BQ6fB1gvVmeko_cgN_GxbzZy_DuEIgvJncq2bFCr-v7z-HGXNtozbpkmjfcGoZAmCOrjEo4kMzIcNnQP1Vh8n3mphjMgiC_aHsrpAPav/s400/picstart+PLUS.jpg&quot; style=&quot;cursor: pointer; display: block; height: 128px; margin: 0px auto 10px; text-align: center; width: 200px;&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;span style=&quot;color: rgb(255 , 102 , 0); font-weight: bold;&quot;&gt;Usos&lt;/span&gt;:&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Usando MPLAB IDE como interfaz de software, el PICSTAR PLUS programa microcontroladores PIC , incluyendo memoria de programa, bits de configuración y localizaciones ID.&lt;/li&gt;
&lt;li&gt;Usted puede verificar si los dispositivos están en blanco, verificar que el código cargado en el PIC corresponda al firmware desarrollado, y puede leer los dispositivos no protegidos para llevarlo hasta la ventana de Programa de Memoria del  MPLAB IDE y así poder depurarlo y/o transferirlo a otros microcontroladores PIC.&lt;/li&gt;
&lt;/ul&gt;
&lt;span style=&quot;color: rgb(255 , 102 , 0); font-weight: bold;&quot;&gt;Notas&lt;/span&gt;:&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Dispositivos que corresponden a empaques distintos a DIP y que sean soportados por PICSTART PLUS necesitan adaptadores adicionales. Actualmente estos adaptadores están disponibles en el web site de Microchip.&lt;/li&gt;
&lt;li&gt;En el futuro es posible la actualización para soportar nuevos dispositivos, esta actualización se hace a través de MPLAB IDE.&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;span style=&quot;color: rgb(255 , 102 , 0); font-weight: bold;&quot;&gt;Comunicaciones&lt;/span&gt;: PICSTART PLUS se comunica con un ordenador a través de un cable RS-232 tipo D. PICSTART PLUS es el equipo de comunicaciones o DCE y el hanshaking de hardware se hace a través de las líneas Clear to Send (CTS) y Request to Send (RTS). El programador por defecto está configurado así: 19.2 k Baudios, 8 bits de datos, un bit de parada, sin paridad, con hardware de control de flujo y los buffers FIFO deben estar deshabilitados.&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: rgb(255 , 102 , 0); font-weight: bold;&quot;&gt;Componentes&lt;/span&gt;:&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Unidad programadora PICSTART Plus.&lt;/li&gt;
&lt;li&gt;Cable de interface RS-232 para comunicación por puerto serial con un PC.&lt;/li&gt;
&lt;li&gt;Fuente de alimentación de 9 Vdc.&lt;/li&gt;
&lt;li&gt;Un CD con MPLA IDE.&lt;/li&gt;
&lt;li&gt;Un chip en blanco para programar.&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;span style=&quot;color: rgb(255 , 102 , 0); font-weight: bold;&quot;&gt;Costo&lt;/span&gt;: USD 200 , el kit contiene el programador PICSTART PLUS, el cable de Comunicaciones RS-232, un manual de usuario y un CD con MPLAB IDE.&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: rgb(102 , 51 , 0); font-weight: bold;&quot;&gt;3.    PRO MATE II&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: rgb(255 , 102 , 0); font-weight: bold;&quot;&gt;Definición&lt;/span&gt;: el dispositivo PRO MATE II le permite programar toda la gama de microcontroladores PIC , productos de seguridad KEELOQ y memorias serial EEPROM. PRO MATE II opera bajo MPLAB IDE y también como una unidad autónoma.&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhYOyTZ91mgDVK9W79F0eKYTDySyijssOa19tHlHrFEK5NAju0DRzv1rhbW-f4AlCcfuQdmW4KwLvWL15Hz5eXhzXiUQwRrUd2GX4WRi601LZCc79Cy_ffCkLoqJoBsdbWUDO8dDgq1WB1l/s1600-h/promate+2.gif&quot; onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; id=&quot;BLOGGER_PHOTO_ID_5333888701239078322&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhYOyTZ91mgDVK9W79F0eKYTDySyijssOa19tHlHrFEK5NAju0DRzv1rhbW-f4AlCcfuQdmW4KwLvWL15Hz5eXhzXiUQwRrUd2GX4WRi601LZCc79Cy_ffCkLoqJoBsdbWUDO8dDgq1WB1l/s400/promate+2.gif&quot; style=&quot;cursor: pointer; display: block; height: 174px; margin: 0px auto 10px; text-align: center; width: 221px;&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;color: rgb(255 , 102 , 0); font-weight: bold;&quot;&gt;Nota&lt;/span&gt;: Este producto está discontinuado pero aún pueden conseguirse sus accesorios y partes.&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: rgb(255 , 0 , 0); font-weight: bold;&quot;&gt;Otras Soluciones&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Adicionalmente a los programadores ofrecidos por Microchip hay otros programadores ofrecidos por otros fabricantes. Varios de estos programadores soportan no solo microcontroladores de Microchip sino también de otros fabricantes de microcontroladores. Por nombrar algunos:&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://www.conitec.com/&quot;&gt;Conitec Data Systems&lt;/a&gt;  tiene dos máquinas programadoras de dispositivos: GALEP-5 y GALEP-5D. Cada una tiene su propia lista de dispositivos soportados pero Conitec tiene un servicio gratuito para dispositivos de demanda de modo que pueda hacerse una rápida implementación del dispositivo deseado dentro de la lista del programador.&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://www.xeltek.com/pages.php?pageid=3&quot;&gt;Xeltek&lt;/a&gt; tiene ocho SuperPro Programadores Universales: 5000, 5004GP, 501S, 500P, 300U, 9000U, 280U, 580U. Algunos de ellos pueden trabajar como unidades autónomas. También, si sus necesidades de programación son de volumen, algunos de ellos le permiten programar mas de un microcontrolador PIC a la vez. Xeltek ofrece el servicio de actualización gratuito de sus programadores y de su software desde su web site a través de un servicio llamado Centro de Descarga.&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://www.quasarelectronics.com/pic-programmers.htm&quot;&gt;Quasar Electronics&lt;/a&gt; ofrece diferentes opciones de programadores de acuerdo con sus necesidades.&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://www.hobbyengineering.com/CatPCPROG.html&quot;&gt;Hobby Engineering&lt;/a&gt; ofrece también programadores más limitados pero a su vez más económicos.&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
Adicionalmente a la descripción previa de opciones de programadores, yo les puedo mencionar que la mayoría de microcontroladores PIC poseen una programación In- Circuit (ICSP) incorporada. Esta es importante por que de esta manera usted puede Programar un dispositivo específico. ICSP  es una técnica mejorada de ISP (In System Programming) implementada en los microcontroladores tipo OTP y Flash donde un dispositivo es programado antes o después de haber sido ensamblado en la aplicación. Esta técnica solamente emplea dos pines de I/O para entrada y salida serial de datos haciéndola muy fácil de usar y lo menos intrusivo posible. El datasheet para cada dispositivo trae las respectivas especificaciones para implementar ICSP. Recuerde, ICSP es únicamente útil para un dispositivo específico por lo que una interfaz ICSP implementada a cierto dispositivo puede no funcionar para otro. Otra cosa que debe tener en cuenta es un software adicional para programar el PIC empleando esta interfaz.&lt;br /&gt;
&lt;br /&gt;
Finalmente, si usted es de los que le gusta hacer las cosas por sí mismo, en Internet usted puede encontrar muchas opciones para construir su propio programador. Allí, usted puede encontrar desde programadores para dispositivos específicos hasta programadores Semi-profesionales, cada uno con sus ventajas y desventajas. También es posible que usted requiera de software adicional a MPLAB IDE para quemar un PIC con su firmware. Yo no recomiendo ningún programador en particular por que éste depende de sus requerimientos y además yo tendría que construirlo y probarlo para recomendárselo.&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;;&quot;&gt;Para ver la página personal del autor haz clic &lt;a href=&quot;http://luisrobertoarteaga.blogspot.com/&quot;&gt;aqui&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div&gt;
Para ver más tutoriales, proyectos y noticias visita: &lt;/div&gt;
&lt;a href=&quot;http://www.electronicaplugandplay.com/tutoriales&quot; target=&quot;_blank&quot;&gt;Tutoriales&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;https://www.youtube.com/channel/UC19dWy12QAvnpsHWeaP5xBg&quot; target=&quot;_blank&quot;&gt;Videotutoriales &lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://www.electronicaplugandplay.com/noticias&quot; target=&quot;_blank&quot;&gt;Noticias&lt;/a&gt;&amp;nbsp; &lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;blogger-post-footer&quot;&gt;Nuevo en Proyectos de Electrónica&lt;/div&gt;</description><link>http://electronicadesarrollo.blogspot.com/2009/05/programadores-para-pics.html</link><author>noreply@blogger.com (Desarrollamos Proyectos)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiqHZtmRCKtKKQ1Mqdz-SncPUykQuGl6D0I2gtSgz9i36Pt8AH4AF3CJuO2kjq73mQoT89HrI33Al1jmSCJXbNietInOjAEcKe5P6-QVmsT3LcNCf4wBjwfPNFkeCtdvvEIxpCAGeAOnfZq/s72-c/uk+flag.jpeg" height="72" width="72"/><thr:total>1</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2980661185907846535.post-5982870770901394742</guid><pubDate>Tue, 01 Jan 2008 00:27:00 +0000</pubDate><atom:updated>2023-05-10T11:56:37.629-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">FIRMWARE</category><title>Lenguajes de Programación para PICs</title><description>&lt;!-- Google tag (gtag.js) --&gt;
&lt;script async src=&quot;https://www.googletagmanager.com/gtag/js?id=G-MJ0EMHR5ZG&quot;&gt;&lt;/script&gt;
&lt;script&gt;
  window.dataLayer = window.dataLayer || [];
  function gtag(){dataLayer.push(arguments);}
  gtag(&#39;js&#39;, new Date());

  gtag(&#39;config&#39;, &#39;G-MJ0EMHR5ZG&#39;);
&lt;/script&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;;&quot;&gt;&lt;span style=&quot;color: rgb(0 , 153 , 0);&quot;&gt;&lt;span style=&quot;font-size: 130%;&quot;&gt;&lt;i&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 85%;&quot;&gt;Este blog fue diseñado para apoyar a la comunidad de desarrolladores de electrónica. Se publicarán artículos de proyectos desarrollados por el  Administrador del blog,  Ingeniero Electrónico, quien estará atento a sus inquietudes o sugerencias igualmente todos pueden compartir sus conocimientos e intercambiar opiniones o aportes dentro de un marco de respeto y tolerancia. Los artículos publicados aquí son elaborados con tal sencillez que  son totalmente comprensibles y los proyectos indicados pueden ser llevados a cabo por cualquier estudiante o profesional del ramo de la electrónica.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;;&quot;&gt;Para ver la página personal del autor haz clic &lt;a href=&quot;http://luisrobertoarteaga.blogspot.com/&quot;&gt;aqui&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div&gt;
Para ver más tutoriales, proyectos y noticias visita: &lt;/div&gt;
&lt;a href=&quot;http://www.electronicaplugandplay.com/tutoriales&quot; target=&quot;_blank&quot;&gt;Tutoriales&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;https://www.youtube.com/channel/UC19dWy12QAvnpsHWeaP5xBg&quot; target=&quot;_blank&quot;&gt;Videotutoriales &lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://www.electronicaplugandplay.com/noticias&quot; target=&quot;_blank&quot;&gt;Noticias&lt;/a&gt;&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: rgb(255 , 255 , 204);&quot;&gt;--&lt;/span&gt;&lt;span style=&quot;font-size: 85%;&quot;&gt;English&lt;/span&gt;&lt;span style=&quot;color: rgb(255 , 255 , 204); font-size: 85%;&quot;&gt;---&lt;/span&gt;&lt;span style=&quot;font-size: 85%;&quot;&gt;&lt;span style=&quot;color: rgb(255 , 255 , 204);&quot;&gt;-&lt;/span&gt;Español&lt;/span&gt;&lt;br /&gt;
&lt;a href=&quot;http://e-worldprojects.blogspot.com/2009_04_01_archive.html&quot; onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; id=&quot;BLOGGER_PHOTO_ID_5317606948478936562&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiqHZtmRCKtKKQ1Mqdz-SncPUykQuGl6D0I2gtSgz9i36Pt8AH4AF3CJuO2kjq73mQoT89HrI33Al1jmSCJXbNietInOjAEcKe5P6-QVmsT3LcNCf4wBjwfPNFkeCtdvvEIxpCAGeAOnfZq/s400/uk+flag.jpeg&quot; style=&quot;cursor: pointer; height: 27px; width: 47px;&quot; /&gt;&lt;/a&gt;   &lt;a href=&quot;http://electronicadesarrollo.blogspot.com/2007_12_30_archive.html&quot; onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; id=&quot;BLOGGER_PHOTO_ID_5317607508218779330&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhZbfFV6Idb6yY8ehKFe_eCofCrqX4fZPBhFg6rKDorUrpaXAA4xP-yaNb0JlOnLs2VL_Fq-ykZE8P5Qx3nZv5Bf152gcT8V0Pe1co8Whr_0jgYCn4OezPTF064QMWYtp0G03wbqkSVZk8i/s400/spain+flag.jpeg&quot; style=&quot;cursor: pointer; height: 30px; width: 45px;&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;;&quot;&gt;&lt;span style=&quot;color: rgb(0 , 153 , 0);&quot;&gt;&lt;span style=&quot;font-size: 130%;&quot;&gt;&lt;i&gt;Programación de PICs y Lenguajes de programación&lt;/i&gt;&lt;/span&gt;.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Justificación&lt;/b&gt;:Ultimamente hemos encontrado a muchos estudiantes y colegas que nos preguntan acerca de como pueden iniciarse en la programación de &lt;a href=&quot;http://es.wikipedia.org/wiki/Microcontrolador_PIC&quot;&gt;PIC&lt;/a&gt; micro (&lt;b&gt;P&lt;/b&gt;eripheral &lt;b&gt;I&lt;/b&gt;nterface &lt;b&gt;C&lt;/b&gt;ontroller) es por esto que a continuación se dan algunas pautas y consejos tanto para quienes ya están involucrados en el medio como para quienes empiezan y desean hacerlo de la manera mas profesional posible.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Objetivo&lt;/b&gt;: ayudar a aclarar dudas sobre los lenguajes de programación para &lt;a href=&quot;http://es.wikipedia.org/wiki/Microcontrolador_PIC&quot;&gt;PICs&lt;/a&gt; estableciendo comparaciones entre ellos y sacando conclusiones para ayudar a las personas que se inician en este mundo y a despejar dudas a quienes ya están involucrados en él.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Utilidad&lt;/b&gt;:Para quienes quieren comparar ventajas y desventajas entre los diferentes lenguajes de programación para PIC. Para quienes quieren conocer proveedores de compiladores para PIC. Para quienes quieren iniciarse en algún lenguaje específico de programación para &lt;a href=&quot;http://es.wikipedia.org/wiki/Microcontrolador_PIC&quot;&gt;PIC&lt;/a&gt; hay ejemplos que les pueden servir de introducción.&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: rgb(255 , 0 , 0);&quot;&gt;&lt;b&gt;Marco Teorico&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: rgb(255 , 0 , 0);&quot;&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;;&quot;&gt;Es muy común que las personas que se inician en la programación de microcontroladores PIC de Microchip encuentren como primer obstáculo el lenguaje con el que se programarán dichos dispositivos.&lt;br /&gt;En este artículo describiré las opciones existentes sobre los lenguajes de programación sus ventajas y desventajas y las conclusiones finales.&lt;br /&gt;&lt;br /&gt;Realmente cuando cargamos (quemamos) un PIC con un programa no lo hacemos con ningún lenguaje, en realidad lo cargamos con &lt;a href=&quot;http://es.wikipedia.org/wiki/Opcode&quot;&gt;OPCODES&lt;/a&gt; o “códigos de operación” que por lo general están en base hexadecimal, sin importar la gama de PIC (baja, media o alta) esto siempre será así. Un ejemplo de opcode para PIC es:&lt;br /&gt;&lt;span style=&quot;color: rgb(51 , 204 , 0);&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: rgb(102 , 51 , 0);&quot;&gt;286C&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;Que es una instrucción referente a &lt;span style=&quot;color: rgb(255 , 102 , 0); font-weight: bold;&quot;&gt;GOTO 0X6C&lt;/span&gt;, es decir salte a la posición 6C de la memoria de programa.&lt;br /&gt;Cuando se compila un programa cualquiera que sea y en el lenguaje que sea, se genera una lista de &lt;span style=&quot;color: rgb(0 , 0 , 0);&quot;&gt;OPCODES&lt;/span&gt; la cual quedará almacenada en el archivo con extensión &lt;span style=&quot;color: rgb(51 , 153 , 153); font-weight: bold;&quot;&gt;.hex&lt;/span&gt;. &lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;;&quot;&gt;&lt;br /&gt;Por ejemplo creamos la rutina &lt;span style=&quot;color: rgb(51 , 153 , 153); font-weight: bold;&quot;&gt;ENCENDERLED&lt;/span&gt;, cuando compilemos se generará, entre otros, un archivo &lt;span style=&quot;color: rgb(51 , 153 , 153); font-weight: bold;&quot;&gt;ENCENDERLED.hex&lt;/span&gt; que es el archivo que realmente le cargamos a la memoria de programa del PIC. Para efectuar la tarea de cargar el archivo &lt;span style=&quot;color: rgb(51 , 153 , 153); font-weight: bold;&quot;&gt;*.hex&lt;/span&gt; al PIC es necesario tener una herramienta de hardware llamada programador que es la interfaz entre el computador y el pic.&lt;br /&gt;&lt;br /&gt;Dentro de los lenguajes en los que programamos rutinas para PIC existen tres posibilidades: &lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;&lt;br /&gt;
&lt;li style=&quot;font-weight: bold;&quot;&gt;Lenguaje BASIC &lt;/li&gt;
&lt;br /&gt;
&lt;li style=&quot;font-weight: bold;&quot;&gt;Lenguaje C &lt;/li&gt;
&lt;br /&gt;
&lt;li style=&quot;font-weight: bold;&quot;&gt;Lenguaje Ensamblador (assembler) &lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Un error común que cometen los principiantes cuando se les menciona la posibilidad de programar en Basic o C es pensar que con Visual Basic o Visual C++ pueden elaborar rutinas para PICs, pero en realidad lo que se debe tener en cuenta es que existen compiladores especiales para estos lenguajes y por ende la sintaxis es diferente de la de un lenguaje orientado a objetos.&lt;br /&gt;
&lt;br /&gt;
A continuación veremos detalladamente cada una de las tres posibilidades enumeradas anteriormente, cada una con sus ventajas y desventajas asi como un sencillo ejemplo de aplicación en cada una de ellas.&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: rgb(102 , 102 , 0);&quot;&gt;&lt;b&gt;1. El lenguaje BASIC&lt;/b&gt;&lt;/span&gt;: &lt;br /&gt;
&lt;br /&gt;
Ventajas:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;&lt;br /&gt;
&lt;li&gt;Es un lenguaje muy simple y con instrucciones fácilmente legibles, incluso por no expertos.&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;br /&gt;
Desventajas:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;&lt;br /&gt;
&lt;li&gt;Nunca vas a tener el control del programa en cuanto tiempos de ejecución y control de registros bit a bit. &lt;/li&gt;
&lt;br /&gt;
&lt;li&gt;Es muy complicado el manejo de interrupciones simultáneas en este lenguaje.&lt;br /&gt;Tiene limitaciones cuando genera el archivo .hex, es decir no optimiza el tamaño de memoria de programa del PIC. &lt;/li&gt;
&lt;br /&gt;
&lt;li&gt;La mayoría de compiladores para este lenguaje pueden utilizarse únicamente bajo ambiente Windows. &lt;/li&gt;
&lt;/ul&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;;&quot;&gt;Existen varias casas que producen compiladores para este lenguaje, entre ellas se pueden mencionar a: &lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://www.letbasic.com/&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;;&quot;&gt;www.letbasic.com&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://www.melabs.com/&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;;&quot;&gt;www.melabs.com&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://www.basicmicro.com/&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;;&quot;&gt;www.basicmicro.com&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;;&quot;&gt;&lt;br /&gt;El más conocido y que a mi parecer es mejor entre ellos es el &lt;span style=&quot;color: rgb(255 , 102 , 0);&quot;&gt;PICBASIC PRO&lt;/span&gt; de MicroEngineering Labs Inc. No es gratuito.&lt;br /&gt;&lt;br /&gt;Ejemplo: rutina que hace parpadear un led en el pin cero del puerto B cada 200 milisegundos en lenguaje Basic empleando el software PICBASIC PRO: &lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhcVPhqFmWlXkdpXx5dHA1bVQihkPRwsr-gXHFZnCURNWmq-1UEHg6wdwd56_SLxBhMF4CukijbNz3cDmjV7C2FP-wDXtrDEDQMprudOCq0MOn-81uw9JlbYx5gvw-IABBBcGv41YshhW3i/s1600-h/picbasicpro.jpg&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; id=&quot;BLOGGER_PHOTO_ID_5151232134205906690&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhcVPhqFmWlXkdpXx5dHA1bVQihkPRwsr-gXHFZnCURNWmq-1UEHg6wdwd56_SLxBhMF4CukijbNz3cDmjV7C2FP-wDXtrDEDQMprudOCq0MOn-81uw9JlbYx5gvw-IABBBcGv41YshhW3i/s400/picbasicpro.jpg&quot; style=&quot;display: block; margin: 0px auto 10px; text-align: center;&quot; /&gt;&lt;/a&gt; &lt;br /&gt;
&lt;div align=&quot;center&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEghrz4W8FWjvSpqhiZXab3ljRNHCISMl-x_effDhcsDoVlL3mKyxAjxsy7ENMjcikItu4j-VDcx57J55Rx84ywOVy3Xhs7uFPl1ObkQbRoYP1S8lMx6O7bcEuBL6xE0xbR-KweNrfrk7hlI/s1600-h/picbasicpro.jpg&quot;&gt;&lt;/a&gt;&lt;/div&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(102 , 102 , 0);&quot;&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(102 , 102 , 0);&quot;&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(102 , 102 , 0);&quot;&gt;&lt;b&gt;Lenguaje C&lt;/b&gt;&lt;/span&gt;:&lt;br /&gt;
&lt;br /&gt;
Ventajas:&lt;br /&gt;
&lt;ul&gt;&lt;br /&gt;
&lt;li&gt;Es un lenguaje de alto nivel mas cercano a la máquina.&lt;/li&gt;
&lt;br /&gt;
&lt;li&gt;Puedes construir rutinas matemáticas fácilmente.&lt;/li&gt;
&lt;br /&gt;
&lt;li&gt;Puede ser de ayuda al combinarlo con Ensamblador sobre todo en la gama alta.&lt;/li&gt;
&lt;br /&gt;
&lt;li&gt;Se pueden crear macros con este lenguaje, para después simplificar el código en diferentes desarrollos.&lt;/li&gt;
&lt;br /&gt;
&lt;li&gt;Es aceptado por la empresa fabricante Microchip, incluso ellos tienen algunos compiladores C. &lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
Desventajas: &lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;&lt;br /&gt;
&lt;li&gt;Los programas al compilarlos pueden resultar un poco extensos y pesados por ello debe tenerse en cuenta la capacidad de memoria de programa del PIC a utilizar.&lt;/li&gt;
&lt;br /&gt;
&lt;li&gt;Con este lenguaje tampoco se puede controlar del todo los tiempos y los registros bit a bit. &lt;/li&gt;
&lt;/ul&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;;&quot;&gt;Para este lenguaje existen también varias casas que producen software y compiladores para este lenguaje entre ellas las más importantes son:&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;br /&gt;
&lt;a href=&quot;http://www.microchip.com/&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;;&quot;&gt;www.microchip.com&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;;&quot;&gt; con sus compiladores &lt;span style=&quot;color: rgb(255 , 102 , 0);&quot;&gt;C18&lt;/span&gt; para la gama alta y &lt;span style=&quot;color: rgb(255 , 102 , 0);&quot;&gt;C30&lt;/span&gt; para los dsPIC, ambos Como otras herramientas de esta marca, se puede incluir en el entorno gratuito &lt;span style=&quot;color: rgb(255 , 102 , 0);&quot;&gt;MPLAB IDE&lt;/span&gt;, y permite a los desarrolladores, llevar a cabo su aplicación en un lenguaje de alto nivel. No son del todo gratuitos.&lt;/span&gt;&lt;a href=&quot;http://www.ccsinfo.com/&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;;&quot;&gt;www.ccsinfo.com&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;;&quot;&gt; Sus herramientas más conocidas, son la serie de compiladores para las distintas familias de microcontroladores Microchip PIC® MCU: &lt;span style=&quot;color: rgb(255 , 102 , 0);&quot;&gt;PCW IDE&lt;/span&gt;, &lt;span style=&quot;color: rgb(255 , 102 , 0);&quot;&gt;PCWH IDE&lt;/span&gt; y &lt;span style=&quot;color: rgb(255 , 102 , 0);&quot;&gt;PCWHD&lt;/span&gt; IDE. Ofrecen la posibilidad de que el usuario pueda elegir el compilador concreto para la familia que va a utilizar, y compilar en modo linea de comandos, tanto para Microsoft Windows, como para Linux. Para los usuarios de Microsoft Windows, también existe la posibilidad de utilizar su potente entorno de desarrollo &lt;span style=&quot;color: rgb(255 , 102 , 0);&quot;&gt;PCWHD IDE&lt;/span&gt;, que incluye además de los compiladores para todas las familias de PICs y dsPICs, entre otras cosas, un editor de código con reconocimiento de comandos, un depurador ICD, y un Wizard que en base a lo que el usuario le indique, generará la mayor parte del código para inicializar el microcontrolador. Además incluyen una gran cantidad de librerías muy útiles para asociar con la rutina que estamos desarrollando. Este compilador también puede integrarse con &lt;span style=&quot;color: rgb(255 , 102 , 0);&quot;&gt;MPLAB IDE&lt;/span&gt;. No es gratuito.&lt;/span&gt;&lt;a href=&quot;http://www.htsoft.com/&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;;&quot;&gt;www.htsoft.com&lt;/span&gt;&lt;/a&gt; (&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;;&quot;&gt;HI-TECH) Sus herramientas más conocidas son &lt;span style=&quot;color: rgb(255 , 102 , 0);&quot;&gt;PICC&lt;/span&gt; y &lt;span style=&quot;color: rgb(255 , 102 , 0);&quot;&gt;PICC18&lt;/span&gt;. No son gratuitos.&lt;br /&gt;&lt;br /&gt;Ejemplo: rutina que hace parpadear un led en el pin cero del puerto B cada 200 milisegundos en lenguaje C empleando el software de CCS PCW IDE:&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjCwc8mHRU8thX-br-cgkSnrN1UlPEwDOKal8fTHeK7V2P9IXx_yxhQ0pYj1DTXJYTtd7D51MZzOLwfJZr4mpVdw5XE5UsYpvq4YVelcMWLgodribeNNYMWzpPSOqm6t1xAC1yrVyVPtuoc/s1600-h/lenguaje+c.jpg&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; id=&quot;BLOGGER_PHOTO_ID_5151232559407669010&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjCwc8mHRU8thX-br-cgkSnrN1UlPEwDOKal8fTHeK7V2P9IXx_yxhQ0pYj1DTXJYTtd7D51MZzOLwfJZr4mpVdw5XE5UsYpvq4YVelcMWLgodribeNNYMWzpPSOqm6t1xAC1yrVyVPtuoc/s400/lenguaje+c.jpg&quot; style=&quot;display: block; margin: 0px auto 10px; text-align: center;&quot; /&gt;&lt;/a&gt;&lt;/span&gt; &lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;;&quot;&gt;&lt;span style=&quot;color: rgb(102 , 102 , 0);&quot;&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;;&quot;&gt;&lt;span style=&quot;color: rgb(102 , 102 , 0);&quot;&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;;&quot;&gt;&lt;span style=&quot;color: rgb(102 , 102 , 0);&quot;&gt;&lt;b&gt;Lenguaje Ensamblador:&lt;/b&gt;&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;;&quot;&gt;Ventajas: &lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;&lt;br /&gt;
&lt;li&gt;Es el lenguaje de bajo nivel natural de la línea PIC tanto para gama baja, media o alta. &lt;/li&gt;
&lt;br /&gt;
&lt;li&gt;Con el se tiene un aprovechamiento eficiente de los recursos del PIC. &lt;/li&gt;
&lt;br /&gt;
&lt;li&gt;Se pueden crear macros con este lenguaje, para después simplificar el código en diferentes desarrollos. &lt;/li&gt;
&lt;br /&gt;
&lt;li&gt;Con el se pueden controlar los tiempos y los registros bit a bit. &lt;/li&gt;
&lt;br /&gt;
&lt;li&gt;Excelente para manejar interrupciones simultáneas. &lt;/li&gt;
&lt;br /&gt;
&lt;li&gt;Cuando se genera el archivo .hex éste es completamente optimizado. &lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
Desventajas: &lt;br /&gt;
&lt;ul&gt;&lt;br /&gt;
&lt;li&gt;En realidad desde mi punto de vista no existe ninguna, excepto cuando no se tiene experiencia en programación puede tardarse el desarrollo de alguna rutina en comparación con los otros lenguajes. &lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;br /&gt;
El compilador para este lenguaje es el &lt;span style=&quot;color: rgb(255 , 102 , 0);&quot;&gt;MPLAB IDE&lt;/span&gt; el cual se consigue totalmente gratuito en la página de Microchip y constantemente están sacando nuevas versiones, debe aclararse que este solo funciona bajo ambiente Windows. Para Linux existe un versión alternativa llamada: &lt;span style=&quot;color: rgb(51 , 51 , 255); text-decoration: underline;&quot;&gt;PIKLAB&lt;/span&gt; la cual presenta simuladores, editores, ensambladores y soporta una gran cantidad de compiladores C para PIC.&lt;br /&gt;
&lt;br /&gt;
Ejemplo: rutina que hace parpadear un led en el pin cero del puerto B cada 200 milisegundos en lenguaje Ensamblador empleando el software de Microchip MPLAB IDE: &lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjBD9DVMZgx5T2uKVjxAVi-pBCX6LcTYdYodHHgn0i3PfV4BgdOpzU-JCKvJpCZnsGIuYJn__PR0d1a3rNT2G2Cp_UxyIfJ06v7JvHedQ8a5m8M91pYRSTgOrsl_Ph0klE7Fn3XsrpP1Vdn/s1600-h/lenguaje+assembler1.jpg&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; id=&quot;BLOGGER_PHOTO_ID_5151228711116971746&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjBD9DVMZgx5T2uKVjxAVi-pBCX6LcTYdYodHHgn0i3PfV4BgdOpzU-JCKvJpCZnsGIuYJn__PR0d1a3rNT2G2Cp_UxyIfJ06v7JvHedQ8a5m8M91pYRSTgOrsl_Ph0klE7Fn3XsrpP1Vdn/s400/lenguaje+assembler1.jpg&quot; style=&quot;display: block; margin: 0px auto 10px; text-align: center;&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgqlpMT-rI3J8W3ks7osj4bJvv0pg2F9-vGDLwuLVm7j_PW02IkhNAkRnuJZtJpt829awcprfrDdG29yKD3BZeMjn4Ry5DAfJdZXvhtRqFHhhYwGEf41xYHRznr4bImZyZpXmElJWm8NIWP/s1600-h/lenguaje+assembler2.jpg&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; id=&quot;BLOGGER_PHOTO_ID_5151229969542389490&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgqlpMT-rI3J8W3ks7osj4bJvv0pg2F9-vGDLwuLVm7j_PW02IkhNAkRnuJZtJpt829awcprfrDdG29yKD3BZeMjn4Ry5DAfJdZXvhtRqFHhhYwGEf41xYHRznr4bImZyZpXmElJWm8NIWP/s400/lenguaje+assembler2.jpg&quot; style=&quot;display: block; margin: 0px auto 10px; text-align: center;&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;span style=&quot;color: rgb(102 , 102 , 0);&quot;&gt;&lt;b&gt;CONCLUSIONES:&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Después de haber analizado los diferentes aspectos que envuelven la programación de PICs en cuanto a los lenguajes,para trabajos profesionales se aconseja lo siguiente: &lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;;&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;ul&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;;&quot;&gt;&lt;br /&gt;
&lt;li&gt;Lo ideal es manejar el lenguaje ensamblador para los rangos de gama baja, media y alta por versatilidad y mejor aprovechamiento de recursos del PIC.&lt;/li&gt;
&lt;br /&gt;
&lt;li&gt;Si usted va a comenzar con la programación de PICs debería primero dominar el lenguaje Ensamblador, no le aconsejaría el lenguaje BASIC. Una vez haya dominado el lenguaje Ensamblador para gama baja y media puede iniciarse con el lenguaje C.&lt;/li&gt;
&lt;br /&gt;
&lt;li&gt;El Lenguaje C es un lenguaje de alto nivel y puede resultar útil combinándolo con el lenguaje Ensamblador ya que nos puede ahorrar tiempo de programación, depuración y simulación sobre todo en la gama alta y en los dsPIC.&lt;/li&gt;
&lt;br /&gt;
&lt;li&gt;Puede emplear el Lenguaje C o el Ensamblador para crear macros que le simplifiquen desarrollos futuros.&lt;/li&gt;
&lt;/span&gt;&lt;/ul&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;;&quot;&gt;Para ver la página personal del autor haz clic &lt;a href=&quot;http://luisrobertoarteaga.blogspot.com/&quot;&gt;aqui&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div&gt;
Para ver más tutoriales, proyectos y noticias visita: &lt;/div&gt;
&lt;a href=&quot;http://www.electronicaplugandplay.com/tutoriales&quot; target=&quot;_blank&quot;&gt;Tutoriales&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;https://www.youtube.com/channel/UC19dWy12QAvnpsHWeaP5xBg&quot; target=&quot;_blank&quot;&gt;Videotutoriales &lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://www.electronicaplugandplay.com/noticias&quot; target=&quot;_blank&quot;&gt;Noticias&lt;/a&gt;&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;;&quot;&gt;
&lt;/span&gt;&lt;/ul&gt;
&lt;div class=&quot;blogger-post-footer&quot;&gt;Nuevo en Proyectos de Electrónica&lt;/div&gt;</description><link>http://electronicadesarrollo.blogspot.com/2007/12/programacin-de-pics.html</link><author>noreply@blogger.com (Desarrollamos Proyectos)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiqHZtmRCKtKKQ1Mqdz-SncPUykQuGl6D0I2gtSgz9i36Pt8AH4AF3CJuO2kjq73mQoT89HrI33Al1jmSCJXbNietInOjAEcKe5P6-QVmsT3LcNCf4wBjwfPNFkeCtdvvEIxpCAGeAOnfZq/s72-c/uk+flag.jpeg" height="72" width="72"/><thr:total>28</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2980661185907846535.post-7966186851582953699</guid><pubDate>Sat, 16 Jun 2007 00:43:00 +0000</pubDate><atom:updated>2023-05-10T11:56:47.972-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">PROYECTOS</category><category domain="http://www.blogger.com/atom/ns#">SOFTWARE</category><title>Manejo de puerto paralelo con IO.DLL</title><description>&lt;!-- Google tag (gtag.js) --&gt;
&lt;script async src=&quot;https://www.googletagmanager.com/gtag/js?id=G-MJ0EMHR5ZG&quot;&gt;&lt;/script&gt;
&lt;script&gt;
  window.dataLayer = window.dataLayer || [];
  function gtag(){dataLayer.push(arguments);}
  gtag(&#39;js&#39;, new Date());

  gtag(&#39;config&#39;, &#39;G-MJ0EMHR5ZG&#39;);
&lt;/script&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 85%;&quot;&gt;Este blog fue diseñado para apoyar a la comunidad de desarrolladores de electrónica. Se publicarán artículos de proyectos desarrollados por el  Administrador del blog,  Ingeniero Electrónico, quien estará atento a sus inquietudes o sugerencias igualmente todos pueden compartir sus conocimientos e intercambiar opiniones o aportes dentro de un marco de respeto y tolerancia. Los artículos publicados aquí&lt;/span&gt;&lt;span style=&quot;font-size: 85%;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 85%;&quot;&gt;son elaborados con tal sencillez que son totalmente comprensibles y los proyectos indicados pueden ser llevados a cabo por cualquier estudiante o profesional del ramo de la electrónica.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;;&quot;&gt;Para ver la página personal del autor haz clic &lt;a href=&quot;http://luisrobertoarteaga.blogspot.com/&quot;&gt;aqui&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div&gt;
Para ver más tutoriales, proyectos y noticias visita: &lt;/div&gt;
&lt;a href=&quot;http://www.electronicaplugandplay.com/tutoriales&quot; target=&quot;_blank&quot;&gt;Tutoriales&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;https://www.youtube.com/channel/UC19dWy12QAvnpsHWeaP5xBg&quot; target=&quot;_blank&quot;&gt;Videotutoriales &lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://www.electronicaplugandplay.com/noticias&quot; target=&quot;_blank&quot;&gt;Noticias&lt;/a&gt;&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: rgb(255 , 255 , 204);&quot;&gt;--&lt;/span&gt;&lt;span style=&quot;font-size: 85%;&quot;&gt;English&lt;/span&gt;&lt;span style=&quot;color: rgb(255 , 255 , 204); font-size: 85%;&quot;&gt;---&lt;/span&gt;&lt;span style=&quot;font-size: 85%;&quot;&gt;&lt;span style=&quot;color: rgb(255 , 255 , 204);&quot;&gt;-&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 85%;&quot;&gt;&lt;span style=&quot;color: rgb(255 , 255 , 204);&quot;&gt;-&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 85%;&quot;&gt;&lt;span style=&quot;color: rgb(255 , 255 , 204);&quot;&gt;-&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 85%;&quot;&gt;&lt;span style=&quot;color: rgb(255 , 255 , 204);&quot;&gt;-&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 85%;&quot;&gt;Español&lt;/span&gt;&lt;br /&gt;
&lt;div align=&quot;justify&quot;&gt;
&lt;a href=&quot;http://e-worldprojects.blogspot.com/2009_03_01_archive.html&quot; onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; id=&quot;BLOGGER_PHOTO_ID_5317606948478936562&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiqHZtmRCKtKKQ1Mqdz-SncPUykQuGl6D0I2gtSgz9i36Pt8AH4AF3CJuO2kjq73mQoT89HrI33Al1jmSCJXbNietInOjAEcKe5P6-QVmsT3LcNCf4wBjwfPNFkeCtdvvEIxpCAGeAOnfZq/s400/uk+flag.jpeg&quot; style=&quot;cursor: pointer; height: 27px; width: 47px;&quot; /&gt;&lt;/a&gt;   &lt;a href=&quot;http://electronicadesarrollo.blogspot.com/2007_06_10_archive.html&quot; onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; id=&quot;BLOGGER_PHOTO_ID_5317607508218779330&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhZbfFV6Idb6yY8ehKFe_eCofCrqX4fZPBhFg6rKDorUrpaXAA4xP-yaNb0JlOnLs2VL_Fq-ykZE8P5Qx3nZv5Bf152gcT8V0Pe1co8Whr_0jgYCn4OezPTF064QMWYtp0G03wbqkSVZk8i/s400/spain+flag.jpeg&quot; style=&quot;cursor: pointer; height: 30px; width: 45px;&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;i&gt;&lt;span style=&quot;color: rgb(0 , 153 , 0); font-family: &amp;quot;arial&amp;quot;;&quot;&gt;&lt;b&gt;CONTROL DEL PUERTO PARALELO DE UN COMPUTADOR&lt;/b&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;;&quot;&gt;&lt;b&gt;Justificación:&lt;/b&gt; Se escogió este sencillo proyecto como el primero en Proyectos de Electrónica, por su gran utilidad que puede dársele en cualquier momento.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;;&quot;&gt;&lt;b&gt;Objetivo:&lt;/b&gt; Elaborar un programa que envié datos (bytes) a través del puerto paralelo de nuestro pc. Dicho software debe trabajar bajo windows xp, windows 2003, windows 2000, windows ME y windows 9x.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;;&quot;&gt;&lt;b&gt;Utilidad:&lt;/b&gt; Enviar datos al puerto paralelo es de gran utilidad ya que a través de este pueden activarse/desactivarse cargas empleando relés o triacs, también pueden enviarse órdenes a un dispositivo microcontrolado o a un PIC.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: rgb(255 , 0 , 0); font-family: &amp;quot;arial&amp;quot;;&quot;&gt;&lt;b&gt;Marco teórico&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;;&quot;&gt;Todos los computadores de escritorio traen un conector DB 25 Hembra de color púrpura con una distribución de pines como se muestra en la figura 1. En el presente proyecto se emplearán las líneas D0 a D7 (pines 2 al 9) para sacar los datos de control, y el pin 25 (GND) para dar la referencia eléctrica.&lt;/span&gt;&lt;/div&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;;&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div align=&quot;justify&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhpHJ4rBuuSxe4fuvLENwP5HV5OZUYD9RCvItcwtAlxOQVOYzXP-vIplB6d7nbn8ZkFhFjCV9cQePoT1Ix76brDZ9glr9XFW9cLMjSLoPLBZDpx07h8pWNuZdqI4x7DtjD6Mr8KKzmc6q1g/s1600-h/puerto+paralelo+pines.png&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; id=&quot;BLOGGER_PHOTO_ID_5151242051285393186&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhpHJ4rBuuSxe4fuvLENwP5HV5OZUYD9RCvItcwtAlxOQVOYzXP-vIplB6d7nbn8ZkFhFjCV9cQePoT1Ix76brDZ9glr9XFW9cLMjSLoPLBZDpx07h8pWNuZdqI4x7DtjD6Mr8KKzmc6q1g/s400/puerto+paralelo+pines.png&quot; style=&quot;display: block; margin: 0px auto 10px; text-align: center;&quot; /&gt;&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div align=&quot;center&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;;&quot;&gt;Figura 1. Puerto Paralelo&lt;/span&gt;&lt;/div&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;;&quot;&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;div align=&quot;justify&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;;&quot;&gt;Como estandard el puerto paralelo de un PC posee tres bytes:&lt;/span&gt;&lt;/div&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;;&quot;&gt;
&lt;/span&gt;&lt;map name=&quot;ym0&quot;&gt;&lt;area coords=&quot;2,2,84,14&quot; href=&quot;http://ar.geocities.yahoo.com/&quot; shape=&quot;RECT&quot; target=&quot;_new&quot;&gt;&lt;/area&gt;&lt;area coords=&quot;87,2,101,14&quot; href=&quot;http://ar.geocities.yahoo.com/v/adsq.html&quot; shape=&quot;RECT&quot; target=&quot;_new&quot;&gt;&lt;/area&gt;&lt;area coords=&quot;2,2,84,14&quot; href=&quot;http://ar.geocities.yahoo.com/&quot; shape=&quot;RECT&quot; target=&quot;_new&quot;&gt;&lt;/area&gt;&lt;area coords=&quot;104,2,118,14&quot; href=&quot;http://www.blogger.com/&quot; onclick=&quot;javascript:yfiOC(2);return false&quot; onmouseout=&quot;window.status=&#39;&#39;;return true&quot; onmouseover=&quot;window.status=&#39;Expandir&#39;;return true&quot; shape=&quot;RECT&quot;&gt;&lt;/area&gt;&lt;area coords=&quot;2,2,84,14&quot; href=&quot;http://ar.geocities.yahoo.com/&quot; shape=&quot;RECT&quot; target=&quot;_new&quot;&gt;&lt;/area&gt;&lt;area coords=&quot;121,2,135,14&quot; href=&quot;http://www.blogger.com/&quot; onclick=&quot;javascript:yfiOC(-1);return false&quot; onmouseout=&quot;window.status=&#39;&#39;;return true&quot; onmouseover=&quot;window.status=&#39;Hide&#39;;return true&quot; shape=&quot;RECT&quot;&gt;&lt;/area&gt;&lt;/map&gt;&lt;map name=&quot;ym1&quot;&gt;&lt;area coords=&quot;2,2,84,14&quot; href=&quot;http://ar.geocities.yahoo.com/&quot; shape=&quot;RECT&quot; target=&quot;_new&quot;&gt;&lt;/area&gt;&lt;area coords=&quot;87,2,101,14&quot; href=&quot;http://ar.geocities.yahoo.com/v/adsq.html&quot; shape=&quot;RECT&quot; target=&quot;_new&quot;&gt;&lt;/area&gt;&lt;area coords=&quot;2,2,84,14&quot; href=&quot;http://ar.geocities.yahoo.com/&quot; shape=&quot;RECT&quot; target=&quot;_new&quot;&gt;&lt;/area&gt;&lt;area coords=&quot;104,2,118,14&quot; href=&quot;http://www.blogger.com/&quot; onclick=&quot;javascript:yfiOC(2);return false&quot; onmouseout=&quot;window.status=&#39;&#39;;return true&quot; onmouseover=&quot;window.status=&#39;Expandir&#39;;return true&quot; shape=&quot;RECT&quot;&gt;&lt;/area&gt;&lt;area coords=&quot;2,2,84,14&quot; href=&quot;http://ar.geocities.yahoo.com/&quot; shape=&quot;RECT&quot; target=&quot;_new&quot;&gt;&lt;/area&gt;&lt;area coords=&quot;121,2,135,14&quot; href=&quot;http://www.blogger.com/&quot; onclick=&quot;javascript:yfiOC(0);return false&quot; onmouseout=&quot;window.status=&#39;&#39;;return true&quot; onmouseover=&quot;window.status=&#39;Minimizar&#39;;return true&quot; shape=&quot;RECT&quot;&gt;&lt;/area&gt;&lt;/map&gt;&lt;map name=&quot;ym2&quot;&gt;&lt;area coords=&quot;2,2,84,14&quot; href=&quot;http://ar.geocities.yahoo.com/&quot; shape=&quot;RECT&quot; target=&quot;_new&quot;&gt;&lt;/area&gt;&lt;area coords=&quot;87,2,101,14&quot; href=&quot;http://ar.geocities.yahoo.com/v/adsq.html&quot; shape=&quot;RECT&quot; target=&quot;_new&quot;&gt;&lt;/area&gt;&lt;area coords=&quot;2,2,84,14&quot; href=&quot;http://ar.geocities.yahoo.com/&quot; shape=&quot;RECT&quot; target=&quot;_new&quot;&gt;&lt;/area&gt;&lt;area coords=&quot;121,2,135,14&quot; href=&quot;http://www.blogger.com/&quot; onclick=&quot;javascript:yfiOC(0);return false&quot; onmouseout=&quot;window.status=&#39;&#39;;return true&quot; onmouseover=&quot;window.status=&#39;Minimizar&#39;;return true&quot; shape=&quot;RECT&quot;&gt;&lt;/area&gt;&lt;/map&gt; DATAPORT, STATUSPORT y CONTROLPORT&lt;span style=&quot;font-size: 100%;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;;&quot;&gt;.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: 100%;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;;&quot;&gt;&lt;br /&gt;Para este proyecto se utilizará el DATAPORT, el cual posee obviamente una dirección asignada, la cual puede variar dependiendo del tipo de PC, para determinar cual es la dirección adecuada Usted debe dirigirse al &lt;span style=&quot;font-weight: bold;&quot;&gt;panel de control&lt;/span&gt;, &lt;span style=&quot;font-weight: bold;&quot;&gt;sistema&lt;/span&gt;, &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 100%;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;;&quot;&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;administrador de dispositivos&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 100%;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;;&quot;&gt;, &lt;span style=&quot;font-weight: bold;&quot;&gt;puerto (COM y LPT)&lt;/span&gt;, y luego haga click derecho sobre LPT1 o LPT2 según el puerto que desea controlar y de nuevo haga click en &lt;span style=&quot;font-weight: bold;&quot;&gt;propiedades&lt;/span&gt;, busque la pestaña recursos y observe que intervalo de I/O le corresponde. Para nuestro caso se observa lo siguiente:&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;I/O Range 378-37F&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-size: 100%;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;;&quot;&gt;Como estos valores se encuentran en base hexadecimal convertimos a decimal y obtenemos&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;I/0 Range 888-895&lt;/span&gt;Por defecto escogemos la primera opción es decir número del Dataport es 888.&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;;&quot;&gt;Utilizaremos incialmente Visual Basic 6.0 para la creación de nuestro software de control.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;;&quot;&gt;Dado que Microsoft en sus sistemas operativos recientes a creado modos de protección para los puertos del pc de tal forma que ellos no son tan fáciles de accesar como lo eran en las versiones 9x de windows, hemos de necesitar una librería &quot;universal&quot; que nos permita acceder de una forma práctica a dichos puertos, ella es la librería &lt;a href=&quot;http://www.programmersheaven.com/download/22947/download.aspx&quot;&gt;&lt;b&gt;io.dll&lt;/b&gt;&lt;/a&gt;.&lt;/span&gt; &lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;;&quot;&gt;Primero debe descomprimir el paquete en una carpeta cualquiera y luego buscar i0.dll y copiarlo.&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;;&quot;&gt;Una vez copiada esta librería se debe instalar en la carpeta system32 de windows. La ruta a seguir es &lt;span style=&quot;color: rgb(153 , 102 , 51);&quot;&gt;C:\WINDOWS\system32&lt;/span&gt;&lt;span style=&quot;color: rgb(0 , 0 , 0);&quot;&gt;,(solamente pegarla en esta carpeta)&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;;&quot;&gt;&lt;span style=&quot;color: rgb(0 , 0 , 0);&quot;&gt;.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;;&quot;&gt;&lt;span style=&quot;color: rgb(255 , 0 , 0);&quot;&gt;&lt;b&gt;Elaboración del software&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;;&quot;&gt;1. Elabore un nuevo proyecto &lt;span style=&quot;color: rgb(255 , 153 , 102);&quot;&gt;Estándar.Exe&lt;/span&gt; en visual basic 6.0 como se muestra en la figura 2&lt;/span&gt;.&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgjEBDjf5fJ2roUVMt63WaXqHeLBeHkWr5K7SqYoUl0A1mCHMFWPWrkEQYdNWRNFaUiPASZP_pZAH4-w3pDPbZkb56FlFoQmJmN2zWsV5kDi6hQwvgZ4ZbJlRgOttE4u6AY-0_z4ATo7Vee/s1600-h/proyecto+.exe&quot; onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; id=&quot;BLOGGER_PHOTO_ID_5317278952133887250&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgjEBDjf5fJ2roUVMt63WaXqHeLBeHkWr5K7SqYoUl0A1mCHMFWPWrkEQYdNWRNFaUiPASZP_pZAH4-w3pDPbZkb56FlFoQmJmN2zWsV5kDi6hQwvgZ4ZbJlRgOttE4u6AY-0_z4ATo7Vee/s400/proyecto+.exe&quot; style=&quot;cursor: pointer; display: block; height: 360px; margin: 0px auto 10px; text-align: center; width: 400px;&quot; /&gt;&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;;&quot;&gt;Figura 2. Nuevo proyecto estándard .EXE&lt;/span&gt;&lt;/div&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;;&quot;&gt;2. Cree un módulo general como se muestra en la figura 3 usando la herramienta añadir un nuevo formulario.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj0TwJAjiXC90AwpDVKKtDBuWC_MSLdb7yHQfbjcDbopqbvEK8kK07fbr2UnNloLKVEHsuWQCGvACPfJEwxT2iKgEvEQqG-Xa_5T3Ls299TowoGH1XA0HdhDVwIo4efW5dVggxHV9w71_FO/s1600-h/Modulo+general.JPG&quot; onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; id=&quot;BLOGGER_PHOTO_ID_5317281942246879874&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj0TwJAjiXC90AwpDVKKtDBuWC_MSLdb7yHQfbjcDbopqbvEK8kK07fbr2UnNloLKVEHsuWQCGvACPfJEwxT2iKgEvEQqG-Xa_5T3Ls299TowoGH1XA0HdhDVwIo4efW5dVggxHV9w71_FO/s400/Modulo+general.JPG&quot; style=&quot;cursor: pointer; display: block; height: 362px; margin: 0px auto 10px; text-align: center; width: 400px;&quot; /&gt;&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 85%;&quot;&gt;&lt;span style=&quot;color: rgb(51 , 153 , 153);&quot;&gt;&lt;span style=&quot;color: rgb(51 , 51 , 255);&quot;&gt;&lt;span style=&quot;font-size: 100%;&quot;&gt;&lt;span style=&quot;color: rgb(0 , 0 , 0);&quot;&gt;Figura 3. Añadiendo un nuevo módulo.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 85%;&quot;&gt;&lt;span style=&quot;color: rgb(51 , 153 , 153);&quot;&gt;&lt;span style=&quot;color: rgb(51 , 51 , 255);&quot;&gt;&lt;span style=&quot;font-size: 100%;&quot;&gt;&lt;span style=&quot;color: rgb(0 , 0 , 0);&quot;&gt;3. Abra el nuevo módulo y pegue el siguiente código en él:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 85%;&quot;&gt;&lt;span style=&quot;color: rgb(51 , 153 , 153);&quot;&gt;&lt;span style=&quot;color: rgb(51 , 51 , 255);&quot;&gt;Public Declare Sub&lt;/span&gt; PortOut &lt;span style=&quot;color: rgb(51 , 51 , 255);&quot;&gt;Lib &lt;/span&gt;&quot;IO.DLL&quot; (&lt;span style=&quot;color: rgb(51 , 51 , 255);&quot;&gt;ByVal&lt;/span&gt; Port As Integer, &lt;span style=&quot;color: rgb(51 , 51 , 255);&quot;&gt;ByVal &lt;/span&gt;Data As Byte)&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(51 , 153 , 153);&quot;&gt;&lt;span style=&quot;color: rgb(51 , 51 , 255);&quot;&gt;Public Declare Sub&lt;/span&gt; PortWordOut &lt;span style=&quot;color: rgb(51 , 51 , 255);&quot;&gt;Lib&lt;/span&gt; &quot;IO.DLL&quot; (&lt;span style=&quot;color: rgb(51 , 51 , 255);&quot;&gt;ByVal&lt;/span&gt; Port As Integer, &lt;span style=&quot;color: rgb(51 , 51 , 255);&quot;&gt;ByVal&lt;/span&gt; Data As Integer)&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(51 , 153 , 153);&quot;&gt;&lt;span style=&quot;color: rgb(51 , 51 , 255);&quot;&gt;Public Declare Sub&lt;/span&gt; PortDWordOut &lt;span style=&quot;color: rgb(51 , 51 , 255);&quot;&gt;Lib&lt;/span&gt; &quot;IO.DLL&quot; (&lt;span style=&quot;color: rgb(51 , 51 , 255);&quot;&gt;ByVal&lt;/span&gt; Port As Integer, &lt;span style=&quot;color: rgb(51 , 51 , 255);&quot;&gt;ByVal&lt;/span&gt; Data As Long)&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(51 , 153 , 153);&quot;&gt;&lt;span style=&quot;color: rgb(51 , 51 , 255);&quot;&gt;Public Declare Function&lt;/span&gt; PortIn &lt;span style=&quot;color: rgb(51 , 51 , 255);&quot;&gt;Lib &lt;/span&gt;&quot;IO.DLL&quot; (&lt;span style=&quot;color: rgb(51 , 51 , 255);&quot;&gt;ByVal&lt;/span&gt; Port As Integer) As Byte&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(51 , 153 , 153);&quot;&gt;&lt;span style=&quot;color: rgb(51 , 51 , 255);&quot;&gt;Public Declare Function &lt;/span&gt;PortDWordIn &lt;span style=&quot;color: rgb(51 , 51 , 255);&quot;&gt;Lib&lt;/span&gt; &quot;IO.DLL&quot; (&lt;span style=&quot;color: rgb(51 , 51 , 255);&quot;&gt;ByVal&lt;/span&gt; Port As Integer) As Long&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(51 , 153 , 153);&quot;&gt;&lt;span style=&quot;color: rgb(51 , 51 , 255);&quot;&gt;Public Declare Sub&lt;/span&gt; SetPortBit &lt;span style=&quot;color: rgb(51 , 51 , 255);&quot;&gt;Lib&lt;/span&gt; &quot;IO.DLL&quot; (&lt;span style=&quot;color: rgb(51 , 51 , 255);&quot;&gt;ByVal&lt;/span&gt; Port As Integer, &lt;span style=&quot;color: rgb(51 , 51 , 255);&quot;&gt;ByVal&lt;/span&gt; Bit As Byte)&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(51 , 153 , 153);&quot;&gt;&lt;span style=&quot;color: rgb(51 , 51 , 255);&quot;&gt;Public Declare Sub&lt;/span&gt; ClrPortBit &lt;span style=&quot;color: rgb(51 , 51 , 255);&quot;&gt;Lib&lt;/span&gt; &quot;IO.DLL&quot; (&lt;span style=&quot;color: rgb(51 , 51 , 255);&quot;&gt;ByVal &lt;/span&gt;Port As Integer, &lt;span style=&quot;color: rgb(51 , 51 , 255);&quot;&gt;ByVal&lt;/span&gt; Bit As Byte)&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(51 , 153 , 153);&quot;&gt;&lt;span style=&quot;color: rgb(51 , 51 , 255);&quot;&gt;Public Declare Sub&lt;/span&gt; NotPortBit &lt;span style=&quot;color: rgb(51 , 51 , 255);&quot;&gt;Lib&lt;/span&gt; &quot;IO.DLL&quot; (&lt;span style=&quot;color: rgb(51 , 51 , 255);&quot;&gt;ByVal&lt;/span&gt; Port As Integer, &lt;span style=&quot;color: rgb(51 , 51 , 255);&quot;&gt;ByVal&lt;/span&gt; Bit As Byte)&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(51 , 153 , 153);&quot;&gt;&lt;span style=&quot;color: rgb(51 , 51 , 255);&quot;&gt;Public Declare Function&lt;/span&gt; GetPortBit &lt;span style=&quot;color: rgb(51 , 51 , 255);&quot;&gt;Lib&lt;/span&gt; &quot;IO.DLL&quot; (&lt;span style=&quot;color: rgb(51 , 51 , 255);&quot;&gt;ByVal&lt;/span&gt; Port As Integer, &lt;span style=&quot;color: rgb(51 , 51 , 255);&quot;&gt;ByVal &lt;/span&gt;Bit As Byte) As Boolean&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(51 , 153 , 153);&quot;&gt;&lt;span style=&quot;color: rgb(51 , 51 , 255);&quot;&gt;Public Declare Function&lt;/span&gt; RightPortShift &lt;span style=&quot;color: rgb(51 , 51 , 255);&quot;&gt;Lib&lt;/span&gt; &quot;IO.DLL&quot; (&lt;span style=&quot;color: rgb(51 , 51 , 255);&quot;&gt;ByVal &lt;/span&gt;Port As Integer, &lt;span style=&quot;color: rgb(51 , 51 , 255);&quot;&gt;ByVal&lt;/span&gt; Val As Boolean) As Boolean&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(51 , 153 , 153);&quot;&gt;&lt;span style=&quot;color: rgb(51 , 51 , 255);&quot;&gt;Public Declare Function&lt;/span&gt; LeftPortShift&lt;span style=&quot;color: rgb(51 , 51 , 255);&quot;&gt; Lib&lt;/span&gt; &quot;IO.DLL&quot; (&lt;span style=&quot;color: rgb(51 , 51 , 255);&quot;&gt;ByVal&lt;/span&gt; Port As Integer, &lt;span style=&quot;color: rgb(51 , 51 , 255);&quot;&gt;ByVal&lt;/span&gt; Val As Boolean) As Boolean&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(51 , 153 , 153);&quot;&gt;&lt;span style=&quot;color: rgb(51 , 51 , 255);&quot;&gt;Public Declare Function&lt;/span&gt; IsDriverInstalled &lt;span style=&quot;color: rgb(51 , 51 , 255);&quot;&gt;Lib&lt;/span&gt; &quot;IO.DLL&quot; () As Boolean&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0 , 0 , 0); font-size: 100%;&quot;&gt;4. Por último cree un nuevo formulario y añada un botón para cada bit a controlar, como lo muestra la figura 4, también añada un botón para limpiar el puerto y otro para activar todo el puerto.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjU7k-u2G61lW7tf122ndXtsa3j8s4ulBSrmh7F_RCqrmOPnSvlbr5KjolP2Asdw5HuWZrbRE4auDc4KJQk1VlGqZZ9nKPSXmRgrl0QPlIqEW7_QIAws5os3kUcX_7U9wcL1UHDCcImPLRd/s1600-h/formulario+control+pp.jpg&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; id=&quot;BLOGGER_PHOTO_ID_5151243034832903986&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjU7k-u2G61lW7tf122ndXtsa3j8s4ulBSrmh7F_RCqrmOPnSvlbr5KjolP2Asdw5HuWZrbRE4auDc4KJQk1VlGqZZ9nKPSXmRgrl0QPlIqEW7_QIAws5os3kUcX_7U9wcL1UHDCcImPLRd/s400/formulario+control+pp.jpg&quot; style=&quot;display: block; margin: 0px auto 10px; text-align: center;&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;div align=&quot;center&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 85%;&quot;&gt;&lt;span style=&quot;color: rgb(51 , 153 , 153);&quot;&gt;&lt;span style=&quot;color: rgb(0 , 0 , 0); font-size: 100%;&quot;&gt;Figura 4. Formulario con que que se controla cada bit del puerto paralelo&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 85%;&quot;&gt;&lt;span style=&quot;color: rgb(51 , 153 , 153);&quot;&gt;&lt;span style=&quot;color: rgb(0 , 0 , 0); font-size: 100%;&quot;&gt;El código correspondiente a cada botón es el siguiente:&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 85%;&quot;&gt;&lt;span style=&quot;color: rgb(51 , 51 , 255);&quot;&gt;Private Sub&lt;/span&gt; Command1_Click() &#39;&lt;span style=&quot;color: rgb(51 , 153 , 153);&quot;&gt; bit 0 en 1&lt;/span&gt;&lt;br /&gt;PortOut 888, 1&lt;br /&gt;&lt;span style=&quot;color: rgb(51 , 51 , 255);&quot;&gt;End Sub&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(51 , 51 , 255);&quot;&gt;Private Sub&lt;/span&gt; Command2_Click() &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;color: rgb(51 , 153 , 153); font-family: &amp;quot;arial&amp;quot;; font-size: 85%;&quot;&gt;&lt;span style=&quot;color: rgb(51 , 153 , 153);&quot;&gt;&lt;span style=&quot;color: rgb(0 , 0 , 0); font-size: 100%;&quot;&gt;&lt;span style=&quot;font-size: 85%;&quot;&gt;&#39; &lt;span style=&quot;color: rgb(51 , 153 , 153);&quot;&gt;bit 1 en 1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 85%;&quot;&gt;&lt;span style=&quot;color: rgb(51 , 153 , 153);&quot;&gt;&lt;span style=&quot;color: rgb(0 , 0 , 0); font-size: 100%;&quot;&gt;&lt;span style=&quot;font-size: 85%;&quot;&gt;PortOut 888, 2&lt;br /&gt;&lt;span style=&quot;color: rgb(51 , 51 , 255);&quot;&gt;End Sub&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(51 , 51 , 255);&quot;&gt;Private Sub&lt;/span&gt; Command3_Click() &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 85%;&quot;&gt;&lt;span style=&quot;color: rgb(51 , 153 , 153);&quot;&gt;&lt;span style=&quot;color: rgb(0 , 0 , 0); font-size: 100%;&quot;&gt;&lt;span style=&quot;font-size: 85%;&quot;&gt;&#39; &lt;span style=&quot;color: rgb(51 , 153 , 153);&quot;&gt;bit 2 en 1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 85%;&quot;&gt;&lt;span style=&quot;color: rgb(51 , 153 , 153);&quot;&gt;&lt;span style=&quot;color: rgb(0 , 0 , 0); font-size: 100%;&quot;&gt;&lt;span style=&quot;font-size: 85%;&quot;&gt;PortOut 888, 4&lt;br /&gt;&lt;span style=&quot;color: rgb(51 , 51 , 255);&quot;&gt;End Sub&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(51 , 51 , 255);&quot;&gt;Private Sub&lt;/span&gt; Command4_Click() &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 85%;&quot;&gt;&lt;span style=&quot;color: rgb(51 , 153 , 153);&quot;&gt;&lt;span style=&quot;color: rgb(0 , 0 , 0); font-size: 100%;&quot;&gt;&lt;span style=&quot;font-size: 85%;&quot;&gt;&#39; &lt;span style=&quot;color: rgb(51 , 153 , 153);&quot;&gt;bit 3 en 1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 85%;&quot;&gt;&lt;span style=&quot;color: rgb(51 , 153 , 153);&quot;&gt;&lt;span style=&quot;color: rgb(0 , 0 , 0); font-size: 100%;&quot;&gt;&lt;span style=&quot;font-size: 85%;&quot;&gt;PortOut 888, 8&lt;br /&gt;&lt;span style=&quot;color: rgb(51 , 51 , 255);&quot;&gt;End Sub&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(51 , 51 , 255);&quot;&gt;Private Sub &lt;/span&gt;Command5_Click() &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 85%;&quot;&gt;&lt;span style=&quot;color: rgb(51 , 153 , 153);&quot;&gt;&lt;span style=&quot;color: rgb(0 , 0 , 0); font-size: 100%;&quot;&gt;&lt;span style=&quot;font-size: 85%;&quot;&gt;&#39; &lt;span style=&quot;color: rgb(51 , 153 , 153);&quot;&gt;bit 4 en 1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 85%;&quot;&gt;&lt;span style=&quot;color: rgb(51 , 153 , 153);&quot;&gt;&lt;span style=&quot;color: rgb(0 , 0 , 0); font-size: 100%;&quot;&gt;&lt;span style=&quot;font-size: 85%;&quot;&gt;PortOut 888, 16&lt;br /&gt;&lt;span style=&quot;color: rgb(51 , 51 , 255);&quot;&gt;End Sub&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(51 , 51 , 255);&quot;&gt;Private Sub &lt;/span&gt;Command6_Click() &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 85%;&quot;&gt;&lt;span style=&quot;color: rgb(51 , 153 , 153);&quot;&gt;&lt;span style=&quot;color: rgb(0 , 0 , 0); font-size: 100%;&quot;&gt;&lt;span style=&quot;font-size: 85%;&quot;&gt;&#39; &lt;span style=&quot;color: rgb(51 , 153 , 153);&quot;&gt;bit 5 en 1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 85%;&quot;&gt;&lt;span style=&quot;color: rgb(51 , 153 , 153);&quot;&gt;&lt;span style=&quot;color: rgb(0 , 0 , 0); font-size: 100%;&quot;&gt;&lt;span style=&quot;font-size: 85%;&quot;&gt;PortOut 888, 32&lt;br /&gt;&lt;span style=&quot;color: rgb(51 , 51 , 255);&quot;&gt;End Sub&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(51 , 51 , 255);&quot;&gt;Private Sub&lt;/span&gt; Command7_Click() &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 85%;&quot;&gt;&lt;span style=&quot;color: rgb(51 , 153 , 153);&quot;&gt;&lt;span style=&quot;color: rgb(0 , 0 , 0); font-size: 100%;&quot;&gt;&lt;span style=&quot;font-size: 85%;&quot;&gt;&#39; &lt;span style=&quot;color: rgb(51 , 153 , 153);&quot;&gt;bit 6 en 1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 85%;&quot;&gt;&lt;span style=&quot;color: rgb(51 , 153 , 153);&quot;&gt;&lt;span style=&quot;color: rgb(0 , 0 , 0); font-size: 100%;&quot;&gt;&lt;span style=&quot;font-size: 85%;&quot;&gt;PortOut 888, 64&lt;br /&gt;&lt;span style=&quot;color: rgb(51 , 51 , 255);&quot;&gt;End Sub&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(51 , 51 , 255);&quot;&gt;Private Sub &lt;/span&gt;Command8_Click() &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 85%;&quot;&gt;&lt;span style=&quot;color: rgb(51 , 153 , 153);&quot;&gt;&lt;span style=&quot;color: rgb(0 , 0 , 0); font-size: 100%;&quot;&gt;&lt;span style=&quot;font-size: 85%;&quot;&gt;&#39; &lt;span style=&quot;color: rgb(51 , 153 , 153);&quot;&gt;bit 7 en 1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 85%;&quot;&gt;&lt;span style=&quot;color: rgb(51 , 153 , 153);&quot;&gt;&lt;span style=&quot;color: rgb(0 , 0 , 0); font-size: 100%;&quot;&gt;&lt;span style=&quot;font-size: 85%;&quot;&gt;PortOut 888, 128&lt;br /&gt;&lt;span style=&quot;color: rgb(51 , 51 , 255);&quot;&gt;End Sub&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(51 , 51 , 255);&quot;&gt;Private Sub &lt;/span&gt;Command9_Click() &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 85%;&quot;&gt;&lt;span style=&quot;color: rgb(51 , 153 , 153);&quot;&gt;&lt;span style=&quot;color: rgb(0 , 0 , 0); font-size: 100%;&quot;&gt;&lt;span style=&quot;font-size: 85%;&quot;&gt;&#39; &lt;span style=&quot;color: rgb(51 , 153 , 153);&quot;&gt;D0 a D7 en 0&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 85%;&quot;&gt;&lt;span style=&quot;color: rgb(51 , 153 , 153);&quot;&gt;&lt;span style=&quot;color: rgb(0 , 0 , 0); font-size: 100%;&quot;&gt;&lt;span style=&quot;font-size: 85%;&quot;&gt;PortOut 888, 0&lt;br /&gt;&lt;span style=&quot;color: rgb(51 , 51 , 255);&quot;&gt;End Sub&lt;br /&gt;&lt;br /&gt;Private Sub &lt;/span&gt;Command10_Click() &#39;&lt;span style=&quot;color: rgb(51 , 153 , 153);&quot;&gt;D0 a D7 en 1&lt;/span&gt;&lt;br /&gt;PortOut 888, 255&lt;br /&gt;&lt;span style=&quot;color: rgb(51 , 51 , 255);&quot;&gt;End Sub&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 85%;&quot;&gt;&lt;span style=&quot;color: rgb(51 , 153 , 153);&quot;&gt;&lt;span style=&quot;color: rgb(0 , 0 , 0); font-size: 100%;&quot;&gt;Obsérvese lo siguiente: la instrucción &lt;span style=&quot;color: rgb(255 , 102 , 0);&quot;&gt;portout&lt;/span&gt; tiene dos valores a asignar estos son: Número del puerto y dato a sacar. Por tal razón se establece el puerto 888 y el dato a enviar en decimal. Como no todos casos son iguales ud debe identificar muy bien el número del puerto como se indico anteriormente y cambiar el este código fuente al nuevo valor del número de puerto.&lt;/span&gt;&lt;span style=&quot;color: rgb(0 , 0 , 0); font-size: 100%;&quot;&gt;Para el software anterior, cada vez que se de click a un botón de la ventana formulario se obtendrá algún dato de salida en el puerto paralelo. Para comprobarlo es necesario elaborar un hardware sencillo a base de leds con el anodo en la salida del pin del pueto paralelo y el cátodo a GND. También puede probarse el anterior software con un multímeto si se desea con la función Voltaje en dc y la punta roja de prueba en la salida del pin de puerto y la punta negra en el pin 25 (GND).&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;arial&amp;quot;; font-size: 85%;&quot;&gt; &lt;span style=&quot;font-size: 130%;&quot;&gt;Ya están disponibles algunos &lt;/span&gt;&lt;span style=&quot;font-size: 130%;&quot;&gt;&lt;a href=&quot;http://electronicadesarrollo.blogspot.com/2009/11/circuitos-para-el-puerto-paralelo.html&quot; style=&quot;color: #3333ff;&quot;&gt;circuitos de ejemplo&lt;/a&gt; para probar este software &lt;a href=&quot;http://electronicadesarrollo.blogspot.com/2009/11/circuitos-para-el-puerto-paralelo.html&quot; style=&quot;color: #3333ff;&quot;&gt;visítalos&lt;/a&gt;.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;;&quot;&gt;Para ver la página personal del autor haz clic &lt;a href=&quot;http://luisrobertoarteaga.blogspot.com/&quot;&gt;aqui&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div&gt;
Para ver más tutoriales, proyectos y noticias visita: &lt;/div&gt;
&lt;a href=&quot;http://www.electronicaplugandplay.com/tutoriales&quot; target=&quot;_blank&quot;&gt;Tutoriales&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;https://www.youtube.com/channel/UC19dWy12QAvnpsHWeaP5xBg&quot; target=&quot;_blank&quot;&gt;Videotutoriales &lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://www.electronicaplugandplay.com/noticias&quot; target=&quot;_blank&quot;&gt;Noticias&lt;/a&gt;&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;&lt;span style=&quot;font-size: 85%;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;i&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot;;&quot;&gt;&lt;/span&gt;&lt;/i&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;Nuevo en Proyectos de Electrónica&lt;/div&gt;</description><link>http://electronicadesarrollo.blogspot.com/2007/06/proyectos-de-electronica.html</link><author>noreply@blogger.com (Desarrollamos Proyectos)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiqHZtmRCKtKKQ1Mqdz-SncPUykQuGl6D0I2gtSgz9i36Pt8AH4AF3CJuO2kjq73mQoT89HrI33Al1jmSCJXbNietInOjAEcKe5P6-QVmsT3LcNCf4wBjwfPNFkeCtdvvEIxpCAGeAOnfZq/s72-c/uk+flag.jpeg" height="72" width="72"/><thr:total>24</thr:total></item></channel></rss>