<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>MicroPIC &#187; Uncategorized</title>
	<atom:link href="http://micropic.wordpress.com/category/uncategorized/feed/" rel="self" type="application/rss+xml" />
	<link>http://micropic.wordpress.com</link>
	<description>Tutoriales y Proyectos con Microcontroladores PIC</description>
	<lastBuildDate>Sun, 05 Oct 2008 15:46:53 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<cloud domain='micropic.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://www.gravatar.com/blavatar/1d21e30c68a54806b77bd297c0ecf116?s=96&#038;d=http://s.wordpress.com/i/buttonw-com.png</url>
		<title>MicroPIC &#187; Uncategorized</title>
		<link>http://micropic.wordpress.com</link>
	</image>
			<item>
		<title>El PIC 16F628</title>
		<link>http://micropic.wordpress.com/2007/01/12/el-pic-16f628/</link>
		<comments>http://micropic.wordpress.com/2007/01/12/el-pic-16f628/#comments</comments>
		<pubDate>Fri, 12 Jan 2007 18:55:20 +0000</pubDate>
		<dc:creator>micropic</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://micropic.wordpress.com/2007/01/12/el-pic-16f628/</guid>
		<description><![CDATA[Para comenzar a programar microcontroladores PIC, el PIC que se utilizará (es decir, el que utilizaré en este sitio) será el 16F628 (16F628a), que como ya se mencionó anteriormente presenta algunas ventajas que lo hacen superior (desde el punto de vista de un principiante) a otros PIC.
Antes que otra cosa es necesario ver algo de [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=micropic.wordpress.com&blog=672997&post=5&subd=micropic&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Para comenzar a programar microcontroladores PIC, el PIC que se utilizará (es decir, el que utilizaré en este sitio) será el 16F628 (16F628a), que como ya se mencionó anteriormente presenta algunas ventajas que lo hacen superior (desde el punto de vista de un principiante) a otros PIC.</p>
<p>Antes que otra cosa es necesario ver algo de &#8220;teoría&#8221; sobre el PIC, sin embargo aquí solamente mencionaré las características principales, para información más detallada es recomendable consultar la hoja de datos proporcionada por Microchip.</p>
<p><span id="more-5"></span></p>
<p><strong>El PIC 16F628 incorpora tres características importantes</strong> que son:</p>
<ul>
<li>Procesador tipo RISC (Procesador con un Conjunto Reducido de Instrucciones)</li>
<li>Procesador segmentado</li>
<li>Arquitectura HARVARD</li>
</ul>
<p>Con estos recursos el PIC es capaz de ejecutar instrucciones solamente en un ciclo de instrucción. Con la estructura segmentada se pueden realizar simultáneamente las dos fases en que se descompone cada instrucción, ejecución de la instrucción y busqueda de la siguiente.</p>
<p>La separación de los dos tipos de memoria son los pilares de la arquitectura Harvard, esto permite acceder en forma simultánea e independiente a la memoria de datos y a la de instrucciones. El tener memorias separadas permite que cada una tenga el ancho y tamaño más adecuado. Así en el PIC 16F628 el ancho de los datos es de un byte, mientras que la de las instrucciones es de 14 bits.</p>
<p><strong>Características principales</strong></p>
<ul>
<li>Conjunto reducido de instrucciones (RISC). Sólamente  35 instrucciones que aprender a utilizar</li>
<li>Oscilador interno de 4MHz</li>
<li>Las instrucciones se ejecutan en un sólo ciclo de máquina excepto los saltos (<em>goto</em> y <em>call</em>), que requieren 2 ciclos. Aquí hay que especificar que un ciclo de máquina se lleva 4 ciclos de reloj, si se utiliza el reloj interno de 4MHz, los ciclos de máquina se realizarán con una frecuencia de 1MHz, es decir que cada instrucción se ejecutará en 1uS (microsegundo)</li>
<li>Opera con una frecuencia de reloj de hasta 20 MHz (ciclo de máquina de 200 ns)</li>
<li>Memoria de programa: 2048 locaciones de 14 bits</li>
<li>Memoria de datos: Memoria RAM de 224 bytes (8 bits por registro)</li>
<li>Memoria EEPROM: 128 bytes (8 bits por registro)</li>
<li>Stack de 8 niveles</li>
<li>16 Terminales de I/O que soportan corrientes de hasta 25 mA</li>
<li>  3 Temporizadores</li>
<li>Módulos de comunicación serie, comparadores, PWM</li>
</ul>
<p>Otra característica de los PICs es el manejo de los bancos de registros. En línea general, los registros se clasifican como de uso general (GPR) y de uso específico o de funciones especiales (SFR).</p>
<ul>
<li>Los registros de uso general pueden ser usados directamente por el usuario, sin existir restricciones. Pueden servir para almacenar resultados que se reciben desde el registro W (acumulador), datos que provienen de las puertas de entradas, etc.</li>
<li>Los registros de uso específicos no pueden ser usados directamente por el usuario. Estos registros controlan prácticamente todo el funcionamiento del microcontrolador, pues toda la configuración necesaria para  funcionamiento del microcontrolador es hecho a través de algún tipo de SFR.</li>
</ul>
<p><strong>Pines de I/O (Entrada/Salida)</strong></p>
<p><a TITLE="pin-diagram.png" HREF="http://micropic.files.wordpress.com/2007/01/pin-diagram.png"><img ALT="pin-diagram.png" SRC="http://micropic.files.wordpress.com/2007/01/pin-diagram.png" /></a></p>
<p><em>PORTA: RA0-RA7:</em></p>
<ul>
<li>Los pines RA0-RA4 y RA6–RA7 son bidireccionales y manejan señales TTL</li>
<li>El pin RA5 es una entrada Schmitt Trigger que sirve también para entrar en el modo de programación cuando se aplica una tensión igual a Vpp (13,4V mínimo)</li>
<li>El terminal RA4 puede configurarse como reloj de entrada para el contador TMR0</li>
<li>Los pines RA0-RA3 sirven de entrada para el comparador analógico</li>
</ul>
<p>PORTB: RB0-RB7:</p>
<ul>
<li>Los pines RB0-RB7 son bidireccionales y manejan señales TTL</li>
<li>Por software se pueden activar las resistencias de pull-up internas, que evitan el uso de resistencias externas en caso de que los terminales se utilicen como entrada (permite, en algunos casos, reducir el número de componentes externos)</li>
<li>El pin RB0 se puede utilizar como entrada de pulsos para provocar una interrupción externa</li>
<li>Los pines RB4-RB7 están diseñados para detectar una interrupción por cambio de estado. Esta interrupción puede utilizarse para controlar un teclado matricial, por poner un ejemplo</li>
</ul>
<p>Otros pines</p>
<ul>
<li>VDD: Pin de alimentación positiva. De 2 a 5,5 Vcc</li>
<li>VSS: Pin de alimentación negativa. Se conecta a tierra o a 0 Vcc</li>
<li>MCLR: Master Clear (Reset). Si el nivel lógico de este terminal es bajo (0 Vcc), el microcontrolador permanece inactivo. Este Reset se controla mediante la palabra de configuración del PIC</li>
<li>OSC1/CLKIN: Entrada de oscilador externo</li>
<li>OSC2/CLKOUT: Salida del oscilador. El PIC 16F628 dependiendo de cómo se configure puede proporcionar una salida de reloj por medio de este pin</li>
</ul>
<p>En la próxima entrega se dará una introducción al ambiente de desarrollo MPLAB y se realizará el primer programa. También se verá el conjunto de instrucciones del PIC y las directivas del ensamblador MPASM.</p>
<p>Para más información consultar las hojas de datos de Microchip: <a HREF="http://ww1.microchip.com/downloads/en/DeviceDoc/40300C.pdf">16F628</a> y <a HREF="http://ww1.microchip.com/downloads/en/DeviceDoc/40044E.pdf">16F628A</a></p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/micropic.wordpress.com/5/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/micropic.wordpress.com/5/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/micropic.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/micropic.wordpress.com/5/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/micropic.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/micropic.wordpress.com/5/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/micropic.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/micropic.wordpress.com/5/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/micropic.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/micropic.wordpress.com/5/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/micropic.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/micropic.wordpress.com/5/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=micropic.wordpress.com&blog=672997&post=5&subd=micropic&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://micropic.wordpress.com/2007/01/12/el-pic-16f628/feed/</wfw:commentRss>
		<slash:comments>22</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/f692212d8c3bca2ea0d6028582097e0e?s=96&#38;d=identicon" medium="image">
			<media:title type="html">micropic</media:title>
		</media:content>
	</item>
		<item>
		<title>Comenzando con los PICs</title>
		<link>http://micropic.wordpress.com/2007/01/11/empezando-con-pics/</link>
		<comments>http://micropic.wordpress.com/2007/01/11/empezando-con-pics/#comments</comments>
		<pubDate>Thu, 11 Jan 2007 18:49:55 +0000</pubDate>
		<dc:creator>micropic</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://micropic.wordpress.com/2007/01/11/empezando-con-pics/</guid>
		<description><![CDATA[Los PICs son microcontroladores RISC con una arquitectura harvard modificada fabricados por Microchip Technology Inc. Son dispositivos extremadamente versátiles. Se pueden usar en aplicaciones que van desde hacer parpadear algunos leds o controlar un robot simple hasta proyectos más complejos como un tarificador telefónico, un osciloscopio, un servidor web y prácticamente cualquier proyecto que se pueda imaginar.
El [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=micropic.wordpress.com&blog=672997&post=4&subd=micropic&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Los PICs son microcontroladores RISC con una arquitectura harvard modificada fabricados por <a HREF="http://www.microchip.com" TARGET="_blank" TITLE="Microchip Technology Inc.">Microchip Technology Inc.</a> Son dispositivos extremadamente versátiles. Se pueden usar en aplicaciones que van desde hacer parpadear algunos leds o controlar un robot simple hasta proyectos más complejos como un tarificador telefónico, un osciloscopio, un servidor web y prácticamente cualquier proyecto que se pueda imaginar.</p>
<p><strong>El lenguaje de los PICs</strong></p>
<p>Los microcontroladores PIC para su programación utilizan un número de instrucciones reducido (RISC) que varía de 35 instrucciones para la gama baja hasta alrededor de 70 para la gama alta. Este conjunto de instrucciones incluye instrucciones para realizar una variedad de operaciones entre el acumulador y una constante o entre el acumulador y una locación de memoria, así como para ejecución condicional de código, llamadas y saltos a otras rutinas y partes del programa. Para su programación Microchip proporciona un ambiente de desarrollo gratuito llamado <a TITLE="MPLAB IDE" HREF="http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;nodeId=1406&amp;dDocName=en019469&amp;part=SW007002">MPLAB IDE</a> que además incluye un simulador y un ensamblador.</p>
<p><span id="more-4"></span></p>
<p>Además de lenguaje ensamblador los PICs se pueden programar utilizando lenguajes de alto nivel como C y Basic, además es posible programarlos usando Pascal, Jal y Forth. En MicroPIC el lenguaje utilizado será ensamblador en un principio y posteriormente se dará el salto a Basic y C. El IDE utilizado también será MPLAB.</p>
<p><strong>Elegir un PIC </strong></p>
<p>¿Entonces, con qué PIC empezar? Para mí la respuesta es sencilla: 16F628a. Hace algunos años la opción obvia era el pic 16F84, un pic económico y fácil de encontrar que lo convertía en la elección de cualquier aficionado. El 16F628a se puede considerar como una actualización del 16F84, maneja el mismo conjunto de instrucciones y es compatible pin a pin con este pero tiene las ventajas de ser más barato, tiene el doble de memoria de programa, mucha más memoria RAM, 3 pines de I/O más (16 mientras que el 16F84 tiene solamente 13), un módulo USART (puerto serie) y algunas virtudes más, entre ellas un oscilador integrado de 4MHz lo que hace su uso aún más sencillo.</p>
<p>Además del 16F628 otros PICs que merecen la pena son el 16F877 y el 18F452. El 16F877 tiene los mismos periféricos que el 628 y algúnos más (entre ellos un convertidor analógico-digital), además cuenta con mayor capacidad de memoria de programa, más memoria RAM y muchos más pines I/O. El 18F452 forma parte de la nueva serie de microcontroladores PIC de 16-bit, ofrece un conjunto de instrucciones mejorado, mejores periféricos, el doble de memoria y una velocidad de trabajo hasta 2 veces mayor que un 16F877 a un precio no mucho mayor. Sin embargo el 16F628 tiene la ventaja de contar con un oscilador interno, razón por la cual será el PIC utilizado en la mayoría de los ejemplos y tutoriales.</p>
<p><strong>Elegir un programador </strong></p>
<p>Esta puede ser una cuestión complicada ya que existe una cantidad muy grande de programadores disponibles, unos con ventajas sobre otros, pero eso es algo que depende de cada usuario. Microchip comercializa una serie de programadores que se pueden utilizar directamente con MPLAB, algunos de estos programadores son: PICStart Plus, Promate II, MPLAB PM3, ICD2, PICKit 1 y PICKit 2, los primeros 2 con interfaz serial y los últimos 4 con interfaz USB. Además de los programadores de Microchip también existen otros programadores comerciales como el <a TITLE="PIC-PG2" HREF="http://www.olimex.com/dev/pic-pg2.html">PIC-PG2</a> (serial), el <a TITLE="PIC-PG3" HREF="http://www.olimex.com/dev/pic-pg3.html">PIC-PG3</a> (paralelo), o el<a TITLE="PIC-MPC-USB" HREF="http://www.olimex.com/dev/pic-mcp-usb.html"> PIC-MPC</a> (USB) de <a TITLE="Olimex" HREF="http://www.olimex.com/dev">Olimex</a>.</p>
<p>No solo existen opciones comerciales, Olimex por ejemplo proporciona gratis los esquemas de  sus programadores. En internet es posible encontrar diagramas para distintos tipos de programadores, algunos con interfaz serial, otros utilizando el puerto paralelo, en los <a HREF="http://foros.solocodigo.com/">foros de solocódigo.com</a> hay un tema sobre <a HREF="http://foros.solocodigo.com/index.php?showtopic=14002">Programadores Para Microcontroladores Pic</a> que vale la pena revisar. Personalmente yo recomiendo estos tres programadores, todos con interfaz serial:</p>
<ul>
<li><a HREF="http://feng3.cool.ne.jp/en/rcd.html">Feng&#8217;s RCD</a>, programador sencillo que programa el 16F628 y el 16F628a</li>
<li><a HREF="http://www.hamradioindia.org/circuits/feng.php">Feng&#8217;s Multi PIC programmer</a>, multiprogramador, funciona con todos los pics que he probado</li>
<li><a HREF="http://www.olimex.com/dev/pic-pg2.html">PIC-PG2</a>, al igual que el multiprogramador de Feng este funciona con extensa lista de PICs</li>
</ul>
<p>Para programar los PICs hace falta algo más que el programador, también se ocupa un software compatible con ese programador. Dos programas muy buenos para dicha tarea son el <a HREF="http://www.ic-prog.com/">IC Prog</a> y el <a HREF="http://www.winpic800.com">WinPic800</a>.</p>
<p><strong>¿Cómo comenzar?</strong></p>
<p>Después de toda esta introducción la pregunta es ¿cómo comenzar? Bueno, eso en la próxima entrega <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/micropic.wordpress.com/4/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/micropic.wordpress.com/4/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/micropic.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/micropic.wordpress.com/4/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/micropic.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/micropic.wordpress.com/4/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/micropic.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/micropic.wordpress.com/4/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/micropic.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/micropic.wordpress.com/4/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/micropic.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/micropic.wordpress.com/4/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=micropic.wordpress.com&blog=672997&post=4&subd=micropic&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://micropic.wordpress.com/2007/01/11/empezando-con-pics/feed/</wfw:commentRss>
		<slash:comments>17</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/f692212d8c3bca2ea0d6028582097e0e?s=96&#38;d=identicon" medium="image">
			<media:title type="html">micropic</media:title>
		</media:content>
	</item>
	</channel>
</rss>