Você está na página 1de 29

1.

7 Introduccin a la Familia de Microcontroladores MCS-51


1.7.1 Breve resea histrica
INTEL fue la compaa que desarroll el primer microprocesador en el
mundo, el 4004 en el ao 1971. Ese microprocesador, con solo !"00 ransisores,
fue el ori#en de una #ran canidad de disposii$os que se desarrollaron
poseriormene, los cuales ine#ran acualmene m%s de un milln de ransisores
en un encapsulado. Tampoco podemos ol$idar el &ec&o que INTEL &a
desarrollado microprocesadores an e'iosos como el (0(), el (0!(), el (0"(), el
(04() * m%s recienemene el +enium, INTEL es, &o* por &o*, uno de los
ma*ores producores de microprocesadores en el mundo, con un mercado an
amplio como codiciado, *a que millones de compuadores +- ienen insalado un
microprocesador con su marca.
INTEL am.i/n fa.rica microconroladores de ( * de 1) .is, cada uno de
ellos iene amplias posi.ilidades de uili0acin * presaciones que los &acen
adecuados para #ran canidad de aplicaciones. Los microconroladores INTEL &an
enido una #ran acepacin, &asa el puno que oros fa.ricanes &an opado por
producir sus propias $ersiones de esos disposii$os, como es el caso de
1IE2EN1, 3T2EL, * +4ILI+1. Esos microconroladores son la pare ineli#ene
en una #ran canidad de sisemas como5
-onrol de procesos auom%icos, de m%quinas &erramienas,
aparaos de manio.ra, de posicin, de $elocidad, ec/era.
1isemas de alarma de odo ipo5 indicadores * conrol de ni$el,
re#ulacin de caudal, aperura auom%ica de disposii$os,
ec/era.
-onroladores de perif/ricos como impresoras, modems,
eclados, unidades de disco, ploers, ec/era.
Equipos de sonido * ele$isores donde son raadas las seales
de audio * $ideo.
1isemas indusriales para el coneo de elemenos, la
#eneracin de .ases de iempo, ec/era.
6enro de los microconroladores de ( .is e'isen dos #eneraciones5 la
primera es la consiuida por la familia 21-74( la cual dio ori#en a las dem%s
familias, mienras que la se#unda es la conformada por la familia 2-1781 la
primera #eneracin a9n es% disponi.le, aunque es un poco m%s limiada en
cuano a capacidades que la se#unda.
1.7.2 La amilia MCS-51
Los miem.ros m%s populares de los microconroladores de la familia 2-1781
son5 los (::1, * m%s concreamene, los (:81. Las diferencias enre esos dos
miem.ros se muesran en la a.la Tab.1.7.A. -omo se puede o.ser$ar, e'isen
res $ersiones para cada uno5 una $ersin sin ;<2, cu*o prefi=o es (0 * sufi=o "1,
* $ersiones con ;<2, con sufi=o 81, la $ersin E+;<2 iene el prefi=o (7. E'ise
un miem.ro un poco m%s compleo de esa familia, el cual cam.ia el n9mero 1 por
el ! * posee ma*or capacidad de ;<2, de ;32 * de empori0adores>conadores.
Tab.1.7.A. Miembros de la familia MCS-51
1IN ;<2 -<N ;<2 -<N
E+;<2
;<2
?@TE1
;32
?@TE1
TI2E;1
1) ?IT1
INTE;;A+-I<NE1
(0"1 (081 (781 4B 1!( ! 8
(0"! (08! (78! (B !8) " )
1.7.! Caracter"sticas de los microcontroladores #$51
La arquiecura .%sica de esa familia de microconroladores se muesra en la
fi#ura Fi%.1.7.&.
Fig.1.7.A Configuracin bsica de la familia MCS-51
Control de
Interru'ciones
C()
*scilador
0 C
0 C 0 C
0 C
+*M
12# B,tes
+&M
Bus de
Control
- (uertos I.*
!8) ?*es en el
(08!
Timer 0
Timer 0
Timer 0
Enradas
del -onador
6irecciones > 6aos
+0 +1 +! +"
(uerto Serial
T'6 ;'6
1us caracersicas m%s imporanes son5
-+A de ( .is, opimi0ado para aplicaciones de conrol.
+rocesador ?ooleano Doperacin so.re .isE.
Espacio de memoria de pro#ramas de )4 B?*es.
Espacio de memoria de daos de )4 B?*es.
4 B.*es de memoria inerna de pro#rama.
1!( .*es de memoria ;32 inerna.
"! lneas de enrada salida, direcciona.les .i a .i.
! empori0adores>conadores de 1) .is.
-omunicacin asncrona full duple'.
8 fuenes de inerrupcin.
<scilador inerno.
1.7.- *r%ani/acin de la memoria
Todos los disposii$os de la familia 2-1781 ienen separados los espacios de
direcciones de daos * de pro#ramas, como se muesra en la fi#ura Fig.1.7.B. La
separacin l#ica de am.as memorias permie que a ra$/s de la memoria de
daos se acceda a direcciones de ( .is, lo cual permie que los daos puedan ser
manipulados * almacenados m%s r%pidamene por las -+A de ( .is.
Fig.1.7.B Organiacin de las memorias de !a"os # $rograma
E3 F 0
E:TE;N3
INTE;N3
E3 F 1
0000
0GGG&
1GGG&
(081
(08!
E:TE;N3
GGGG&
+1EN
M0M*+I&10 (+*2+&M&
3S*L* 10 L0C4)+&5
1G;
00
7G&
GG&
(081
(08!
E:TE;N3
00
GGGG&
M0M*+I& 10 1&4*S
3L0C4)+& . 0SC+I4)+&5
;6 H;
La 2emoria de +ro#rama solamene puede ser leda, no escria, se pueden
acceder &asa )4 ?*es en las $ersiones ;<2 * E+;<2 los m%s .a=os 4 B?*es u
( B?*es es%n denro del c&ip, dependiendo del ipo de disposii$o. En la $ersin
sin ;<2, oda la memoria de pro#rama es e'erna. La sincroni0acin de la lecura
para la memoria de pro#rama e'erna es la seal +1EN D+ro#ram 1ore Ena.leE.
La memoria e'erna de daos puede ser direccionada &asa )4 B?*es *
puede ser escria o leda, para lo cual la -+A #enera las seales H; * ;6,
respeci$amene.
Las memorias e'ernas de daos * de pro#rama pueden coe'isir, si se
desea, aplicando las seales ;6 * +1EN a las enradas de una compuera 3N6 *
uili0ando la salida de la compuera como seal de sincroni0acin a la memoria
e'erna de +ro#rama>6aos.
1.7.5 Memoria de 'ro%rama
La 2emoria de +ro#rama puede ser una com.inacin de inerna * e'erna o
oalmene e'erna. En cualquiera de los dos casos aneriores, en la pare .a=a de
la memoria de pro#ramas se encuenra una serie de posiciones de memoria,
especiales para el raamieno de las inerrupciones.
Ana inerrupcin se descri.e como una seal que #enera un disposii$o, para
indicarle a la -+A que se requiere su aencin. Las inerrupciones nacen de la
necesidad de e=ecuar un proceso en un insane preciso * ane la e'isencia de
$arias, pueden crearse prioridades enre ellas, de al forma que una inerrupcin
de .a=a prioridad puede ser inerrumpida por una de m%s ala, pero no se presena
el proceso in$erso
Las -+A aiende la inerrupcin mediane una ruina especial, reali0ada en el
pro#rama, la cual es llamada ruina de ser$icio, una $e0 que la inerrupcin es
aendida, la -+A re#resa al puno en el cual &a.a suspendido sus la.ores, fi#ura
Fig.1.7.C ese proceso se lle$a a ca.o con la a*uda de la memoria ;32 inerna,
en la cual se almacena pro$isionalmene la posicin de la insruccin que esa.a
por e=ecuarse anes del llamado de inerrupcin.
-omo pueden e'isir un .uen n9mero de inerrupciones, #eneradas por
diferenes condiciones de los disposii$os, cada una de ellas de.e ener su propia
ruina de ser$icio locali0ada en una posicin especfica de la memoria de
pro#rama. Las inerrupciones pueden ser inernas o e'ernas, dependiendo de si
la fuene que lo ori#ina esar denro del microconrolador o por fuera de ese.
-omo se muesra en la fi#ura Fig.1.7.!, a cada inerrupcin se le asi#na una
direccin fi=a de la memoria de pro#rama. La inerrupcin &ace que la -+A sale a
esa localidad, donde comien0a la e=ecucin de una ruina de ser$icio. La posicin
000"4, por e=emplo, es% asociada a la inerrupcin E'erna 0 si la inerrupcin
e'erna $a a ser uili0ada, la ruina de ser$icio de.e empe0ar en esa direccin. 1i
la ruina no se uili0a, la posicin de memoria puede ser empleada como memoria
de pro#rama
Fig.1.7.C %s&uema de una in"erru'cin
Las ruinas de ser$icio de las inerrupciones es%n separadas por iner$alos
de ( .*es, si /sas no son lo suficienemene coras, las ruinas pueden uili0ar
insrucciones de salo a una 0ona m%s amplia de la memoria de pro#ramas, con
capacidad para conener el raamieno compleo a la inerrupcin.
-omo se &a indicado, la pare .a=a de la memoria de pro#rama puede ser de
4 B?*es u ( B?*es, la cual se puede seleccionar denro de la memoria inerna o
la e'erna. La seleccin se puede reali0ar mediane la conmuacin del pin E3
DE'ernal 3ccessE a Ccc o Ind, si ese pin se coneca a Ccc, la pare .a=a se
.uscar% en la memoria inerna del microconrolador, si se coneca a Ind, lo &ar%
en la memoria e'erna, en am.os casos, la pare superior de la memoria de
pro#ramas D)0 B?*es o 8) B?*esE se .uscar% en la memoria e'erna. En los
disposii$os sin ;<2, ese pin de.e conecarse a Ind para que el pro#rama se
e=ecue apropiadamene. Ana seal de lecura de la ;<2 e'erna, +1EN
D+ro#ram 1ore Ena.leE, se uili0a para odas las .9squedas de memoria e'erna *
no es aci$ada en nin#9n caso para .9squedas en la memoria inerna.
D!E CE-T<; 6E
INTE;;A+-I<N
+;<I;323 +;IN-I+3L
D"E ;ATIN36E 1E;CI-I<
6E INTE;;A+-IJN
;TI
D
1
E
IN
T
E
;
;
A
+
-
I<
N
D
4
E
;
E
T
<
;
N
<
6
E
IN
T
E
;
;
A
+
-
I<
N
Fig.1.7.! (ec"ores de )n"erru'cin en la memoria de 'rograma
En la fi#ura Fig.1.7.% se muesra la confi#uracin a uili0ar para la e=ecucin
del pro#rama de memoria e'erna. 1e puede o.ser$ar que 1) lneas de I><
Dpueros +0 * +!E son dedicados a las funciones de .us durane la e=ecucin de la
memoria e'erna. El puero +0 es muliple'ado en el iempo como .us de
direcciones * de daos. Ese emie la pare .a=a del conador de pro#ramas D+-LE
como una direccin * lue#o pasa un esado floane, esperando la lle#ada del
cdi#o pro$eniene de la memoria de pro#ramas.
Fig.1.7.% Configuracin del MCS-51 con memoria e*"erna de $rograma
6urane el iempo en el cual el .*e .a=o del conador de pro#ramas es
esa.le en +0, la seal 3LE D3ddress Lac& Ena.leE fi=a ese .*e en el cerro=o de
direcciones. 2ienras ano, el puero +! emie la pare ala del conador de
pro#ramas D+-4E. Ginalmene, se emie el pulso de sincroni0acin +1EN * el
cdi#o es ledo por el microconrolador. El direccionamieno de pro#ramas es
siempre de 1) .is de anc&o, aunque el oal disponi.le de memoria de pro#ramas
0000&
000"& Inerrupcin E'erna 0
000?&
001"&
001?&
00!"&
00!?&
Timer 0
Timer 1
Inerrupcin E'erna 1
Timer !
+uero 1erial
0GGG&
+1
+"
MCS-51
L3T-4 0 C
+0
E3
3LE
+!
+1EN
+*M0$40+6&
IN1T;
366;
<E
sea menor a esa canidad. La e=ecucin de pro#ramas e'ernos sacrifica dos de
los cuaro pueros de ( .is, +0 * +!, para direccin a la memoria de pro#ramas.
Las secuencias de .9squeda * e=ecucin de las insrucciones no dependen
de la uili0acin de la memoria inerna o e'erna lo que quiere decir que, en am.os
casos, los iempos de e=ecucin ser%n los mismos.
1.7.7 Ciclo de m89uina
En esa familia de microconroladores, un ciclo de m%quina consise en una
secuencia de seis esados, numerados desde 11 &asa 1). -ada esado es%
formado por dos perodos de la seal del relo=, * se denominan fases, +1 * +!, por
lo ano, un ciclo de m%quina, oma 1! periodos de relo=, Dfi#ura Fig.1.7.FE. 1i la
frecuencia de relo= es de 1! 240, el ciclo m%quina endr% una duracin de un
microse#undo.
Fig.1.7.F Ciclo de m&uina
1.7.7 Memoria de datos
La familia 2-1781 puede acceder &asa )4 B.*es de memoria e'erna de
daos. La fi#ura Fig.1.7.+ muesra la confi#uracin para uili0ar &asa dos B?*es
de memoria e'erna.
En ese caso, la e=ecucin se es% reali0ando desde la ;<2 inerna. 6e
nue$o, el puero +0 es% siendo muliple'ado como .us de direcciones * daos de
la ;32, * res lneas del puero +! se uili0an para pa#inarla. La -+A #enera la
seales ;6 * H; necesarias durane el acceso de la ;32 e'erna. El
direccionamieno de la memoria e'erna puede ser de uno o dos .*es de anc&o.
El direccionamieno de un .*e se lo#ra por el puero +0, en con=uno con una o
m%s lneas de I>< para pa#inar la ;32, como se muesra en la fi#ura Fig.1.7.+.
Tam.i/n se puede uili0ar el direccionamieno de dos .*es, en cu*o caso el .*e
alo de la direccin es emiido por el puero +!.
+1 +! +1 +! +1 +! +1 +! +1 +! +1 +!
11 1! 14 1" 18 1)
-I-L< 6E 23KAIN3
Fig.1.7.+ Configuracin del MCS-51 con memoria e*"erna de !a"os
El mapa de memoria inerna se puede o.ser$ar en la fi#ura Fig.1.7.,. El
espacio de memoria se muesra di$idido en res .loques, los cuales son llamados
por lo #eneral como los 1!( .a=os, los 1!( alos * el espacio de los 1G; D1pecial
Guncion ;e#isersE o ;e#isros de +ropsio Especial.
Fig.1.7., Memoria de !a"os )n"erna
El direccionamieno de la memoria es siempre de un .*e de anc&o, lo que
implica que el espacio de direcciones es de solamene !8) .*es. 1in em.ar#o,
los modos de direccionamieno pueden de &ec&o acomodar "(4 .*es, usando
dos diferenes modos de direccionamieno de las insrucciones. El
direccionamieno direco m%s alo que 7G4 uili0a un espacio de memoria,
mienras que un direccionamieno indireco m%s alo que 7G4 accede a un espacio
diferene de memoria. 6e.ido a eso, la fi#ura Fig.1.7., muesra los 1!( .*es
alos * el espacio de los 1G; compariendo el mismo .loque de direcciones (04
&asa GG4, aunque ellos son fsicamene enidades separadas. 1e de aclarar que
el %rea de direccionamieno slo indireco Dposiciones de ;32 (04 a GG4E es%
+1
+"
MCS-51
L3T-4
+0
E3
3LE
+!
+&M0$40+6&
63T<1
366;
HE <E
H;
;6
I>< ?is de +%#ina
L8C
3--E1I?LE 1<L32ENTE
2E6I3NTE
6I;E--I<N32IENT<
IN6I;E-T<
3--E1I?LE 2E6I3NTE
6I;E--I<N32IENT<
6I;E-T< E IN6I;E-T<
3--E1I?LE 2E6I3NTE
6I;E--I<N32IENT<
6I;E-T<
;e#isros de +ropsio
Especia5l
+ueros
?is de Esado
* de -onrol
Timers
;e#isros
+unero de +ila
3cumulador
00&
7G&
(0&
GG&
presene 9nicamene en los microconroladores (::!.
Los 1!( .*es .a=os es%n presenes en odos los disposii$os 2-1781 * su
mapa se encuenra en la fi#ura Fig.1.7.). -omo se puede o.ser$ar, se &a di$idido
en res se#menos principales5
Fig.1.7.) -os 1./ b#"es ba0os de 1AM in"erna
1.7.7.1 Banco de re%istros
Los "! .*es m%s .a=os D004 a1G4E se a#rupan en cuaro .ancos de (
re#isros. Las insrucciones del pro#rama llaman a esos re#isros ;0 &asa ;7.
6os .is en la pala.ra de esado D+1HE seleccionan cual .anco de re#isros es%
en uso. Eso permie un uso m%s eficiene del espacio de cdi#o, as como
insrucciones que in$olucran re#isros, m%s coras que aquellas que uili0an
direccionamieno indireco. +or defeco cuando se aplica un ;E1ET al
microconrolador, el .anco en uso es el 0.
1.7.7.2 &reas direcciona:les :it a :it
Los 1) .*es si#uienes D!04 a !G4E, conforman un .loque en el que se
puede direccionar direcamene .i por .i. El con=uno de insrucciones de los
2-1781 inclu*en una amplia $ariedad de insrucciones orienadas &acia .is, * los
1!( .is de esa %rea se pueden mane=ar direcamene por esas. Las direcciones
de los .is de esa %rea $an desde 004 &asa7G4.
1.7.7.! ;rea de +&M del usuario
Las posiciones resanes de la memoria ;32 inerna D"04 al 7G4E
conforman la ;32 de ra.a=o del usuario o 1crac& +ad.
La a.la Tab.1.7.B muesra la disposicin de los re#isros de propsio
especial o 1G; D1pecial Guncion ;e#isersE, los cuales se pueden acceder
solamene por direccionamieno direco. 3quellos re#isros que se encuenran en
la columna i0quierda de la a.la am.i/n son direcciona.les .i a .i. Los re#isros
encerrados enre par/nesis e'isen en los (::!, * no en los (::1. C/ase que no
odas las direcciones es%n ocupadas, las direcciones desocupadas no es%n
implemenadas en el ine#rado. 3l reali0ar lecuras en esas direcciones se
o.endr%n daos aleaorios, mienras que escri.ir en ellas no endr%n efeco
al#uno. Esas posiciones se reser$an para fuuros producos 2-1781, que
poseer%n nue$as caracersicas.
Tab.1.7.B 2rea de 1egis"ros de $ro'si"o %s'ecial SF1
F8 FF
F0
B
F7
E8 EF
E0
ACC
E7
D8 DF
D0
PSW
D7
C8
(T2CON) (RCAP2L) (RCAP2H) (TL2) (TH2)
CF
C0 C7
B8
IP
BF
B0
P3
B7
A8
IE
AF
A0
P2
A7
98
SCON SBUF
9F
90
P1
97
88
TCON TMOD TL0 TL1 TH0 TH1
8F
80
P0 SP DPL DPH PCON
87
La funcin de cada uno de los re#isros de propsio especial se descri.e a
coninuacin
1.7.7.!.1 +e%istros direcciona:les :it a :it
ACC. Es el re#isro acumulador, so.re el cual se reali0an las
operaciones l#icas, arim/icas, de ransferencia,
ec/era.
B. 1e usa durane operaciones de muliplicacin * di$isin. +ara
oras insrucciones, ese puede ser raado como cualquier oro
re#isro del 1crac& +ad.
(S<. +ro#ram 1aus Hord o +ala.ra de Esados del +ro#rama.
-oniene informacin del esado del pro#rama * las .anderas
que son afecadas como resulados de operaciones.
(=> (1> (2> , (!. +ueros 0 a " son los cerro=os de los pueros 0,1,! * "
respeci$amene.
I0. Inerrup Ena.le o 4a.iliador de Inerrupciones. +ermie que se
aiendan las inerrupciones que el usuario considere
con$enienes.
I(. Inerrup +riori* o +rioridad de Inerrupciones. -ada inerrupcin
puede pro#ramarse con un #rado de prioridad, de al manera
que una inerrupcin con ala prioridad no pueda ser
inerrumpida por ora de prioridad m%s .a=a, pero si se presena
el efeco in$erso.
SC*6. 1erial +or -onrol o -onrol del +uero 1erial. Esa.lece los
par%meros para la ransmisin o recepcin de daos a ra$/s
del pueros serial Danc&o del dao, .is de inicio * parada,
$elocidad, ec/era.E
4C*6. Timer>-ouner -onrol o -onrol de Tempori0ador>-onador.
-onrola dos modos de operacin de los empori0adores *
mane=a las inerrupciones asociadas, as como los .ancos de
aci$acin.
1.7.7.!.2 +e%istros no direcciona:les :its a :it
SB)F. 1erial ?uffer o ?uffer 1erial de daos. 1on dos re#isros que se
uili0an para la ransmisin * recepcin de daos a ra$/s del
puero serial.
4M*1. Timer>-ouner 2ode -onrol o -onrol de 2odo de
Tempori0ador>-onador. 1elecciona los modos de operacin de
los imers, si ac9an como empori0adores o como conadores,
ec/era.
S(. 1acM +oiner o +unero de +ila. Ese se incremena anes que
un dao sea almacenado a causa de una insruccin +A14 o
-3LL. La pila es un %rea de la memoria ;32, que se uili0a
para almacenar emporalmene informacin .%sica del
pro#rama, anes de aender una inerrupcin la pila puede
residir en cualquier siio de la memoria ;32 pero el punero se
iniciali0a despu/s del ;E1ET con 074. Eso ocasiona que la
pila se inicie en la direccin 0(4.
1(4+. 6aa +oiner o +unero de 6aos. Es% consiuido por una are
ala D6+4E * una pare .a=a D6+LE * coniene una direccin de
1) .is. 1e puede mane=ar como un re#isro de 1) .is o como
dos re#isros independienes de ( .is.
4= , 41. Timers o Tempori0adores. 1on re#isros de 1) .is que pueden
acuar como empori0adores o conadores e inclu*en dos
re#isros de ( .is T40, TL0, T41 * TL1.
(C*6. +oNer -onrol o -onrol de +oder. +osee un .i que cam.ia la
$elocidad de comunicacin serial * en $ersiones -42<1 de
esa familia, puede modificar el r/#imen de ra.a=o del
microconrolador, reduciendo el consumo de ener#a.
1.7.7.!.! +e%istros e?clusivos de los microcontroladores #$$2
42C*6. Lo mismo queT2<6 *T-<N, pero aplicado al imer adicional
que posee esa $ersin de microconrolador.
+C&(2. -apure ;e#iser o ;e#isros de -apura. Inclu*e dos re#isros
de ( .is D;-3+!4 * +-3+!LE que ra.a=an en con=uno con el
TI2E;!.
4@2. La misma funcin de T0 * T1 descrios aneriormene.
En la fi#ura Fig.1.7.3 se iene una esrucura m%s deallada de la familia de
microconroladores 2-1781. 1e pueden o.ser$ar, adem%s de los .loques * los
.uses, los pines de cone'in. Esos pines se muesran en la fi#ura Fig.1.7.4 *
corresponden uno a uno con la fi#ura anerior. La si#uiene es la descripcin de
esos pines5
Fig.1.7.3 %s"ruc"ura in"erna del microcon"rolador /551
Acc. Es la alimenacin del ine#rado * se de.e conecar por ano a L8
$olios dc. 3unque la familia 3mel permie una ran#o de
alimenacin enre L!$ol a L) $ol.
2nd. Tierra o referencia del circuio.
&L0.(+*2. 3ddress Lac& Ena.le o 4a.iliador del -erro=o de
6irecciones. +or ese pin se emie la seal para encla$ar el .*e
.a=o de las direcciones, cuando se accede a la memoria
e'erna. Tam.i/n es la enrada de los punos de pro#ramacin
de la memoria E+;<2
Direcci!e"#D$%"
Direcci!e"#D$%"
Fig.1.7.4 Configuracin de 'ines del microcon"rolador /551
(S06. +ro#ram 1ore Ena.le o 4a.iliador de 3lmacenado de
+ro#rama. Es la seal de sincroni0acin para leer la memoria
e'erna del pro#rama. +1EN slo se ori#ina cuando se lee la
memoria e'erna.
0&.A((. E'ernal 3ddress o 6ireccin E'erna. -uando se maniene en
un ni$el l#ico alo, slo se e=ecua el pro#rama de la memoria
inerna, a menos que conador de pro#rama e'ceda de 0GGG4
para los (:81 o 1GGG4 para los (:8!. 1i ese pin se maniene
a un ni$el .a=o, el pro#rama que se e=ecua es el de la memoria
e'erna, independienemene de la direccin del pro#rama
durane la pro#ramacin de la memoria +;<2, ese pin reci.e
un $ola=e que oscila enre 8 $olios * la ensin de
pro#ramacin.
$4&L1 , $4&L2. Enrada * salida del oscilador, respeci$amene se
puede uili0ar un crisal de cuar0o un resonador cer%mico.
+0S04. Enrada para la reiniciali0acin del sisema. El ;E1ET se
produce cuando se coloca ese pin a un ni$el alo, por lo menos
durane dos ciclos de m%quina.
(uertos. Todos son .idirecciona.les de ( .is. -uando se escri.e O1P a
los pines, esos se pueden usar como enradas de ala
impedancia. -omo salida, cada pin del puero +0 puede
mane=ar ( car#as TTL7L1, el reso de los pueros puede
mane=ar slo cuaro car#as TTL7L1. Esos pueros am.i/n
pueden acuar de la si#uiene manera5
(uerto = 3(=. 5 Es muliple'ado como la pare de .a=a de la direccin *
del .us de daos durane el acceso a la memoria e'erna.
3dem%s, emie los cdi#os durane la pro#ramacin de la
E+;<2 * los reci.e en la $erificacin del pro#rama.
(uerto 1 3(15. 6urane la pro#ramacin * $erificacin de la E+;<2
reci.e la pare .a=a de las direcciones. 6os .is m%s .a=os
ienen una funcin adicional en los ( ::!5
(1.=B42 Timer! o Tempori0ador!. Enrada e'erna para ese
empori0ador>conador Dsolamene en los (::!E.
(1.1B420$. -apura * recar#a de disparo para el Timer!.
(uerto 2 3(25. Emie la pare ala de las direcciones durane el acceso
e'erno de memoria * cuando el acceso de daos iene 1) .is,
asimismo durane la pro#ramacin * $erificacin de la E+;<2.
(uerto ! 3(!5. Ese iene funciones alernas especiales .ien
deerminadas, ales como5
(!.=B+$1. Enrada del puero serial.
(!.1B4$1. 1alida del puero serial.
(!.2BI64=. Enrada de la inerrupcin e'erna 0.
(!.!BI641. Enrada de la inerrupcin e'erna 1.
(!.-B4=. Enrada e'erna del empori0ador>conador 0.
(!.5B41. Enrada e'erna del empori0ador>conador 1.
(!.7B<+. 1eal de escriura para elemenos e'ernos.
(!.7B+1. 1eal de lecura para elemenos e'ernos.
1.7.# 4em'ori/adores . Contadores
An imer ra.a=a como empori0ador cuando incremena o decremena su
cuena con .ase en los impulsos reci.idos por relo= de insruccin del equipo. Lo
&ar% como conador, cuando su cuena cam.ia ane la $ariacin de una condicin
e'erna al disposii$o. Los dos esados son e'clu*enes * pueden ser
pro#ramados por el usuario con $arias opciones de operacin * aci$acin.
1i se &a de usar el puero serial, uno de los imers de.e pro$eer la .ase de
iempo requerida para la comunicacin serial asncrona.
1.7.C Comunicaciones
En puero serie ra.a=a el modo full duple', lo que si#nifica que puede
ransmiir * reci.ir daos simul%neamene. La familia2-1781 posee cuaro modos
de comunicacin, denro de los cuales se encuenran sincrnicos * asncronicos,
con $elocidades $aria.les por usuario.
En esos modos de comunicacin no solamene le permien dialo#ar con
oros microconroladores de la misma familia, sino con la de oros fa.ricanes, con
memoria seriales e incluso con compuadores personales ipo +-.
1.7.1= Microcontrolador #=51
Todos los miem.ros de la familia 2-1781 e=ecuan del mismo con=uno de
insrucciones, las cuales es%n orienadas &acia aplicaciones de ( .is. Esas
insrucciones disponen de una amplia $ariedad de modos de direccionamieno
para acceder a la ;32 inerna, faciliando las operaciones de .*e so.re una
pequea esrucura de daos. Tam.i/n, esas permien la manipulacin direca de
.is para sisemas l#icos * de conrol que requieran procesamieno ?ooleano.
1.7.1=.1 Modos de direccionamiento
Los modos de direccionamieno son las formas en las cuales se puede
acceder a la informacin e'isene, .ien sea denro de la ;32 inerna, la e'erna,
la 0ona de re#isros de propsio especial o la ;<2 de pro#rama. E'isen $arias
clases de direccionamieno5
1.7.1=.1.1 1ireccionamiento inmediato
El operando fuene es un $alor consane que si#ue al operando desino. El
sm.olo Q indica ese ipo de direccionamieno.
Ejemplo:
2<C 1+,Q"44 ,car#a al punero de pila con el n9mero &e'adecimal "4E
3NL 3,Q101? ,reali0a operacin 3N6 enre el acumulador * el .inario 101
1.7.1=.1.2 1ireccionamiento directo.
El operando se locali0a por un campo de direccin de ( .is, slo la ;32
inerna * las 0ona de los re#isros de propsio especial D1G;E pueden ser
direccinados direcamene.
Ejemplo:
2<C 1+,"44 ,car#a al punero de pila con lo e'isene en la posicin
,&e'adecimal "4 de la ;32 inerna
1.7.1=.1.! 1ireccionamiento indirecto
La insruccin especifica un re#isro que coniene la direccin del operando,
am.as memorias D;32 * ;<2E pueden ser direccinadlas indirecamene. El
si#no R idenifica ese ipo de direccionamieno.
El direccionamieno de ( .is se consi#ue a ra$/s de re#isro 1+ o de los
re#isros ;0 * ;1 del .anco de re#isros seleccionado Dpor medio de los .is " * 4
del +1HE, mienras que el direccionamieno de los 1) .is slo se puede reali0ar
por medio del punero de daos D6+T;E.
Ejemplo:
2<C 3,R;0 ,car#a al acumulador con lo e'isene en la posicin de
,memoria descria por el conenido del re#isro ;0 aci$o.
+ara aclarar lo anerior, supon#amos que ;0 coniene el $alor 404 * en la
posicin 404 se iene un $alor 884, despu/s de la insruccin, el acumulador
quedar% con el $alor 884. Esa forma de direccionamieno es mu* 9il para
siuaciones en las cuales se requiere el mane=o de a.las * raslado coninuo de
daos, por e=emplo.
1.7.1=.1.-. 1ireccionamiento 'or re%istro
La insruccin especifica uno de los re#isros del .anco el uso. -omo se
descri.i, los (:8: poseen cuaro .ancos de re#isros, los cuales se direccionan a
ra$/s de los .is " * 4 del +1H, cada .anco coniene a su $e0, ( re#isros, desde
;0 &asa ;7.
Ejemplo:
2<C ;1,Q"4 ,el re#isro ;1 aci$o se car#a con el n9mero decimal "4
En al#unas insrucciones, ese modo de direccionamieno iene un cdi#o
m%s eficiene que el direccionamieno direco o inmediao Docupan menos .*es en
la memoria de pro#ramaE.
1.7.1=.1.5 1ireccionamiento im'l"cito
3l#unas insrucciones son especficas en cuano al re#isro in$olucrado en la
operacin, no necesian mencionar el operando porque es% implcio en el cdi#o
de operacin.
Ejemplo:
-L; 3 ,odos los .is de re#isro acumulador se colocan en 0
IN- ;7 ,se incremena el conenido de re#isro ;7
1.7.1=.1.7 1ireccionamiento inde?ado
1lo es posi.le con la memoria de pro#ramas * 9nicamene permie la
lecura, es 9il para acceder a a.las de daos que se encuenran en la memoria de
pro#ramas. An re#isro de 1) .is Del 6+T; o conador pro#ramaE de.e apunar a
la fase de la a.la * el acumulador se uili0a como despla0amieno para acceder al
dao de iner/s. En oras pala.ras, al dao se accede por la suma de los
conenidos del acumulador * el punero .ase.
<ro ipo de direccionamieno inde'ado se uili0a en el caso de SsalosS de
insruccin, en donde la direccin desino del salo es la suma del punero .ase *
el acumulador.
1.7.1=.2 ConDunto de instrucciones
En la familia de microconroladores 2-1781, el con=uno de insrucciones
es% formado por )9 de ellas, aunque al#unas poseen disinos modos de
direccionamieno, lo que proporciona un oal de 111 cdi#os diferenes. El
con=uno de insrucciones se puede di$idir en los si#uienes ipos5
Insrucciones arim/icas
Insrucciones l#icas
Insrucciones para la ransferencia de daos en memoria inerna
Insrucciones para la ransferencia de daos en memoria e'erna
Insrucciones para el raamieno de a.las
Insrucciones ?ooleanas
Insrucciones de salo
1.7.1=.2.1 Instrucciones aritmEticas
Tab.1.7.C )ns"rucciones ari"m6"icas
Memnico Operandos Ciclos Descripcin
366 3,;n 1 3dd re#iser o 3ccumulaor
366 3,direc ! 3dd direc .*e o 3ccumulaor
366 3,R;i 1 3dd indirec ;32 o 3ccumulaor
366 3,Qdaa ! 3dd immediae daa o 3ccumulaor
366- 3,;n 1 3dd re#iser o 3ccumulaor Ni& -arr*
366- 3,direc ! 3dd direc .*e o 3ccumulaor Ni& -arr*
366- 3,R;i 1 3dd indirec ;32 o 3ccumulaor Ni& -arr*
366- 3,Qdaa ! 3dd immediae daa o 3cc Ni& -arr*
1A?? 3,;n 1 1u.rac ;e#iser from 3cc Ni& .orroN
1A?? 3,direc ! 1u.rac direc .*e from 3cc Ni& .orroN
1A?? 3,R;i 1 1u.rac indirec ;32 from 3-- Ni& .orroN
1A?? 3,Qdaa ! 1u.rac immediae daa from 3cc Ni& .orroN
IN- 3 1 Incremen 3ccumulaor
IN- ;n 1 Incremen re#iser
IN- direc ! Incremen direc .*e
IN- R;i 1 Incremen direc ;32
6E- 3 1 6ecremen 3ccumulaor
6E- ;n 1 6ecremen ;e#iser
6E- direc ! 6ecremen direc .*e
6E- R;i 1 6ecremen indirec ;32
IN- 6+T; 1 Incremen 6aa +oiner
2AL 3? 1 2ulipl* 3 T ?
6IC 3? 1 6i$ide 3 .* ?
63 3 1 6ecimal 3d=us 3ccumulaor
En la a.la Tab.1.7.C se ienen las insrucciones arim/icas. En ella se
indican los modos de direccionamieno que se pueden uili0ar para acceder al
operando * los ciclos de m%quina que arda la e=ecucin de cada insruccin.
.
6e la a.la Tab.1.7.C se o.ser$an al#unas cosas imporanes5
E'isen dos operaciones para la suma, una de ellas considera el acarre
o carr*, mienras que la ora no.
En la susraccin siempre paricipa el acarreo.
1e pueden incremenar o decremenar al#unos .*es de la memoria ;32
sin la paricipacin del acumulador.
Ana de las operaciones de incremeno se reali0a so.re el re#isro 6+T;
de 1) .is.
E'isen un par de insrucciones D2AL * 6ICE que uili0an como fuenes *
desinos o re#isros 3 * ?, con lo cual se permie la muliplicacin *
di$isin de oper%ndose ( .is.
E'ise la operacin 633, dedicada a reali0ar el a=use de la suma de
numerosas ?-6.
1.7.1=.2.2 Instrucciones l%icas
La a.la Tab.1.7.! coniene las insrucciones l#icas * los modos de
direccionamieno permiidos. 1e o.ser$a que las operaciones ?ooleanas se
pueden reali0ar so.re cualquiera de los 1!( .*e .a=os de la ;32 * el espacio de
los 1G;, uili0ando direccionamieno direco, sin necesidad de uili0ar el
acumulador. Las roaciones solo son posi.les so.re el acumulador * lo despla0an
un .i, .ien sea a ra$/s del carr* o no. La insruccin 1H3+ inercam.ia los
ni..les del acumulador, siendo una insruccin mu* uili0ada en manipulacin de
n9meros ?-6. 6e ese con=uno de insrucciones, las 9nicas que afecan el carr*
son ;L- 3 * ;;- 3.
Tab.1.7.! )ns"rucciones -gicas
Memnico Operandos Ciclos Descripcin
3NL 3,;n 1 3N6 ;e#iser o 3ccumulaor
3NL 3,direc ! 3N6 direc .*e o 3ccumulaor
3NL 3,R;i 1 3N6 indirec ;32 o 3ccumulaor
3NL 3,Qdaa ! 3N6 immediae daa o 3ccumulaor
3NL direc,3 ! 3N6 3ccumulaor o direc .*e
3NL direc,Qdaa " 3N6 immediae daa o direc .*e
<;L 3,;n 1 <; re#iser o 3ccumulaor
<;L 3,direc ! <; direc .*e o 3ccumulaor
<;L 3,R;i 1 <; indirec ;32 o 3ccumulaor
<;L 3,Qdaa ! <; immediae daa o 3ccumulaor
<;L direc,3 ! <; 3ccumulaor o direc .*e
<;L direc,Qdaa " <; immediae daa o direc .*e
:;L 3,;n 1 E'clusi$e7<; re#iser o 3ccumulaor
:;L 3,direc ! E'clusi$e7<; direc .*e o 3ccumulaor
:;L 3,R;i 1 E'clusi$e7<; indirec ;32 o 3ccumulaor
:;L 3,Qdaa ! E'clusi$e7<; immediae daa o 3ccumulaor
:;L direc,3 ! E'clusi$e7<; 3ccumulaor o direc .*e
:;L direc,Qdaa " E'clusi$e7<; immediae daa o direc .*e
-L; 3 1 -lear 3ccumulaor
-+L 3 1 -omplemen 3ccumulaor
;L 3 1 ;oae 3ccumulaor Lef
;L- 3 1 ;oae 3ccumulaor Lef &rou#& &e -arr*
;; 3 1 ;oae 3ccumulaor ;i#&
;;- 3 1 ;oae 3ccumulaor ;i#& &rou#& &e -arr*
1H3+ 3 1 1Nap ni..les Ni&in &e 3ccumulaor
1.7.1=.2.! Instrucciones de transerencia de datos
La a.la Tab.1.7.% muesra las insrucciones disponi.les para mo$imieno de
daos * los modos de direccionamieno que se puede uili0ar con cada uno de
ellas.
La insruccin 2<C UdesV,UsrcV permie ransferir daos enre la ;32
inerna * el %rea de re#isros 1G;, sin la paricipacin del acumulador. 1e de.e
recordar que los 1!( .*es alos de la ;32 slo pueden ser direccinados
indirecamene, mienras que el %rea de los 1G; slo se puede acceder por
direccionamieno direco.
La insruccin 2<C 6+T;,Qdao permie ransferir daos de 1) .is para
iniciali0ar del punero de daos en el raamieno de a.las de la memoria de
pro#rama, o para acceder a los daos de la memoria e'erna. La insruccin +A14
UsrcV incremena inicialmene en punero de pila D1+ o 1acM +oinerE *
poseriormene copia de daos denro de la pila. La insruccin +<+ UdesV copia
de daos desde la pila &acia re#isro desino * poseriormene decremena el
punero de pila. 1e de.e recordar que la pila es% siuada denro de la memoria
;32 inerna * el punero de pila es% sealando &acia el .anco 1 de re#isros pero
puede reu.icarse, de al manera que se localice en el %rea del 1crac& +ad.
La operacin :-4 3,U.*eV &ace que el acumulador * el .*e direccinado
inercam.ien sus daos. La insruccin :-46 3,R;i es similar, pero solamene los
ni..les .a=os paricipan en el inercam.io.
Tab.1.7.% )ns"rucciones de Transferencia de da"os
Memnico Operandos Ciclos Descripcin
2<C 3,;n 1 2o$e re#iser o 3ccumulaor
2<C 3,direc ! 2o$e direc .*e o 3ccumulaor
2<C 3,R;i 1 2o$e indirec ;32 o 3ccumulaor
2<C 3,Qdaa ! 2o$e immediae daa o 3ccumulaor
2<C ;n,3 1 2o$e 3ccumulaor o re#iser
2<C ;n,direc ! 2o$e direc .*e o re#iser
2<C ;n,Qdaa ! 2o$e immediae daa o re#iser
2<C direc,3 ! 2o$e 3ccumulaor o direc .*e
2<C direc,;n ! 2o$e re#iser o direc .*e
2<C direc,direc " 2o$e direc .*e o direc
2<C direc,R;i ! 2o$e indirec ;32 o direc .*e
2<C direc,Qdaa " 2o$e immediae daa o direc .*e
2<C R;i,32o$e 1 3ccumulaor o indirec ;32
2<C R;i,direc ! 2o$e direc .*e o indirec ;32
2<C R;i,Qdaa ! 2o$e immediae daa o indirec ;32
2<C 6+T;,Qdaa " Load 6aa +oiner Ni& a 1)7.i consan
2<C- 3,R3L6+T;1 2o$e -ode .*e relai$e o 6+T; o 3cc
2<C- 3,R3L+- 1 2o$e -ode .*e relai$e o +- o 3cc
2<C: 3,R;i 1 2o$e E'ernal ;32 D(7.i addrE o 3cc
2<C: 3,R6+T; 1 2o$e E'ernal ;32 D1)7.i addrE o 3cc
2<C: R;i,3 1 2o$e 3cc o E'ernal ;32 D(7.i addrE
2<C: R6+T;,3 1 2o$e 3cc o E'ernal ;32 D1)7.i addrE
+A14 direc ! +us& direc .*e ono sacM
+<+ direc ! +op direc .*e from sacM
:-4 3,;n 1 E'c&an#e re#iser Ni& 3ccumulaor
:-4 3,direc ! E'c&an#e direc .*e Ni& 3ccumulaor
:-4 3,R;i 1 E'c&an#e indirec ;32 Ni& 3ccumulaor
:-46 3,R;i 1 E'c&an#e loN7order 6i#i indirec ;32 Ni& 3cc
En la a.la Tab.1.7.% se muesran las insrucciones para acceder a la
memoria e'erna de daos. 1olamene se puede uili0ar el direccionamieno
indireco para lo#rarlo. El acceso a la memoria e'erna se puede o.ener mediane
dos alernai$as5 por direccionamieno de un .*e, R;i, donde ;i es cualquiera de
los re#isros ;0 o ;1 del .anco de re#isro seleccionado, o el direccionamieno de
! .*es, R6+T;.
1e de.e recordar que el direccionamieno de 1) .is dedica los pueros +0 *
+! para #enerar la direccin de acceso, por ese moi$o, cuando se preende
acceder a un .anco pequeo de memorias ;32, lo m%s $ena=oso es uili0ar el
direccionamieno de un .*e, *a que permie uili0ar al#unas de las lneas del
puero dos para oras aplicaciones. El direccionamieno de ! .*e slo se =usifica
en caso de poseer una memoria ;32 de )4 B.*es.
<.ser$e que en odas las insrucciones, el acumulador es siempre el desino
o la fuene del dao. Las seales de sincroni0acin de lecura * escriura D;6 *
H;E se aci$an 9nicamene durane la insruccin 2<C:, normalmene esas
seales permanecen inaci$as. -uando no se posee memoria e'erna, los pin
correspondienes se uili0an como lneas e'ras de enrada>salida.
La a.la Tab.1.7.% am.i/n muesra las dos insrucciones disponi.les para la
lecura de a.las en la memoria de pro#rama. -omo /sas insrucciones acceden
solamene a la memoria de pro#ramas, las a.las slo pueden ser ledas, no
acuali0adas. El memnico es 2<C-, para mo$er consane. 1i la a.la que se
accede es% en la memoria e'erna de pro#rama, enonces la seal para la
sincroni0acin de la lecura que es +1EN.
La primera insruccin 2<C- puede acomodar una a.la de &asa !8)
enradas, enumeradas desde 0 &asa !88. El n9mero de la enrada desea.a se
car#a en el acumulador * el punero de daos seala el comien0o de la a.la, la
e=ecucin de la insruccin copiar% el $alor deseado de la a.la en el acumulador.
La ora insruccin 2<C- ra.a=a de la misma manera, e'cepo que el
conador de pro#rama D+-E se a=usa como .ase de la a.la * a /sa se accede a
ra$/s de una su.ruina. 6e nue$o, el acumulador coniene la enrada deseada *
las su.ruina se llama, de manera similar a eso5
2<C 3,QEnrada
-3LL Ta.la
Las su.ruina Ta.la de.e ser al#o como lo si#uiene5
Ta.la5 2<C- 3,R3L+-
;ET
6? 8
6? 7
6? (
La insruccin si#uiene a la .ase de la a.la, en la memoria de pro#rama,
de.e ser ;ET Dreorno de inerrupcinE. Ese ipo de a.la puede ener &asa !88
enradas, numerad%s desde 1 &asa !88. La enrada n9mero 0 no se puede
uili0ar, porque una $e0 que la insruccin 2<C- se e=ecua, el conador de
pro#rama se acuali0a con la direccin de la insruccin ;ET. Ana enrada
numerada como 0 reornar% el cdi#o de la operacin de la insruccin ;ET.
1.7.1=.2.- )ns"rucciones Booleanas
La familia 2-1781 coniene un procesador ?ooleano Dorienado &acia
operaciones so.re .isE mu* compleo. La memoria ;32 coniene 1!( .is
direccina.les * el espacio de los 1G; puede soporar oros 1!( .is
direccina.les , como se descri.i aneriormene. Los .is direccionados desde
004 &asa 7G4 perenecen al %rea de los 1!( .is .a=os, mienras que los
direccionados desde (04 &asa 0GG4 perenecen al espacio de los 1G;.
Todas las lneas de los pueros son direcciona.les .i a .i, de manera que
cada una puede ser raada como puero de un .i. Las insrucciones se muesran
en la a.la Tab.1.7.F * se o.ser$a que /sas no solamene acceden a los .is
para salos condicionales, am.i/n &a* un con=uno de car#as, aci$acines,
limpie0as, complemenos * operaciones 3N6 * <;.
En cuano a los salos condicionales, las insrucciones $erifican el esado de
los .is direccinados * e=ecuan un salo relai$o al conador del pro#rama, si la
condicin se cumple. El ran#o del salo relai$o es% locali0ado enre las 71!( a L
1!7 posiciones, con relacin al $alor del conador de pro#rama Dla insruccin
acual L 1 .*eE.
Tab.1.7.F )ns"rucciones Booleanas
Memnico Operandos Ciclos Descripcin
-L; - 1 -lear -arr*
L; .i ! -lear direc .i
1ET? - 1 1e -arr*
1ET? .i ! 1e direc .i
-+L - 1 -omplemen -arr*
-+L .i ! -omplemen direc .i
3NL -,.i ! 3N6 direc .i o -3;;@
3NL -,>.i ! 3N6 complemen of direc .i o -arr*
<;L -,.i ! <; direc .i o -arr*
<;L -,>.i ! <; complemen of direc .i o -arr*
2<C -,.i ! 2o$e direc .i o -arr*
2<C .i,- ! 2o$e -arr* o direc .i
W- rel ! Wump if -arr* is se
WN- rel ! Wump if -arr* no se
W? .i,rel " Wump if direc ?i is se
WN? .i,rel " Wump if direc ?i is No se
W?- .i,rel " Wump if direc ?i is se T clear .i
1.7.1=.2.5 Instrucciones de salto
La a.la Tab.1.7.+ muesra la lisa de salos incondicionales * condicionales
disponi.les para la familia de microconroladores 2-1781.
Tab.1.7.+ )ns"rucciones de sal"o
Memnico Operandos Ciclos Descripcin
3-3LL addr11 ! 3.solue 1u.rouine -all
L-3LL addr1) " Lon# 1u.rouine -all
;ET 1 ;eurn from 1u.rouine
;ETI 1 ;eurn from inerrup
3W2+ addr11 ! 3.solue Wump
LW2+ addr1) " Lon# Wump
1W2+ rel ! 1&or Wump Drelai$e addrE
W2+ R3L6+T; 1 Wump indirec relai$e o &e 6+T;
WX rel ! Wump if 3ccumulaor is Xero
WNX rel ! Wump if 3ccumulaor is No Xero
-WNE 3,direc,rel " -ompare direc .*e o 3cc and Wump if No
Equal
-WNE 3,Qdaa,rel " -ompare immediae o 3cc and Wump if No
Equal
-WNE ;n,Qdaa,rel " -ompare immediae o re#iser and Wump if No
Equal
-WNE R;i,Qdaa,rel" -ompare immediae o indirec and Wump if No
Equal
6WNX ;n,rel ! 6ecremen re#iser and Wump if No Xero
6WNX direc,rel " 6ecremen direc .*e and Wump if No Xero
N<+ 1 No <peraion
Las insrucciones de salo DWu2+E muesran res $arianes51W2+, 3W2+ *
LW2+ 7 que difieren en el formao de la direccin desino. La insruccin 1W2+
codifica la direccin desino como una consane de ( .is, ra%ndola como un
despla0amieno relai$o, similar al descrio en el puno anerior. 3s, la lon#iud del
salo se limia en el ran#o enre 71!( * 1!7 .*e relai$os a la insruccin que si#ue
a la insruccin 1W2+. La insruccin ocupa dos .*es en la memoria de
pro#ramas.
La insruccin LW2+ codifica la insruccin desino como una direccin de 1)
.is, por lo ano, la direccin desino puede esar locali0ada en cualquier siio de la
memoria de pro#rama de )4 B.*es. La insruccin iene una lon#iud de " .*es.
La insruccin 3W2+ codifica la direccin desino como una consane de 11
.is, cuando se e=ecua esa insruccin, los 11 .is correspondienes a la direccin
desino se copian en los 11 .is m%s .a=os del conador de pro#rama. 3s, la
direccin desino puede ser un puno cualquiera de la memoria de pro#rama
siuado en el mismo .loque de ! B?*es de la insruccin si#uiene al salo. La
insruccin iene dos .*es de lar#o.
En odos los casos, el pro#ramador especifica la direccin desino en el
ensam.lador de la misma manera5 como una eiquea o como una direccin de 1)
.is. El ensam.lador colocar% la direccin desino en el formao correco para la
insruccin dada. La insruccin W2+ R3L6+T; es% diseada para el caso de
salos. La direccin desino se calcula al momeno de e=ecucin, como las suma
del re#isro de 1) .is 6+T; * el acumulador. Tpicamene, el 6+T; coniene la
direccin de la .ase de la a.la * el acumulador el ndice de acceso. 1upon#amos,
por e=emplo, que se leer% de un eclado un $alor comprendido enre 0 * 4 * ese
$alor se car#a en el acumulador.
-omo cada $alor de.e ener un raamieno diferene, las insrucciones que
permie eso ienen, m%s o menos la si#uiene esrucura5
2<C 6+T;,QTa.la
2<C 3, Indice
;L 3
W2+ R3L6+T;
La a.la respeci$a endra la forma5
Ta.la5 3W2+ -31<Y0
3W2+ -31<Y1
3W2+ -31<Y!
3W2+ -31<Y"
La insruccin ;L 3 muliplica por dos el $alor ndice, *a que cada insruccin
en la a.la de salos ocupa dos .*e de la memoria de pro#rama.
La a.la Tab.1.7.+ muesra am.i/n una insruccin las $arianes de la
insruccin de llamada a su.ruina D-3LLE5 L-3LL * 3-3LL. 3m.as se raan de la
misma manera a como suceda en el caso de los salos. La insruccin L-3LL
uili0a un formao de 1) .is, mienras que 3-3LL lo &ace con un formao de 11
.is.
El pro#ramador especifica una eiquea o una direccin de 1) .is * el
ensam.lador se encar#a de colocarle el formao correco a la direccin.
Las su.ruinas de.en finali0ar con una insruccin ;ET, la cual o.li#a a que
el pro#rama reorne a la insruccin si#uiene a la que &i0o la llamada con la
insruccin -3LL. La insruccin ;ETI se uili0a para re#resar de la ruina de
ser$icio a una inerrupcin.
La a.la Tab.1.7.+ coniene la lisa de las insrucciones disponi.les para los
salos relai$os en la familia 2-1781. odos los salos especifican el desino como
un despla0amieno relai$o al .*e si#uiene de la insruccin, los salos es%n
limiados al ran#o comprendido enre 71!( * 1!7 .*es. -omo se descri.i en los
casos aneriores, el pro#ramador especifica la direccin desino como una eiquea
una consane de 1) .is. 1i el salo es% por fuera del ran#o descrio, el
ensam.lador escri.ir% el mensa=e S6esinaion ou of ;an#eS D6esino fuera de
ran#oE en el lisado de errores del pro#rama.
Las insrucciones WX * WNX $erifican direcamene el acumulador, *a que no
se posee una .andera de cero en el re#isro +1H. La insruccin 6WNX
D6ecremen and Wump if No Xero 7 decremeno * salo si no es ceroE se uili0a
para conrolar .ucles. +ara e=ecuar unas insrucciones N n9mero de $eces, se
car#a un conador con N * se ermina el .ucle con la insruccin 6WNX , como se
muesran el si#uiene e=emplo5
2<C -onador,Q10
Loop5 ,comien0o del .ucle
,Insrucciones
,Gin del .ucle
6WNX conador,Loop
Las insrucciones conenidas en el .ucle se e=ecuar%n, en ese caso die0
$eces.
La insruccin -WNE D-ompare and Wump if No Equal 7 compare * sale si no
es i#ualE am.i/n se puede uili0ar para operaciones de conrol de .ucles. El salo
se reali0a solamene si los dos .*es no son i#uales.
<ra aplicacin de esas insrucciones es la comparacin enre dos
canidades sin si#no5 si el primero es menor que el se#undo, el carr* se aci$a Dse
ponen 1E, si es ma*or o i#ual, el carr* se coloca en 0.
1.7.11 0l microcontrolador &4M0L &4#CC2=51

1.7.11.1 1escri'cin del &4#CC52
El 3T(9-!081 es un microconrolador -2<1 de (7.is de alo rendimieno *
.a=o $ola=e de ra.a=o que coniene ! Bilo.*es de memoria +E;<2 DGlas&
pro#ramma.le and erasa.le read onl* memor*E. Ese disposii$o se fa.rica usando
la ecnolo#a de memoria no $ol%il de ala densidad * es compai.le a ni$el de
con=uno de insrucciones * disri.ucin de pins con el sandard indusrial 2-1781.
3l com.inar el $ers%il -+A de (7.is con la memoria Glas& en un solo c&ip,
el 3T(9-!081 de 3mel es un microconrolador poene que pro$ee una solucin
alamene fle'i.le * efeci$a en coso para la reali0acin de aplicaciones de
conrol.
El 3T(9-!081 pro$ee las si#uiene opciones sandard5 ! B.*es de Glas&,
1!( .*es de ;32, 18 lneas I><, dos imer>couner de 1) .is, cinco $ecores de
arquiecura de inerrupcin de dos ni$eles, puero serial full7duple', un
comparador an%lo#o de precisin, oscilador en el propio c&ip * circuiera de relo=.
En adicin, el 3T(9-!081 esa diseado con l#ica es%ica lo que permie
una operacin con frecuencia cero. 1opora adem%s dos modos de a&orro de
poder selecciona.les por sofNare. El modo Idle deiene el -+A mienras permie
que la ;32, imer>couner, el puero serial * el sisema de inerrupcin conin9en
funcionando. El modo +oNer 6oNn maniene los conenidos de la ;32 pero
deiene el oscilador des&a.iliando, por lo ano, odas las oras funciones del c&ip
&asa que ocurra el si#uiene ;ese por &ardNare.
1.7.11.2 Caracter"sticas del &4#CC2=51
-ompai.le con la familia 2-1781
! B.*es de 2emoria Glas& repro#rama.le
+ermie 1000 ciclos de Ira.acin>?orrado del Glas&
;an#o de operacin desde !.7 a ).0 $olios 6-.
<peracin es%ica complea5 0 Z40[ a !4 Z240[
+roeccin conra lecura de 2emoria de +ro#rama D-erro=oE de dos
ni$eles
1!( .*es de ;32 inerna
18 lineas I>< pro#ramam.les
! Timer>-ouner de 1) .is
) Guenes de inerrupcin
-anal A3;T 1erial pro#rama.le
1alidas en corriene con capacidad direca de mane=o de LE61
-omparador an%lo#o inerno
2odos de a&orro de ener#ia +oNer Idle * +oNer 6oNn
1.7.11.! Coni%uracin de (ins 'ara el &4#CC2=51
El 3T(9-!081 $iene en un encapsulado de !0 pins D6I+ !0E * la diri.ucin
del pailla=e se muesra en la fi#ura Fig.1.7.-.
Fig.1.7.- AT/7C.5518Configuracion de $ins
1.7.12 0l microcontrolador &4M0L &4#CC52
1.7.12.1 1escri'cin del &4#CC52
El 3T(9-8! es un microconrolador -2<1 de (7.is de alo rendimieno *
.a=o $ola=e de ra.a=o que coniene ( Bilo.*es de memoria +E;<2 DGlas&
pro#ramma.le and erasa.le read onl* memor*E. Ese disposii$o se fa.rica usando
la ecnolo#a de memoria no $ol%il de ala densidad * es compai.le a ni$el de
con=uno de insrucciones * disri.ucin de pins con el sandard indusrial (0-81 *
(0-8!.
3l com.inar el $ers%il -+A de (7.is con la memoria Glas& en un solo c&ip,
el 3T(9-!081 de 3mel es un microconrolador poene que pro$ee una solucin
alamene fle'i.le * efeci$a en coso para la reali0acin de aplicaciones de
conrol.
El 3T(9-8! pro$ee las si#uiene opciones sandard5 ( B.*es de Glas&, !8)
.*es de ;32, "! lneas I><, res imer>couner de 1) .is, seis $ecores de
arquiecura de inerrupcin de dos ni$eles, puero serial full7duple', oscilador en el
propio c&ip * circuiera de relo=.
En adicin, el 3T(9-!081 esa diseado con l#ica es%ica lo que permie
una operacin con frecuencia cero. 1opora adem%s dos modos de a&orro de
:T3L1
8
;1T
1
C--
!0
D;:6E +".0
!
DT:6E +".1
"
)
D INT0 E +".!
7
D INT1 E +"."
D3IN0E +1.0
D3IN1E +1.1
+1.!
+1."
1!
1"
14
18
:T3L!
4
DT0E +".4
(
DT1E +".8
9
11
+".7
+1.4
+1.8
+1.)
+1.7
1)
17
1(
19
IN6
10
&4#CC2=51
poder selecciona.les por sofNare. El modo Idle deiene el -+A mienras permie
que la ;32, imer>couner, el puero serial * el sisema de inerrupcin conin9en
funcionando. El modo +oNer 6oNn maniene los conenidos de la ;32 pero
deiene el oscilador des&a.iliando, por lo ano, odas las oras funciones del c&ip
&asa que ocurra el si#uiene ;ese por &ardNare.
1.7.12.2 Caracter"sticas del &4#CC52
-ompai.le con la familia 2-1781
( B.*es de 2emoria Glas& repro#rama.le
+ermie 1000 ciclos de Ira.acin>?orrado del Glas&
;an#o de operacin desde !.7 a ).0 $olios 6-.
<peracin es%ica complea5 0 Z40[ a !4 Z240[
+roeccin conra lecura de 2emoria de +ro#rama D-erro=oE de dos
ni$eles
!8) .*es de ;32 inerna
"! lineas I>< pro#ramam.les
" Timer>-ouner de 1) .is
( Guenes de inerrupcin
-anal A3;T 1erial pro#rama.le
2odos de a&orro de ener#ia +oNer Idle * +oNer 6oNn
1.7.12.! Coni%uracin de (ins 'ara el &4#CC52
El 3T(9-!081 $iene en un encapsulado de 40 pins D6I+ 40E * la diri.ucin
del pailla=e se muesra en la fi#ura Fig.1.7.M.
Fig.1.7.M AT/7C5.8Configuracion de $ins
:T3L1
19
C--
40
:T3L!
1(
E3 >C++
"1
"0
3LE> +;<I
!9
+1EN
;1T
9
DT!E +1.0
1
DT! E:E +1.1
!
"
+1.!
4
+1."
D360E +0.0
D361E +0.1
D36!E +0.!
D36"E +0."
"9
"(
"7
")
+1.4
8
+1.8
)
7
+1.)
(
+1.7
D364E +0.4
D368E +0.8
D36)E +0.)
D367E +0.7
"8
"4
""
"!
&4#CC52
D;:6E +".0
10
DT:6E +".1
11
1!
D INT0 E +".!
1"
D INT1 E +"."
D3(E +!.0
D39E +!.1
D310E +!.!
D311E +!."
!1
!!
!"
!4
DT0E +".4
14
DT1E +".8
18
1)
D H; E +".)
17
D ;6 E +".7
D31!E +!.4
D31"E +!.8
D314E +!.)
D318E +!.7
!8
!)
!7
!(
IN6
!0

Você também pode gostar