Вы находитесь на странице: 1из 20

PROYECTOS CON

MICROCONTROLADORES PIC I
INTRODUCCION
El desarrollo tecnolgico en el campo electrnico sufrido en la ltima parte del siglo
XX a permitido crear circuitos integrados mas reducidos y capaces de realizar procesos
complejos. Dentro de este avance nacen los microcontroladores, capaces de realizar
desde simples tareas como temporizadores, hasta complejos controles con algoritmos
matemticos. Actualmente se puede encontrar un microcontrolador en casi todos los
aparatos electrnicos mouse, hornos microondas, lavadoras, teclados, televisores,
tel!fonos, automviles, y la lista contina.
El microcontrolador tam"i!n ha podido reducir tiempo en la fase del dise#o electrnico.
Antes era un dolor de ca"eza hacer un circuito de control con varios circuitos digitales,
clculos matemticos, realizacin de un prototipo y en caso $ue no funcionara, empezar
a "uscar el error en el hard%are dise#ado y pro"ar y volver al inicio hasta $ue por fin
realizara la tarea para la cual ha"&a sido dise#ado, 'y si desea"as agregarle una tarea
mas( Ahora con un microcontrolador se realiza el dise#o electrnico e)terno, pero el
comportamiento del circuito depende de la programacin $ue lleve este circuito
integrado 'y si no me gusta como funciona(, pues simplemente se modifica el
programa, se prue"a so"re la misma tarjeta y *listo+, ya tienes un circuito con nuevas
funciones.

1. QU ES UN MICROCONTROLADOR?
Es un circuito integrado programa"le capaz de realizar procesos lgicos, estos procesos
son escritos previamente en un lenguaje ,Assem"ler, -, .asic, etc./ en una computadora
y luego insertados en el dispositivo en cdigo he)adecimal mediante un gra"ador.
0os microcontroladores por lo general estn compuestos de las siguientes partes
1nidad de procesamiento central ,-21/
3emoria de programa tipo 4536EE2453670A89
3emoria 4A3 para datos
0&neas de entrada 6salida para comunicacin con el e)terior.
Diversos mdulos para el control de perif!ricos ,temporizadores, 2uertas 8erie y
2aralelo, -AD -onversores Analgico6Digital, etc./.
:enerador de impulsos de reloj $ue sincronizan el funcionamiento de todo el
sistema.
1.1. DIFERENCIAS ENTRE MICROCONTROLADOR Y
MICROPROCESADOR
8i "ien un microprocesador es un potente circuito integrado capaz de realizar
operaciones complejas, por ello es la 1nidad -entral de 2rocesamiento de las
computadoras, carece de memoria interna o de perif!ricos, en lugar de ello tiene l&neas
llamados "uses de control y comunicacin con otros dispositivos e)ternos $ue le
proveen de la informacin a procesar y a donde va a mandar los resultados. entonces
para $ue un microprocesador funcione se le de"e de proveer de memorias 453 y
4A3, perif!ricos $ue env&an y reci"en los datos, por ejemplo, el teclado es un
perif!rico $ue ingresa datos para ser procesados, la pantalla es un perif!rico de salida
$ue puede mostrar la informacin procesada, etc. En cam"io un microcontrolador ya
posee internamente su memoria, perif!ricos de E68 y mdulos especiales, adems
e)isten una gran variedad de modelos $ue se ajustan a la tarea $ue puedas tener en
mente realizar con diferentes capacidades. 8e dice $ue un microprocesador es un
sistema a"ierto por$ue su configuracin es varia"le de acuerdo con la aplicacin a la
$ue se destine, mientras el microcontrolador es un sistema cerrado. ;odas las partes del
computador estn contenidas en su interior y slo salen al e)terior las l&neas $ue
go"iernan los perif!ricos.
Figura 1.1 Estructura de un sistema abierto basado en microprocesador
Figura 1.2 el microcontrolador es un sistema cerrado
2ara resumir, se puede decir $ue un microcontrolador es un computador creado para
aplicaciones espec&ficas, ya $ue tiene todas las partes como memoria 453, memoria
4A3.
Figura 1.3 partes que conforman un microcontrolador
1.2. FASES PARA EL DISEO DE CIRCUITOS CON MICROCONTROLADOR
0a descripcin a seguir es una forma de tra"ajo recomenda"le a la hora de $uerer
realizar desarrollos de proyectos con microcontroladores
Estudiar el proceso, dispositivo, entorno, $ue se $uiere controlar con el
microcontrolador.
E)aminar los tipos de microcontroladores disponi"les y sus caracter&sticas y
elegir el $ue mejor se ajuste al proyecto.
Dise#ar el circuito o prototipo donde ira el microcontrolador, tomando en
consideracin el entorno donde va a tra"ajar.
Definir las funciones $ue va a realizar el microcontrolador.
4ealizar la programacin en algn lenguaje, sea Assem"ler, -, .asic, etc., de ser
posi"le usar un simulador para compro"ar $ue el programa funciona como se
desea.
:ra"ar el cdigo generado en el microcontrolador y realizar las prue"as y test
correspondientes. 8i no llegara funcionar correctamente volver al paso anterior.
1.3. MICROCONTROLADORES PIC
Dentro del mundo de los microcontroladores e)isten varios fa"ricantes y cada uno con
una gran variedad de microcontroladores segn las aplicaciones, mencionaremos
algunos de los fa"ricantes y familias.
2<- ,3icro-hip/. 7amilia de microcontroladores $ue gana popularidad d&a a d&a.
7ueron los primeros microcontroladores 4<8-.
A=4 ,Atmel/. 7amilia de microcontroladores muy usados por la gran cantidad
de informacin encontrada de ellos.
>?@A ,<ntel y otros/. Es sin duda el microcontrolador ms popular. 7cil de
programar, pero potente. Est "ien documentado y posee cientos de variantes e
inconta"les herramientas de desarrollo.
>?A>B, >?A>> y >?C>B EX ,<ntel/. =ersiones en microcontrolador de los
populares microprocesadores >?>B y >?>>. 8u principal ventaja es $ue permiten
aprovechar las herramientas de desarrollo para 2-.
B>9-AA ,3otorota, ahora llamado 7ree8cale/. Es un microcontrolador de > "its
potente y popular con gran cantidad de variantes.
B>C)) ,3otorola/. 8urgido a partir de la popular familia B>D, a la $ue se
incorporan algunos perif!ricos. 8on microcontroladores de alt&simas
prestaciones.
De todos ellos elegimos los microcontroladores 2<- por varias razones gran cantidad
de informacin disponi"le en espa#ol e ingles, herramientas para tra"ajar con ellos
disponi"les en la Ee" li"res $ue tu mismo puedes armar, a"undancia en nuestro
mercado de la familias de 2<-, precio accesi"le, etc.
0os 2<- son una familia de microcontroladores fa"ricados por 3icrochip ;echnology
<nc. el nom"re completo es 2<-micro, Peripheral Interface Controller ,controlador de
interfaz perif!rico/. Dentro de los 2<-s e)iste una gran variedad, agrupadas segn la
gama pueden ser de gama "aja, gama media y gama alta, cada una tiene diferentes
caracter&sticas ms memoria 7lash, mdulos perif!ricos para comunicacin, mas
puertos de E68, etc. solo nom"raremos y mostraremos algunas
Antes de entrar en detalle en la estructura interna del 2<- haremos una e)plicacin
"reve del sistema "inario y de electrnica digital, $ue es el $ue utiliza los
microcontroladores y so"re electrnica digital para una mejor compresin del
funcionamiento y las partes internas $ue componen a los microcontroladores.
2. ELECTRONICA DIGITAL
0a electrnica digital se encarga del estudio de las se#ales el!ctricas $ue solo pueden
tener dos posi"les estados estado alto ,high/ o uno lgico y estado "ajo ,lo%/ o cero
lgico. Estos estados viene a ser representados por niveles de tensin, para el caso de
los microcontroladores tra"ajan con @= $ue es el estado alto y ?= $ue es el estado "ajo.
Al solo tra"ajar con dos posi"les valores, ? o @=, $ue puede ser interpretado como ? o
A, toda la lgica y las matemticas para los circuitos digitales giran en torno al sistema
"inario, esto $uiere decir $ue con solo dos nmeros, ? y A, se pueden escri"ir el resto,
$ue se pueden hacer operaciones de suma, resta, etc., adems de operaciones lgicas.
2or ello es necesario la compresin manejo del sistema "inario.
2.1. SISTEMA BINARIO
Familia
ROM
[Kbyte
s]
RAM
[bytes
]
Pines
Frecuencia
de reloj.
[MHz]
Entradas
A/
Resoluci!n
del
con"ertid
or A/
#om$aradores
%em$orizadores
de &/'( bits
#omunicaci!n
Arquitectura de la gama baja de 8 bits, palabra de instruccin de 12 bits
P)#'*F+++
*.,-. /
*.-.
'( / 01 ( / & 1 / & * / 0 & * / ' ' 2 &
P)#'0F+++ *.-. / '.. 0. / ,& & 1 / & * / , & * / ' ' 2 &
P)#'(F+++ *.-. / , 0. / ',1 '1 / 11 0* * / , & * / 0 ' 2 &
Arquitectura de la gama media de 8 bits, palabra de instruccin de 14 bits
P)#'0F+++ '.-. / ,.. (1 / '0& & 0* * / 1 '* ' ' / 0 2 & ' 2 '(
P)#'(F+++ '.-. / '1 (1 / ,(& '1 / (1 0* * / ', & or '* * / 0 ' / 0 2 & ' 2 '( 34AR% )0# 4P)
Arquitectura de la gama alta de 8 bits, palabra de instruccin de 16 bits
P)#'&F+++ 1 / '0& 0.( / ,5,( '& / &* ,0 / 1& 1 / '( '* or '0 * / ,
* / 0 2 & 0 / , 2
'(
3460.* #A70.*
34AR% )0# 4P)
P)#'&F++8++ & / '0&
'*01 /
,5,(
0& / '** 1* / 1& '* / '( '* 0
* / 0 2 & 0 / , 2
'(
3460.* 34AR%
P)#'&F++K++ & / (1 -(& / ,5,( 0& / 11 (1 '* / ', '* 0 ' 2 & , 2 '( 34AR% )0# 4P)
En el $uehacer comn utilizamos el sistema decimal o de "ase A?, esto $uiere decir $ue
con tan solo A? nmeros ,?, A, F, C, G, @, B, H, > y I/ podemos escri"ir todas las
cantidades y podemos realizar todas las operaciones e)istentes, a veces tam"i!n
recurrimos al sistema duodecimal o de "ase AF, al comprar una docena de panes, por
ejemplo o media docena de huevos, estamos usando el sistema duodecimal. 8in
em"argo hay un sistema muy usado en las computadoras pero $ue no salta a simple
vista el sistema "inario o de "ase F, en este sistema solo e)isten dos posi"les valores, ?
y A. -on estos dos valores tam"i!n es posi"le escri"ir todas las cantidades y numeros
posi"les, veamos un ejemplo
El nmero HBG, en "ase A?, podemos e)presarlo de varias formas
8i nos damos cuenta la ltima forma e)presa el nmero como una suma de productos de
potencias de A?, esto es por $ue estamos usando el sistema decimal, 8i e)presamos un
nmero en el sistema "inario, por ejemplo FA> tendr&amos una secuencia de unos y
ceros como se muestra a continuacin
Este numero al descomponerlo tam"i!n podemos e)presarlo como una suma de
productos de potencias, pero de "ase es F. ;am"i!n podemos o"servar $ue al hacer la
descomposicin y realizar la suma o"tenemos su e$uivalente e)presado en el sistema
decimal.
En el mundo de las computadoras y tam"i!n los microcontroladores, toda la
informacin es procesada de esta forma, en el sistema "inario.
5tros ejemplos de escritura "inaria serian
A??A?A
F
J CH
A?AA
F
J AA
AA???
F
J FG
2.2. SISTEMA HEXADECIMAL
En el principio del desarrollo de las computadoras era evidente $ue a la gente le costa"a
mucho tra"ajar con nmeros "inarios. 2or eso, se esta"leci un nuevo sistema de
numeracin, $ue utiliza"a AB s&m"olos diferentes. Es llamado el sistema de numeracin
he)adecimal. Este sistema est compuesto de A? d&gitos a los $ue estamos
acostum"rados ,?, A, F, C,... I/ y de seis letras del alfa"eto A, ., -, D, E y 7. '-ul es el
propsito de esta com"inacin aparentemente e)tra#a( .asta con mirar cmo todo en la
historia de los nmeros "inarios encaja perfectamente para lograr una mejor
comprensin del tema.
El mayor nmero $ue puede ser representado con G d&gitos "inarios es el nmero AAAA.
-orresponde al nmero A@ en el sistema decimal. En el sistema he)adecimal ese nmero
se representa con slo un d&gito 7. Es el mayor nmero de un d&gito en el sistema
he)adecimal. El mayor nmero escrito con ocho d&gitos "inarios es a la vez el mayor
nmero de dos d&gitos en el sistema he)adecimal. ;enga en cuenta $ue una
computadora utiliza nmeros "inarios de > d&gitos.
2or ello, para el mejor manejo de las cantidades se usa el sistema he)adecimal, si
$ueremos pasar del sistema "inario al he)adecimal, "asta con agrupar de G en G d&gitos
comenzando por la derecha y luego escri"ir su e$uivalente en he)adecimal.
Algunos ejemplos de conversin entre sistemas num!ricos
A? ?A?A
F
J F@
AB
J CH
A?AA
F
J .
AB
J AA
?AA? AAA?
F
J BE
AB
J AA?
A ?A?A AA??
F
J A@-
AB
J CG>
9ay $ue tener en cuenta $ue para pasar del sistema "inario o he)adecimal al sistema
decimal, "asta con descomponer en suma de potencias al los nmeros y luego realizar la
adicin, ejemplos
2ara pasar del sistema "inario al sistema he)adecimal "asta con realizar la agrupacin
de G en G d&gitos comenzando por la derecha y luego e)presar cada grupo por su
e$uivalente en he)adecimal
;am"i!n es tener en cuenta $ue el m)imo nmero $ue se puede contar con K d&gitos
"inarios es F
K
L A
2or ejemplo con > d&gitos "inarios, el m)imo numero ser F
>
L A JF@@
2.3. CDIGO BCD
El cdigo .-D ,.inaryM-ode Decimal M -digo "inario decimal/ es un cdigo "inario
utilizado para representar a los nmeros decimales. 8e utiliza para $ue los circuitos
electrnicos puedan comunicarse con los perif!ricos utilizando el sistema de
numeracin decimal o "ien utilizando el sistema "inario dentro de Nsu propio mundoO.
-onsiste en nmeros "inarios de G d&gitos $ue representan los primeros diez d&gitos ,?,
A, F, C...>, I/. Aun$ue cuatro d&gitos pueden hacer AB com"inaciones posi"les en total,
el cdigo .-D normalmente utiliza a las primeras diez.
2.. DISTINCIN ENTRE NUMEROS
El sistema de numeracin he)adecimal, junto con los sistemas "inario y decimal, se
consideran los ms importantes para nosotros. Es fcil realizar una conversin de
cual$uier nmero he)adecimal a "inario, adems es fcil de recordarlo. Ko o"stante,
estas conversiones pueden provocar una confusin, por consiguiente, para evitar
e$uivocaciones, diferentes prefijos y sufijos se a#aden directamente a los nmeros. El
prefijo ! " #$ as& como el sufijo % marca los nmeros en el sistema he)adecimal. 2or
ejemplo, el nmero he)adecimal A?A7 se puede escri"ir as& PA?A7, ?)A?A7 o A?A7h.
De manera similar, los nmeros "inarios normalmente o"tienen el sufijo & o #B. 8i un
nmero no tiene ni sufijo ni prefijo se considera decimal. Desafortunadamente, esta
forma de marcar los nmeros no es estandarizada, por consiguiente depende de la
aplicacin concreta.
2.'. N(MEROS NEGATI)OS
2ara escri"ir un nmero negativo en matemticas, "asta con a#adirle el prefijo NMO
,signo menos/. 8in em"argo, en la programacin, al aca"arse el proceso de la
compilacin, se $uedan slo los nmeros "inarios, volvi!ndose las cosas ms
complicadas. 8e utilizan slo dos d&gitos ? y A, mientras $ue todos los dems nmeros,
s&m"olos y signos se forman por medio de las com"inaciones de estos dos d&gitos. En el
caso de los nmeros negativos, la solucin es la siguiente En los nmeros negativos, el
"it ms significativo ,el "it del e)tremo iz$uierdo/ representa el signo del nmero
,donde ? ser positivo y A negativo/. En el caso de un nmero de > "its, para representar
un valor num!rico slo $uedan H "its. De acuerdo a este tipo de codificacin el nmero
QAFH es el mayor nmero positivo con signo $ue se puede representar con > "its. 0a
siguiente pregunta ser&a '-mo es posi"le sa"er de $u! nmero se trata( 2or ejemplo,
si ponemos el nmero A??????A, 'es MA o AFI( Ko se preocupe, de eso se encarga el
compilador. Rsta es la razn por la $ue se declaran varia"les al escri"ir el programa.
2.*. CIRCUITOS LOGICOS
0os circuitos lgicos se crearon con la finalidad de poder hacer las operaciones "sicas
del alge"ra de .oole y asi e)presar por medio de funciones alge"raicas las formas
lgicas de los circuitos. Estos circuitos lgicos representan las operaciones S ,AKD/, 5
,54/, K5 ,K5;/.
2.*.1. COMPUERTA Y +AND,
1na compuerta lgica NSO dispone de dos o ms entradas y de una salida. En este caso
la compuerta utilizada dispone de slo dos entradas. 1n uno lgico ,A/ aparecer en su
salida slo en caso de $ue am"as entradas ,A S ./ sean llevadas a alto ,A/. 0a ta"la a la
derecha es la ta"la de verdad $ue muestra la relacin entre las entradas y salidas de la
compuerta. El principio de funcionamiento es el mismo cuando la compuerta disponga
de ms de dos entradas la salida proporciona un uno lgico ,A/ slo si todas las entradas
son llevadas a alto ,A/.
2.*.2. COMPUERTA O +OR,
De manera similar, la compuerta 5 tam"i!n dispone de dos o ms entradas y de una
salida. 8i la compuerta dispone de slo dos entradas, es aplica"le lo siguiente la salida
proporciona un uno lgico ,A/ si una u otra entrada ,A o ./ es llevada a alto ,A/. En caso
de $ue la compuerta 5 disponga de ms de dos entradas, es aplica"le lo siguiente 0a
salida proporciona un uno lgico ,A/ si por lo menos una entrada es llevada a alto ,A/. 8i
todas las entradas estn a cero lgico ,?/, la salida estar a cero lgico ,?/ tam"i!n.
2.*.3. COMPUERTA NO +NOT,
0a compuerta lgica K5; dispone de una sola entrada y una sola salida, por lo $ue
funciona muy simplemente. -uando un cero lgico ,?/ aparezca en su entrada, la salida
proporciona un uno lgico ,A/ y viceversa. Esto significa $ue esta compuerta invierte las
se#ales por s& mismas y por eso es denominada inversor.
2.*.. COMPUERTA XOR +O EXCLUSI)A,
0a compuerta X54 ,5 EX-018<=A/ es un poco complicada en comparacin con las
dems. 4epresenta una com"inacin de todas las compuertas anteriormente descritas.
0a salida proporciona un uno lgico ,A/ slo si sus entradas estn en estados lgicos
diferentes.

2.*.'. REGISTROS
1n registro o una celda de memoria es un circuito electrnico $ue puede memorizar el
estado de un "yte. los registros son los $ue conforman la memoria del microcontrolador,
al ha"er un grupo de registros estos son seleccionados mediante una direccin asignada
a cada uno.
REGISTROS SFR
-ada microcontrolador dispone de un nmero de registros de funciones especiales
,874/, con la funcin predeterminada por el fa"ricante. 8us "its estn conectados a los
circuitos internos del microcontrolador tales como temporizadores, convertidores A6D,
osciladores entre otros, lo $ue significa $ue directamente manejan el funcionamiento de
estos circuitos, o sea del microcontrolador.
En otras pala"ras, el estado de los "its de registros se fija dentro de programa, los
registros 874 dirigen los pe$ue#os circuitos dentro del microcontrolador, estos circuitos
se conectan por los pines del microcontrolador a un dispositivo perif!rico
PUERTOS DE ENTRADA Y-O SALIDA
-ada microcontrolador tiene uno o ms registros ,denominados puertos/ conectados a
los pines en el microcontrolador. '2or $u! se denominan como puertos de
entrada6salida( 2or$ue usted puede cam"iar la funcin de cada pin como $uiera. 2or
ejemplo, usted desea $ue su dispositivo encienda y apague los tres se#ales 0EDs y $ue
simultneamente monitoree el estado lgico de @ sensores o "otones de presin. 1no de
los puertos de"e estar configurado de tal manera $ue haya tres salidas ,conectadas a los
0EDs/ y cinco entradas ,conectadas a los sensores/. Eso se realiza simplemente por
medio de soft%are, lo $ue significa $ue la funcin de algn pin puede ser cam"iada
durante el funcionamiento.
1na de las caracter&sticas ms importantes de los pines de entrada6salida ,E68/ es la
corriente m)ima $ue pueden entregar6reci"ir. En la mayor&a de los microcontroladores
la corriente o"tenida de un pin es suficiente para activar un 0ED u otro dispositivo de
"aja corriente ,A?MF?mA/. 3ientras ms pines de E68 haya, ms "aja es la corriente
m)ima de un pin. En otras pala"ras, todos los puertos de E68 comparten la corriente
m)ima declarada en la hoja de especificacin t!cnica del microprocesador.
5tra caracter&stica importante de los pines es $ue pueden disponer de los resistores pullM
up. Estos resistores conectan los pines al polo positivo del voltaje de la fuente de
alimentacin y su efecto se puede ver al configurar el pin como una entrada conectada a
un interruptor mecnico o a un pulsador. 0as ltimas versiones de los
microcontroladores tienen las resistencias pullMup configura"les por soft%are.
-ada puerto de E68 normalmente est "ajo el control de un registro 874 especializado,
lo $ue significa $ue cada "it de ese registro determina el estado del pin correspondiente
en el el microcontrolador. 2or ejemplo, al escri"ir un uno lgico ,A/ a un "it del registro
de control ,874/, el pin apropiado del puerto se configura automticamente como
entrada. Eso significa $ue el voltaje llevado a ese pin se puede leer como ? o A lgico.
En caso contrario, al escri"ir ? al registro 874, el pin apropiado del puerto se configura
como salida. 8u voltaje ,?= o @=/ corresponde al estado del "it apropiado del registro
del puerto.
UNIDAD DE MEMORIA
0a unidad de memoria es una parte del microcontrolador utilizada para almacenar los
datos. 0a manera ms fcil de e)plicarlo es compararlo con un armario grande con
muchos cajones. 8i marcamos los cajones claramente, ser fcil acceder a cual$uiera de
sus contenidos al leer la eti$ueta en la parte delantera del cajn.
De manera similar, cada direccin de memoria corresponde a una localidad de memoria.
El contenido de cual$uier localidad se puede leer y se le puede acceder al direccionarla.
0a memoria se puede escri"ir en la localidad o leer.
9ay varios tipos de memoria dentro del microcontrolador
MEMORIA ROM +READ ONLY MEMORY, 0a memoria 453 se utiliza para
guardar permanentemente el programa $ue se est ejecutando. El tama#o de programa
$ue se puede escri"ir depende del tama#o de esta memoria. 0os microcontroladores
actuales normalmente utilizan el direccionamiento de AB "its, $ue significa $ue son
capaces de direccionar hasta BG T" de memoria, o sea B@@C@ localidades. 2or ejemplo,
si usted es principiante, su programa e)ceder pocas veces el l&mite de varios cientos de
instrucciones. 9ay varios tipos de memoria 453.
OTP ROM +O./ T01/ P2"32411456/ ROM, 7 ROM 82"3241456/ 9.4 :"64 ;/<. 0a
memoria programa"le una sola vez permite descargar un programa en el chip, pero
como dice su nom"re, una sola vez. 8i se detecta un error despu!s de descargarlo, lo
nico $ue se puede hacer es descargar el programa correcto en otro chip.
U) EPROM +U) E24:456/ P2"32411456/ ROM, 7 ROM 82"3241456/ 5"22456/
8"2 24=": 96>24;0"6/>4. El encapsulado de este microcontrolador tiene una NventanaO
reconoci"le en la parte alta. Eso permite e)poner la superficie del chip de silicio a la luz
de ultravioleta y "orrar el programa completamente en varios minutos. 0uego es posi"le
descargar un nuevo programa en !l.
M/1"204 F64:%. En este tipo de memoria es posi"le escri"ir y "orrar el contenido de
esta memoria prcticamente un nmero ilimitado de veces, los microcontroladores con
memoria 7lash son perfectos para estudiar, e)perimentar y para la fa"ricacin en
pe$ue#a escala.
MEMORIA RAM +RANDOM ACCESS MEMORY, 7 MEMORIA DE ACCESO
ALEATORIO. Al apagar la fuente de alimentacin, se pierde el contenido de la
memoria 4A3. 8e utiliza para almacenar temporalmente los datos y los resultados
inmediatos creados y utilizados durante el funcionamiento del microcontrolador.
MEMORIA EEPROM +ELECTRICALLY ERASABLE PROGRAMMABLE
ROM, 7 ROM PROGRAMABLE Y BORRABLE ELCTRICAMENTE. El
contenido de la EE2453 se puede cam"iar durante el funcionamiento ,similar a la
4A3/, pero se $ueda permanentemente guardado despu!s de la p!rdida de la fuente de
alimentacin ,similar a la 453/. 2or lo tanto, la EE2453 se utiliza con frecuencia
para almacenar los valores creados durante el funcionamiento, $ue tienen $ue estar
permanentemente guardados.
EL CPU +UNIDAD CENTRAL DE PROCESAMIENTO,
-omo indica su nom"re, esto es una unidad $ue controla todos los procesos dentro del
microcontrolador. -onsiste en varias unidades ms pe$ue#as, de las $ue las ms
importantes son
D/?"@0A0?4@"2 @/ 0.:>29??0"./: es la parte $ue descodifica las instrucciones del
programa y acciona otros circuitos "asndose en esto. El Nconjunto de instruccionesO
$ue es diferente para cada familia de microcontrolador e)presa las capacidades de este
circuitoU
U.0@4@ 6B30?4 420>1C>0?4 +A20>%1/>0?46 L"30?46 U.0> 7 ALU, realiza todas las
operaciones matemticas y lgicas so"re datosU y
A?91964@"2 " 2/30:>2" @/ >2454D". Es un registro 874 estrechamente relacionado con
el funcionamiento de la A01. Es utilizado para almacenar todos los datos so"re los $ue
se de"e realizar alguna operacin ,sumar, mover/. ;am"i!n almacena los resultados
preparados para el procesamiento futuro.
BUS
El "us est formado por >, AB o ms ca"les. 9ay dos tipos de "uses el "us de
direcciones y el "us de datos. El "us de direcciones consiste en tantas l&neas como sean
necesarias para direccionar la memoria. 8e utiliza para transmitir la direccin de la -21
a la memoria. El "us de datos es tan ancho como los datos, en este caso es de > "its o
l&neas de ancho. 8e utiliza para conectar todos los circuitos dentro del microcontrolador.
;odo sistema $ue lleve un microcontrolador consta de tres partes
H42@E42/F es el conjunto de circuitos electronicos $ue forman el sistema. es la parte
fisica.
S"A>E42/F Es el conjunto de programas y aplicaciones formado por instrucciones y
rutinas $ue se utilizan para programar y coordinar al sistema. ;am"i!n se denomina
soft%are al conjunto de lenguajes empleados para ela"orar dichos programas.
F021E42/F Es un Vsoft%areV gra"ado en la estructura electrnica del microcontrolador
y $ue el usuario en principio no puede alterar. En las computadoras, la .<58 utiliza
firm%are y contiene un grupo de programas $ue sirven de intermediario entre el
soft%are y hard%are.
ARQUITECTURA DEL MICROCONTROLADOR
En el mundo de los microcontroladores se le denomina ar$uitectura a la forma como
intercam"ian datos entre el -21 y la memoria, e)isten dos tipos
A2G90>/?>924 )". N/914..F En la cual disponen un solo "lo$ue de memoria, es decir
estn juntos la 453 ,memoria de programa/ y la 4A3 ,memoria de datos/. 8u
desventaja es $ue es ms lento el procesamiento al tener $ue usar las mismas l&neas para
leer instrucciones y datos
A2G90>/?>924 H42;42@F en la $ue la memoria de datos esta separada de la memoria de
instrucciones, como las l&neas $ue utiliza para comunicarse con am"as memorias son
independientes, por lo $ue puede leer una instruccin de la memoria y al mismo tiempo
cargar un dato al -21. Adems las memorias pueden ser de distintas cantidades de
"ytes.
De am"as la $ue utiliza los microcontroladores 2<- es la segunda, por las ventajas
mencionadas.
HUEGO DE INSTRUCCIONES
-uando ha"lamos del juego de instrucciones nos referimos a las instrucciones $ue
puede entender el microcontrolador, $ue para los microcontroladores es el ensam"lador
o assem"ler. E)isten dos enfo$ues
RISC +R/@9?/@ I.:>29?>0". S/> C"189>/2, 7 C"189>4@"24 ?". H9/3" @/
I.:>29??0"./: R/@9?0@4:. En este caso la idea es $ue el microcontrolador reconoce y
ejecuta slo operaciones "sicas ,sumar, restar, copiar etc.../ 0as operaciones ms
complicadas se realizan al com"inar !stas ,por ejemplo, multiplicacin se lleva a ca"o al
realizar adicin sucesiva/.
CISC +C"186/$ I.:>29?>0". S/> C"189>/2, 7 C"189>4@"24: ?". 9. D9/3" @/
0.:>29??0"./: ?"186/D". -<8- es opuesto a 4<8-. 0os microcontroladores dise#ados
para reconocer ms de F?? instrucciones diferentes realmente pueden realizar muchas
cosas a alta velocidad. Ko o"stante, uno de"e sa"er cmo utilizar todas las posi"ilidades
$ue ofrece un lenguaje tan rico, lo $ue no es siempre tan fcil.
Estructura interna de un microcontrolador
PROGRAMA CCS COMPILER
Es un compilador $ue convierte el lenguaje de alto nivel en cdigo m$uina,
desarrollado espec&ficamente para los microcontroladores 2<-s. 8oporta la gran mayoria
de microcontroladores disponi"les en nuestro mercado.
Es - estndar, adems de directivas estndar, suministra directivas especificas para
2<-s y funciones especificas.
ESTRUCTURA DE UN PROGRAMA
En un programa escrito en lenguaje - podemos encontrar G partes
D02/?>0;4: @/ P2/P2"?/:4@"F controlan la conversin del programa a cdigo m$uina.
.sicamente son instrucciones para el compilador, de esta forma el compilador sa"e $ue
de"e de hacer con el programa. 2or lo general las directivas inician con el s&m"olo W.
Ejm Winclude Xstdli".hY
Wuse fastZio,A/
I.:>29??0"./:F le dicen $ue de"e hacer el 2<- en todo momento. Estas instrucciones, al
ser compiladas, son las $ue generan el cdigo assem"ler e$uivalente para $ue sean
interpretadas por el microcontrolador.
Ejm if,input,8EK854//[
printf,Nsensor activoO/U
relayJoffU
\
F9.?0"./:F 0as funciones es un conjunto de instrucciones $ue al ser agrupadas actan
como una sola instruccin ms compleja. 0as funciones pueden reci"ir parmetros y
retornar valores de salida. 0a funcin principal en - es main. ;oda funcin tiene un tipo
determinado de dato.
Ejm void main,/ [
outputZhigh,2<KZ.?/U
AJA.F]"QcU
\
C"1/.>420":F 2ermiten descri"ir lo $ue esta haciendo al programa. 8e antepone dos
"arras inclinadas. 8irven como gu&a para el programador, de tal forma $ue sepa $ue
accin realiza cierto cdigo. Al ser compilado no genera cdigo ejecuta"le.
Ejm 66 Este es un comentario
6]
de esta forma puedo comentar un parrafo
]6