You are on page 1of 41

Products

Solutions

Kits

Easy Buy

Support

About Us

Ente r ke ywo rd s

Login | Cart (0)

El mundo de los microcontroladores - Microcontroladores PIC Programacin en C con ejemplos


TOC Capitulo 1 Capitulo 2 Capitulo 3 Capitulo 4 Apndice A

Feat ured Development Tools EasyPIC v7 Development Syst em

Capit ulo 1: El mundo de los microcont roladores


La situacin actual en el campo de los microcontroladores se ha producido gracias al desarrollo de la tecnologa de fabricacin de los circuitos integrados. Este desarrollo ha permitido construir las centenas de miles de transistores en un chip. Esto fue una condicin previa para la fabricacin de un microprocesador. Las primeras microcomputadoras se fabricaron al aadirles perifricos externos, tales como memoria, lneas de entrada/salida, temporizadores u otros. El incremento posterior de la densidad de integracin permiti crear un circuito integrado que contena tanto al procesador como perifricos. As es cmo fue desarrollada la primera microcomputadora en un solo chip, denominada ms tarde microcontrolador.

1.1 Introduccin 1.2 NMEROS, NMEROS, NMEROS... 1.3 DETALLES IMPORTANTES 1.4 MICROCONTROLADORES PIC

1.1 INTRODUCCIN
Lo s principiantes en electr nica creen que un micro co ntro lado r es igual a un micro pro cesado r. Esto no es cierto . Difieren uno del o tro en mucho s sentido s. La primera y la ms impo rtante diferencia es su funcio nalidad. Para utilizar al micro pro cesado r en una aplicaci n real, se debe de co nectar co n co mpo nentes tales co mo memo ria o co mpo nentes buses de transmisi n de dato s. Aunque el micro pro cesado r se co nsidera una mquina de co mputaci n po dero sa, no est preparado para la co municaci n co n lo s dispo sitivo s perifrico s que se le co nectan. Para que el micro pro cesado r se co munique co n algn perifrico , se deben utilizar lo s circuito s especiales. As era en el principio y esta prctica sigue vigente en la actualidad.

EasyPIC v7 is the seventh generation of our famous PIC d e ve lo p me nt b o ard . It is the product of accumulated knowledge over the past 10 years, and its state of the art of design, functionality and quality. Board comes with PIC 18F4 5K 22 device. [more info]

Feat ured Compilers mikroC PRO f or PIC

PDFmyURL.com

Popular PIC mico co nt ro lle rs are loved by hobbyists and 8- bit geeks. mikro C helps you bring your ideas to life easy as never before. [more info]

Po r o tro lado , al micro co ntro lado r se le disea de tal manera que tenga to das las co mpo nentes integradas en el mismo chip. No necesita de o tro s co mpo nentes especializado s para su aplicaci n, po rque to do s lo s circuito s necesario s, que de o tra manera co rrespo ndan a lo s perifrico s, ya se encuentran inco rpo rado s. As se aho rra tiempo y espacio necesario para co nstruir un dispo sitivo .

QUE PUEDEN HACER LOS MICROCONT ROLADORES?


Para entender co n ms facilidad las razo nes del xito tan grande de lo s micro co ntro lado res, vamo s a prestar atenci n al siguiente
PDFmyURL.com

ejemplo . Hace uno s 10 ao s, disear un dispo sitivo electr nico de co ntro l de un ascenso r de un edificio de vario s piso s era muy difcil, incluso para un equipo de experto s. Ha pensado alguna vez en qu requisito s debe cumplir un simple ascenso r? C mo lidiar co n la situaci n cuando do s o ms perso nas llaman al ascenso r al mismo tiempo ? Cul llamada tiene la prio ridad? C mo so lucio nar las cuestio nes de seguridad, de prdida de electricidad, de fallo s, de uso indebido ? Lo que sucede despus de reso lver esto s pro blemas bsico s es un pro ceso meticulo so de disear lo s dispo sitivo s adecuado s utilizando un gran nmero de lo s chips especializado s. Este pro ceso puede tardar semanas o meses, dependiendo de la co mplejidad del dispo sitivo . Cuando haya terminado el pro ceso , llega la ho ra de disear una placa de circuito impreso y de mo ntar el dispo sitivo .Un dispo sitivo eno rme! Es o tro trabajo difcil y tardado . Po r ltimo , cuando to do est terminado y pro bado adecuadamente, pasamo s al mo mento crucial y es cuando uno se co ncentra, respira pro fundamente y enciende la fuente de alimentaci n. Esto suele ser el punto en el que la fiesta se co nvierte en un verdadero trabajo puesto que lo s dispo sitivo s electr nico s casi nunca funcio nan apro piadamente desde el inicio . Preprese para muchas no ches sin do rmir, co rreccio nes, mejo ras... y no se o lvide de que to dava estamo s hablando de c mo po ner en marcha un simple ascenso r. Cuando el dispo sitivo finalmente empiece a funcio nar perfectamente y to do el mundo est satisfecho , y le paguen po r el trabajo que ha hecho , muchas co mpaas de desarro llo estarn interesadas en su trabajo . Po r supuesto , si tiene suerte, cada da le traer una o ferta de trabajo de un nuevo inversio nista. Sin embargo , si lo requieren para trabajar en el co ntro l de lo s elevado res de un nuevo edificio que tiene cuatro piso s ms de lo s que ya maneja su sistema de co ntro l. Sabe c mo pro ceder? Cree acaso que se pueden co ntro lar las demandas de sus clientes? Pensamo s que usted va a co nstruir un dispo sitivo universal que se puede utilizar en lo s edificio s de 4 a 40 piso s, una o bra maestra de electr nica. Bueno , incluso si usted co nsigue co nstruir una jo ya electr nica, su inversio nista le esperarar delante de la puerta pidiendo una cmara en el ascenso r o una msica relajante en caso de fallo de ascenso r. O un ascenso r co n do s puertas. De to do s mo do s, la ley de Murphy es inexo rable y sin duda usted no po dr to mar ventaja a pesar de to do s lo s esfuerzo s que ha hecho . Po r desgracia, to do lo que se ha dicho hasta aho ra sucede en la realidad. Esto es lo que dedicarse a la ingeniera electr nica realmente significa. Es as co mo se hacan las co sas hasta aparici n de lo s micro co ntro lado res diseado s - pequeo s, po tentes y barato s. Desde ese mo mento su pro gramaci n dej de ser una ciencia, y to do to m o tra direcci n ... El dispo sitivo electr nico capaz de co ntro lar un pequeo submarino , una gra o un ascenso r co mo el anterio rmente mencio nado , aho ra est inco rpo rado en un s lo chip. Lo s micro co ntro lado res o frecen una amplia gama de aplicacio nes y s lo algunas se explo ran no rmalmente. Le to ca a usted decidir qu quiere que haga el micro co ntro lado r y cargar un pro grama en l co n las instruccio nes apro piadas. Antes de encender el dispo sitivo es reco mendable verificar su funcio namiento co n ayuda de un simulado r. Si to do funcio na co mo es debido , inco rpo re el micro co ntro lado r en el sistema. Si alguna vez necesita cambiar, mejo rar o actualizar el pro grama, hgalo . Hasta cundo ? Hasta quedar satisfecho . Eso puede realizarse sin ningn pro blema.

PDFmyURL.com

PDFmyURL.com

Saba usted que todas las personas pueden ser clasificadas en uno de 10 grupos, en los que estn familiarizados con el sistema de numeracin binario y en los que no estn familiarizados con l. Si no entendi lo anterior significa que todava pertenece al segundo grupo. Si desea cambiar su estado, lea el siguiente texto que describe brevemente algunos de los conceptos bsicos utilizados ms tarde en este libro (slo para estar seguro de que estamos hablando en los mismos trminos).

1.2 NMEROS, NMEROS, NMEROS...


La matemtica es una gran ciencia! To do es tan l gico y simple... El universo de lo s nmero s se puede describir co n s lo diez dgito s. No o bstante, realmente tiene que ser as? Necesitamo s exactamente eso s 10 dgito s? Po r supuesto que no , es s lo cuesti n del hbito . Acurdese de las leccio nes de la escuela. Po r ejemplo , qu significa el nmero 76 4? Cuatro unidades, seis decenas y siete centenas. Muy simple! Se po dra expresar de una fo rma ms desarro llada? Po r supuesto que s: 4 + 6 0 + 70 0 . An ms desarro llado ? S: 4*1 + 6 *10 + 7*10 0 . Po dra este nmero parecer un po co ms cientfico ? La respuesta es s o tra vez: 4*10 0 + 6 *10 1 + 7*10 2. Qu significa esto realmente? Po r qu utilizamo s exactamente esto s nmero s 10 0 , 10 1 y 10 2 ? Po r qu es siempre el nmero 10 ? Es po rque utilizamo s 10 dgito s diferentes (0 , 1, 2...8 , 9 ). En o tras palabras, es po rque utilizamo s el sistema de numeraci n en base 10 , es decir el sistema de numeraci n decimal.

PDFmyURL.com

SIST EMA DE NUMERACIN BINARIO


Qu pasara si utilizramo s s lo do s nmero s 0 y 1? Si s lo pudiramo s afirmar (1) o negar (0 ) que algo existe. La respuesta es nada especial, seguiramo s utilizando lo s mismo s nmero s de la misma manera que utilizamo s ho y en da, no o bstante ello s pareceran un po co diferentes. Po r ejemplo : 110 110 10 .Cuntas so n realmente 110 110 10 pginas de un libro ? Para entenderlo , siga la misma l gica co mo en el ejemplo anterio r, pero en el o rden invertido . Tenga en cuenta que se trata de aritmtica co n s lo do s dgito s 0 y 1, es decir, del sistema de numeraci n en base 2 (sistema de numeraci n binario ).

PDFmyURL.com

Evidentemente, se trata del mismo nmero representado en do s sistemas de numeraci n diferentes. La nica diferencia entre estas do s representacio nes yace en el nmero de dgito s necesario s para escribir un nmero . Un dgito (2) se utiliza para escribir el nmero 2 en el sistema decimal, mientras que do s dgito s (1 y 0 ) se utilizan para escribir aquel nmero en el sistema binario . Aho ra est de acuerdo que hay 10 grupo s de gente? Bienvenido al mundo de la aritmtica binaria! Tiene alguna idea de d nde se utiliza? Excepto en las co ndicio nes de labo rato rio estrictamente co ntro ladas, lo s circuito s electr nico s ms co mplicado s no pueden especificar co n exactitud la diferencia entre do s magnitudes (do s valo res de vo ltaje, po r ejemplo ), si so n demasiado pequeo s (ms pequeo s que uno s po co s vo ltio s). La raz n so n lo s ruido s elctrico s y fen meno s que se presentan dentro de lo que llamamo s ento rno de trabajo real (alguno s ejemplo s de esto s fen meno s so n lo s cambio s imprevisibles de la tensi n de alimentaci n, cambio s de temperatura, to lerancia a lo s valo res de lo s co mpo nentes etc...). Imagnese una co mputado ra que o pera so bre nmero s decimales al tratarlo s de la siguiente manera: 0 =0 V, 1=5V, 2=10 V, 3=15V, 4=20 V... 9 =45V!? Alguien dijo bateras? Una so luci n mucho ms fcil es una l gica binaria do nde 0 indica la ausencia de vo ltaje, mientras que 1 indica la presencia de vo ltaje. Simplemente, es fcil de escribir 0 o 1 en vez de no hay vo ltaje o hay vo ltaje. Mediante el cero l gico (0 ) y uno l gico (1) la electr nica se enfrenta perfectamente y realiza co n facilidad to das las o peracio nes aritmticas. Evidentemente, se trata de electr nica que en realidad aplica aritmtica en la que to do s lo s nmero s so n representado s co n s lo do s dgito s y do nde s lo es impo rtante saber si hay vo ltaje o no . Po r supuesto , estamo s hablando de electr nica digital.
PDFmyURL.com

SIST EMA DE NUMERACIN HEXADECIMAL


En el principio del desarro llo de las co mputado ras era evidente que a la gente le co staba mucho trabajar co n nmero s binario s. Po r eso , se estableci un nuevo sistema de numeraci n, que utilizaba 16 smbo lo s diferentes. Es llamado el sistema de numeraci n hexadecimal. Este sistema est co mpuesto de 10 dgito s a lo s que estamo s aco stumbrado s (0 , 1, 2, 3,... 9 ) y de seis letras del alfabeto A, B, C, D, E y F. Cul es el pro p sito de esta co mbinaci n aparentemente extraa? Basta co n mirar c mo to do en la histo ria de lo s nmero s binario s encaja perfectamente para lo grar una mejo r co mprensi n del tema.

El mayo r nmero que puede ser representado co n 4 dgito s binario s es el nmero 1111. Co rrespo nde al nmero 15 en el sistema decimal. En el sistema hexadecimal ese nmero se representa co n s lo un dgito F. Es el mayo r nmero de un dgito en el sistema hexadecimal. Se da cuenta de la gran utilidad de estas equivalencias? El mayo r nmero escrito co n o cho dgito s binario s es a la vez el mayo r nmero de do s dgito s en el sistema hexadecimal. Tenga en cuenta que una co mputado ra utiliza nmero s binario s de 8 dgito s. Acaso se trata de una casualidad?

CDIGO BCD
El c digo BCD (B inary- C oded D ecimal - C digo binario decimal) es un c digo binario utilizado para representar a lo s nmero s decimales. Se utiliza para que lo s circuito s electr nico s puedan co municarse co n lo s perifrico s utilizando el sistema de numeraci n decimal o bien utilizando el sistema binario dentro de su pro pio mundo . Co nsiste en nmero s binario s de 4 dgito s que representan lo s primero s diez dgito s (0 , 1, 2, 3...8 , 9 ). Aunque cuatro dgito s pueden hacer 16 co mbinacio nes po sibles en to tal, el c digo BCD no rmalmente utiliza a las primeras diez.

CONVERSIN DE SIST EMAS DE NMERACIN


El sistema de numeraci n binario es el que utilizan lo s micro co ntro lado res, el sistema decimal es el que no s resulta ms co mprensible, mientras que el sistema hexadecimal presenta un balance entre lo s do s. Po r eso , es muy impo rtante aprender c mo co nvertir lo s nmero s de un sistema de numeraci n a o tro , po r ejemplo , c mo co nvertir una serie de cero s y uno s a una fo rma de representaci n co mprensible para no so tro s.

CONVERSIN DE NMEROS BINARIOS A DECIMALES


Lo s dgito s en un nmero binario tienen po nderacio nes diferentes lo que depende de sus po sicio nes dentro del nmero que estn representando . Adems, cada dgito puede ser 1 o 0 , y su po nderaci n se puede determinar co n facilidad al co ntar su po sici n empezando po r la derecha. Para hacer una co nversi n de un nmero binario a decimal es necesario multiplicar las po nderacio nes
PDFmyURL.com

co n lo s dgito s co rrespo ndientes (0 o 1) y sumar to do s lo s resultado s. La magia de la co nversi n de un nmero binario a decimal funcio na de maravilla... Tiene duda? Veamo s el siguiente ejemplo :

Cabe destacar que es necesario utilizar s lo do s dgito s binario s para representar a to do s lo s nmero s decimales de 0 a 3. Po r co nsiguiente, para representar lo s nmero s de 0 a 7 es necesario utilizar tres dgito s binario s, para representar lo s nmero s de 0 a 15 - cuatro dgito s etc. Dicho de manera sencilla, el mayo r nmero binario que se puede representar utilizando n dgito s se o btiene al elevar la base 2 a la po tencia n. Luego , al resultado se le resta 1. Po r ejemplo , si n=4: 2 4 - 1 = 16 - 1 = 15 Po r co nsiguiente, al utilizar 4 dgito s binario s, es po sible representar lo s nmero s decimales de 0 a 15, que so n 16 valo res diferentes en to tal.

CONVERSIN DE NMEROS HEXADECIMALES A DECIMALES


Para realizar una co nversi n de un nmero hexadecimal a decimal, cada dgito hexadecimal debe ser multiplicado co n el nmero 16 elevado al valo r de su po sici n. Po r ejemplo :

CONVERSIN DE NMEROS HEXADECIMALES A BINARIOS


No es necesario realizar ningn clculo para co nvertir un nmero hexadecimal a binario . Lo s dgito s hexadecimales se reemplazan simplemente po r lo s cuatro dgito s binario s apro piado s. Ya que el dgito hexadecimal mximo es equivalente al nmero decimal 15, es necesario utilizar cuatro dgito s binario s para representar un dgito hexadecimal. Po r ejemplo :
PDFmyURL.com

MARCAR LOS NMEROS


El sistema de numeraci n hexadecimal, junto co n lo s sistemas binario y decimal, se co nsideran lo s ms impo rtantes para no so tro s. Es fcil realizar una co nversi n de cualquier nmero hexadecimal a binario , adems es fcil de reco rdarlo . Sin o bstante, estas co nversio nes pueden pro vo car una co nfusi n. Po r ejemplo , qu significa en realidad la sentencia: Es necesario co ntar 110 pro ducto s en una cadena de mo ntaje? Dependiendo del sistema en cuesti n (binario , decimal o hexadecimal), el resultado po dra ser 6 , 110 o 272 pro ducto s, respectivamente. Po r co nsiguiente, para evitar equivo cacio nes, diferentes prefijo s y sufijo s se aaden directamente a lo s nmero s. El prefijo $ o 0 x as co mo el sufijo h marca lo s nmero s en el sistema hexadecimal. Po r ejemplo , el nmero hexadecimal 10 AF se puede escribir as: $10 AF, 0 x10 AF o 10 AFh. De manera similar, lo s nmero s binario s no rmalmente o btienen el sufijo % o 0 B. Si un nmero no tiene ni sufijo ni prefijo se co nsidera decimal. Desafo rtunadamente, esta fo rma de marcar lo s nmero s no es estandarizada, po r co nsiguiente depende de la aplicaci n co ncreta. La siguiente es tabla co mparativa que co ntiene lo s valo res de nmero s 0 -255 representado s en tres sistemas de numeraci n diferentes. Esto es pro bablemente la manera ms fcil de entender l gica co mn aplicada a to do s lo s sistemas de numeraci n.

PDFmyURL.com

NMEROS NEGAT IVOS


Co mo ya hemo s visto , para escribir un nmero negativo en matemticas, basta co n aadirle el prefijo - (signo meno s). Sin embargo , en la pro gramaci n, al acabarse el pro ceso de la co mpilaci n, se quedan s lo lo s nmero s binario s, vo lvindo se las co sas ms co mplicadas. Se utilizan s lo do s dgito s - 0 y 1, mientras que to do s lo s dems nmero s, smbo lo s y signo s se fo rman po r medio de las co mbinacio nes de esto s do s dgito s. En el caso de lo s nmero s negativo s, la so luci n es la siguiente: En lo s nmero s negativo s, el bit ms significativo (el bit del extremo izquierdo ) representa el signo del nmero (do nde 0 ser po sitivo y 1 negativo ). En el caso de un nmero de 8 bits, para representar un valo r numrico s lo quedan 7 bits. De acuerdo a este tipo de co dificaci n el nmero +127 es el mayo r nmero po sitivo co n signo que se puede representar co n 8 bits. Asimismo , hay cero (0 ) po sitivo y negativo (refirase a la tabla de la derecha). La siguiente pregunta sera: C mo es po sible saber de qu nmero se trata? Po r ejemplo , si po nemo s el
PDFmyURL.com

nmero 10 0 0 0 0 0 1, es -1 o 129 ? No se preo cupe, de eso se encarga el co mpilado r. sta es la raz n po r la que se declaran variables al escribir el pro grama. Bueno , de eso vamo s a hablar a co ntinuaci n.

BIT
La teo ra dice que un bit es la unidad bsica de info rmaci n...Vamo s a o lvidarlo po r un mo mento y demo strar qu es eso en la prctica. La respuesta es - nada especial- un bit es un s lo dgito binario . Similar a un sistema de numeraci n decimal en el que lo s dgito s de un nmero no tienen la misma po nderaci n (po r ejemplo , lo s dgito s en el nmero 444 so n lo s mismo s pero tienen lo s valo res diferentes), el significado de un bit depende de la po sici n que tiene en nmero binario . En este caso no tiene sentido hablar de unidades, centenas etc. en lo s nmero s binario s, sus dgito s se deno minan el bit cero (el primer bit a la derecha), el primer bit (el segundo bit a la derecha) etc. Adems, ya que el sistema binario utiliza so lamente do s dgito s (0 y 1), el valo r de un bit puede ser 0 o 1. No se co nfunda si se encuentra co n un bit que tiene el valo r 4, 16 o 6 4. So n lo s valo res representado s en el sistema decimal. Simplemente, no s hemo s aco stumbrado tanto a utilizar lo s nmero s decimales que estas expresio nes llegaro n a ser co munes. Sera co rrecto decir po r ejemplo , el valo r del sexto bit en cualquier nmero binario equivale al nmero decimal 6 4. Pero to do s so mo s humano s y lo s viejo s hbito s mueren difcilmente. Adems, c mo le suena nmero uno -uno -cero -uno -cero ...?

BYT E
Un byte co nsiste en 8 bits co lo cado s uno junto al o tro . Si un bit es un dgito , es l gico que lo s bytes representen lo s nmero s. To das las o peracio nes matemticas se pueden realizar po r medio de ello s, co mo po r medio de lo s nmero s decimales co munes. Similar a lo s dgito s de cualquier nmero , lo s dgito s de un byte no tienen el mismo significado . El bit del extremo izquierdo tiene la mayo r po nderaci n, po r eso es deno minado el bit ms significativo (MSB). El bit del extremo derecho tiene la meno r po nderaci n, po r eso es deno minado el bit meno s significativo (LSB). Puesto que lo s 8 dgito s de un byte se pueden co mbinar de 256 maneras diferentes, el mayo r nmero decimal que se puede representar co n un byte es 255 (una co mbinaci n representa un cero ).

PDFmyURL.com

Un nibble o un cuarteto representa una mitad de byte. Dependiendo de la mitad del nmero en cuesti n (izquierda o derecha), se les deno mina nibbles alto s o bajo s, respectivamente.

Usted seguramente ha pensado alguna vez en cmo es la electrnica dentro de un circuito integrado digital, un microcontrolador o un microprocesador. Cmo son los circuitos que realizan las operaciones matemticas complicadas y toman decisiones? Saba que sus esquemas, aparentemente complicadas consisten en slo unos pocos elementos diferentes, denominados circuitos lgicos o compuertas lgicas?

1.3 DETALLES IMPORTANTES


El funcio namiento de esto s elemento s es basado en lo s principio s establecido s po r el matemtico britnico George Boole en la mitad del siglo 19 - es decir, antes de la invenci n de la primera bo mbilla! En breve, la idea principal era de expresar las fo rmas l gicas po r medio de las funcio nes algebraicas. Tal idea pro nto se transfo rm en un pro ducto prctico que se co nvirti ms tarde en lo que ho y en da co no cemo s co mo circuito s l gico s Y (AND), O (OR) o NO (NOT). El principio de su funcio namiento es co no cido co mo algebra de Bo o le.

CIRCUIT OS LGICOS
Algunas instruccio nes de pro grama utilizadas po r un micro co ntro lado r funcio nan de la misma manera que las co mpuertas l gicas, pero en fo rma de co mando s. A co ntinuaci n vamo s a explicar el principio de su funcio namiento .

COMPUERTA Y (AND)
Una co mpuerta l gica Y dispo ne de do s o ms entradas y de una salida. En este caso la co mpuerta utilizada dispo ne de s lo do s entradas. Un uno l gico (1) aparecer en su salida s lo en caso de que ambas entradas (A Y B) sean llevadas a alto (1). La tabla a la derecha es la tabla de verdad que muestra la relaci n entre las entradas y salidas
PDFmyURL.com

de la co mpuerta. El principio de funcio namiento es el mismo cuando la co mpuerta dispo nga de ms de do s entradas: la salida pro po rcio na un uno l gico (1) s lo si to das las entradas so n llevadas a alto (1). Cualquier o tra co mbinaci n de vo ltajes de entrada pro po rcio nar un cero l gico (0 ) en su salida. Utilizada en el pro grama, la o peraci n Y l gico es realizada po r una instrucci n de pro grama, de la que vamo s a hablar ms tarde. Po r aho ra basta co n co no cer que Y l gico en un pro grama se refiere a la realizaci n de este tipo de o peraci n so bre lo s bits co rrespo ndientes de do s registro s diferentes.

COMPUERTA O (OR)
De manera similar, la co mpuerta O tambin dispo ne de do s o ms entradas y de una salida. Si la co mpuerta dispo ne de s lo do s entradas, es aplicable lo siguiente: la salida pro po rcio na un uno l gico (1) si una u o tra entrada (A o B) es llevada a alto (1). En caso de que la co mpuerta O dispo nga de ms de do s entradas, es aplicable lo siguiente: La salida pro po rcio na un uno l gico (1) si po r lo meno s una entrada es llevada a alto (1). Si to das las entradas estn a cero l gico (0 ), la salida estar a cero l gico (0 ) tambin. En un pro grama, la o peraci n O l gico se realiza de la misma manera que la o peraci n Y.

PDFmyURL.com

COMPUERTA NO (NOT)
La co mpuerta l gica NO dispo ne de una so la entrada y una so la salida, po r lo que funcio na muy simplemente. Cuando un cero l gico (0 ) aparezca en su entrada, la salida pro po rcio na un uno l gico (1) y viceversa. Esto significa que esta co mpuerta invierte las seales po r s mismas y po r eso es deno minada inverso r.

En el pro grama la o peraci n l gica NO se realiza so bre un byte. El resultado es un byte co n lo s bits invertido s. Si lo s bits de un byte se co nsideran nmero , el valo r invertido es un co mplemento a ese nmero . El co mplemento de un nmero es el valo r que se aade al nmero hasta llegar al mayo r nmero binario de 8 dgito s. En o tras palabras, la suma de un dgito de 8 nmero s y de su co mplemento es siempre 255.

COMPUERTA XOR (O EXCLUSIVA)


La co mpuerta XOR (O EXCLUSIVA) es un po co co mplicada en co mparaci n co n las dems. Representa una co mbinaci n de to das las co mpuertas anterio rmente descritas. La salida pro po rcio na un uno l gico (1) s lo si sus entradas estn en estado s l gico s diferentes.

En el pro grama, esta o peraci n se utiliza co n frecuencia para co mparar do s bytes. La resta se puede utilizar co n el mismo pro p sito (si el resultado es 0 , lo s bytes so n iguales). A diferencia de la resta, la ventaja de esta o peraci n l gica es que no es po sible o btener lo s resultado s negativo s.
PDFmyURL.com

REGIST ROS
Un registro o una celda de memo ria es un circuito electr nico que puede memo rizar el estado de un byte.

REGIST ROS SFR


A diferencia de lo s registro s que no tienen ninguna funci n especial y predeterminada, cada micro co ntro lado r dispo ne de un nmero de registro s de funcio nes especiales (SFR), co n la funci n predeterminada po r el fabricante. Sus bits estn co nectado s a lo s circuito s interno s del micro co ntro lado r tales co mo tempo rizado res, co nvertido res A/D, o scilado res entre o tro s, lo que significa que directamente manejan el funcio namiento de esto s circuito s, o sea del micro co ntro lado r. Imagnese o cho interrupto res que manejan el funcio namiento de un circuito pequeo dentro del micro co ntro lado r. Lo s registro s SFR hacen exactamente lo mismo . En o tras palabras, el estado de lo s bits de registro s se fija dentro de pro grama, lo s registro s SFR dirigen lo s pequeo s circuito s dentro del micro co ntro lado r, esto s circuito s se co nectan po r lo s pines del micro co ntro lado r a un dispo sitivo perifrico utilizado para... Bueno , depende de
PDFmyURL.com

usted.

PUERT OS DE ENT RADA/SALIDA (E/S)


Para hacer til un micro co ntro lado r, hay que co nectarlo a un dispo sitivo externo , o sea, a un perifrico . Cada micro co ntro lado r tiene uno o ms registro s (deno minado s puerto s) co nectado s a lo s pines en el micro co ntro lado r. Po r qu se deno minan co mo puerto s de entrada/salida? Po rque usted puede cambiar la funci n de cada pin co mo quiera. Po r ejemplo , usted desea que su dispo sitivo encienda y apague lo s tres seales LEDs y que simultneamente mo nito ree el estado l gico de 5 senso res o bo to nes de presi n. Uno de lo s puerto s debe estar co nfigurado de tal manera que haya tres salidas (co nectadas a lo s LEDs) y cinco entradas (co nectadas a lo s senso res). Eso se realiza simplemente po r medio de so ftware, lo que significa que la funci n de algn pin puede ser cambiada durante el funcio namiento .

PDFmyURL.com

Una de las caractersticas ms impo rtantes de lo s pines de entrada/salida (E/S) es la co rriente mxima que pueden entregar/recibir. En la mayo ra de lo s micro co ntro lado res la co rriente o btenida de un pin es suficiente para activar un LED u o tro dispo sitivo de baja co rriente (10 -20 mA). Mientras ms pines de E/S haya, ms baja es la co rriente mxima de un pin. En o tras palabras, to do s lo s puerto s de E/S co mparten la co rriente mxima declarada en la ho ja de especificaci n tcnica del micro pro cesado r. Otra caracterstica impo rtante de lo s pines es que pueden dispo ner de lo s resisto res pull-up. Esto s resisto res co nectan lo s pines al po lo po sitivo del vo ltaje de la fuente de alimentaci n y su efecto se puede ver al co nfigurar el pin co mo una entrada co nectada a un interrupto r mecnico o a un bo t n de presi n. Las ltimas versio nes de lo s micro co ntro lado res tienen las resistencias pull-up co nfigurables po r so ftware. Cada puerto de E/S no rmalmente est bajo el co ntro l de un registro SFR especializado , lo que significa que cada bit de ese registro determina el estado del pin co rrespo ndiente en el el micro co ntro lado r. Po r ejemplo , al escribir un uno l gico (1) a un bit del registro de co ntro l (SFR), el pin apro piado del puerto se co nfigura auto mticamente co mo salida. Eso significa que el vo ltaje llevado a ese pin se puede leer co mo 0 o 1 l gico . En caso co ntrario , al escribir 0 al registro SFR, el pin apro piado del puerto se co nfigura co mo salida. Su vo ltaje (0 V o 5V) co rrespo nde al estado del bit apro piado del registro del puerto .

UNIDAD DE MEMORIA
PDFmyURL.com

La unidad de memo ria es una parte del micro co ntro lado r utilizada para almacenar lo s dato s. La manera ms fcil de explicarlo es co mpararlo co n un armario grande co n mucho s cajo nes. Si marcamo s lo s cajo nes claramente, ser fcil acceder a cualquiera de sus co ntenido s al leer la etiqueta en la parte delantera del caj n. De manera similar, cada direcci n de memo ria co rrespo nde a una lo calidad de memo ria. El co ntenido de cualquier lo calidad se puede leer y se le puede acceder al direccio narla. La memo ria se puede escribir en la lo calidad o leer. Hay vario s tipo s de memo ria dentro del micro co ntro lado r:

MEMORIA ROM (READ ONLY MEMORY) - MEMORIA DE SLO LECTURA


La memo ria ROM se utiliza para guardar permanentemente el pro grama que se est ejecutando . El tamao de pro grama que se puede escribir depende del tamao de esta memo ria. Lo s micro co ntro lado res actuales no rmalmente utilizan el direccio namiento de 16 bits, que significa que so n capaces de direccio nar hasta 6 4 Kb de memo ria, o sea 6 5535 lo calidades. Po r ejemplo , si usted es principiante, su pro grama exceder po cas veces el lmite de vario s ciento s de instruccio nes. Hay vario s tipo s de memo ria ROM.

Rom de mscara (enmascarada) - MROM


La ROM enmascarada es un tipo de ROM cuyo co ntenido es pro gramado po r el fabricante. El trmino de mscara viene del pro ceso de fabricaci n, do nde las partes del chip se plasman en las mascaras utilizadas durante el pro ceso de fo to lito grafa. En caso de fabricaci n de grandes series, el precio es muy bajo . Olvide la idea de mo dificarla...

OTP ROM (One Time Programmable ROM) - ROM programable una sola vez
La memo ria pro gramable una so la vez permite descargar un pro grama en el chip, pero co mo dice su no mbre, una so la vez. Si se
PDFmyURL.com

detecta un erro r despus de descargarlo , lo nico que se puede hacer es descargar el pro grama co rrecto en o tro chip.

UV EPROM (UV Erasable Programmable ROM) - ROM programable borrable por rayos ult raviolet a
El encapsulado de este micro co ntro lado r tiene una ventana reco no cible en la parte alta. Eso permite expo ner la superficie del chip de silicio a la luz de ultravio leta y bo rrar el pro grama co mpletamente en vario s minuto s. Luego es po sible descargar un nuevo pro grama en l. La instalaci n de esta ventana es co mplicada, lo que po r supuesto afecta al precio . Desde nuestro punto de vista, desgraciadamente, de manera negativa...

Memoria Flash
Este tipo de memo ria se invent en lo s ao s 8 0 en lo s labo rato rio s de la co mpaa INTEL, co mo fo rma desarro llada de la memo ria UV EPROM. Ya que es po sible escribir y bo rrar el co ntenido de esta memo ria prcticamente un nmero ilimitado de veces, lo s micro co ntro lado res co n memo ria Flash so n perfecto s para estudiar, experimentar y para la fabricaci n en pequea escala. Po r la gran po pularidad de esta memo ria, la mayo ra de lo s micro co nro lado res se fabrican co n tecno lo ga flash ho y en da. Si usted va a co mprar un micro co ntro lado r, ste es en definitiva la o pci n perfecta!

MEMORIA RAM (RANDOM ACCESS MEMORY) - MEMORIA DE ACCESO ALEATORIO


Al apagar la fuente de alimentaci n, se pierde el co ntenido de la memo ria RAM. Se utiliza para almacenar tempo ralmente lo s dato s y lo s resultado s inmediato s creado s y utilizado s durante el funcio namiento del micro co ntro lado r. Po r ejemplo , si el pro grama ejecuta la adici n (de cualquier co sa) es necesario tener un registro que representa lo que se llama suma en vida co tidiana. Co n tal pro p sito , uno de lo s registro s de la RAM es deno minado suma y se utiliza para almacenar lo s resultado s de la adici n.

MEMORIA EEPROM (ELECTRICALLY ERASABLE PROGRAMMABLE ROM) - ROM PROGRAMABLE Y BORRABLE ELCTRICAMENTE
El co ntenido de la EEPROM se puede cambiar durante el funcio namiento (similar a la RAM), pero se queda permanentemente guardado despus de la prdida de la fuente de alimentaci n (similar a la ROM). Po r lo tanto , la EEPROM se utiliza co n frecuencia para almacenar lo s valo res creado s durante el funcio namiento , que tienen que estar permanentemente guardado s. Po r ejemplo , si usted ha diseado una llave electr nica o un alarma, sera estupendo permitir al usuario crear e intro ducir una co ntrasea po r su cuenta. Po r supuesto , la nueva co ntrasea tiene que estar guardada al apagar la fuente de alimentaci n. En tal caso una so luci n perfecta es el micro co ntro lado r co n una EEPROM embebida.

INT ERRUPCIN
PDFmyURL.com

La mayo ra de pro gramas utilizan interrupcio nes durante ejecuci n de pro grama regular. El pro p sito del micro co ntro lado r generalmente co nsiste en reaccio nar a lo s cambio s en su ento rno . En o tras palabras, cuando o curre algo , el micro co ntro lado r reaccio na de alguna manera... Po r ejemplo , al apretar el bo t n del mando a distancia, el micro co ntro lado r lo registra y respo nde al co mando cambiando de canal, subiendo o bajando el vo lumen etc. Si el micro co ntro lado r pasar la mayo ra del tiempo co mpro bando vario s bo to nes sin parar - las ho ras, lo s das, esto no sera nada prctico . Po r lo tanto , el micro co ntro lado r aprendi un truco durante su evo luci n. En vez de seguir co mpro bando algn pin o bit, el micro co nro lado r deja su trabajo de esperar a un experto que reaccio nar s lo en caso de que suceda algo digno de atenci n. La seal que info rma al pro cesado r central acerca de tal aco ntecimiento se deno mina INTERRUPCIN.

UNIDAD CENT RAL DE PROCESAMIENT O (CENT RAL PROCESSOR UNIT - CPU)


Co mo indica su no mbre, esto es una unidad que co ntro la to do s lo s pro ceso s dentro del micro co ntro lado r. Co nsiste en varias unidades ms pequeas, de las que las ms impo rtantes so n:

Decodif icador de inst rucciones es la parte que descodifica las instrucciones del programa y acciona otros circuitos basndose en esto. El conjunto de instrucciones que es diferente para cada familia de microcontrolador expresa las capacidades de este circuito; Unidad lgica arit mt ica (Arit hmet ical Logical Unit - ALU) realiz a todas las operaciones matemticas y lgicas sobre datos; y Acumulador o registro de trabajo. Es un registro SFR estrechamente relacionado con el funcionamiento de la ALU. Es utiliz ado para almacenar todos los datos sobre los que se debe realiz ar alguna operacin (sumar, mover). Tambin almacena los resultados preparados para el procesamiento futuro. Uno de los registros SFR, denominado Registro Status (PSW), est estrechamente relacionado con el acumulador. Muestra el estado de un nmero almacenado en el acumulador (el nmero es mayor o menor que cero etc.) en cualquier instante dado.

PDFmyURL.com

BUS
El bus est fo rmado po r 8 , 16 o ms cables. Hay do s tipo s de buses: el bus de direccio nes y el bus de dato s. El bus de direccio nes co nsiste en tantas lneas co mo sean necesarias para direccio nar la memo ria. Se utiliza para transmitir la direcci n de la CPU a la memo ria. El bus de dato s es tan ancho co mo lo s dato s, en este caso es de 8 bits o lneas de ancho . Se utiliza para co nectar to do s lo s circuito s dentro del micro co ntro lado r.

COMUNICACIN EN SERIE
La co nexi n paralela entre el micro co ntro lado r y lo s perifrico s a travs de lo s puerto s de entrada/salida es una so luci n perfecta para las distancias co rtas - hasta vario s metro s. No o bstante, en o tro s caso s cuando es necesario establecer co municaci n entre do s dispo sitivo s a largas distancias no es po sible utilizar la co nexi n paralela. En vez de eso , se utiliza la co nexi n en serie. Ho y en da, la mayo ra de lo s micro co ntro lado res llevan inco rpo rado s vario s sistemas diferentes para la co municaci n en serie, co mo un equipo estndar. Cul de esto s sistemas se utilizar en un caso co ncreto , depende de mucho s facto res, de lo s que ms impo rtantes so n:

Con cuntos dispositivos el microcontrolador tiene que intercambiar los datos? Cul es la velocidad del intercambio de datos obligatoria? Cul es la distancia entre los dispositivos? Es necesario transmitir y recibir los datos simultneamente?

PDFmyURL.com

Una de las co sas ms impo rtantes en cuanto a la co municaci n en serie es el Pro to co lo que debe ser estrictamente o bservado . Es un co njunto de reglas que se aplican o bligato riamente para que lo s dispo sitivo s puedan interpretar co rrectamente lo s dato s que intercambian mutuamente. Afo rtunadamente, lo s micro co ntro lado res se encargan de eso auto mticamente, as que el trabajo de pro gramado r/usuario es reducido a la escritura y lectura de dato s.

VELOCIDAD DE TRANSMISIN SERIAL


La velo cidad de transmisi n serial (baud rate ) es el trmino utilizado para deno tar el nmero de bits transmitido s po r segundo [bps]. Fjese que este trmino se refiere a bits, y no a bytes! El pro to co lo no rmalmente requiere que cada byte se transmita junto co n vario s bits de co ntro l. Eso quiere decir que un byte en un flujo de dato s serial puede co nsistir en 11 bits. Po r ejemplo , si velo cidad de transmisi n serial es 30 0 bps un mximo de 37 y un mnimo de 27 bytes se pueden transmitir po r segundo . Lo s sistemas de co municaci n serial ms utilizado s so n:

PDFmyURL.com

I 2 C (INTER INTEGRATED CIRCUIT) - CIRCUITO INTER- INTEGRADO


Circuito inter-integrado es un sistema para el intercambio de dato s serial entre lo s micro co ntro lado res y lo s circuito s integrado s especializado s de generaci n. Se utiliza cuando la distancia entre ello s es co rta (el recepto r y el transmiso r estn no rmalmente en la misma placa de circuito impreso ). La co nexi n se establece po r medio de do s lneas - una se utiliza para transmitir lo s dato s, mientras que la o tra se utiliza para la sincro nizaci n (la seal de relo j). Co mo se muestra en la figura, un dispo sitivo es siempre el principal (master - maestro ), el que realiza el direccio namiento de un chip subo rdinado (slave - esclavo ) antes de que se inicie la co municaci n. De esta manera un micro co ntro lado r puede co municarse co n 112 dispo sitivo s diferentes. La velo cidad de transmisi n serial es no rmalmente 10 0 Kb/seg (el mo do estndar) o 10 Kb/seg (mo do de velo cidad de transmisi n baja). Recientemente han aparecido lo s sistemas co n la velo cidad de transmisi n serial 3.4 Mb/sec. La distancia entre lo s dispo sitivo s que se co munican po r el bus I2C est limitada a uno s metro s.

SPI (SERIAL PERIPHERAL INTERFACE BUS) - BUS SERIAL DE INTERFAZ DE PERIFRICOS


Un bus serial de interfaz de perifrico s es un sistema para la co municaci n serial que utiliza hasta cuatro lneas (no rmalmente so lo so n necesarias tres) - para recibir lo s dato s, para transmitir lo s dato s, para sincro nizar y (o pcio nal) para seleccio nar el dispo sitivo co n el que se co munica. Esto es la co nexi n full duplex, lo que significa que lo s dato s se envan y se reciben simultneamente. La velo cidad de transmisi n mxima es mayo r que en el sistema de co nexi n I2C.

PDFmyURL.com

UART (UNIVERSAL ASYNCHRONOUS RECEIVER/TRANSMITTER) - TRANSMISOR- RECEPTOR ASNCRONO UNIVERSAL


Este tipo de co nexi n es asncro na, lo que significa que no se utiliza una lnea especial para transmitir la seal de relo j. En algunas aplicacio nes este rasgo es crucial (po r ejemplo , en mandar dato s a distancia po r RF o po r luz infrarro ja). Puesto que se utiliza s lo una lnea de co municaci n, tanto el recepto r co mo el transmiso r reciben y envan lo s dato s a velo cidad misma que ha sido predefinida para mantener la sincro nizaci n necesaria. Esto es una manera simple de transmitir dato s puesto que bsicamente representa una co nversi n de dato s de 8 bits de paralelo a serial. La velo cidad de transmisi n no es alta, es hasta 1 Mbit/sec.

OSCILADOR
Lo s pulso s unifo rmes generado s po r el o scilado r permiten el funcio namiento arm nico y sncro no de to do s lo s circuito s del micro co ntro lado r. El o scilado r se co nfigura no rmalmente de tal manera que utilice un cristal de cuarzo o reso nado r cermico para estabilizaci n de frecuencia. Adems, puede funcio nar co mo un circuito aut no mo (co mo o scilado r RC). Es impo rtante decir que las instruccio nes del pro grama no se ejecutan a la velo cidad impuesta po r el mismo o scilado r sino varias veces ms despacio . Eso o curre po rque cada instrucci n se ejecuta en vario s ciclo s del o scilado r. En alguno s micro co ntro lado res se necesita el mismo nmero de ciclo s para ejecutar to das las instruccio nes, mientras que en o tro s el tiempo de ejecuci n no es el mismo para to das las instruccio nes. Po r co nsiguiente, si el sistema utiliza el cristal de cuarzo co n una frecuencia de 20 MHZ, el tiempo de ejecuci n de una instrucci n de pro grama no es 50 nS, sino 20 0 , 40 0 o 8 0 0 nS dependiendo del tipo del micro co ntro lado r.
PDFmyURL.com

CIRCUIT O DE ALIMENTACIN
Hay que mencio nar do s co sas dignas de atenci n co n relaci n al circuito de la fuente de alimentaci n de micro co ntro lado res:

Brown out es un estado potencialmente peligroso que ocurre al apagar el microcontrolador o en caso de que el voltaje de la fuente de alimentacin salga de unos mrgenes debido al ruido elctrico. Como el microcontrolador dispone de varios circuitos que funcionan a niveles de voltaje diferentes, ese estado puede causar un comportamiento descontrolado. Para evitarlo, el microcontrolador normalmente tiene un circuito incorporado para el brown out reset. El circuito reinicia inmediatamente el microcontrolador si el voltaje de alimentacin cae por debajo del lmite. El pin de reset (reinicio), marcado frecuentemente con MCLR (Master Clear Reset), sirve para el reinicio externo del microcontrolador al aplicar un cero (0) o un uno (1) lgico dependiendo del tipo del microcontrolador. En caso de que el circuito brown out no est incorporado, un simple circuito externo para el brown out reset se puede conectar al pin MCLR.

T EMPORIZ ADORES/CONTADORES
El o scilado r del micro co ntro lado r utiliza cristal de cuarzo para su funcio namiento . Aunque no se trata de la so luci n ms simple, hay muchas razo nes para utilizarlo . La frecuencia del o scilado r es definida co n precisi n y muy estable, as que siempre genera lo s pulso s del mismo ancho , lo que lo s hace perfecto s para medici n de tiempo . Tales o scilado res se utilizan en lo s relo jes de cuarzo . Si es necesario medir el tiempo transcurrido entre do s evento s, basta co n co ntar lo s pulso s generado s po r este o scilado r. Esto es exactamente lo que hace el tempo rizado r.

PDFmyURL.com

La mayo ra de lo s pro gramas utiliza esto s cro n metro s electr nico s en miniatura. Generalmente so n registro s SFR de 8 o 16 bits cuyo co ntenido se aumenta auto mticamente co n cada pulso . Una vez que se llena el registro , se genera una interrupci n! Si el tempo rizado r utiliza el o scilado r de cuarzo interno para su funcio namiento , es po sible medir el tiempo entre do s evento s (el valo r de registro en el mo mento de iniciar la medici n es T1, en el mo mento de finalizar la medici n es T2, el tiempo transcurrido es igual al resultado de la resta T2 - T1). Si lo s registro s se aumentan co n lo s pulso s que vienen de la fuente externa, tal tempo rizado r se co nvierte en un co ntado r. Esto es una explicaci n simple de su funcio namiento . Es un po co ms co mplicado en prctica.
PDFmyURL.com

CMO FUNCIONAN LOS TEMPORIZADORES?


En prctica, lo s pulso s generado s po r el o scilado r de cuarzo so n llevado s al circuito una vez po r cada ciclo de mquina directamente o po r el pre-escalado r, lo que aumenta el nmero en el registro del tempo rizado r. Si una instrucci n (un ciclo de mquina) dura cuatro pero do s del o scilado r de cuarzo , este nmero ser cambiado un mill n de veces po r segundo (cada micro segundo ) al inco rpo rar al cuarzo que o scila co n una frecuencia de 4 MHz.

Es fcil de medir lo s intervalo s de tiempo co rto s de la manera descrita anterio rmente (hasta 256 micro segundo s po rque es el mayo r nmero que un registro puede co ntener). Esta o bvia desventaja se puede superar de varias maneras: al utilizar el o scilado r ms lento , po r medio de registro s co n ms bits, del pre-escalado r o de la interrupci n. Las primeras do s so lucio nes tienen algunas debilidades as que se reco mienda utilizar el pre-escalado r y/o la interrupci n.

UTILIZAR UN PREESCALADOR EN EL FUNCIONAMIENTO DEL TEMPORIZADOR


Un pre-escalado r es un dispo sitivo electr nico utilizado para dividir la frecuencia po r un facto r predeterminado . Esto quiere decir que se necesita llevar 1, 2, 4 o ms pulso s a su entrada para generar un pulso a la salida. La mayo ra de lo s micro co ntro lado res dispo nen de uno o ms pre-escalado res inco rpo rado s y su tasa de divisi n puede ser cambiada dentro del pro grama. El pre-escalado r se utiliza cuando es necesario medir lo s pero do s de tiempo ms largo s. Si el tempo rizado r y el tempo rizado r perro guardin co mparten un pre-escalado r, ste no se puede utilizar po r lo s do s simultneamente.

PDFmyURL.com

UTILIZAR UNA INTERRUPCIN EN EL FUNCIONAMIENTO DEL TEMPORIZADOR


Si el registro del tempo rizado r es de 8 bits, el mayo r nmero que se puede escribir en l es 255 (en lo s registro s de 16 bits es el nmero 6 5.535). Si se excede este nmero , el tempo rizado r se reinicia auto mticamente y el co nteo co mienza de nuevo en cero . Esto es deno minado desbo rdamiento o so breflujo (overflow). Permitido po r el pro grama, el desbo rdamiento puede pro vo car una interrupci n, lo que abre co mpletamente nuevas po sibilidades. Po r ejemplo , el estado de registro s utilizado s para co ntar segundo s, minuto s o das puede ser implementado en una rutina de interrupci n. El pro ceso entero (excepto la rutina de interrupci n) se lleva a cabo internamente, lo que permite que lo s circuito s principales del micro co ntro lado r funcio nen regularmente.

PDFmyURL.com

La figura anterio r describe el uso de una interrupci n en el funcio namiento del tempo rizado r. Al asignarle un pre-escalado r al tempo rizado r, se pro ducen retraso s de duraci n arbitraria co n mnima interferencia en la ejecuci n del pro grama principal.

CONTADORES
Si un tempo rizado r se suministra po r lo s pulso s ingresado s po r el pin de entrada en el micro co ntro lado r, se pro duce un co ntado r. Evidentemente, es el mismo circuito electr nico . La nica diferencia es que lo s pulso s para co ntar se ingresan po r el pin de entrada y que su duraci n (anchura) no es definida. Po r eso , no se pueden utilizar para medici n de tiempo , sino que se utilizan para o tro s pro p sito s, po r ejemplo : co ntar lo s pro ducto s en la cadena de mo ntaje, nmero de ro tacio nes del eje de un mo to r, pasajero s etc. (dependiendo del senso r utilizado .

T EMPORIZ ADOR PERRO GUARDIN (WAT CHDOG)


El perro guardin es un tempo rizado r co nectado a un o scilado r RC co mpletamente independiente dentro del micro co ntro lado r. Si el perro guardin est habilitado , cada vez que cuenta hasta el mximo valo r en el que o curre el desbo rdamiento del registro se genera una seal de reinicio del micro co ntro lado r y la ejecuci n de pro grama inicia en la primera instrucci n. El punto es evitar que eso o curra al utilizar el co mando adecuado . La idea se basa en el hecho de que cada pro grama se ejecuta en vario s bucles, ms largo s o co rto s. Si las instruccio nes que reinician el tempo rizado r perro guardin se co lo can en lugares estratgico s del pro grama, aparte lo s co mando s que se ejecutan regularmente, el funcio namiento del perro guardin no afectar a la ejecuci n del pro grama. Si po r cualquier raz n (ruido s elctrico s frecuentes en la
PDFmyURL.com

industria) el co ntado r de pro grama se queda atrapado dentro de un bucle infinito , el valo r del registro co ntinuar aumentado po r el tempo rizado r perro guardin alcanzar el mximo valo r, el registro se desbo rdar y, aleluya! Ocurre el reinicio !

CONVERT IDOR A/D


Las seales del mundo real so n muy diferentes de las que entiende el micro co ntro lado r (cero s y uno s), as que deben ser co nvertidas para que el micro co ntro lado r pueda entenderlas. Un co nvertido r anal gico -digital es un circuito electr nico encargado de co nvertir las seales co ntinuas en nmero s digitales discreto s. En o tras palabras, este circuito co nvierte un nmero real en un nmero binario y se lo
PDFmyURL.com

enva a la CPU para ser pro cesado . Este m dulo se utiliza para medir el vo ltaje en el pin de entrada.

El resultado de esta medici n es un nmero (el valo r digital) utilizado y pro cesado ms tarde en el pro grama.

ARQUIT ECT URA INT ERNA


To do s lo s micro co ntro lado res actuales utilizan uno de do s mo delo s bsico s de arquitectura deno minado s Harvard y von-Neumann .
PDFmyURL.com

So n do s maneras diferentes del intercambio de dato s entre la CPU y la memo ria.

Arquit ect ura de von- Neumann


Lo s micro co ntro lado res que utilizan la arquitectura vo n- Neumann dispo nen de un so lo blo que de memo ria y de un bus de dato s de 8 bits. Co mo to do s lo s dato s se intercambian po r medio de estas 8 lneas, este bus est so brecargado , y la co municaci n po r si misma es muy lenta e ineficaz. La CPU puede leer una instrucci n o leer/escribir dato s de/en la memo ria. Lo s do s pro ceso s no pueden o currir a la vez puesto que las instruccio nes y lo s dato s utilizan el mismo bus. Po r ejemplo , si alguna lnea de pro grama dice que el registro de la memo ria RAM llamado SUM debe ser aumentado po r uno (instrucci n: incf SUMA), el micro co ntro lado r har lo siguiente:

1. Leer la parte de la instruccin de programa que especifica QU es lo que debe realiz ar (en este caso es la instruccin para incrementar incf) 2. Seguir leyendo la misma instruccin que especifica sobre CUL dato lo debe realiz ar (en este caso es el contenido del registro SUMA) 3. Despus de haber sido incrementado, el contenido de este registro se debe escribir en el registro del que fue ledo (direccin del registro SUMA)
El mismo bus de dato s se utiliza para to das estas o peracio nes intermedias.

ARQUITECTURA DE HARVARD
Lo s micro co ntro lado res que utilizan esta arquitectura dispo nen de do s buses de dato s diferentes. Uno es de 8 bits de ancho y co necta la CPU co n la memo ria RAM. El o tro co nsiste en varias lneas (12, 14 o 16 ) y co necta a la CPU y la memo ria ROM. Po r co nsiguiente, la CPU puede leer las instruccio nes y realizar el acceso a la memo ria de dato s a la vez. Puesto que to do s lo s registro s de la memo ria RAM so n de 8 bits de ancho , to do s lo s dato s dentro del micro co ntro lado r que se intercambian so n de la misma anchura. Durante el pro ceso de la escritura de
PDFmyURL.com

pro grama, s lo se manejan lo s dato s de 8 bits. En o tras palabras, to do lo que usted po dr cambiar en el pro grama y a lo que po dr afectar ser de 8 bits de ancho . To do s lo s pro gramas escrito s para esto s micro co ntro lado res sern almacenado s en la memo ria ROM interna del micro co ntro lado r despus de haber sido co mpilado s a c digo mquina. No o bstante, estas lo calidades de memo ria ROM no tienen 8 , sino 12, 14 o 16 bits. 4, 6 o 8 bits adicio nales representan una instrucci n que especifica a la CPU qu hacer co n lo s dato s de 8 bits. Las ventajas de este diseo so n las siguientes:

Todos los datos en el programa son de un byte (8 bits) de ancho. Como un bus de datos utiliz ado para lectura de programa tiene unas lneas ms (12, 14 o 16), tanto la instruccin como el dato se pueden leer simultneamente al utiliz ar estos bits adicionales. Por eso, todas las instrucciones se ejecutan en un ciclo salvo las instrucciones de salto que son de dos ciclos. El hecho de que un programa (la ROM) y los datos temporales (la RAM) estn separados, permite a la CPU poder ejecutar dos instrucciones simultneamente. Dicho de manera sencilla, mientras que se realiz a la lectura o escritura de la RAM (que marca el fin de una instruccin), la siguiente instruccin se lee por medio de otro bus. En los microcontroladores que utiliz an la arquitectura de von-Neumann , nunca se sabe cunta memoria ocupar algn programa. Generalmente, la mayora de las instrucciones de programa ocupan dos localidades de memoria (una contiene informacin sobre QU se debe realiz ar, mientras que la otra contiene informa cin sobre CUL dato se debe realiz ar). Sin embargo, esto no es una frmula rgida, sino el caso ms frecuente. En los microcontroladores que utiliz an una arquitectura Harvard, el bus de la palabra de programa es ms ancho que un byte, lo que permite que cada palabra de programa est compuesto por una instruccin y un dato. En otras palabras, una localidad de memoria - una instruccin de programa.

JUEGO DE INST RUCCIONES


El no mbre co lectivo de to das las instruccio nes que puede entender el micro co ntro lado r es llamado Juego de Instrucciones . Cuando se escribe un pro grama en ensamblado r, en realidad se especifican instruccio nes en el o rden en el que deben ser ejecutadas. La restricci n principal es el nmero de instruccio nes dispo nibles. Lo s fabricantes aceptan cualquiera de lo s do s enfo ques descrito s a co ntinuaci n:

PDFmyURL.com

RISC (Reduced Inst ruct ion Set Comput er) - Comput adora con Juego de Inst rucciones Reducidas
En este caso la idea es que el micro co ntro lado r reco no ce y ejecuta s lo o peracio nes bsicas (sumar, restar, co piar etc...) Las o peracio nes ms co mplicadas se realizan al co mbinar stas (po r ejemplo , multiplicaci n se lleva a cabo al realizar adici n sucesiva). Es co mo intentar explicarle a alguien co n po cas palabras c mo llegar al aero puerto en una nueva ciudad. Sin embargo , no to do es tan o scuro . Adems, el micro co ntro lado r es muy rpido as que no es po sible ver to das las acro bacias aritmticas que realiza. El usuario s lo puede ver el resultado final de to das las o peracio nes. Po r ltimo , no es tan difcil explicar d nde est el aero puerto si se utilizan las palabras adecuadas tales co mo : a la derecha, a la izquierda, el kil metro etc.

CISC (Complex Inst ruct ion Set Comput er) - Comput adoras con un juego de inst rucciones complejo
CISC es o puesto a RISC! Lo s micro co ntro lado res diseado s para reco no cer ms de 20 0 instruccio nes diferentes realmente pueden realizar muchas co sas a alta velo cidad. No o bstante, uno debe saber c mo utilizar to das las po sibilidades que o frece un lenguaje tan rico , lo que no es siempre tan fcil...

CMO ELEGIR UN MICROCONT ROLADOR?


Bueno , si usted es principiante, y ha to mado decisi n de trabajar co n lo s micro co ntro lado res. Felicitacio nes po r la elecci n! No o bstante, a primera vista, no es fcil la elecci n del micro co ntro lado r ms adecuado co mo parece a la primera vista. El pro blema no es el pequeo rango de dispo sitivo s a elegir, sino to do lo co ntrario ! Antes de empezar a disear un dispo sitivo basado en un micro co ntro lado r, to me en cuenta lo siguiente: cuntas entradas/lneas so n necesarias para su funcio namiento , realizara el dispo sitivo o tras o peracio nes adems encender/apagar un rel, necesita algn mo dulo especializado tal co mo el de co municaci n en serie, co nvertido r A/D etc. Cuando usted tiene una clara imagen de lo que quiere, el rango de selecci n se reduce co nsiderablemente, y le queda pensar en el precio . Va a tener vario s dispo sitivo s? Vario s ciento s? Un mill n? De to do s mo do s aho ra es ms claro . Si est pensando en to das estas co sas po r primera vez, to do le parecer un po co co nfuso . Po r esa raz n, vaya paso a paso . Antes que nada, seleccio ne al fabricante, es decir, la familia de micro co ntro lado res que o frece. Luego , aprenda a trabajar co n un mo delo particular. S lo aprenda lo que necesite aprender, no entre demasiado en detalles. Resuelva el pro blema especfico y le pasar una co sa increble - ser capaz de manejar cualquier mo delo del mismo fabricante... Ms o meno s, to do se parece a mo ntar en bicicleta: despus de varias cadas inevitables en el principio , ser capaz de mantener el equilibrio y mo ntar en cualquier o tra bicicleta. Po r supuesto , nunca se o lvida tanto de mo ntar en bicicleta, co mo de la destreza de pro gramaci n!
PDFmyURL.com

1.4 MICROCONTROLADORES PIC


Lo s micro co ntro lado res PIC desarro llado s po r Microchip Technology so n pro bablemente la mejo r o pci n si es principiante. Hay varias razo nes po r lo que esto es verdadero ... El no mbre verdadero de este micro co ntro lado r es PICmicro ( Peripheral Interface Controller ), co no cido bajo el no mbre PIC. Su primer anteceso r fue creado en 19 75 po r la co mpaa General Instruments . Este chip deno minado PIC16 50 fue diseado para pro p sito s co mpletamente diferentes. Diez ao s ms tarde, al aadir una memo ria EEPROM, este circuito se co nvirti en un verdadero micro co ntro lado r PIC. Hace uno s po co s ao s la co mpaa Microchip Technology fabric la 5 billo nsima muestra. Si est interesado en aprender ms so bre eso , siga leyendo . If yo u are interested in learning mo re abo ut it, just keep o n reading. La idea principal de este libro es proporcionar la informacin necesaria al usuario para que sea capaz de utilizar los microcontroladores en la prctica despus de leerlo. Para evitar explicaciones pesadas y las historias infinitas sobre las caractersticas tiles de los microcontroladores diferentes, este libro describe el funcionamiento de un modelo particular que pertenece a la clase media alta. Es PIC16F887 - bastante poderoso para ser digno de atencin y bastante simple para poder ser utilizado por cualquiera. As, los siguientes captulos describen este microcontrolador en detalle y tambin se refieren a la familia PIC entera.
Fre cue ncia d e re lo j. [MHz ] R e so luci n de l co nve rt id o r A/D

Familia

RO M [K b yt e s]

R AM [b yt e s]

Pine s

Ent rad as A/D

C o mp arad o re s

Te mp o riz ad o re s d e 8/16 b it s

C o municaci n se rial

Salid as PWM

O t ro s

Arq uit e ct ura d e la g ama b aja d e 8 b it s, p alab ra d e inst rucci n d e 12 b it s PIC10FXXX PIC12FXXX PIC16FXXX PIC16HVXXX 0.375 0.75 0.75 - 1.5 0.75 - 3 1.5 16 - 24 25 - 38 25 134 25 6-8 8 14 44 18 20 4-8 4-8 20 20 0-2 0-3 0-3 8 8 8 0-1 0-1 0-2 1x8 1x8 1x8 1x8 EEPROM EEPROM Vdd = 15V

Arq uit e ct ura d e la g ama me d ia d e 8 b it s, p alab ra d e inst rucci n d e 14 b it s PIC12FXXX PIC12HVXXX PIC16FXXX PIC16HVXXX 1.75 - 3.5 1.75 1.75 - 14 1.75 - 3.5 64 128 64 64 368 64 128 8 8 14 64 14 20 20 20 20 20 0-4 0-4 0 - 13 0 - 12 10 10 8 or 10 10 1 1 0-2 2 1 - 2 x 8 1 x 16 1 - 2 x 8 1 x 16 1 - 2 x 8 1 x 16 2 x 8 1 x 16 USART I2C SPI USART I2C SPI 0-1 0-1 0-3 EEPROM PDFmyURL.com

Arq uit e ct ura d e la g ama alt a d e 8 b it s, p alab ra d e inst rucci n d e 16 b it s PIC18FXXX 4 - 128 256 3936 1024 3936 768 3936 18 80 28 100 28 44 32 - 48 4 - 16 10 or 12 0-3 0 - 2 x 8 2 - 3 x 16 USB2.0 CAN2.0 USART I2C SPI USB2.0 USART Ethernet I2C SPI USART I2C SPI 0-5 -

PIC18FXXJXX

8 - 128

40 - 48

10 - 16

10

0 - 2 x 8 2 - 3 x 16

2-5

PIC18FXXKXX

8 - 64

64

10 - 13

10

1 x 8 3 x 16

To do s lo s micro co ntro lado res PIC utilizan una arquitectura Harvard, lo que quiere decir que su memo ria de pro grama est co nectada a la CPU po r ms de 8 lneas. Hay micro co ntro lado res de 12, 14 y 16 bits, dependiendo de la anchura del bus. La tabla anterio r muestra las caractersticas principales de estas tres catego ras. Co mo se puede ver en la tabla de la pgina anterio r, salvo lo s mo nstruo s de 16 bits PIC 24FXXX y PIC 24HXXX - to do s lo s micro co ntro lado res tienen la arquitectura Harvard de 8 bits y pertenecen a una de las tres grandes grupo s. Po r eso , dependiendo del tamao de palabra de pro grama existen la primera, la segunda y la tercera catego ra de micro co ntro lado res, es decir micro co ntro lado res de 12, 14 o 16 bits. Puesto que dispo nen del ncleo similar de 8 bits, to do s utilizan el mismo juego de instruccio nes y el esqueleto bsico de hardware co nectado a ms o meno s unidades perifricas. Lo s micro co ntro lado res PIC co n palabras de pro grama de 14 bits parecen ser la mejo r o pci n para lo s principiantes. Aqu est el po rqu...

JUEGO DE INST RUCCIONES


El juego de instruccio nes para lo s micro co ntro lado res 16 F8 XX incluye 35 instruccio nes en to tal. La raz n para un nmero tan reducido de instruccio nes yace en la arquietectura RISC. Esto quiere decir que las instruccio nes so n bien o ptimizadas desde el aspecto de la velo cidad o perativa, la sencillez de la arquitectura y la co mpacidad del c digo . Lo malo de la arquitectura RISC es que se espera del pro gramado r que haga frente a estas instruccio nes. Po r supuesto , esto es relevante s lo si se utiliza el lenguaje ensamblado r para la pro gramaci n. Este libro se refiere a la pro gramaci n en el lenguaje de alto nivel C, lo que significa que la mayo r parte del trabajo ya fue hecho po r alguien ms. As, s lo se tienen que utilizar instruccio nes relativamente simples.

TIEMPO DE EJECUCIN DE INSTRUCCIONES


To das las instruccio nes se ejecutan en un ciclo . La nicas excepcio nes pueden ser las instruccio nes de ramificaci n co ndicio nal o las instruccio nes que cambian el co ntenido del co ntado r de pro grama. En ambo s caso s, do s ciclo s de relo j so n necesario s para la ejecuci n de la instrucci n, mientras que el segundo ciclo se ejecuta co mo un NOP (No operation ). Las instruccio nes de un ciclo co nsisten en cuatro ciclo s de relo j. Si se utiliza un o scilado r de 4 MHz, el tiempo no minal para la ejecuci n de la instrucci n es 1S. En cuanto a las instruccio nes de ramificaci n, el tiempo de ejecuci n de la instrucci n es 2S. Juego de instruccio nes de lo s micro co ntro lado res PIC de 14 bits:
PDFmyURL.com

UD

CE

CS

IC

NI

OP

PC

EI

RB

ANA

C N C I D L * E K N R

Inst ruccio ne s p ara la t ransmisi n d e d at o s MOVLW k MOVWF f MOVF f,d CLRW CLRF f SWAPF f,d Mover literal a W Mover el contenido de W a f Mover el contenido de f a d Borrar el contenido de W Borrar el contenido de f Intercambiar de nibbles en f k -> w W -> f f -> d 0 -> W 0 -> f f(7:4),(3:0) - > f(3:0),(7:4) Z Z Z 1 1 1 1 1 1 2 1, 2 1, 2

Inst ruccio ne s arit m t ico - l g icas ADDLW k ADDWF f,d SUBLW k SUBWF f,d ANDLW k ANDWF f,d IORLW k IORWF f,d XORWF f,d XORLW k INCF f,d DECF f,d RLF f,d RRF f,d COMF f,d Sumar literal a W Sumar el contenido de W y f Restar W de literal Restar W de f AND W con literal AND W con f OR inclusivo de W con literal OR inclusivo de W con f OR exclusivo de W con literal OR exclusivo de W con f Sumar 1 a f Restar 1 a f Rotar F a la iz quierda a travs del bit de Acarreo Rotar F a la derecha a travs del bit de Acarreo Complementar f Inst ruccio ne s o rie nt ad as a b it BCF f,b BSF f,b Poner a 0 el bit b del registro f Poner a 1 el bit b del registro f 0 - > f(b) 1 - > f(b) 1 1 1, 2 1, 2 f -> d W+k - > W W+f - > d k- W - > W f- W - > d W AND k - > W W AND f - > d W OR k - > W W OR f - > d W XOR k - > W W XOR f - > d f+1 - > f f- 1 - > f C, DC, Z C, DC ,Z C, DC, Z C, DC, Z Z Z Z Z Z Z Z Z C C Z 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1, 2 1, 2 1, 2 1, 2 1, 2 1, 2 1, 2 1, 2 1, 2 1, 2

Inst ruccio ne s d e co nt ro l d e p ro g rama BTFSC f,b Saltar si bit b de registro f es 0 Skip if f(b) = 0 1 (2) 3 PDFmyURL.com

BTFSS f,b DECFSZ f,d INCFSZ f,d GOTO k CALL k RETURN RETLW k RETFIE

Saltar si bit b de reg. f es 1 Disminuir f en 1. Saltar si el resultado es 0 Incrementar f en 1. Saltar si el resultado es 1 Saltar a una direccin Llamar a una subrutina Retornar de una subrutina Retornar con literal en W Retornar de una interupcin

Skip if f(b) = 1 f- 1 - > d skip if Z = 1 f+1 - > d skip if Z = 0 k - > PC PC - > TOS, k - > PC TOS - > PC k - > W, TOS - > PC TOS - > PC, 1 - > GIE

1 (2) 1 (2) 1 (2) 2 2 2 2 2

3 1, 2, 3 1, 2, 3

O t ras inst ruccio ne s NOP CLRWDT SLEEP No operacin Reiniciar el temporiz ador perro guardin Poner en estado de reposo TOS - > PC, 1 - > GIE 0 - > WDT, 1 - > TO, 1 - > PD 0 - > WDT, 1 - > TO, 0 - > PD TO, PD TO, PD 1 1 1

*1 Si un registro de E/S est mo dificado , el valo r utilizado ser el valo r presentado en lo s pines del micro co ntro lado r. *2 Si la instrucci n se ejecuta en el registro TMR y si d=1, el pre-escalado r ser bo rrado . *3 Si la instrucci n se ejecuta en el registro TMR y si d=1, el pre-escalado r ser bo rrado .

PDFmyURL.com

PDFmyURL.com

Arquitectura de lo s micro co ntro lado res PIC de 8 bits. Cules de esto s m dulo s pertenecern al micro co ntro lado r, depender del tipo de micro co ntro lado r. table o f co ntents | next chapter

Relat ed Links :

Ne ws

Forums

Distributors

Downloa ds

Le ga l Informa tion

P roduct Archive

C onta ct Us

Co pyright 19982012. Mikro Elektro nika. All rights res erved. All trade and/o r s ervic es marks mentio ned are the pro perty o f their res pec tive o wners .

PDFmyURL.com

You might also like