Vous êtes sur la page 1sur 34

Los Microcontroladores de

National, Philips y Motorola

LA SERIE COP DE NATIONAL

nea de microcontroladores COP8SAx7


(donde x corresponde a las letras A, B y C)
Los microcontroladores COPSAx7 OTP
en versiones de bajo pinout (20 y 28 pason miembros de la familia de los COP8 y tas) y encapsulado DIP. Estos nuevos miutilizan como corazn un arquitectura
crocontroladores ofrecen prestaciones y
con un chip de 8 bits. Estos dispositivos
performance en hardware y software
fueron fabricados bajo el proceso EPROM comparables con las de microcontroladode alta densidad, de la National Semicon- res de rango medio, con un precio similar
ductor, y ofrecen una gran variedad de
al de los microcontroladores ms econchips, con amplia gama de temperatura
micos.
y rangos de tensin de trabajo, con la finalidad de satisfacer un vasto nmero de
aplicaciones.
Prestaciones destacables de hardware
Las caractersticas "clave" incluyen arLa lnea COP ofrece varios elementos
quitectura mapeada de memoria de 8
destacables de hardware, tanto en lo que
bits, un contador y un timer de 16 bits con hace a la arquitectura interna del ncleo
dos registros de 16 bits que se vinculan
de CPU como en los perifricos incorporacon tres selectores (Generacin PWM de
dos en el chip.
Procesador Independiente, Contador Ex La lnea COP emplea una arquitectura
terno de Eventos y Disponibilidad de Captura de Entradas), dos selectores HALT/IDLE interna tipo Harvard (con buses de instruccon capacidad para guardar y con la po- ciones y datos separados), que permite
sibilidad de la presencia de un interruptor que la mayor parte de las instrucciones (el
multimedia para despertarse, un oscilador 77%) puedan ser ejecutadas en un nico
ciclo de instruccin de un microsegundo,
R/C tipo chip, salidas de corriente elevaal realizarse simultneamente el acceso al
das, opciones seleccionables para el
usuario, tales como WATCHDOG, configu- espacio de instrucciones (EPROM) y al espacio de datos (memoria RAM y perifriracin del Oscilador y potencia de resecos), determinan con ello una performanteo.
A los fines de brindar una acabada in- ce estadstica prxima a 1 MIPS (un milln
de instrucciones por segundo). A diferentroduccin, reproducimos el informe preparado por el Ing. Guillermo Jaquenod (a cia entre la lnea COP y otros microcontroquien agradecemos su colaboracin), del ladores obtenibles en plaza que tambin
presentan arquitectura Harvard, la comDepartamento Tcnico de la compaa
plejidad propia de este tipo de arquitectude Semiconductores.
ra ha sido adoptada sin limitar, por ello, la
cantidad y versatilidad de las instrucciones
Tanto en Mxico como en Argentina,
hace unos aos que se comercializa la l- disponibles, ni eliminar perifricos.

Todo sobre PICs

95

LOS MICROCONTROLADORES

DE

NATIONAL, PHILIPS
Figura 1

Dentro
de todos los
COP, incluso
los ms pequeos,
existen dos
timers, llamados T0 y
T1: el timer
T0 es un
contador simple de 12 bits que opera en
modo libre y descendente y es usado slo
para la salida controlada de los modos de
bajo consumo, y operacin del WatchDog-Clock; el timer T1, de 16 bits, ofrece
en cambio una versatilidad realmente
destacable, al poder ser operado en 8
modos distintos, que en sus variaciones
permiten el conteo de eventos externos
(External Event Counter), deteccin de
flancos (Input Capture) y un modo de generacin de seales de PWM que opera
en forma independiente al procesador.
Los COP (figuras 1y2) vienen en versiones con EPROM borrable (encapsulado
cermico con ventana) y en versiones
OTP de bajo costo, y ofrecen desde 1K de
EPROM y 64 bytes de RAM (COP8SAA7),
hasta 4K de EPROM y 128 bytes de RAM
(COP8SAC7).
El empleo de tecnologa CMOS esttica le permite operar en frecuencias que
van desde continua hasta 1MIPS, con ten-

Figura 2

96

Todo sobre PICs

MOTOROLA

siones desde 2,7V a 5,5V y ofrecer un modo de consumo reducido (IDDLE) y un modo de muy bajo consumo (HALT).
La salida de los modos de bajo consumo (WAKE UP) puede ser activada desde mltiples patas, o desde el timer T0 y
generar, si as se lo desea, las interrupciones consiguientes.
Los COP incorporan en forma estndar una interfase de entrada/salida serie
sincrnica Microwire PLUS (SPI compatible)
que les permite su fcil conexin con perifricos serie, tales como conversores A/D,
conversores D/A, etc.
Los COP poseen un monitor de operacin (Watch-Dog) y un monitor de
clock.
Poseen abundantes pines de entrada/salida paralela (16 I/O en los chips de
20 patas y 24 I/O en los de 28 patas), donde ciertas entradas son de tipo SCHMITTTrigger y pueden ser programadas para
incorporar internamente una resistencia
de pullup y operarn como salidas; ciertas
patas poseen una capacidad importante
de manejo de corriente de hasta 10mA.
Posee varias opciones de oscilador
que van desde una fuente externa, un oscilador RC interno al que se le puede alterar la frecuencia mediante un capacitor
externo, hasta un oscilador a cristal/resonador en donde la inclusin o no de la resistencia de polarizacin es programable.
Finalmente, el diseo total de los COP
ha sido realizado con un control de velocidad de transistores (slew rate) y niveles
de seal internos al chip, orientados a la
generacin de bajos niveles de irradiacin
electromagntica (EMI: electro magnetic
interference), lo que lo hace ideal para su
uso en el rea de comunicaciones e instrumentacin.
Esta tecnologa permite hablar de reducciones en el nivel de generacin de
interferencias en el orden de 20dB respec-

LOS MICROCONTROLADORES

DE

NATIONAL, PHILIPS

MOTOROLA

to a procesadores similares que operan en la salvaguarda de valores intermedios sin


la misma frecuencia.
necesidad de definir reas de almacenamiento esttico y para el pasaje de parPrestaciones destacables
metros y devolucin de resultados de sude software
brutinas.
Los pequeos COP no slo ofrecen re Manejo de bits (set reset test): para el
cursos notables de hardware, sino que
manejo de los ports y registros internos a
tambin tienen caractersticas de softwa- nivel de bit.
re propias de procesadores ms elaborados, que permiten generar fcilmente esComparacin de los COP con otros
tructuras de cdigo propias de lenguajes procesadores de plaza de costo similar
de alto nivel.
Quizs, quien analice las prestaciones
de los COPS, si ha trabajado previamente
Manejo de RAM como registros a tra- con microprocontroladores de mayor pervs de dos registros de indireccin B y X: la formance y costo, no resulte sorprendido,
disponibilidad de dos registros que puepues encontrar en los COP lo que pareden ser operados como ndices y progra- ca natural en aquellos. Lo sorprendente
mados para su postincremento o su post
de las prestaciones de los COP surge
decremento automtico permite el macuando se los compara con microcontronejo de tablas en RAM en forma eficiente. ladores de similar pinout y costo.
Carga inmediata de memoria: esta
Si se analizan en nuestro mercado las
capacidad permite la carga de datos
ofertas de microcontroladores que tienen
constante en memoria sin necesidad de
un costo de mostrador inferior a los cinco
pasar por el acumulador y la memoria.
dlares, slo encontrar las opciones que
Exchange: esta instruccin permite el propone Motorola a travs de los
intercambio de valores entre el acumula- MC68HC705J1A y MC68HC705K1, y microdor y la memoria, sin necesidad de pasos chip con sus PIC_15C54, PIC_16C56 y
intermedios.
PIC_16C58. En las lneas siguientes se anali Con instrucciones especiales para uso zan los puntos donde ms difieren estos
de la indireccin en el espacio de memo- procesadores de los de la lnea COP.
ria de programa:
Diferencias ms notables con el
a) JID (Jump Indirect): salto indexado
MC68HC705K1: este microcontrolador de
ideal para crear estructuras tipo SWITCH o 16 patas y arquitectura Von Neumann
CASE.
ofrece la mitad de EPROM (504 bytes) y la
b) VIS (Vector Interrupt Select): ideal
mitad de RAM (32 bytes) que el COP ms
para la realizacin de Interrupt Dispatpequeo (COP8SAA7 de 20 pines). Tiene
chers.
slo 10 pines de I/O frene a los 16 del COP
c) LAID (Load Acumulator Indirect): pa- y, aunque su ciclo de instruccin ms rpira el acceso indexado a tablas en
do es de 2 MIPS para algunas instruccioEPROM.
nes, la mayor parte de ellas requiere 2 ci Swap nibbles y Ajuste decimal: (ope- clos de reloj, con lo que su mxima perforracin en BCD): estas instrucciones son de mance est tambin alrededor de 1 MIPS;
gran utilidad para operar con nmeros en asimismo, el hecho de que la mayor parte
BCD.
de las instrucciones sea de 2 bytes hace
Manejo del stack (PUSH y POP): para que el aprovechamiento de su escasa

Todo sobre PICs

97

LOS MICROCONTROLADORES

DE

NATIONAL, PHILIPS

EPROM sea aun menor. El Timer del


MC68HC705K1 es uno elemental, de tipo
free-run y de lectura solamente, siendo su
nica fuente de reloj el oscilador interno
del chip, y slo puede generar interrupciones por Overflow y cuatro opciones de divisin adicionales (llamadas Real Time Interrupt). Cualquier seal de PWM o captura de eventos que se desee realizar debe
ser por software, con dedicacin casi total de la CPU. El acceso a perifricos serie
debe simular la interfase SPI por software.
En cuanto al software, slo posee un registro ndice sin opciones de autoincremento
o decremento, no permite el uso del
Stack, la carga inmediata de datos en
memoria, el intercambio entre acumulador y memoria, ni posee instrucciones para manejo de datos BCD.
Diferencias ms notables con el
MC68HC705J1A: este microcontrolador de
20 patas y arquitectura Von Neumann posee EPROM (1.240 bytes) y Ram (64 bytes)
en cantidad comparable al COP ms pequeo (COP8SAA7 de 20 pines), y tiene 14
pines de I/O (frente a los 16 del COP). En
el resto de sus caractersticas es idntico
al MC68HC705K1.
Diferencias ms notables con el PIC
16C54: este microcontrolador de 18 patas
posee arquitectura RISC tipo Harvard, 512
palabras de EPROM y 25 bytes de RAM,
en cantidad comparable al COP ms pequeo (COP8SAA7 de 20 pines), slo 12 pines de I/O (frente a los 16 del COP) y un
costo similar. Su subsistema de Timer es algo ms elaborado que el de los chips de
Motorola, aunque ms elemental que el
de los COP; en l, el contador es legible y
la escritura se hace por software, puede
recibir su seal de clock reloj del reloj interno o de una pata externa, y posee un
prescaler programable. Sin embargo, al
igual que los procesadores de Motorola,
cualquier generacin de seales de PWM,

98

Todo sobre PICs

MOTOROLA

o acceso a perifricos serie (donde debe


simularse la interfase SPI) deba ser realizada por software, con dedicacin casi total de la CPU. No tiene mecanismos de interrupcin (ni internos, ni externos), posee
un nico registro de indireccin (FSR) y un
Stack mnimo de slo dos niveles sin posibilidad de accesos tipo PUSH/POP que limita seriamente la posibilidad de anidamiento de subrutinas. La velocidad de los
PIC es notable (5 MIPS), pero la ausencia
de interrupciones, y el reducido set de instrucciones disponible (33 instrucciones) hacen que su performance neta sea comparable a la de los otros microcontroladores analizados; la ausencia de interrupciones, por su parte, hace que la deteccin
de eventos slo pueda ser realizada a
costa de ocupar totalmente la CPU, o
con inclusin de test "salpicados" en el cdigo, con una psima latencia de atencin y disminucin en la eficiencia del cdigo.
Otras serias diferencias de hardware
con los COP y los chips de Motorola es la
inexistencia de pull-up/down, programables en las patas de I/O y un modo de bajo consumo (SLIIP) del que slo se sale por
RESET.
Diferencias ms notables con el PIC
16C56: es totalmente similar al PIC 16C54,
slo que posee 1K palabras de programa.
Diferencias ms notables con el PIC
16C58: es totalmente similar al PIC 16C54,
slo que posee 2K palabras de programa
y 72 bytes de RAM.

Caractersticas Fundamentales
de la Serie COP
Damos a continuacin las caractersticas ms atractivas que suelen darse sobre esta familia.
Tenga en cuenta que algunos concep-

LOS MICROCONTROLADORES

DE

NATIONAL, PHILIPS

MOTOROLA

tos ya fueron vertidos en el informe que


* Un timer con dos interruptores.
hemos dado al comienzo; reseamos, en
* Interfaz Serial MICROWIRE/PLUSTM.
este caso, la versin del fabricante
* Despertador de puertos mltiples.
- Son microcontrolador tipo OTP de 8
* Trampa de Software
bits y bajo costo.
* VIS de fbrica (interruptor de fbrica).
- Poseen espacios de programa OTP
- El puntero SP es de 8 bits (en RAM).
con proteccin para lectura y escritura.
- Tiene dos Punteros Indirectos de Me- Son diseados para que tengan emi- moria de Datos, 8 bits.
siones de poca radiacin.
- Manejo de Bit Real.
-El kit se provee con conectores Multi- Mapeo de Memoria I/O.
port para despertar (permiten su funcio- Instrucciones aritmticas BCD.
namiento en forma verstil), con interruptores opcionales de 4 a 8 pines.
Caractersticas Perifricas
- Tienen 8 bits de espacio de almace- Lgica de Despertador de Entradas
namiento en EFROM.
Mltiples.
-El operador puede optar por relojes se- Posee un timer de 16 bits con dos releccionables por el usuario:
gistros de 16 bits que soportan:
* Un selector PWM de Procesador Inde* Reloj controlado por Cristal/Resonador pendiente.
* Opcion Cristal/Resonador con resiten* Un contador para evento externos.
cia sobre chip.
* Un selector contador de Captura de
* Oscilador Externo
Entrada.
* Oscilador R/C Interno
- Posee un timer de inactividad
- La interfaz es Serial MICROWIRE/PLUS
- Poseen Reseteo Interno, seleccionable (Compatible con SPI)
por el usuario.
-Estn provistos con la posibilidad
Caractersticas I/O
WATCHDOG y Lgica de Reloj de Monitor.
- Opciones I/O de software selecciona- Tienen 12 salidas altas de corriente.
bles:
El cuadro 1 resume algunas caractersti* Salida TRI-STATE
cas a tener en cuenta.
* Salida para tirar y presionar
* Entrada Dbil para tirar
Caractersticas del CPU
* Entrada de Impedancia Alta
- Versatilidad en las ins- Entradas Schmitt
Cuadro 1
trucciones de configuraen puertos G y L
cin, las cuales son de
- Hasta 12 salidas
muy facil utilizacin.
de corriente elevada.
- Tiempo cclico de ins- Eficiencia de Pin
trucciones.
(ej. En un paquete de
- Posee ocho Interrup44 pines, 40 son destitores de servicio de fuennados a I/O).
tes mltiples con vector:
* Interruptor Externo
Diseo CMOS
* Timer de inactividad
Esttico Completo
TO
- Drenaje Bajo de

Todo sobre PICs

99

LOS MICROCONTROLADORES

DE

NATIONAL, PHILIPS

MOTOROLA
Figura 3

National logr la reduccin 15 dB-20 dB


en las transmisiones
EMI, cuando los diseos ya incorporaron su
circuito de reduccin
de patente EMI.

Arquitectura
La familia COPSAx7
est basada en una
arquitectura de hardCorriente (normalmente <4 pA).
ware, que permite a las tablas de datos
- Operacin simple de abastecimiento: tener un acceso directo hacia la memoria
2.7V a 5.5V.
de programas. Esto es realmente impor- Dos selectores para guardar: HALT y
tante para las aplicaciones modernas que
IDLE.
se ubicaban en los microcontroladores, ya
que la memoria de programa, usualmenRangos de Temperatura
te, es ROM o EPROM, mientras que la me0C a +70C, -40C a +85C, y
moria de datos, normalmente, es RAM.
de -40C a +125C
Como consecuencia, las tablas de datos
Soporte de Desarrollo
regularmente, deben ser contenidas en
- Paquete con ventanas para DIP y
ROM o EPROM, en consecuencia, no se
PLCC
pierden cuando el microcontrolador tiene
- Emulacin en tiempo real y eliminaun corte de electricidad.
cin de funciones errneas, por completo,
En una arquitectura modificada de
de programa ofrecido por MetalLink DeHardware, tanto la ida y venida de insvelopment System
trucciones como la transferencia de datos
En la figura 3 se da el diagrama en blo- de memoria pueden extenderse, con dos
ques del integrado COP8SAx7.
lneas de escenario, lo cual permite que la
La familia COPSAx7 de dispositivos inprxima instruccin se desplace de la mecorpora circuitos que brindan proteccin moria de programa mientras la instruccin
contra interferencias electromagnticas,
actual est siendo ejecutada, por medio
es decir, un problema que se incrementa
de la utilizacin de la memoria de datos.
en los diseos de los microcontroladores,
Esto no es posible con una arquitectura
de hoy en da.
de direccin simple tipo Von Neumann.
La tecnologa de reduccin, patentaLa familia COPSAx7 soporta un esqueda por EMI, de National, ofrece circuitos
ma de multitudes de software que permide reloj EMI, drivers de salida de encendi- te al usuario incorporar muchos llamados
do gradual (GTO) y filtros internos, que
de subrutinas.
ayudan a circunscribir muchas de las ediEsta capacidad es importante cuando
ciones EMI que influencian los diseos de
se utilizan Lenguajes de Nivel Elevado.
control incorporados.
Con una pila de hardware, el usuario est

100

Todo sobre PICs

LOS MICROCONTROLADORES

DE

NATIONAL, PHILIPS

MOTOROLA

limitado a un nmero pequeo y fijo de ni- de cdigo ptima y, tambin, utilizacin


veles de pilas.
de memoria de programa.
Ejecucin de Cdigo de
Juego de Instrucciones
Ciclo Simple/Byte Simple
La eficiencia se debe al hecho de que
En el terreno vinculado al costo/benefi- la mayora de las instrucciones pertenecio, de los microcontroladores de 8 bits,
cen a la variedad de byte simple. Debido
de hoy en da, la flexibilidad y el tiempo
a que el cdigo compacto no ocupa una
son varios de los temas claves, para el
suma sustancial de espacio de memoria
mercado, que los diseadores de sistemas de programa, los diseadores pueden inenfrentan al tratar de construir un produc- tegrarle atracciones adicionales, as como
to de muy buena ingeniera que pueda
funcionalidad en el espacio de memoria
competir perfectamente en el mercado.
de programa del microcontrolador. AdeMuchos de estos temas pueden tratarse
ms, la mayora de las instrucciones ejede manera tal que el juego de instruccio- cutadas por el dispositivo son de ciclo simnes del microcontrolador se ocupe de las ple, lo cual conduce a un tiempo mnimo
tareas de procesamiento. Y esa es la rade ejecucin de programa. En realidad, el
zn por la cual la familia del COP8 ofrece 77% de las instrucciones son de byte simun conjunto de instrucciones nico y una
ple, ciclo simple, y proveen un cdigo
eficiencia de cdigo que requieren los mi- mayor, as tambin, como eficiencia de ticrocontroladores de hoy da, para suminis- po I/O, adems de una ejecucin de ctrar flexibilidad, funcionalidad, costos redigo ms veloz.
ducidos y tiempo rpido para su arribo al
mercado,
La eficiencia de cdigo es importante
Instrucciones
ya que permite a los diseadores empaMultifuncin, Muchos Byte Simples
car, en chip, de una forma ms funcional
en menos espacio de memoria de prograEl juego de instrucciones COPSAx7 utilima (ROM/OTP). Seleccionando un micro- za muchas instrucciones multifuncin, byte
controlador con menos tamao de mesimples. Esto permite que una instruccin
moria de programa, podemos obtener
simple logre realizar funciones mltiples,
costos ms bajos de sistema, como as
tales, como DRXZ, DCOR, JIK y Cargatambin, la seguridad de saber que se
/Cambio, con post incremento y post depueden empaquetar ms en el espacio
cremento, para nombrar algunos ejemde memoria de programa disponible.
plos. En muchos de los casos, el conjunto
de instrucciones puede ejecutar, en forma
simultnea, tres funciones con la misma
Herramientas Clave
instruccin de bite simple.
del Juego de Instrucciones
JID: (Salto Indirecto). Instruccin de byLa familia del COPSAx7 incorpora una
te simple, eventos externos de decodificacombinacin nica de herramientas vincin y saltos a rutinas de servicios corresculada al juego de instrucciones, las cua- pondientes (frases simples hasta otros niveles proveen a los diseadores, eficiencia
les de lenguaje ms elevados).

Todo sobre PICs

101

LOS MICROCONTROLADORES

DE

NATIONAL, PHILIPS

LAID: (Carga de Acumulacin Indirecta) Tabla de instruccin de Byte simple


provee un sendero de datos eficiente desde la memoria de programa hasta el CPU.
Esta instruccin puede ser utilizada para la
bsqueda de tabla y para leer la memoria de programa completa, en caso de
necesitar verificacin de clculos.

MOTOROLA

vos de esta familia pueden manejar hasta


64 bytes, tanto de programa como de
memoria de datos.
En la tabla 1 tenemos los dispositivos
que componen esta familia de microcontroladores.
El 8051, que es el elemento bsico,
contiene las siguientes funciones:
CPU de 8 bits optimizada para aplicaRETSK: (Salto de Retorno) La instruccin ciones de control.
de byte simple permite retornar desde la
Capacidad de procesamiento "Boorutina y, as, saltar a la prxima instruccin. leana extensiva" (lgebra de Boole), lgiLa decisin puede ser realizada en la suca de bit nico.
brutina misma y guardar el cdigo.
32 lneas bidireccionales e individualmente dirigibles de entrada y salida (I/O).
AUTOINC/DEC: (Auto Incremento/Auto
RAM de datos de 128 bytes on-chip.
Decremento). Estas instrucciones utilizan
Dos temporizadores / contadores de
los dos punteros de memoria B y X para
16 bits.
hacer procesar, de modo ms eficiente, el
UART dplex completa.
bloque de datos.
5 entradas de interrupciones con dos
niveles de prioridad.
Oscilador de clock on-chip.
LOS MICROCONTROLADORES DE PHILIPS
Memoria de programa de 4K bytes
on-chip.
La familia de microcontroladores y peri Espacio para direccionamiento de
fricos que tienen por base el 8051 est
programa en la memoria de 64 bytes.
basada totalmente en el patrn industrial
Espacio para direccionamiento de la
para 8 bits, de alta performance, que tie- memoria de datos de 64K bytes.
nen una arquitectura optimizada para
Disponible tanto en cubierta DIL de 40
aplicaciones en control secuencial en
pines como en cubierta PLC de 44 pines.
tiempo real.
Tabla 1 - 8051 Familia de microcontroladores
Los componentes de esNombre
Versin sin
Versin con
BYTES
BYTES
TIMERS
Tipo de
ta familia encuentran apliROM
EPROM
ROM
RAM
16 bits
Circuito
caciones que van desde el
8051
8031
4k
128
2
NMOS
control de mquinas indus80C51
80C31
87C51
4k
128
2
CMOS
8052
8032
8k
256
3
NMOS
triales y de instrumentacin
80C52
80C32
87C52
8k
256
3
CMOS
hasta el control automotriz.
80C053
87C054
8k
192
2
CMOS
83CL410
80CL410
4k
128
2
CMOS
Los dispositivos de la serie
83C451
80C451
87C451
4k
128
2
CMOS
pueden obtenerse en ver83C528
80C528
87C528
32k
512
3 + WD
CMOS
83C550
80C550
87C550
4k
128
2
+
WD
CMOS
siones con ROM o EPROM
83C552
80C552
87C552
8k
256
3 + WD
CMOS
internas o, solamente, con
83C562
80C526
8k
256
3 + WD
CMOS
83C652
80C652
87C652
8k
256
2
CMOS
la CPU.
83C654
87C654
16k
256
2
CMOS
Con excepcin de la
83C751
87C751
2k
64
1
CMOS
83C752
87C752
2K
64
1
CMOS
83C751, todos los dispositi83C851
80C851
4K
128
2
CMOS

102

Todo sobre PICs

LOS MICROCONTROLADORES
El microcontrolador 80C51 es la versin
CMOS del 8051, siendo totalmente compatible con el 8051 en trminos de funcionamiento.
Sin embargo, como se trata de un dispositivo CMOS (a diferencia del 8051, que
es NMOS) el consumo es mucho menor. En
la figura 4 tenemos el diagrama en bloques del 80C51, a partir del cual haremos
el anlisis. Todos los miembros de esta serie poseen espacios separados para direccionamiento y programa de datos, segn
muestra el diagrama de estructuras de la
memoria en la figura 5.

Figura 4

Figura 5

DE

NATIONAL, PHILIPS

MOTOROLA

Esta separacin permite que los datos


de la memoria sean accesados por una
direccin de 8 bits, lo que da como resultado un almacenamiento y manipulacin
ms rpidos que los efectuados por una
CPU de 8 bits.
Sin embargo, direcciones de 16 bits
tambin pueden ser usadas, generadas
por el registrador DPTR.
La memoria de programa (ROM o
EPROM) puede ser leda, pero no grabada. Tenemos disponibles 64K bytes de espacio para la memoria de programa.
En el 80C51, los 4K bytes inferiores estn
on-chip.
En las versiones sin ROM,
toda la memoria de programa es externa.
El "strobe" para la lectura
de la memoria es el PSEN
(Program Store Enable).
La memoria de datos
(RAM) ocupa un espacio separado para el direccionamiento, a partir del programa
de memoria.
En el 80C51, los 128 bytes
de la memoria de datos estn sobre el chip. El espacio
de la memoria de datos externa puede dirigir hasta 64K
bytes de una RAM externa).
En la versin sin ROM, los
128 bytes inferiores son onchip. Una CPU genera las seales de lectura y grabacin
(RD y WR), segn se necesite,
durante los accesos a la memoria externa.
Las memorias de datos externa pueden combinarse
con memorias de programas,
si se lo desea, a travs de la
aplicacin de seales RD y
PSEN en las entradas de una

Todo sobre PICs

103

LOS MICROCONTROLADORES

DE

NATIONAL, PHILIPS

MOTOROLA

0; 000Bh para el timer 0; 0013h para la interrupcin externa 1; 001Bh para el timer
1, etc.
Si una rutina de tratamiento de interrupcin fuera lo suficientemente corta (como
en el caso de aplicaciones para control),
puede permanecer totalmente en el intervalo disponible de 8 bytes. Rutinas de servicio ms largas pueden usar una instruccin de salto para evitar direcciones de
Figura 6
interrupciones subsiguientes, si otras intepuerta AND, se utilizar su salida como
rrupciones no estuvieran en uso. Los 4K by"strobe" de lectura para la memoria de
tes inferiores de la memoria de programa
datos / programa externa.
pueden estar tanto en la ROM on-chip como es una ROM externa. El pin EA (External Access) permite hacer la seleccin.
Memoria de Programa
En el 80C51, si el pin EA fuera conectado al Vcc, el programa ira a buscar las diEn la figura 6 tenemos el diagrama en
recciones de 0000h hasta OFFFh en la
bloques de la memoria de programa.
ROM interna, y de 1000h hasta FFFFh en la
Despus de reseteada, la CPU inicia la ROM externa.
ejecucin del programa a partir de la diSi el pin EA fuera conectado al Vss, enreccin 0000h.
tonces el programa trabajara como las
Tal como se muestra en la figura 6, ca- direcciones de la ROM externa.
da interrupcin es designada por una diLa figura 7 muestra el hardware pone
reccin fija en la memoria de programa.
la ejecucin de trabajos externos.
La interrupcin se origina cuando la
Observe que las 16 lneas de I/O (ports
CPU salta hacia la direccin correspon0 y 2) estn dedicadas a la cancelacin
diente, donde tiene su inicio la rutina de
de instrucciones durante las acciones exservicio (rutina de tratamiento de interrup- ternas de la memoria de programa.
cin).
El port 0 (PO, en la figura 7) sirve como
Una interrupcin 0 externa, por ejemmultiplexador de direcciones y datos.
plo, determina una direccin 0003h.
Ella emite el byte inferior del contador
Si se usara una interrupcin 0 externa,
de programa (PCL) como una direccin y,
la rutina de servicio debera
comenzar por la direccin
0003h. Si la interrupcin no se
usara, la direccin estara disponible como memoria de
programa de uso general.
Las direcciones de las sub-rutinas de tratamiento de interrupcin estn separadas por
intervalos de 8 bytes: 0003h
Figura 7
para la interrupcin externa

104

Todo sobre PICs

LOS MICROCONTROLADORES

DE

NATIONAL, PHILIPS

MOTOROLA

La CPU genera las seales


RD y WR, a medida que sean
necesarias durante el acceso
a RAM externa.
Pueden usarse hasta 64K
bytes de memoria externa.
Las direcciones para accesar los datos de la memoria externa pueden utilizar
tanto 1 como 2 bytes de exFigura 8
tensin.
entonces, permanece en un estado flucLas direcciones de 1 byte tambin son
tuante en espera de la llegada del byte
usadas en conjunto con una o ms lneas
de cdigo de la memoria de programa.
de I/O para paginar la RAM, segn muesDurante el intervalo en el que el byte
tra la misma figura 8.
inferior del contador de programa fue vEn el caso de que la parte ms alta sea
lido en el port 0, la seal ALE (Address
emitida por el port 2, pueden usarse direcLatch Enable) juega este byte en un latch ciones de dos bytes.
(cerrojo) de direccionamiento.
La memoria interna de datos est grafiMientras tanto, el port 2 (P2 en la figura cada en la figura 9. El espacio de la me7) emite un byte superior del contador de moria est dividido en 3 bloques que son
programa (PCH). Entonces, PSEN, a travs referidos como: 128 - inferiores, 128 - supedel "strobe" permite que el microcontrola- riores y espacio del SFR (Special Function
dor lea el byte del cdigo en la EPROM.
Register).
Las direcciones de memoria de programa
Las direcciones de la memoria de dason siempre 16 bits, aun cuando se use un tos interna son siempre de 1 byte de exespacio real de menos de 64 bytes. En es- tensin, lo que implica un direccionamientas condiciones, la ejecucin del prograto de slo 256 bytes.
ma externo sacrifica dos ports de 8 bits,
Adems de eso, los modos de direccioPO y P2, para funcionar en la direccin de namiento de la RAM interna pueden, de
la memoria de programa.
hecho, acomodar 384 bytes, utilizan un
truco simple: las direcciones directas, por
encima de 7Fh, accesan un espacio de
Memoria de Datos
memoria y
las direccioFig. 9
La mitad derecha de la figura 5 (pgi- nes superiona 103) muestra los espacios internos y ex- res a 7Fh acternos de la memoria de datos disponible cesan un esen el 80C51.
pacio difeEn la figura 8 tenemos una configurarente.
cin de hardware que permite accesar
La figura 9
hasta 2K bytes de una memoria RAM exmuestra los
terna.
128 - superioEn este caso, la CPU opera a partir de
res y el SFR
la ROM interna.
ocupados

Todo sobre PICs

105

LOS MICROCONTROLADORES

DE

NATIONAL, PHILIPS

por el mismo
bloque de diFig. 10
recciones: de
80h hasta FFh,
mientras que,
en realidad,
son entidades
fsicamente diferentes.
Los 128 bytes inferiores
de la RAM esFig. 11
tn presentes
en todos los
dispositivos
80C51, como
se grafica en
la figura 10.
Los 32 bytes
inferiores estn
agrupados en
4 bancos de 8 registradores.
Las instrucciones del programa llaman
a estos registradores externamente de R0
a R7. Dos bits del PSW (Program Status
Word) seleccionan del banco de registradores cul va a ser usado.
Este procedimiento permite una utilizacin ms eficiente del espacio para cdigo, ya que las instrucciones son ms cortas que las que usan direccionamiento directo.
Los 16 bytes siguientes,
Fig 12
por encima de los bancos
de registradores, forman un
bloque de espacio de memoria dirigible por bit.
El set de instrucciones del
80C51 incluye una amplia
seleccin de instrucciones
de bit nico, y los 128 bits
de esta rea pueden ser directamente dirigidos por estas instrucciones. Las direcciones de bits en esta rea

106

Todo sobre PICs

MOTOROLA

van de 00h a 7Fh. Todos los bytes en los


128 - inferiores resultan accesibles tanto
por direccionamiento directo como indirecto.
Los 128 - superiores, tal como muestra
la figura 11, slo son accesibles por direccionamiento indirecto.
En la figura 12 tenemos una visin del
Special Function Register (SFR) y del espacio que ocupa.
Esta estructura incluye latches (cerrojos)
de puertas, timers, controles, perifricos,
etc. Estos registradores pueden ser accesibles, solamente, por direccionamiento directo. Diecisis direcciones en el espacio
SFR son accesibles tanto por byte como
por bit. Los SCF pueden accesarse por bit
y son los que tienen direcciones terminados en 0h u 8h.
A travs de la segunda parte de esta
nota, los proyectistas podrn tener una
mejor visin de cmo y dnde usar el microcontrolador 80C51 y sus perifricos.

El Set de Instrucciones del 80C51


El Set de Instrucciones del 80C51 est
especialmente confeccionado para su
utilizacin en aplicaciones de control con
8 bits.
Proporciona gran variedad de modos de direccionamiento rpido para acceder a la RAM interna, con lo
que se facilitan las operaciones con bytes en pequeas
estructuras de datos.
El Set de Instrucciones
prev, adems, un soporte
extensivo para variables de
1 bit, como los del tipo de
datos separados, as permite
la manipulacin directa del
bit en sistemas lgicos y de

LOS MICROCONTROLADORES
control que requieran un procesamiento booleano.

DE

NATIONAL, PHILIPS

MOTOROLA

Fig 13

Program Status
Word (PSW)
El Program Status
Word (PSW) contiene diversos bits de
status que indican
el estado corriente
de la CPU. El PSW, que se muestra en la figura 13, reside en el espacio de la SFR.
El PSW contiene el bit de carry, o carry
auxiliar (para operaciones en BCD), los
dos bancos de registradores para seleccin de bits, el aviso de overflow, un bit
de paridad y dos flags de uso que puede
ser definido por el usuario.
El bit de carry, adems de servir para su
funcin especfica, tambin acta como
acumulador para un cierto nmero de
operaciones booleanas.
El bit de paridad indica el nmero de
"uns" no acumulados. Si P=1, entonces el
acumulador contiene un nmero impar
de "uns". Si P=0, el acumulador contiene
un nmero par de "uns".
Vemos as que si tenemos en cuenta el
nmero de "uns" en el acumulador sumado al valor de P, tendremos siempre un resultado par.

direccin de 8 bits en la instruccin. Slo


la RAM interna de datos y la SFR pueden
ser directamente direccionadas.
b) Modo Indirecto
En el direccionamiento indirecto, la instruccin especifica un registrador que
contiene una direccin del operando.
Tanto la RAM interna como la externa
pueden ser indirectamente direccionadas.
c) Instrucciones del Registrador:

Los bancos de registradores que contienen los registradores de R0 a R7 pueden


ser accedidos por ciertas instrucciones
que lleven una especificacin de registrador de 3 bits conjuntamente con el cdigo de la instruccin (opcode).
Las instrucciones que acceden los registradores en esta forma son "code efficient", ya que as se elimina la necesidad
Modos de Direccionamiento
de un byte de direccin.
Cuando la instruccin es ejecutada,
En el 80C51 tenemos los siguientes mouno de los ocho registradores del banco
dos de direccionamiento:
seleccionado es accedido mientras que
uno de los cuatro bancos es seleccionaa) Modo Directo:
do en el tiempo de ejecucin por los dos
En esta modalidad de direccionamien- bits de seleccin de bancos en el PSW
to, el operando est especificado por una (figura 13).

Todo sobre PICs

107

LOS MICROCONTROLADORES

DE

NATIONAL, PHILIPS

MOTOROLA

d) Instrucciones Especficas
de Registradores:

destinado a la lectura de tablas de consulta en la Memoria de Programa. Otro tipo de direccionamiento indexado se usa
Algunas instrucciones son especficas
para el caso de una instruccin JUMP. En
para ciertos registradores como, por ejem- este caso, el direccionamiento de destino
plo, las que siempre operan en el Acumu- de una instruccin JUMP es computado
lador o en el Data Pointer, de modo que
como la suma de los datos del acumulapara ellas no se necesita bit alguno de di- dor con el Data Pointer.
reccionamiento para su uso. El opcode lo
hace por s solo.
g) Instrucciones Aritmticas:
e) Constante Inmediata:
El valor de una constante puede seguir
el opcode en la Memoria de Programa.
Por ejemplo:
MOV A, 100
carga el acumulador con el nmero
decimal 100.
El mismo nmero puede especificarse
en dgitos hexadecimales como 64 h.
f) Direccionamiento Indexado:
Slo la Memoria de Programa puede
ser accedida con direccionamiento indexado, siendo, despus, slo posible la lectura. Este modo de direccionamiento est

h) Instrucciones Lgicas:
La tabla 3 muestra la lista
de instrucciones lgicas disponibles en el 80C51. Las instrucciones que realizan operaciones booleanas (AND,
OR, Exclusive OR, NOT) con
bytes utilizan bit por bit. Los
modos de direccionamiento
que pueden usarse para acceder el operando estn listados en la misma tabla.
Todas las instrucciones lgicas que estn en el Acumulador son ejecutadas en 1s,
con base en un clock de

Tabla 2

108

El men de las instrucciones aritmticas


del 80C51 est listado en la tabla 2, donde estn indicados los modos de direccionamiento que pueden usarse con cada
instruccin para acceder el <byte> operando. Los tiempos de ejecucin en la lista
de la tabla 1 son para una frecuencia de
clock de 12MHz. Todas las instrucciones
aritmticas son ejecutadas en 1s, excepto la INC DPTR, que lleva 2s, y las instrucciones de multiplicacin y divisin, que llevan 4s.
Obsrvese que cualquier byte en el espacio interno de la Memoria de Datos
puede ser incrementado sin pasar por el
Acumulador.

Todo sobre PICs

LOS MICROCONTROLADORES
Tabla 3

DE

NATIONAL, PHILIPS

MOTOROLA

i) Transferidores de Datos:

La tabla 4 muestra el men de instrucciones que estn disponibles para el movimiento de datos por los espacios disponibles en la Memoria Interna.
En ella tambin tenemos
los modos de direccionamiento que pueden utilizarse
con cada instruccin. Con
un clock de 12MHz, todas estas instrucciones son ejecutadas tanto en 1s como en
2s. La instruccin MOV
<dest>, <src> permite la
transferencia de datos entre
Tabla 4
cualquier locacin de la RAM
o SFR, sin pasar por el Acumulador. Recurdese que
hasta 128 bytes de datos de
la RAM pueden accederse
slo por direccionamiento indirecto, y que el espacio de
la SFR solamente puede ser
accedido por direccionamiento directo.
En la tabla 5 puede observarse una lista de instruccioTabla 5
nes para transferencia de
datos accediendo la Memoria Externa de Datos.
Slo pueden utilizarse direccionamientos indirectos, y
la eleccin puede recaer
tanto por direccionamientos
12MHz. Las otras demoran 2s.
de 1 bit, tipo Ri, donde Ri puede ser R0 o
Si la operacin se origina como resR1 del banco seleccionado, como tampuesta a una interrupcin, el hecho de no bin de dos bits, del tipo DPTR.
utilizarse el Acumulador economiza tiemLa desventaja de la utilizacin de direcpo y esfuerzo en el sentido de la introduc- cionamientos de 16 bits, en caso de que
cin de datos en la pila de ejecucin de
pocos k bytes de la RAM externa estn
la rutina de servicio.
comprometidos en un solo control, es que

Todo sobre PICs

109

LOS MICROCONTROLADORES

DE

NATIONAL, PHILIPS

MOTOROLA
j) Instrucciones Booleanas:

Tabla 6
Los dispositivos 80C51 contienen un procesador completo para instrucciones booleanas (bit nico).
La RAM interna contiene
Tabla 7
128 bits direccionables, y el
espacio SFR puede aceptar
hasta 128 bits direccionables. Todas las lneas de ports
son direccionables por bit, y
cada una puede ser tratada
como un port de bit nico.
Las instrucciones que acceden estos bits no tienen
una nica funcin: tambin
pueden operar un men
completo de opciones, tales
como descolocacin, fijacin, apagado, complementacin, puerta OR, AND,
etc.
Estas operaciones de bit
nico no se obtienen fcillos direccionamientos de 16 bits usan tomente en otras arquitecturas sin la ayuda
dos los 8 bits del port 2 y, tambin, el barri- de una buena cantidad de software
do de direccionamientos.
orientado para esta finalidad.
Por otro lado, direccionamientos de 8
El Set de Instrucciones para el procesabits permiten el direccionamiento de podor booleano se observa en la tabla 7.
cos bytes de la RAM sin sacrificar todo el
Los direccionamientos de los bits de 00h
port 2. Todas estas instrucciones son ejecu- hasta 7Fh estn en los 128 inferiores, y los
tadas en 2s con un clock de 12MHz.
de 80h hasta FFh se encuentran en el esNtese que en todos los accesos a la
pacio SFR. Ntese que el Set de InstruccioRAM externa el Acumulador est funciones booleanas incluye operaciones ANL y
nando como origen y destino de los daORL, pero no la operacin XRL (Exclusive
tos.
OR).
La tabla 6 muestra las dos instrucciones
Una operacin XRL resulta fcil de imque estn disponibles para la lectura de
plementar mediante el software.
tablas de consulta en la Memoria de Programa.
Offset relativo: Los direccionamientos
Como estas instrucciones acceden so- de destino para estos saltos estn especifilamente la Memoria de Programa, las ta- cados al dispositivo por medio de un arblas de consulta slo pueden ser consulta- chivo o por un direccionamiento real en
das y no actualizadas.
la Memoria de Programa.

110

Todo sobre PICs

LOS MICROCONTROLADORES
k) Instrucciones de
Salto (JUMP):

DE

NATIONAL, PHILIPS

MOTOROLA

Tabla 8

En la tabla 8 vemos una


lista de jumps incondicionales al tiempo de ejecucin para un clock de 12
MHz. La distancia del salto
est limitada a la banda
de -128 a +127 bytes relativos a la instruccin que siTabla 9
gue el JMP. JMP es el modo mnemnico de la instruccin. La tabla 9 muestra la lista de jumps disponibles en el 80C51. Todos estos jumps especifican el direccionamiento de destino
por el mtodo de offset relativo, y, por eso, estn limitados a una distancia de -128 a +127 bytes a partir de la
instruccin que determina el salto. Es importante observar que el usuario especifica el assembler (ensamblador) o direccionamiento real de destino de la misma forma que en los jumps comunes: como un
archivo de constantes de 16 bits. Otra
aplicacin para esta instruccin est en
las comparaciones del tipo "menor que".

Timing de la CPU
Todos los microcontroladores 80C51 poseen un oscilador on-chip que puede utilizarse como fuente de seal de clock para
la CPU.
Para usar el oscilador on-chip conecte
un cristal al resonador cermico entre los
pines XTAL1 y XTAL2 del microcontrolador y
capacitores a tierra, tal como muestra la
figura 14.
En la figura 15 tenemos ejemplos de cmo utilizar un oscilador externo como generador de clock.

Ciclo de
Mquina
Un ciclo
de mquina
consiste en
una secuencia de 6 estados, numerados
desde S1
hasta S6.
Cada estado exige,
por lo menos, dos perodos del oscilador, lo
que significa
que un ciclo
de mquina
demora 12
ciclos del oscilador, correspondientes a 1s si la

Fig. 14

Fig. 15

Todo sobre PICs

111

LOS MICROCONTROLADORES

DE

NATIONAL, PHILIPS

frecuencia del clock fuera de 12 MHz. Cada estado est dividido en mitades que
corresponden a Fase 1 y Fase 2. La figura
16 muestra la secuencia de estados y fases para diversos tipos de instrucciones.
Las secuencias descriptas son las mismas
tanto para la utilizacin de una Memoria
de Programa interna como externa. El
tiempo de ejecucin tambin es independiente del uso de las memorias usadas.

MOTOROLA

externas, 2 por timer y el port serial de interrupcin. A continuacin damos una visin general de la estructura de interrupciones del dispositivo, ya que una profundizacin mayor slo sera posible con un
anlisis ms detallado del manual del
componente.
Habilitacin de Interrupciones

Cada fuente de interrupcin puede ser


habilitada o inhabilitada individualmente
por la colocacin o el retiro de un bit en
El 80C51, en su versin sin ROM y con
la parte de la SFR denominada IE (InteEPROM, posee 5 fuentes de interrupcin: 2 rrupt Enable). Este registro contiene, tambin, un bit de inhabilitacin
global que permite la habilitacin o inhabilitacin de todas las interrupciones al mismo tiempo.
Estructura de Interrupciones

Prioridades de
Interrupcin

Figura 16

112

Todo sobre PICs

Cada fuente de interrupcin puede programarse individualmente para presentar


uno o dos niveles de prioridad por la utilizacin de un
bit en la SFR denominado IP
(Interruptor Priority). Una interrupcin de baja prioridad
puede detenerse por una interrupcin de alta prioridad
pero NO por otra de baja
prioridad. En caso de recibirse dos pedidos de interrupcin al mismo tiempo, ser
atendido el de mayor nivel
de prioridad.
Si fueran recibidas dos instrucciones de interrupcin de
igual prioridad al mismo tiempo, una secuencia interna de

LOS MICROCONTROLADORES

DE

NATIONAL, PHILIPS

MOTOROLA

evaluacin determina cul es la que deber ser atendida.


Simulando un Tercer Nivel de Prioridad
Va Software: Algunas aplicaciones exigen
ms que los dos niveles de prioridad disponibles en el 80C51.
En estos casos, un software relativamente simple puede utilizarse para tener
el mismo efecto de un tercer nivel de prioridad.
Este software aumenta un tiempo de
10s (con 12MHz) para las interrupciones
de prioridad 1.

Un microprocesador es otro tipo de


componente. Nace con la capacidad de
ser adecuado para diferentes usos; el mismo micro puede usarse para una gran
cantidad de aplicaciones, que ni siquiera
su propio fabricante conoce. En este artculo, vamos a presentar una aplicacin
del microprocesador Motorola
MC68HC705J1 donde se lo utiliza para
controlar la cerradura elctrica de una
puerta, con introduccin de un cdigo numrico por un teclado; pero con el mismo
integrado, se puede realizar una interfaz
para comunicarse con una PC en forma
Nota
remota, o un detector de estado del cierre
La descripcin de la arquitectura que
de puertas de una casa, o cualquier otra
dimos fue simplificada, ya que la compleji- aplicacin que pueda resolverse con
dad del dispositivo no nos permite hacer
compuertas lgicas, con temporizadores o
una descripcin completa en el poco es- que implique el ingreso de datos y su propacio que disponemos.
cesamiento matemtico o lgico y la saliNo obstante, esperamos que haya sido da de los datos procesados con destino a
lo bastante detallada para permitirle al
diodos LEDs, rels, optoacopladores, triacs,
proyectista una visin de las posibilidades etc. Esta ductilidad en su comportamiento
del dispositivo.
es debida a que el integrado permite que
el diseador programe las funciones que
debe cumplir, incluso si no est conforme
MICROCONTROLADORES
con el funcionamiento o desea realizar
DE MOTOROLA
otra aplicacin, puede desprogramar el
integrado y volverlo a programar tantas
Ningn componente electrnico impac- veces como lo desee, si se trata de la vert tanto en la estructura de nuestra indus- sin EPROM. Esto merece un comentario
tria (y en la sociedad en general) como lo ms extenso.
hizo el microprocesador. Ni siquiera el transistor, o el circuito integrado, modificaron
tanto las estructuras; ya que en el fondo
LAS VERSIONES EPROM Y OTP
slo cambiaron el tamao, las prestaciones y el precio de los equipos; pero las inPrimero vamos a explicar qu significan
dustrias siguieron siendo como eran antes: las iniciales del subttulo:
un lugar donde se montaban componenEPROM: ERASABLE PROGRAMABLE READ
tes sobre una placa, se probaban los con- ONLY MEMORY - MEMORIA DE LECTURA
juntos, se colocaban en un gabinete y se
SOLAMENTE, BORRABLE Y REPROGRAMABLE
vendan. De hecho cada componente teOTP: ONE TIME PROGRAMING - MEMOna una funcin para la cual haba sido
RIA DE LECTURA SOLAMENTE, QUE ADMITE
construido y no se poda emplear para
UNA UNICA PROGRAMACION
otra cosa.
Una vez programados o grabados, am-

Todo sobre PICs

113

LOS MICROCONTROLADORES

DE

NATIONAL, PHILIPS

bos dispositivos realizan la misma funcin.


La diferencia fundamental entre ambos,
est en el precio. La relacin de precios
entre un EPROM y un OTP para el modelo
que describimos, es de unas trece veces.
La versin EPROM, se utiliza slo para el
proceso de desarrollo; una vez que el prototipo ha sido depurado en su funcionamiento, el producto industrial se realiza
con la versin OTP. En general el precio de
la OTP es comparable al precio de 3 4
compuertas lgicas y su prestacin es muy
superior.
El significado de la palabra programar o
grabar es el siguiente. El microprocesador
contiene una memoria, en donde se guardan ordenadamente los datos necesarios
para que funcione. A la memoria podemos considerarla como una cajonera de
las que utilizamos para guardar materiales.
Cada cajoncito tiene su nmero (slo que
este caso es un nmero hexadecimal, ver
apndice A). Cada cajoncito, al que llamaremos direccin o posicin de memoria, tiene ocho separaciones internas (celdas de memoria) en donde vamos a colocar un cartn escrito con un uno o un
cero (que llamamos bit). Cada bit tiene
una determinada posicin en el cajn, a
los ms internos los llamamos los menos
significativos y a los ms externos, los ms
significativos. Cada bit es un dato que deseamos almacenar para recuperarlo posteriormente y utilizarlo adecuadamente.
Los conjuntos de ocho bits forman una
cadena de smbolos o palabra, que en ingls se denomina BYTE. Para no confundir
los trminos en lo sucesivo vamos a llamar
bit a cada elemento y octeto al conjunto de ocho bits (las cadena de 4 bits reciben en ingls el nombre de nibble y
nosotros lo llamaremos cuarteto). Al grabar
el programa, se determina el uso de cada
posicin de memoria como contenedora
de una instruccin (por ejemplo: sumar,

114

Todo sobre PICs

MOTOROLA

comparar, realizar la operacin lgica


AND, etc) en tanto que otras posiciones
de memoria se destinan a guardar datos
fijos (simplemente nmeros digitales transformados a binarios). En cualquiera de los
dos casos, las posiciones de memoria tienen guardados una serie de uno o ceros;
slo que el micro los decodifica adecuadamente, para transformarlos en nmeros
o instrucciones.
Las memorias se ordenan segn su capacidad de almacenar octetos, cuartetos
o palabras de otra cantidad de bits. Por
ejemplo, el micro que nos ocupa tiene
una capacidad de almacenar 1.200 octetos, en su memoria EPROM, disponibles para el uso (hay posiciones prohibidas que
no pueden utilizarse, es decir que son como cajones trabados). Con el mismo lugar
asignado para la memoria, podran manejarse 2.400 cuartetos en otro dispositivo
que funcionara con organizacin de 4 bits.
Para simplificar las cosas se puede decir
que nuestra memoria tiene una capacidad de 1200x8.
Una EPROM est construida con una
matriz de transistores MOSFET, que quedan
en una condicin de conduccin (cero) o
de corte (uno), segn el estado de carga
de su compuerta, que puede considerase
como un capacitor. Estos capacitores tienen tan buena aislacin que conservan su
carga por muchos aos, manteniendo los
datos grabados; este proceso se realiza
con pulsos de tensin de unos 14V. La nica manera de borrar la memoria, es exponer el chip a la luz ultravioleta, que ingresa
por una ventana transparente. En ese momento, la luz genera portadores de carga
en las aislaciones de las compuertas, como para que stos descarguen el capacitor. Luego se puede volver a escribir sobre
la memoria, una vez tapada la ventana.
Una OTP es una matriz de diminutos fusibles que se queman en el momento de la

LOS MICROCONTROLADORES
escritura (tambin se requiere una tensin
ms alta que la normal para producir la fusin de los microfusibles). Con esta estructura, una vez grabada, la memoria no
puede ser borrada.
El proceso de escritura de las memorias
se realiza con una placa especial (que se
incluye en el kit de desarrollo junto con un
micro tipo EPROM) y que sirve para grabar
cualquiera de los dos dispositivos. Esta placa se conecta a una PC, donde se corre
un disquete especial que se entrega con
el kit de desarrollo. El programa de trabajo
desarrollado se escribe en la PC desde la
misma, se transfiere al micro a travs de la
placa de desarrollo. Luego se retira el micro de la placa del kit de desarrollo y se
ubica definitivamente en la placa de produccin, si es una OTP, o en la placa prototipo, si es una EPROM.
En realidad el disquete que viene con el
kit de desarrollo no slo sirve para escribir
el programa en nuestro micro; sa es slo
una de sus funciones. Tambin permite realizar la simulacin del micro J1 y los componentes externos
con la PC y correr el programa desarrollado, para verificar su funcionamiento en forma virtual, sin realizar ninguna placa prototipo. Una
vez completada esa primera etapa del desarrollo, se pasa a una segunda etapa llamada de emulacin; en esta etapa, la PC cumple
slo la funcin del micro J1, sin
componentes externos y sirve precisamente para probar la placa
prototipo de nuestro desarrollo. Recin como tercera etapa, se procede a grabar el micro.

DE

NATIONAL, PHILIPS

MOTOROLA

dispositivo est construido con MOSFETs,


las tensiones de alimentacin negativa y
positiva se llamen VSS y VDD, respectivamente (S de SURTE = surtidor y D de DRAIN
= sumidero). El Motorola J1 opera con una
tensin de fuente simple de 3,3 a 5V, conectada a la pata 9 (VDD) y con el negativo de fuente conectado a la pata 10
(VSS).
Un micro es un dispositivo cuyo consumo puede ser muy variable, en funcin del
programa, de la tensin de fuente y de la
velocidad a la cual trabaja el dispositivo.
En el modo de funcionamiento normal, la
velocidad est directamente determinada
por la frecuencia del cristal o filtro cermico del clock (este tema se tratar en el
prximo punto). Pero aparte del modo de
funcionamiento normal, el J1 tiene otros
dos modos de funcionamiento: WAIT (lento) y STOP (parado); esos modos de funcionamiento estn previstos para que el
dispositivo reduzca dramticamente el
Figura17

La Tensin de Alimentacin
Es costumbre que cuando un

Todo sobre PICs

115

LOS MICROCONTROLADORES

DE

NATIONAL, PHILIPS

MOTOROLA

Figura 18

De otro modo, la tensin VDD


tendra lo que se llama ruido digital, que puede causar un funcionamiento errtico del dispositivo. Ver
figura 18.

Oscilador de Clock

consumo, ya que est previsto para ser alimentado con pilas, cuando trabaja como
control remoto, o en los sistemas de alarma en caso de corte de energa.
Por todo esto, el consumo debe expresarse a travs de una tabla, en funcin de
la tensin de alimentacin, la frecuencia
del cristal y el modo de funcionamiento.
Ver figura 17.
Otra cosa a tener en cuenta con respecto al consumo, es que es sumamente
variable por pulsos, debido a las caractersticas de los circuitos digitales, que consumen sobre todo durante las conmutaciones. Esto obliga a conectar dos capacitores, entre el terminal de VDD y el de masa;
uno de valor alto (electroltico) y otro de
valor ms pequeo, con buenas caractersticas de respuesta a altas frecuencias
(cermico multicapa o polister metalizado) de 0,1F.
Los capacitores deben conectarse lo
ms cerca posible de los terminales del micro, con pistas cortas y anchas.

116

Todo sobre PICs

Un micro es un dispositivo que


funciona de modo secuencial; por lo tanto, todo su funcionamiento se basa en la
generacin de una seal llamada de
CLOCK (reloj) que determina el ritmo de
funcionamiento de todo el dispositivo. En
general, todos los procesos internos se llevan a cabo justo cuando el CLOCK cambia de estado; por ejemplo, la circulacin
de los datos, que se transfieren internamente en forma sincrnica con el clock.
La seal de clock se puede generar de
diferentes maneras, segn qu elementos
se conecten sobre las patas 1 (OSC1) y 2
(OSC2).
El sistema ms estable es conectando
un cristal y un resistor entre ambas patas y
dos capacitores a masa desde cada pata. Ver figura 19.
El resistor cumple la funcin de hacer
arrancar al oscilador, y su uso puede evitarse, ya que el micro tiene un resistor interno de 2M, que queda conectado o no,
en funcin de la grabacin de la memoria
(una posicin de memoria se dedica exclusivamente a realizar las modificaciones de la arquitectura inFigura 19
terna del dispositivo, en funcin
de las necesidades del circuito).
La frecuencia mxima del cristal
que puede utilizarse, depende
de la tensin de fuente: para
una tensin nominal de 5V, se
recomienda usar un cristal de
4MHz o menor, en tanto que
para una tensin nominal de

LOS MICROCONTROLADORES

DE

NATIONAL, PHILIPS

MOTOROLA

so, la conexin es muy simple: la


pata uno se utiliza como pata
de entrada, dejando libre la pata dos. Ver figura 22.
La velocidad con la que el
micro realiza cada ciclo de instruccin, es directamente proporcional a la frecuencia del
clock. En este modelo, cada ciclo de instruccin dura 476nS, si
el cristal es de 4MHz y VDD es
5V (en realidad el clock interno trabaja a
2MHz, ya que el generador de clock tiene
acoplado un divisor por dos). Para VDD de
3,3V y crisFigura 22
tal de
2MHz, cada ciclo
de instruccin dura
aproximadamente
1S.
Figura 20

3,3V se recomienda no superar los 2MHz. El


tipo de cristal ms recomendable es el de
corte AT, para evitar la sobreexcitacin del
oscilador. Ver figura 20.
Cuando se trata de fabricar dispositivos
de bajo costo, lo ms recomendable es
utilizar un resonador cermico, en lugar
del cristal. La estabilidad del resonador cermico, es menor que la del cristal; pero es
suficiente para la mayora de las aplicaciones (el micro puede trabajar como
temporizador y la estabilidad de tiempo es
directamente proporcional a la estabilidad
del CLOCK). Ver figura 21.
En el futuro, este micro estar previsto
para usar un oscilador RC, en el que no se
requiera buena estabilidad. Se debe consultar al representa local de Motorola, por
la disponibilidad de esta prestacin.
Un micro puede trabajar en forma enganchada con otro, del mismo o de diferente tipo, inclusive de otra marca, mientras sea un CMOS compatible. En este ca-

RESET Y WATCHDOG (COP)


La abreviatura COP significa: COMPUTER OPERATING PROPERLY que se traduce
por: OPERACION APROPIADA DEL COMPUTADOR.
El micro realiza su tarea en forma rutinaria y secuencial, cumpliendo cada paso
de programa y cuando llega al ltimo, comienza reiterativamente por el
primero o por otro, si el ltimo
Figura 21
paso as se lo indica. Esta rutina,
se puede alterar de dos maneras diferentes: por el RESET, o por
una interrupcin IRQ. En este
punto trataremos el modo RESET.
El RESET, se puede producir
automticamente, o como una
condicin buscada exterior-

Todo sobre PICs

117

LOS MICROCONTROLADORES

DE

NATIONAL, PHILIPS

mente con un pulsador, conecFigura 23


tado desde la pata 20 a masa.
Cuando se opera el RESET, el
micro retorna a una condicin
preestablecida de arranque,
carga todos los dispositivos que
pueden memorizar con los octetos indicados por el programa (generalmente 00000000) y
luego arranca por el primer paso de programa.
En algunos casos (sobre todo
cuando se est en una etapa
poco avanzada del desarrollo) se pueden
producir errores de funcionamiento, que
lleven al programa a trabajar sobre un lazo cerrado, del cual no puede salir por s
mismo (en la jerga se dice que el sistema
se qued colgado). Tambien puede ocurrir
que, por error, se pretenda acceder a una
posicin de memoria ilegal (una direccin
reservada para un uso fijo del micro).
En ambos casos, opera un sistema llamado WATCHDOG (literalmente: perro
guardin). El WATCHDOG produce un RESET automtico, si es que el micro demora
ms que un tiempo preestablecido para
realizar su rutina principal; del mismo modo
opera, si se pretende utilizar una posicin
de memoria ilegal. A este sistema tambin
se lo llama COP WATCHDOG (literalmente
perro guardin de la operacin apropiada
del microcomputador).
En la versin OTP, existe un resistor interno conectado a la tensin de fuente VDD;
es decir, que slo basta con conectar la
pata 20 a masa con un pulsador. Tambin
existe un diodo interno, que limita la tensin si sta supera a la de fuente y que
adems arrastra hacia masa la tensin de
la pata 20, cuando se desconecta la fuente VDD. La pata 20 no opera directamente sobre micro, sino que lo hace a travs
de un SCHMITT TRIGGER (disparador de
Schmitt: dispositivo de disparo con histre-

118

Todo sobre PICs

MOTOROLA

sis de tensin) que aumenta la inmunidad


del micro frente al ruido, para evitar que
se produzca un RESET indeseado. Ver figura 23.
La versin EPROM de este dispositivo no
tiene ni el resistor ni el diodo y, por lo tanto,
se debe prever su ubicacin en la placa
prototipo.

Las Interrupciones IRQ


La pata 19 es de doble funcin, sirve
como una entrada de interrupcin o como pata de grabacin del programa,
cuando se trabaja con tensiones superiores a 12V. Entre 0V y VSS, esta pata opera
deteniendo el programa normal, pero
acumulando previamente todos los datos
existentes en cualquier tipo de componente interno, capaz de memorizar datos (registros, memoria voltil, etc.) Cuando termina el programa de interrupcin, el programa principal contina funcionando
normalmente, en el paso en donde se haba interrumpido su funcionamiento.
Cuando se realiza una interrupcin, el
micro sale de su programa normal y realiza
otro programa. Es como dejar de realizar
el trabajo habitual, para realizar otro en
forma momentnea y luego volver a la tarea normal. En realidad, existen otras 4 pa-

LOS MICROCONTROLADORES
tas que pueden producir interrupciones
(15, 16, 17 y 18). Estas patas pueden usarse como entrada IRQ, o como entrada o
salida de datos. La eleccin se realiza por
el programa junto con la grabacin del
dispositivo. A este tipo de seleccin, se la
conoce como MASKABLE (enmascarable)
y se refiere a la polifuncionalidad del dispositivo, que permite utilizar alguna de sus
pata para una u otra funcin (cambio de
mscara, careta o disfraz).
Tambin es ENMASCARABLE el funcionamiento de las patas de IRQ, ya que pueden responder al cambio de estado positivo a negativo, o a ambos cambios de estado, o simplemente al estado bajo de las
patas.
La pata 19 requiere un resistor externo
a VDD, si se desea que el dispositivo opere
como una compuerta OR, entre las informaciones de las patas 15, 16, 17 y 18
(cualquiera a masa produce una IRQ)
aunque tiene prioridad la interrupcin por
la pata 19 a masa, que produce un IRQ
de diferente tipo. Similarmente a la pata
del reset, la pata 19 IRQ opera sobre el micro a travs de un disparador de Schmitt,
para reducir la respuesta al ruido. Debe
prevenirse toda tensin sobre esta pata
con un valor superior al de VDD.

Patas de Entrada y Salida (PORTS)


Este dispositivo tiene dos ports paralelos
de entrada salida (I/O = INPUTS/OUTPUTS).
Estas patas interconectan el micro con el
mundo exterior. Por ellas se pueden introducir datos, para operar luego sobre ellos
y entregar los resultados como leds que se
encienden, o rels que operan.
Cualquiera de las patas de ambos
ports, pueden ser una entrada o una salida; basta con grabar los datos adecuados en determinadas direcciones de me-

DE

NATIONAL, PHILIPS

MOTOROLA

moria para que una pata sea una entrada, o se transforme en una salida. Por supuesto el programa dirigir informacin
hacia las salidas, o la tomar de las entradas.
Los ports se nombran como PA y PB por
comodidad. El port B tiene 6 patas, que
cumplen slo las funciones normales de
entradas y salidas. El port A tiene 8 patas,
que adems de su funcin especfica de
I/O, cumplen con otra funcin extra. Desde la PA0 hasta la PA3, cumplen funciones
de ingreso de seales de interrupcin IRQ
(como se mencion en el punto 7) y la
PA4 a la PA7, cumplen funciones de salida
reforzada, ya que admiten una carga de
10mA, capaz de excitar un LED en forma
directa. Cada port tiene su propia direccin de memoria, en donde se pueden
leer o almacenar datos.

Sistema Temporizador Multifuncin


Este micro tiene un temporizador programable de 16 etapas. Su utilidad es obvia; permite demorar las acciones del micro (por ejemplo, cerrar un rel un tiempo
despus de ingresar un pulso de entrada)
y todo de manera sencilla y con una precisin dada por el cristal. La demora puede ser fijada en el momento de grabar la
memoria, o introducirse desde un teclado,
etc.
Las funciones del temporizador y del sistema de WATCHDOG, estn relacionadas
forzosamente entre s, dada la funcin de
ste con respecto al tiempo que tarda el
sistema, en recorrer todos los pasos del
programa. Por ejemplo, el simple programa para cerrar un rel por un tiempo determinado a travs de un teclado; requiere que el sistema de WATCHDOG tenga
una demora variable. Recin cuando pase un tiempo igual a la duracin del pro-

Todo sobre PICs

119

LOS MICROCONTROLADORES

DE

NATIONAL, PHILIPS

grama, ms la demora introducida por el


teclado, ms un tiempo de tolerancia fijo;
opera el WATCHDOG reseteando el sistema.

MOTOROLA

Un registro es una pequea unidad de


memoria de lectura y escritura, del tipo voltil, que en general tiene un tamao que
no supera los dos octetos. La CPU necesita
utilizar 3 registros de 8 bits y 2 de 16 bits,
para poder operar adecuadamente. En
Unidad Central de Proceso CPU
este artculo, slo daremos una mnima
descripcin de los mismos, que se irn
Es la parte del micro que realiza el pro- completando en sucesivas publicaciones.
cesamiento de los datos de entrada y
A = ACUMULADOR: Acumula uno de
los sumandos o el resultado de una suma
emite los datos de salida, en funcin de
durante las operaciones aritmticas.
las rdenes que encuentra en el prograX = REGISTRO INDICE: El CPU utiliza esma. La CPU es, en realidad, un conjunto
te registro para determinar la direccin
de etapas, cada una de las cuales cumple una funcin clara y precisa, que vere- condicional del operando; tambin se lo
utiliza como registro transitorio similar al
mos a continuacin:
A.
SP: PUNTERO DE PILA= Es un registro de
ALU: unidad aritmtica y lgica.
La ALU realiza las operaciones aritmti- 16 bits que contienen la direccin siguiencas y lgicas entre dos variables de prote de la pila de instrucciones.
PC: CONTADOR DE PROGRAMA= Es un
gramas (datos captados y acumulados
registro de 16 bits que contiene la direcen registros o memorias transitorias).
cin de la siguiente instruccin.
Los circuitos aritmticos binarios, decoCCR: REGISTRO DEL CODIGO DE CONDIdifican las instrucciones y predisponen a la
ALU para realizar la operacin selecciona- CION= Es un registro de 8 bits en donde los
3 dgitos ms significativos no se utilizan y
da. La aritmtica binaria est basada en
el algoritmo de la adicin; la substraccin estn fijos en 111.
El resto de los bits contiene un indicase realiza como la adicin de un nmero
dor de la mscara de interrupciones y 4 innegativo.
dicadores del resultado de la operacin
La multiplicacin no se realiza como
que est siendo efectuada.
una operacin discreta (en un solo paso)
Ver figura 24.
pero puede realizarse como una operacin de adiciones sucesivas y desplazamiento de dgitos binarios.
Memoria Voltil
La instruccin para realizar una multiplicacin se llama MUL y requiere 11 ciclos
La EPROM analizada anteriormente, es
del reloj interno, para completar una opeuna memoria no voltil, ya que mantiene
racin.
su informacin luego de cortar la fuente. Si
Las operaciones lgicas son las que
bien permite la escritura, esta debe realicomparan dos nmeros binarios, emitiendo un 1 o un 0, en funcin de que se cum- zarse utilizando la placa de desarrollo, es
decir que el micro no puede cargar inforpla o no la operacin lgica solicitada (<
macin en la EPROM.
menor que; > mayor que; = igual a).
Por este motivo el micro cuenta con
CPU REGISTER: REGISTROS DE LA UNIDAD
una pequea memoria RAM para guardar
CENTRAL DE PROCESO

120

Todo sobre PICs

LOS MICROCONTROLADORES

DE

NATIONAL, PHILIPS

MOTOROLA

zar un diagrama en bloques del micro, ya que


se mencionaron todas las
etapas que forman parte
del mismo. Este diagrama se diferencia de un
diagrama del tipo analgico, por la existencia de
un bus bidireccional que
interconecta todas las
etapas del micro. Esto
informacin mientras la fuente permanece simplemente significa que estas etapas
conectada (es del tipo voltil) pero que es pueden intercambiar informacin, porque
fcil de grabar y leer y sobre todo con ac- todas tienen un port paralelo de I/O. Ver ficeso rpido a cada posicin de memoria gura 25.
solicitada. La capacidad de esta memoria, es de slo 64 octetos, pero es ms que
suficiente para este micro de bajo costo.
Descripcin Funcional de las
Las posiciones de memoria no se repiten
Patas (PINOUT)
en ambos tipos de memoria.
En la figura 26, se muestra el PINOUT del
dispositivo en las versiones del montaje
Registro de Mscara de Opciones
convencional 20 PDIP y de montaje superficial 20 SOIC.
Ya sabemos que ste es un integrado
MASKABLE, las caractersticas de la mscara le indicarn al micro como debe predisCerradura Elctrica
poner sus patas, para realizar la funcin
solicitada y si debe o no conectar los
En esta nota de aplicacin, se ejemplificomponentes MASKABLES que contienen
ca el uso del micro con ingreso de datos,
en su interior.
por intermedio de un teclado matricial de
La mscara de opciones se guarda en 4X4. El funcionamiento del dispositivo pueun registro determinado, que si bien forma de resumirse del siguiente modo: el dato
parte de la EPROM (o de la memoria OTP) numrico que se ingresa por el teclado, se
se lo considera especial dada su importan- compara con el nmero clave grabado
cia. De cualquier modo estas posiciones
en una posicin de memoria. Si el resultade memoria no forman parte de lo que se do de la comparacin, indica que los nllama la USER EPROM (parte de la EPROM
meros son iguales, se emite una salida que
a la cual se puede acceder libremente
opera un rel. El rel es capaz de excitar a
mediante el programa).
una bobina tragante, interna a la cerradura de la puerta, para permitir su apertura.
Si los nmeros no coinciden, el rel no
Estructura del Micro
opera y se levanta otra salida, que se utiliza como alarma por intento de violacin
Con lo visto hasta aqu, se puede realide la cerradura.
Figura 24

Todo sobre PICs

121

LOS MICROCONTROLADORES

DE

NATIONAL, PHILIPS

MOTOROLA

Figura 25

EL ESTADO DE STOP

seal IRQ de interrupcin. En este estado


el microprocesador se encuentra detenido
Existen dos maneras de resolver el sofen un paso de programa determinado.
ware (programa). Si el sistema va a operar Como no existen cambios de estado, el
con energa de emergencia es convenien- consumo del micro es mnimo, ya que la
te que el sistema quede en STOP hasta
potencia se desarrolla slo cuando los
que se introduce algn dato. La rutina
transistores conmutan. En efecto, si un
principal en este caso lleva al micro a tra- transistor est saturado, tiene corriente de
bajar en el modo STOP, a la espera de una colector, pero su tensin CE es de unos po-

122

Todo sobre PICs

LOS MICROCONTROLADORES

DE

NATIONAL, PHILIPS

MOTOROLA

cos mV y la potencia disipada es mnima.


Si un transistor est cortado, su corriente
de colector es mnima y aunque su tensin
CE es la de fuente, tampoco se desarrolla
una potencia importante (P = E.I).
El nico modo de modificar este estado
de STOP es por intermedio de una seal
de interrupcin. Esta se genera automticamente cuando se introduce el primer dgito del cdigo. En efecto, las conexiones
de las filas del teclado, se envan a las patas PA0 a PA3, que operan como entrada
de datos o de interrupciones indistintamente. Por lo tanto, cuando se pulsa cualquier nmero, una de las filas queda conectada a una de las salidas del micro PB0
a PB3, que en ese momento se encuenFigura 26
tran en el estado alto. Ver figura 27.
Las patas PA0 a PA3 estn conectadas
internamente a una compuerta OR, por lo
tanto cualquiera de ellas que tenga un estado alto, genera una seal IRQ. Ver figura
28. La entrada de habilitacin de la AND,
se encuentra alta en el funcionamiento en
STOP, por lo tanto cualquier interrupcin
por PA0 a PA3, genera una seal IRQ que
enva a sistema a la sub-rutina de interrupcin. En el otro modo de funcionamiento,
que es el que explicaremos en este artculo, el programa se encuentra explorando
constantemente la matriz de teclado.
tecla presionada no corresponde a la primera columna. Por lo tanto, bajando la salida PB0 y levantando la PB1, se vuelven a
La Exploracin del Teclado
verificar todas las entradas.
De este modo se contina hasta llegar
La funcin del sofware es averiguar con a la salida PB3. La subrutina se interrumpe
exactitud cul de las teclas fue pulsada.
slo cuando detecta la columna y la fila
Para esto es necesario mantener baja la
correspondiente a la tecla presionada.
pata de habilitacin de la AND, para que
Debemos aclarar que el proceso antelas entradas PA0 a PA3 se comporten corior dura muy poco tiempo y por lo tanto,
mo entradas de datos.
se completa antes de que el usuario leLuego, la rutina baja todas las salidas
vante el dedo de la tecla. Inclusive, apemenos la PB0 y verifica el estado de las en- nas se determina el nmero pulsado, el
tradas PA0 a PA3. Si ninguna de las entraprograma llama a una sub-rutina de dedas tiene un estado alto, significa que la
mora, por la cual no se acepta ninguna

Todo sobre PICs

123

LOS MICROCONTROLADORES

DE

NATIONAL, PHILIPS

MOTOROLA

(DEBOUNCE = REBOTE).Ver figura 29.


El sistema es tan rpido, que podra detectar tres veces el mismo nmero, produciendo un error en el ingreso del nmero
que ya no coincidira con la clave.
La manera de evitar esta falla, es utilizando una rutina de demora una vez detectada la entrada del teclado, de modo
que se evite la captacin de las siguientes
que se presenten en un lapso de algunos
mS. Adems, cada vez que se pulsa una
tecla se enciende el led verde, para confirmar la accin.
Luego de captar el primer dgito y almacenarlo como dgito menos significativo en la RAM, el sistema vuelve a la rutina
principal y queda en el modo STOP, hasta
que el usuario marca el siguiente dgito y
as sucesivamente hasta cargar los 4 dgitos que forman el cdigo (la cantidad de
nmeros del cdigo puede llevarse a 8 sin
inconvenientes).
Al cargar el cuarto dgito, el sistema va
a la subrutina de comparacin.

Figura 27

Subrutina de Comparacin

Figura 28

El sistema compara el nmero acumulado en la RAM, con el nmero clave existente en el programa. Si ambos son iguales, se produce una salida alta por el port
A6, que provoca el cierre del rel por un
intervalo de unos 5 Seg.
Durante este intervalo, el usuario puede
operar manualmente la puerta, ya que el
rel opera un tragante, ubicado en el
marco de la misma.
Si el nmero ingresado difiere del nmeentrada por algunos milisegundos. Esto evi- ro clave, se levanta la salida A5.
ta el llamado error por rebote de la tecla
Esta salida, est implementada simple(DEBOUNCE) que se produce si el contac- mente con un conector. Dejamos librado
to no es franco, lo cual produce una ensu uso a la imaginacin del lector, ya que
trada con varios mximos sucesivos, por
dicha salida puede utilizarse para acciovariacin de la resistencia de contacto
nar un led remoto, o un BUZZER local, o utiFigura 29

124

Todo sobre PICs

LOS MICROCONTROLADORES
lizar una sirena de dos tonos, tal como sugerimos en la figura 30.
Si el nmero no corresponde, PA5 se levanta, Q1 y Q2 conducen y la tensin sobre C1 llega al valor de fuente. En este
momento, quedan alimentados los dos osciladores unijuntura Q4 y Q5. Q5 genera el
tono principal alto, en tanto que Q4 genera el tono bajo de modulacin. Los preset
P1 y P2 permite realizar una variedad de
tonos de alarma, a eleccin del lector.
Cuando desaparece la alarma, C1 se descarga lentamente y produce el apagado
gradual de la sirena. El amplificador Darlington, puede excitar un parlante de 4
Ohms con una potencia de 6W (o 3W con
8 Ohms) y en este momento el consumo
sobre la fuente es de 1,2 A. El transistor Q8
debe montarse sobre un disipador adecuado. Para desconectar la alarma, se
debe digitar el nmero correcto o desconectar el amplificador desde el interior de
la vivienda.

DE

NATIONAL, PHILIPS

MOTOROLA

tico. Se trata de un circuito RC, que produce el reset automtico cuando se da alimentacin al sistema. Su funcin es retardar la alimentacin de la pata 20 (RESET)
por unos instantes, de manera que se produzca el reseteo del sistema y luego llevar
la pata a la tensin de fuente. El resonador cermico integrado MURATA, puede
reemplazarse con un cristal de 4MHz y dos
capacitores, tal como se observa en la figura 32.

CONCLUSION
El autor sabe que lo dicho de este proyecto es algo ms que una simple informacin.
Es una clara explicacin sobre un nuevo
modo de proyectar y de utilizar una PC y
un KIT de desarrollo de bajo costo. Por supuesto no pretendemos que cada lector
compre un kit de desarrollo, pero tal vez,
puedan juntarse los alumnos de las escuelas de electrnica y comprar un kit por cada divisin y realizar las prcticas en la escuela.
Es cierto que se puede trabajar sin el kit,
Circuito Completo
pero el trabajo de depuracin del prograEn la figura 31 se puede observar el cir- ma, lleva su tiempo y siempre es mejor
realizarlo simulando y emulando el micro
cuito completo que no requiere mayores
explicaciones, ya que cada etapa se trat con la PC, para no tener que grabar la
adecuadamente. Slo falta explicar el fun- EPROM varias veces. Slo la parte final del
cionamiento del circuito de reset autom- desarrollo, debera realizarse grabando la

Figura 30

Todo sobre PICs

125

LOS MICROCONTROLADORES

DE

NATIONAL, PHILIPS

Figura 31

EPROM del micro. Con referencia a la nota


de aplicacin de la cerradura electrnica,
el micro
puede ser
adquirido
ya grabado en
Electrocomponentes, o
hacerlo
grabar en
Figura 33
otras firmas que
se dedican a
grabar
EPROMs.
Con lo
dado en
esta par-

126

Todo sobre PICs

MOTOROLA

te del texto, solamente se pretendi dar


los principios bsicos
de los microprocesadores y se brind todos los medios para
poder armar una aplicacin, de modo que
el lector se familiarice
con esta moderna
tcnica de desarrollo
y con el micro J1 de
MOTOROLA.
Si el lector es fabricante de algn producto que utiliza
compuertas o temporizadores y est pensando en modernizar
su producto, le voy a
dar un ltimo dato,
que lo va a ayudar a
decidirse. Este micro
puede programarse
para que sea imposible acceder al programa interno y de este modo evitar copias del producto. Ya no va a ser necesario que borre los cdigos de sus compuertas, use un micro y active el llamado bit de
proteccin, para que nadie pueda copiar
su programa. Es como si alguien fabricara
un circuito integrado exclusivamente para
usted, o mejor aun, es como si lo fabricara
usted mismo.
En futuros textos, se continuar con los
temas que no
pudieron tratarse aqu por
problemas de
espacio. Ya
no nos conformaremos
simplemente
Figura 32
con utilizar un
micro ya gra-

LOS MICROCONTROLADORES
bado. Explicaremos las tcnicas de programacin, simulacion y emulacin, para
que cada lector pueda realizar los proyectos completos. En la figura 33 se da
un esquema aconsejable para el circuito
impreso.
Lista de materiales de la
cerradura electrnica
CI1 CIRCUITO INTEGRADO MOTOROLA
MC68HC705J1AP
RC1RESONADOR CERAMICO MURATA
CST4.00MGWA
TC1 TECLADO MATRICIAL DE 4X4
RL1 RELE SIMPLE INVERSOR CON BOBINA DE 5V
Q1 TRANSISTOR BC548 C

DE

NATIONAL, PHILIPS

MOTOROLA

R1 RESISTOR DE 10K 1/8W 5%


R2 RESISTOR DE 10K 1/8W 5%
R3 RESISTOR DE 39 OHMS 1/8W 5%
R4 RESISTOR DE 39 OHMS 1/8W 5%
R5 RESISTOR DE 10K 1/8W 5%
C1 CAPACITOR DE POLYESTER METALIZADO .1F
C2 CAPACITOR ELECTROLITICO 100F
C3 CAPACITOR ELECTROLITICO 22F
D1 DIODO 1N4004
D2 DIODO LED ROJO
D3 DIODO LED VERDE
EL RESONADOR CERAMICO SE PUEDE
REEMPLAZAR POR:
X1 CRISTAL DE 4MHz CORTE AT
C3 CAPACITOR CERAMICO NP0 27 pF
C4 CAPACITOR CERAMICO NP0 27 pF

Programas de Aplicacin de
la Cerradura Electrnica

STA
LDA
STA
ZAR A CONTAR
LDX
BSET

1) DISPOSITIVO ABREPUERTA
CON MICRO J1A

PORTB
#$00; CARGO EL CONTADOR DE
NUMEROS
CONT ;CON CERO PARA EMPE#$00
7, PORTA ; APAGO EL LED VERDE

PROGRAMA PRINCIPAL
EPROM
RESET
INT
PORTA
PORTB
DDRA
DDRB
PDRA
PDRB
ISCR
IRQR
IRQE
MOR
CONT
CELDA

EQU
EQU
EQU
EQU
EQU
EQU
EQU
EQU
EQU
EQU
EQU
EQU
EQU
EQU
EQU

$0300
$07FE
$07FA
$00
$01
$04
$05
$10
$11
$0A
1
7
$7F1
$D0
$D1

INI_LOOP
LOOP
JSR

INTERRUP
ORG
LDA
STA
LDA
STA
LDA

EPROM
#$F0
DDRA ;PA0-PA3=ENTRA
DA / PA4-PA7=SALIDA
#$FF
DDRB; PB=SALIDA
#$00

PDRA
#$01 ; barro el port B rotando un "1"
; por las 4 columnas y espero
; se presione una tecla y se:
; genere la interrupcin
#$08
LOOP
INI_LOOP

RUTINA DE ATENCION DE INTERRUPCION

INICIALIZACION
COMIENZO

CLI
CLR
CLC
LDA
STA
PORTB
DELAY
ASLA
CMP
BNE
BRA

STA
JSR
JSR
AEM
CMP
BEQ
JSR

JSR
DECOD
$E0
GRABA
DELAY2
JSR
DECOD
$E0
AEM
COMPARA

; decodifico fila y columna de la tecla


; presionada
; grabo el caracter en ram
; vuelvo a decodificar para impedir que
; el rebote de la tecla genere una
; interrupcin no deseada
; comparo con el cdigo

Todo sobre PICs

127

LOS MICROCONTROLADORES
BSET

IRQR,ISCR
RTI

DE

NATIONAL, PHILIPS

LDX CONT
STA CELDA,X;
CPX #$04
BEQ SAL1
INCX;
STX CONT;
BCLR 7, PORTA
JSR DELAY2
BSET 7, PORTA
RTS

MOTOROLA

; habilitacin

RUTINA DE GRABACION DEL CODIGO INGRESADO


GRABA

; RECUPERO EL CONTADOR
DE NUMEROS
EN LA POS. CELDA
GUARDO EL CAR.DE TECTADO
; ME FIJO SI SE TIPIARON 4 NUMEROS
; SI SE TIPIARON 4 NUMEROS ME VOY
COMO NO LLEGUE A TIPIAR 4 NUMEROS
GUARDO EL NUEVO VALOR DEL CONT.DE
NUM.
; PRENDO EL LED VERDE
; APAGO EL LED VERDE
; VUELVO AL PROGRAMA PRINCIPAL

OMP

ACT
SAL2

COMP1

WW
COMP2

ZZ

LDA PORTA
AND #$0F
STA $C1
LDA PORTB
STA $C2
LDX #$00
LDA $C1
CMP TABLAPRI,X
BEQ WW
INCX
INCX
INCX
JMP COMP1
LDA $C2
CMP TABLAPRI+1,X
BEQ ZZ
INCX
INCX
INCX
JMP COMP2
LDA TABLAPRI+2,X
RTS

ACTIVAR

; GUARDO LA FILA
; GUARDO LA COLUMNA

TABLAPRI DB $01,$01,$1
DB $01,$02,$2
DB $01,$04,$3
DB $01,$08,$A
DB $02,$01,$4
DB $02,$02,$5
DB $02,$04,$6
DB $02,$08,$B
DB $04,$01,$7
DB $04,$02,$8
DB $04,$04,$9
DB $04,$08,$C
DB $08,$01,$F
DB $08,$02,$0
DB $08,$04,$F
TABLAFIN DB $08,$08,$D

;DEJO EN EL ACUM.EL CAR. DE TECTADO

; ; | FILA 0
; |
; ; ; | FILA 1
; |
; ; ; | FILA 2
; |
; ; ; | FILA 3
; |
; -

RUTINA DE COMPARACION DEL CODIGO INGRESADO


COMPARA

128

LDX CONT
CPX #$04

RUTINAS DE RETARDO
DELAY
RET

TABLA DE COORDENADAS DE CADA TECLA

; recupero el contador de nmeros


; me fijo si se tipiaron 4 nmeros

Todo sobre PICs

BSET 6,PORTA
BSET 5,PORTA
JSR DELAY3
BCLR 6,PORTA
BCLR 5,PORTA
RTS

ORG RESET
FDB COMIENZO
ORG MOR
DB $24
ORG INT
FDB INTERRUP

; AQUI DETECTO LA FILA DENTRO DE LA TABLA

; AQUI DETECTO LA COLUMNA DENTRO DE LA TABLA

; como el cod. ingresado es el correcto


; activo el dispositivo a controlar.

VECTORES DE RESET E INTERRUPCION

; RECUPERO LA FILA

; RECUPERO LA COLUMNA

; si no se tip. 4 nmeros me voy sin comp.


; como se tipiaron 4 nmeros
; coloco el contador en 0 y
; comienzo A
; comparar contra el cdigo de hbil.
; si cualquier num. carg. no coinc. con el
; cdigo de habilitacin me voy.

RUTINA DE ACTIVACION DEL DISPOSITIVO DE CONTROL

RUTINA DE DECODIFICACION DE TECLADO


DECOD

BNE SAL2
LDX #$00
STX CONT
LDA CELDA
CMP $700,X
BNE SAL2
NOP
INCX
CPX #$04
BEQ ACT
LDA CELDA,X
JMP COMP
JSR ACTIVAR
RTS

DELAY2
RET1
RET2

DELAY3
RET3

ORG $400
LDX #$FF
DECX
NOP
BNE RET
RTS
ORG $420
LDA #$FF
LDX #$FF
DECX
NOP
BNE RET2
NOP
BRN *
BRN *
DECA
BNE RET1
RTS
LDX #$0B
JSR DELAY2
DECX
BNE RET3
RTS
ORG $0700
DB $02,$02,$02,$02
cdigo de habilitacin

Vous aimerez peut-être aussi