Vous êtes sur la page 1sur 34

Los Microcontroladores de

National, Philips y Motorola 6


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 pa-
son miembros de la familia de los COP8 y tas) y encapsulado DIP. Estos nuevos mi-
utilizan como “corazón” 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 microcontrolado-
de 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 más econó-
chips, con amplia gama de temperatura micos.
y rangos de tensión de trabajo, con la fi-
nalidad de satisfacer un vasto número de
aplicaciones. Prestaciones destacables de hardware
Las características "clave" incluyen ar- La línea 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 núcleo
dos registros de 16 bits que se vinculan de CPU como en los periféricos incorpora-
con tres selectores (Generación PWM de dos en el chip.
Procesador Independiente, Contador Ex-
terno de Eventos y Disponibilidad de Cap- • La línea COP emplea una arquitectura
tura de Entradas), dos selectores HALT/IDLE interna tipo Harvard (con buses de instruc-
con 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
R/C tipo chip, salidas de corriente eleva- ciclo de instrucción de un microsegundo,
das, opciones seleccionables para el al realizarse simultáneamente el acceso al
usuario, tales como WATCHDOG, configu- espacio de instrucciones (EPROM) y al es-
ración del Oscilador y potencia de rese- pacio de datos (memoria RAM y periféri-
teo. cos), determinan con ello una performan-
A los fines de brindar una acabada in- ce estadística próxima a 1 MIPS (un millón
troducción, reproducimos el informe pre- de instrucciones por segundo). A diferen-
parado por el Ing. Guillermo Jaquenod (a cia entre la línea COP y otros microcontro-
quien agradecemos su colaboración), del ladores obtenibles en plaza que también
Departamento Técnico de la compañía presentan arquitectura Harvard, la com-
de Semiconductores. plejidad propia de este tipo de arquitectu-
ra ha sido adoptada sin limitar, por ello, la
Tanto en México como en Argentina, cantidad y versatilidad de las instrucciones
hace unos años que se comercializa la lí- disponibles, ni eliminar periféricos.

Todo sobre PICs 95


LOS MICROCONTROLADORES DE NATIONAL, PHILIPS Y MOTOROLA

siones desde 2,7V a 5,5V y ofrecer un mo-


Figura 1 do de consumo reducido (IDDLE) y un mo-
do de muy bajo consumo (HALT).
• La salida de los modos de bajo con-
sumo (WAKE UP) puede ser activada des-
de múltiples patas, o desde el timer T0 y
generará, si así se lo desea, las interrupcio-
nes consiguientes.
• Los COP incorporan en forma están-
dar una interfase de entrada/salida serie
sincrónica Microwire PLUS (SPI compatible)
que les permite su fácil conexión con peri-
• Dentro féricos serie, tales como conversores A/D,
Figura 2 de todos los conversores D/A, etc.
COP, incluso • Los COP poseen un monitor de ope-
los más pe- ración (Watch-Dog) y un monitor de
queños, clock.
existen dos • Poseen abundantes pines de entra-
timers, lla- da/salida paralela (16 I/O en los chips de
mados T0 y 20 patas y 24 I/O en los de 28 patas), don-
T1: el timer de ciertas entradas son de tipo SCHMITT-
T0 es un Trigger y pueden ser programadas para
contador simple de 12 bits que opera en incorporar internamente una resistencia
modo libre y descendente y es usado sólo de pullup y operarán como salidas; ciertas
para la salida controlada de los modos de patas poseen una capacidad importante
bajo consumo, y operación del Watch- de manejo de corriente de hasta 10mA.
Dog-Clock; el timer T1, de 16 bits, ofrece • Posee varias opciones de oscilador
en cambio una versatilidad realmente que van desde una fuente externa, un os-
destacable, al poder ser operado en 8 cilador RC interno al que se le puede alte-
modos distintos, que en sus variaciones rar la frecuencia mediante un capacitor
permiten el conteo de eventos externos externo, hasta un oscilador a cristal/reso-
(External Event Counter), detección de nador en donde la inclusión o no de la re-
flancos (Input Capture) y un modo de ge- sistencia de polarización es programable.
neración de señales de PWM que opera • Finalmente, el diseño total de los COP
en forma independiente al procesador. ha sido realizado con un control de velo-
• Los COP (figuras 1y2) vienen en ver- cidad de transistores (slew rate) y niveles
siones con EPROM borrable (encapsulado de señal internos al chip, orientados a la
cerámico con ventana) y en versiones generación de bajos niveles de irradiación
OTP de bajo costo, y ofrecen desde 1K de electromagnética (EMI: electro magnetic
EPROM y 64 bytes de RAM (COP8SAA7), interference), lo que lo hace ideal para su
hasta 4K de EPROM y 128 bytes de RAM uso en el área de comunicaciones e ins-
(COP8SAC7). trumentación.
• El empleo de tecnología CMOS estáti- Esta tecnología permite hablar de re-
ca le permite operar en frecuencias que ducciones en el nivel de generación de
van desde continua hasta 1MIPS, con ten- interferencias en el orden de 20dB respec-

96 Todo sobre PICs


LOS MICROCONTROLADORES DE NATIONAL, PHILIPS Y MOTOROLA

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


la misma frecuencia. necesidad de definir áreas de almacena-
miento estático y para el pasaje de pará-
Prestaciones destacables metros y devolución de resultados de su-
de software brutinas.
Los pequeños COP no sólo ofrecen re- • Manejo de bits (set reset test): para el
cursos notables de hardware, sino que manejo de los ports y registros internos a
también tienen características de softwa- nivel de bit.
re propias de procesadores más elabora-
dos, que permiten generar fácilmente es- Comparación de los COP con otros
tructuras de código propias de lenguajes procesadores de plaza de costo similar
de alto nivel. Quizás, quien analice las prestaciones
de los COPS, si ha trabajado previamente
• Manejo de RAM como registros a tra- con microprocontroladores de mayor per-
vés de dos registros de indirección B y X: la formance y costo, no resulte sorprendido,
disponibilidad de dos registros que pue- pues encontrará en los COP lo que pare-
den ser operados como índices y progra- cía natural en aquellos. Lo sorprendente
mados para su postincremento o su post de las prestaciones de los COP surge
decremento automático permite el ma- cuando se los compara con microcontro-
nejo 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. dólares, sólo encontrará las opciones que
• Exchange: esta instrucción permite el propone Motorola a través de los
intercambio de valores entre el acumula- MC68HC705J1A y MC68HC705K1, y micro-
dor y la memoria, sin necesidad de pasos chip con sus PIC_15C54, PIC_16C56 y
intermedios. PIC_16C58. En las líneas siguientes se anali-
• Con instrucciones especiales para uso zan los puntos donde más difieren estos
de la indirección en el espacio de memo- procesadores de los de la línea COP.
ria de programa: • Diferencias más 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 más
para la realización de Interrupt Dispat- pequeño (COP8SAA7 de 20 pines). Tiene
chers. sólo 10 pines de I/O frene a los 16 del COP
c) LAID (Load Acumulator Indirect): pa- y, aunque su ciclo de instrucción más rápi-
ra el acceso indexado a tablas en do es de 2 MIPS para algunas instruccio-
EPROM. nes, la mayor parte de ellas requiere 2 ci-
• Swap nibbles y Ajuste decimal: (ope- clos de reloj, con lo que su máxima perfor-
ración en BCD): estas instrucciones son de mance está también alrededor de 1 MIPS;
gran utilidad para operar con números 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 Y MOTOROLA

EPROM sea aun menor. El Timer del o acceso a periféricos serie (donde debe
MC68HC705K1 es uno elemental, de tipo simularse la interfase SPI) deba ser realiza-
free-run y de lectura solamente, siendo su da por software, con dedicación casi to-
única fuente de reloj el oscilador interno tal de la CPU. No tiene mecanismos de in-
del chip, y sólo puede generar interrupcio- terrupción (ni internos, ni externos), posee
nes por Overflow y cuatro opciones de di- un único registro de indirección (FSR) y un
visión adicionales (llamadas Real Time In- Stack mínimo de sólo dos niveles sin posibi-
terrupt). Cualquier señal de PWM o captu- lidad de accesos tipo PUSH/POP que limi-
ra de eventos que se desee realizar debe ta seriamente la posibilidad de anida-
ser por software, con dedicación casi to- miento de subrutinas. La velocidad de los
tal de la CPU. El acceso a periféricos serie PIC es notable (5 MIPS), pero la ausencia
debe simular la interfase SPI por software. de interrupciones, y el reducido set de ins-
En cuanto al software, sólo posee un regis- trucciones disponible (33 instrucciones) ha-
tro índice sin opciones de autoincremento cen que su performance neta sea com-
o decremento, no permite el uso del parable a la de los otros microcontrolado-
Stack, la carga inmediata de datos en res analizados; la ausencia de interrupcio-
memoria, el intercambio entre acumula- nes, por su parte, hace que la detección
dor y memoria, ni posee instrucciones pa- de eventos sólo pueda ser realizada a
ra manejo de datos BCD. costa de ocupar totalmente la CPU, o
• Diferencias más notables con el con inclusión de test "salpicados" en el có-
MC68HC705J1A: este microcontrolador de digo, con una pésima latencia de aten-
20 patas y arquitectura Von Neumann po- ción y disminución en la eficiencia del có-
see EPROM (1.240 bytes) y Ram (64 bytes) digo.
en cantidad comparable al COP más pe- Otras serias diferencias de hardware
queño (COP8SAA7 de 20 pines), y tiene 14 con los COP y los chips de Motorola es la
pines de I/O (frente a los 16 del COP). En inexistencia de pull-up/down, programa-
el resto de sus características es idéntico bles en las patas de I/O y un modo de ba-
al MC68HC705K1. jo consumo (SLIIP) del que sólo se sale por
• Diferencias más notables con el PIC RESET.
16C54: este microcontrolador de 18 patas • Diferencias más notables con el PIC
posee arquitectura RISC tipo Harvard, 512 16C56: es totalmente similar al PIC 16C54,
palabras de EPROM y 25 bytes de RAM, sólo que posee 1K palabras de programa.
en cantidad comparable al COP más pe- • Diferencias más notables con el PIC
queño (COP8SAA7 de 20 pines), sólo 12 pi- 16C58: es totalmente similar al PIC 16C54,
nes de I/O (frente a los 16 del COP) y un sólo que posee 2K palabras de programa
costo similar. Su subsistema de Timer es al- y 72 bytes de RAM.
go más elaborado que el de los chips de
Motorola, aunque más elemental que el
de los COP; en él, el contador es legible y Características Fundamentales
la escritura se hace por software, puede de la Serie COP
recibir su señal de clock reloj del reloj inter-
no o de una pata externa, y posee un Damos a continuación las característi-
prescaler programable. Sin embargo, al cas más “atractivas” que suelen darse so-
igual que los procesadores de Motorola, bre esta familia.
cualquier generación de señales de PWM, Tenga en cuenta que algunos concep-

98 Todo sobre PICs


LOS MICROCONTROLADORES DE NATIONAL, PHILIPS Y MOTOROLA

tos ya fueron vertidos en el informe que * Un timer con dos interruptores.


hemos dado al comienzo; reseñamos, en * Interfaz Serial MICROWIRE/PLUSTM.
este caso, la “versión” del fabricante * Despertador de puertos múltiples.
- Son microcontrolador tipo OTP de 8 * Trampa de Software
bits y bajo costo. * VIS de fábrica (interruptor de fábrica).
- Poseen espacios de programa OTP - El puntero SP es de 8 bits (en RAM).
con protección para lectura y escritura. - Tiene dos Punteros Indirectos de Me-
- Son diseñados para que tengan emi- moria de Datos, 8 bits.
siones de poca radiación. - Manejo de Bit Real.
-El kit se provee con conectores Multi- - Mapeo de Memoria I/O.
port para “despertar” (permiten su funcio- - Instrucciones aritméticas BCD.
namiento en forma versátil), con interrup-
tores opcionales de 4 a 8 pines. Características Periféricas
- Tienen 8 bits de espacio de almace- - Lógica de Despertador de Entradas
namiento en EFROM. Múltiples.
-El operador puede optar por relojes se- - Posee un timer de 16 bits con dos re-
leccionables 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.
-Están provistos con la posibilidad Características I/O
WATCHDOG y Lógica de Reloj de Monitor. - Opciones I/O de software selecciona-
- Tienen 12 salidas altas de corriente. bles:
El cuadro 1 resume algunas característi- * Salida TRI-STATE
cas a tener en cuenta. * Salida para tirar y presionar
* Entrada Débil para tirar
Características del CPU * Entrada de Impedancia Alta
- Versatilidad en las ins- - Entradas Schmitt
trucciones de configura- Cuadro 1 en puertos G y L
ción, las cuales son de - Hasta 12 salidas
muy facil utilización. de corriente elevada.
- Tiempo cíclico de ins- - Eficiencia de Pin
trucciones. (ej. En un paquete de
- Posee ocho Interrup- 44 pines, 40 son desti-
tores de servicio de fuen- nados a I/O).
tes múltiples con vector:
* Interruptor Externo Diseño CMOS
* Timer de inactividad Estático Completo
TO - Drenaje Bajo de

Todo sobre PICs 99


LOS MICROCONTROLADORES DE NATIONAL, PHILIPS Y MOTOROLA

National logró la re-


Figura 3
ducción 15 dB-20 dB
en las transmisiones
EMI, cuando los dise-
ños ya incorporaron su
circuito de reducción
de patente EMI.

Arquitectura

La familia COPSAx7
está basada en una
arquitectura de hard-
Corriente (normalmente <4 pA). ware, que permite a las tablas de datos
- Operación 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, usualmen-
Rangos de Temperatura te, es ROM o EPROM, mientras que la me-
0ºC a +70ºC, -40ºC a +85ºC, y moria de datos, normalmente, es RAM.
de -40ºC a +125ºC 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
- Emulación en tiempo real y elimina- un corte de electricidad.
ción de funciones erróneas, por completo, En una arquitectura modificada de
de programa ofrecido por MetalLink De- Hardware, tanto la ida y venida de ins-
velopment 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. líneas de escenario, lo cual permite que la
La familia COPSAx7 de dispositivos in- próxima instrucción se desplace de la me-
corpora circuitos que brindan protección moria de programa mientras la instrucción
contra interferencias electromagnéticas, actual está siendo ejecutada, por medio
es decir, un problema que se incrementa de la utilización de la memoria de datos.
en los diseños de los microcontroladores, Esto no es posible con una arquitectura
de hoy en día. de dirección simple tipo Von Neumann.
La tecnología de reducción, patenta- La familia COPSAx7 soporta un esque-
da por EMI, de National, ofrece circuitos ma de multitudes de software que permi-
de 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 edi- Esta capacidad es importante cuando
ciones EMI que influencian los diseños 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 Y MOTOROLA

limitado a un número pequeño y fijo de ni- de código óptima y, también, utilización


veles de pilas. de memoria de programa.

Ejecución de Código de
Juego de Instrucciones Ciclo Simple/Byte Simple
La eficiencia se debe al hecho de que
En el terreno vinculado al costo/benefi- la mayoría de las instrucciones pertene-
cio, de los microcontroladores de 8 bits, cen a la variedad de byte simple. Debido
de hoy en día, la flexibilidad y el tiempo a que el código compacto no ocupa una
son varios de los temas claves, para el suma sustancial de espacio de memoria
mercado, que los diseñadores de sistemas de programa, los diseñadores pueden in-
enfrentan al tratar de construir un produc- tegrarle atracciones adicionales, así como
to de muy buena ingeniería que pueda funcionalidad en el espacio de memoria
competir perfectamente en el mercado. de programa del microcontrolador. Ade-
Muchos de estos temas pueden tratarse más, la mayoría de las instrucciones eje-
de manera tal que el juego de instruccio- cutadas por el dispositivo son de ciclo sim-
nes del microcontrolador se ocupe de las ple, lo cual conduce a un tiempo mínimo
tareas de procesamiento. Y esa es la ra- de ejecución de programa. En realidad, el
zón por la cual la familia del COP8 ofrece 77% de las instrucciones son de byte sim-
un conjunto de instrucciones único y una ple, ciclo simple, y proveen un código
eficiencia de código que requieren los mi- mayor, así también, como eficiencia de ti-
crocontroladores de hoy día, para suminis- po I/O, además de una ejecución de có-
trar flexibilidad, funcionalidad, costos re- digo más veloz.
ducidos y tiempo rápido para su arribo al
mercado,
La eficiencia de código es importante Instrucciones
ya que permite a los diseñadores empa- Multifunción, Muchos Byte Simples
car, en chip, de una forma más funcional
en menos espacio de memoria de progra- El juego de instrucciones COPSAx7 utili-
ma (ROM/OTP). Seleccionando un micro- za muchas instrucciones multifunción, byte
controlador con menos tamaño de me- simples. Esto permite que una instrucción
moria de programa, podemos obtener simple logre realizar funciones múltiples,
costos más bajos de sistema, como así tales, como DRXZ, DCOR, JIK y Carga-
también, la seguridad de saber que se /Cambio, con post incremento y post de-
pueden empaquetar más en el espacio cremento, para nombrar algunos ejem-
de memoria de programa disponible. plos. En muchos de los casos, el conjunto
de instrucciones puede ejecutar, en forma
simultánea, tres funciones con la misma
Herramientas Clave instrucción de bite simple.
del Juego de Instrucciones
JID: (Salto Indirecto). Instrucción de by-
La familia del COPSAx7 incorpora una te simple, eventos externos de decodifica-
combinación única de herramientas vin- ción y saltos a rutinas de servicios corres-
culada al juego de instrucciones, las cua- pondientes (frases simples hasta otros nive-
les proveen a los diseñadores, eficiencia les de lenguaje más elevados).

Todo sobre PICs 101


LOS MICROCONTROLADORES DE NATIONAL, PHILIPS Y MOTOROLA

LAID: (Carga de Acumulación Indirec- vos de esta familia pueden manejar hasta
ta) Tabla de instrucción de Byte simple 64 bytes, tanto de programa como de
provee un sendero de datos eficiente des- memoria de datos.
de la memoria de programa hasta el CPU. En la tabla 1 tenemos los dispositivos
Esta instrucción puede ser utilizada para la que componen esta familia de microcon-
búsqueda de tabla y para leer la memo- troladores.
ria de programa completa, en caso de El 8051, que es el elemento básico,
necesitar verificación de cálculos. contiene las siguientes funciones:
• CPU de 8 bits optimizada para aplica-
RETSK: (Salto de Retorno) La instrucción ciones de control.
de byte simple permite retornar desde la • Capacidad de procesamiento "Boo-
rutina y, así, saltar a la próxima instrucción. leana extensiva" (álgebra de Boole), lógi-
La decisión puede ser realizada en la su- ca de bit único.
brutina misma y guardar el código. • 32 líneas bidireccionales e individual-
mente 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 más eficiente, el • UART dúplex 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
féricos que tienen por base el 8051 está programa en la memoria de 64 bytes.
basada totalmente en el patrón 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.
Los componentes de es- Tabla 1 - 8051 Familia de microcontroladores
ta familia encuentran apli- Nombre Versión sin Versión con BYTES BYTES TIMERS Tipo de
ROM EPROM ROM RAM 16 bits Circuito
caciones que van desde el
8051 8031 4k 128 2 NMOS
control de máquinas indus- 80C51 80C31 87C51 4k 128 2 CMOS
triales y de instrumentación 8052 8032 8k 256 3 NMOS
80C52 80C32 87C52 8k 256 3 CMOS
hasta el control automotriz. 80C053 87C054 8k 192 2 CMOS
Los dispositivos de la serie 83CL410 80CL410 4k 128 2 CMOS
83C451 80C451 87C451 4k 128 2 CMOS
pueden obtenerse en ver- 83C528 80C528 87C528 32k 512 3 + WD CMOS
siones con ROM o EPROM 83C550 80C550 87C550 4k 128 2 + WD CMOS
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 excepción de la 83C751 87C751 2k 64 1 CMOS
83C752 87C752 2K 64 1 CMOS
83C751, todos los dispositi- 83C851 80C851 4K 128 2 CMOS

102 Todo sobre PICs


LOS MICROCONTROLADORES DE NATIONAL, PHILIPS Y MOTOROLA

El microcontrolador 80C51 es la versión Esta separación permite que los datos


CMOS del 8051, siendo totalmente com- de la memoria sean accesados por una
patible con el 8051 en términos de funcio- dirección de 8 bits, lo que da como resul-
namiento. tado un almacenamiento y manipulación
Sin embargo, como se trata de un dis- más rápidos que los efectuados por una
positivo CMOS (a diferencia del 8051, que CPU de 8 bits.
es NMOS) el consumo es mucho menor. En Sin embargo, direcciones de 16 bits
la figura 4 tenemos el diagrama en blo- también pueden ser usadas, generadas
ques del 80C51, a partir del cual haremos por el registrador DPTR.
el análisis. Todos los miembros de esta se- La memoria de programa (ROM o
rie poseen espacios separados para direc- EPROM) puede ser leída, pero no graba-
cionamiento y programa de datos, según da. Tenemos disponibles 64K bytes de es-
muestra el diagrama de estructuras de la pacio para la memoria de programa.
memoria en la figura 5. En el 80C51, los 4K bytes inferiores están
on-chip.
En las versiones sin ROM,
Figura 4 toda la memoria de progra-
ma es externa.
El "strobe" para la lectura
de la memoria es el PSEN
(Program Store Enable).
La memoria de datos
(RAM) ocupa un espacio se-
parado para el direcciona-
miento, a partir del programa
de memoria.
En el 80C51, los 128 bytes
de la memoria de datos es-
tán sobre el chip. El espacio
de la memoria de datos ex-
terna puede dirigir hasta 64K
bytes de una RAM externa).
En la versión sin ROM, los
128 bytes inferiores son on-
chip. Una CPU genera las se-
ñales de lectura y grabación
(RD y WR), según se necesite,
durante los accesos a la me-
moria externa.
Las memorias de datos ex-
terna pueden combinarse
con memorias de programas,
si se lo desea, a través de la
Figura 5 aplicación de señales RD y
PSEN en las entradas de una

Todo sobre PICs 103


LOS MICROCONTROLADORES DE NATIONAL, PHILIPS Y MOTOROLA

0; 000Bh para el timer 0; 0013h para la in-


terrupción externa 1; 001Bh para el timer
1, etc.
Si una rutina de tratamiento de interrup-
ción fuera lo suficientemente corta (como
en el caso de aplicaciones para control),
puede permanecer totalmente en el inter-
valo disponible de 8 bytes. Rutinas de ser-
vicio más largas pueden usar una instruc-
Figura 6 ción de salto para evitar direcciones de
interrupciones subsiguientes, si otras inte-
puerta 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 co-
mo es una ROM externa. El pin EA (Exter-
nal Access) permite hacer la selección.
Memoria de Programa En el 80C51, si el pin EA fuera conecta-
do al Vcc, el programa iría a buscar las di-
En 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
Después de reseteada, la CPU inicia la ROM externa.
ejecución del programa a partir de la di- Si el pin EA fuera conectado al Vss, en-
rección 0000h. tonces el programa trabajaría como las
Tal como se muestra en la figura 6, ca- direcciones de la ROM externa.
da interrupción es designada por una di- La figura 7 muestra el hardware pone
rección fija en la memoria de programa. la ejecución de trabajos externos.
La interrupción se origina cuando la Observe que las 16 líneas de I/O (ports
CPU salta hacia la dirección correspon- 0 y 2) están dedicadas a la cancelación
diente, donde tiene su inicio la rutina de de instrucciones durante las acciones ex-
servicio (rutina de tratamiento de interrup- ternas de la memoria de programa.
ción). El port 0 (PO, en la figura 7) sirve como
Una interrupción 0 externa, por ejem- multiplexador de direcciones y datos.
plo, determina una dirección 0003h. Ella emite el byte inferior del contador
Si se usara una interrupción 0 externa, de programa (PCL) como una dirección y,
la rutina de servicio debería
comenzar por la dirección
0003h. Si la interrupción no se
usara, la dirección estaría dis-
ponible como memoria de
programa de uso general.
Las direcciones de las sub-ru-
tinas de tratamiento de inte-
rrupción están separadas por
intervalos de 8 bytes: 0003h Figura 7
para la interrupción externa

104 Todo sobre PICs


LOS MICROCONTROLADORES DE NATIONAL, PHILIPS Y MOTOROLA

La CPU genera las señales


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 ac-
cesar los datos de la memo-
ria externa pueden utilizar
Figura 8 tanto 1 como 2 bytes de ex-
tensión.
entonces, permanece en un estado fluc- Las direcciones de 1 byte también son
tuante en espera de la llegada del byte usadas en conjunto con una o más líneas
de código de la memoria de programa. de I/O para paginar la RAM, según mues-
Durante el intervalo en el que el byte tra la misma figura 8.
inferior del contador de programa fue vá- En el caso de que la parte más alta sea
lido en el port 0, la señal ALE (Address emitida por el port 2, pueden usarse direc-
Latch Enable) juega este byte en un latch ciones de dos bytes.
(cerrojo) de direccionamiento. La memoria interna de datos está grafi-
Mientras tanto, el port 2 (P2 en la figura cada en la figura 9. El espacio de la me-
7) emite un byte superior del contador de moria está dividido en 3 bloques que son
programa (PCH). Entonces, PSEN, a través referidos como: 128 - inferiores, 128 - supe-
del "strobe" permite que el microcontrola- riores y espacio del SFR (Special Function
dor lea el byte del código en la EPROM. Register).
Las direcciones de memoria de programa Las direcciones de la memoria de da-
son siempre 16 bits, aun cuando se use un tos interna son siempre de 1 byte de ex-
espacio real de menos de 64 bytes. En es- tensión, lo que implica un direccionamien-
tas condiciones, la ejecución del progra- to de sólo 256 bytes.
ma externo sacrifica dos ports de 8 bits, Además de eso, los modos de direccio-
PO y P2, para funcionar en la dirección 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 direccio-
La mitad derecha de la figura 5 (pági- nes superio- Fig. 9
na 103) muestra los espacios internos y ex- res a 7Fh ac-
ternos de la memoria de datos disponible cesan un es-
en el 80C51. pacio dife-
En la figura 8 tenemos una configura- rente.
ción de hardware que permite accesar La figura 9
hasta 2K bytes de una memoria RAM ex- muestra los
terna. 128 - superio-
En 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 Y MOTOROLA

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


bloque de di- 128 - inferiores resultan accesibles tanto
Fig. 10
recciones: de por direccionamiento directo como indi-
80h hasta FFh, recto.
mientras que, Los 128 - superiores, tal como muestra
en realidad, la figura 11, sólo son accesibles por direc-
son entidades cionamiento indirecto.
físicamente di- En la figura 12 tenemos una visión del
ferentes. Special Function Register (SFR) y del espa-
Los 128 by- cio que ocupa.
tes inferiores Esta estructura incluye latches (cerrojos)
de la RAM es- de puertas, timers, controles, periféricos,
Fig. 11 tán presentes etc. Estos registradores pueden ser accesi-
en todos los bles, solamente, por direccionamiento di-
dispositivos recto. Dieciséis direcciones en el espacio
80C51, como SFR son accesibles tanto por byte como
se grafica en por bit. Los SCF pueden accesarse por bit
la figura 10. y son los que tienen direcciones termina-
Los 32 bytes dos en 0h u 8h.
inferiores están A través de la segunda parte de esta
agrupados en nota, los proyectistas podrán tener una
4 bancos de 8 registradores. mejor visión de cómo y dónde usar el mi-
Las instrucciones del programa llaman crocontrolador 80C51 y sus periféricos.
a estos registradores externamente de R0
a R7. Dos bits del PSW (Program Status
Word) seleccionan del banco de registra- El Set de Instrucciones del 80C51
dores cuál va a ser usado.
Este procedimiento permite una utiliza- El Set de Instrucciones del 80C51 está
ción más eficiente del espacio para códi- especialmente confeccionado para su
go, ya que las instrucciones son más cor- utilización en aplicaciones de control con
tas que las que usan direccionamiento di- 8 bits.
recto. Proporciona gran varie-
Los 16 bytes siguientes, Fig 12 dad de modos de direccio-
por encima de los bancos namiento rápido para acce-
de registradores, forman un der a la RAM interna, con lo
bloque de espacio de me- que se facilitan las operacio-
moria dirigible por bit. nes con bytes en pequeñas
El set de instrucciones del estructuras de datos.
80C51 incluye una amplia El Set de Instrucciones
selección de instrucciones prevé, además, un soporte
de bit único, y los 128 bits extensivo para variables de
de esta área pueden ser di- 1 bit, como los del tipo de
rectamente dirigidos por es- datos separados, así permite
tas instrucciones. Las direc- la manipulación directa del
ciones de bits en esta área bit en sistemas lógicos y de

106 Todo sobre PICs


LOS MICROCONTROLADORES DE NATIONAL, PHILIPS Y MOTOROLA

control que requie-


ran un procesa- Fig 13
miento booleano.

Program Status
Word (PSW)

El Program Status
Word (PSW) contie-
ne diversos bits de
status que indican
el estado corriente
de la CPU. El PSW, que se muestra en la fi- dirección de 8 bits en la instrucción. Sólo
gura 13, reside en el espacio de la SFR. la RAM interna de datos y la SFR pueden
El PSW contiene el bit de carry, o carry ser directamente direccionadas.
auxiliar (para operaciones en BCD), los
dos bancos de registradores para selec- b) Modo Indirecto
ción de bits, el aviso de overflow, un bit
de paridad y dos flags de uso que puede En el direccionamiento indirecto, la ins-
ser definido por el usuario. trucción especifica un registrador que
El bit de carry, además de servir para su contiene una dirección del operando.
función específica, también actúa como Tanto la RAM interna como la externa
acumulador para un cierto número de pueden ser indirectamente direcciona-
operaciones booleanas. das.
El bit de paridad indica el número de
"uns" no acumulados. Si P=1, entonces el c) Instrucciones del Registrador:
acumulador contiene un número impar
de "uns". Si P=0, el acumulador contiene Los bancos de registradores que contie-
un número par de "uns". nen los registradores de R0 a R7 pueden
Vemos así que si tenemos en cuenta el ser accedidos por ciertas instrucciones
número de "uns" en el acumulador suma- que lleven una especificación de registra-
do al valor de P, tendremos siempre un re-dor de 3 bits conjuntamente con el códi-
sultado par. go de la instrucción (opcode).
Las instrucciones que acceden los regis-
tradores en esta forma son "code effi-
Modos de Direccionamiento cient", ya que así se elimina la necesidad
de un byte de dirección.
En el 80C51 tenemos los siguientes mo- Cuando la instrucción es ejecutada,
dos de direccionamiento: uno de los ocho registradores del banco
seleccionado es accedido mientras que
a) Modo Directo: uno de los cuatro bancos es selecciona-
do en el tiempo de ejecución por los dos
En esta modalidad de direccionamien- bits de selección de bancos en el PSW
to, el operando está especificado por una (figura 13).

Todo sobre PICs 107


LOS MICROCONTROLADORES DE NATIONAL, PHILIPS Y MOTOROLA

d) Instrucciones Específicas destinado a la lectura de tablas de con-


de Registradores: sulta en la Memoria de Programa. Otro ti-
po de direccionamiento indexado se usa
Algunas instrucciones son específicas para el caso de una instrucción JUMP. En
para ciertos registradores como, por ejem- este caso, el direccionamiento de destino
plo, las que siempre operan en el Acumu- de una instrucción JUMP es computado
lador o en el Data Pointer, de modo que como la suma de los datos del acumula-
para 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 Aritméticas:

e) Constante Inmediata: El menú de las instrucciones aritméticas


del 80C51 está listado en la tabla 2, don-
El valor de una constante puede seguir de están indicados los modos de direccio-
el opcode en la Memoria de Programa. namiento que pueden usarse con cada
Por ejemplo: instrucción para acceder el <byte> ope-
rando. Los tiempos de ejecución en la lista
MOV A, 100 de la tabla 1 son para una frecuencia de
clock de 12MHz. Todas las instrucciones
carga el acumulador con el número aritméticas son ejecutadas en 1µs, excep-
decimal 100. to la INC DPTR, que lleva 2µs, y las instruc-
El mismo número puede especificarse ciones de multiplicación y división, que lle-
en dígitos hexadecimales como 64 h. van 4µs.
Obsérvese que cualquier byte en el es-
f) Direccionamiento Indexado: pacio interno de la Memoria de Datos
puede ser incrementado sin pasar por el
Sólo la Memoria de Programa puede Acumulador.
ser accedida con direccionamiento inde-
xado, siendo, después, sólo posible la lec- h) Instrucciones Lógicas:
tura. Este modo de direccionamiento está
La tabla 3 muestra la lista
de instrucciones lógicas dis-
Tabla 2 ponibles en el 80C51. Las ins-
trucciones que realizan ope-
raciones booleanas (AND,
OR, Exclusive OR, NOT) con
bytes utilizan bit por bit. Los
modos de direccionamiento
que pueden usarse para ac-
ceder el operando están lis-
tados en la misma tabla.
Todas las instrucciones lógi-
cas que están en el Acumu-
lador son ejecutadas en 1µs,
con base en un clock de

108 Todo sobre PICs


LOS MICROCONTROLADORES DE NATIONAL, PHILIPS Y MOTOROLA

Tabla 3 i) Transferidores de Datos:

La tabla 4 muestra el me-


nú de instrucciones que es-
tán disponibles para el movi-
miento de datos por los es-
pacios disponibles en la Me-
moria Interna.
En ella también tenemos
los modos de direcciona-
miento que pueden utilizarse
con cada instrucción. Con
un clock de 12MHz, todas es-
tas instrucciones son ejecuta-
das tanto en 1µs como en
2µs. La instrucción MOV
<dest>, <src> permite la
transferencia de datos entre
Tabla 4
cualquier locación de la RAM
o SFR, sin pasar por el Acu-
mulador. Recuérdese que
hasta 128 bytes de datos de
la RAM pueden accederse
sólo por direccionamiento in-
directo, y que el espacio de
la SFR solamente puede ser
accedido por direcciona-
miento directo.
En la tabla 5 puede obser-
varse una lista de instruccio-
Tabla 5 nes para transferencia de
datos accediendo la Memo-
ria Externa de Datos.
Sólo pueden utilizarse di-
reccionamientos indirectos, y
la elección puede recaer
tanto por direccionamientos
12MHz. Las otras demoran 2µs. de 1 bit, tipo Ri, donde Ri puede ser R0 o
Si la operación se origina como res- R1 del banco seleccionado, como tam-
puesta a una interrupción, el hecho de no bién de dos bits, del tipo DPTR.
utilizarse el Acumulador economiza tiem- La desventaja de la utilización de direc-
po y esfuerzo en el sentido de la introduc- cionamientos de 16 bits, en caso de que
ción de datos en la pila de ejecución de pocos k bytes de la RAM externa estén
la rutina de servicio. comprometidos en un solo control, es que

Todo sobre PICs 109


LOS MICROCONTROLADORES DE NATIONAL, PHILIPS Y MOTOROLA

j) Instrucciones Booleanas:
Tabla 6
Los dispositivos 80C51 con-
tienen un procesador com-
pleto para instrucciones boo-
leanas (bit único).
La RAM interna contiene
Tabla 7 128 bits direccionables, y el
espacio SFR puede aceptar
hasta 128 bits direcciona-
bles. Todas las líneas de ports
son direccionables por bit, y
cada una puede ser tratada
como un port de bit único.
Las instrucciones que ac-
ceden estos bits no tienen
una única función: también
pueden operar un menú
completo de opciones, tales
como descolocación, fija-
ción, apagado, comple-
mentación, puerta OR, AND,
etc.
Estas operaciones de bit
único no se obtienen fácil-
los direccionamientos de 16 bits usan to- mente en otras arquitecturas sin la ayuda
dos los 8 bits del port 2 y, también, 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 procesa-
bits permiten el direccionamiento de po- dor 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 están en los 128 inferiores, y los
tadas en 2µs con un clock de 12MHz. de 80h hasta FFh se encuentran en el es-
Nótese que en todos los accesos a la pacio SFR. Nótese que el Set de Instruccio-
RAM externa el Acumulador está funcio- nes booleanas incluye operaciones ANL y
nando como origen y destino de los da- ORL, pero no la operación XRL (Exclusive
tos. OR).
La tabla 6 muestra las dos instrucciones Una operación XRL resulta fácil de im-
que están disponibles para la lectura de plementar mediante el software.
tablas de consulta en la Memoria de Pro-
grama. Offset relativo: Los direccionamientos
Como estas instrucciones acceden so- de destino para estos saltos están especifi-
lamente la Memoria de Programa, las ta- cados al dispositivo por medio de un ar-
blas de consulta sólo pueden ser consulta- chivo o por un direccionamiento real en
das y no actualizadas. la Memoria de Programa.

110 Todo sobre PICs


LOS MICROCONTROLADORES DE NATIONAL, PHILIPS Y MOTOROLA

k) Instrucciones de
Salto (JUMP): Tabla 8

En la tabla 8 vemos una


lista de jumps incondicio-
nales al tiempo de ejecu-
ción para un clock de 12
MHz. La distancia del salto
está limitada a la banda
de -128 a +127 bytes relati-
vos a la instrucción que si-
gue el JMP. JMP es el mo- Tabla 9
do mnemónico de la ins-
trucción. La tabla 9 mues-
tra la lista de jumps disponi-
bles en el 80C51. Todos es-
tos jumps especifican el di-
reccionamiento de destino
por el método de offset re-
lativo, y, por eso, están limitados a una dis- Ciclo de
tancia de -128 a +127 bytes a partir de la Máquina Fig. 14
instrucción que determina el salto. Es im-
portante observar que el usuario especifi- Un ciclo
ca el assembler (ensamblador) o direccio- de máquina
namiento real de destino de la misma for- consiste en
ma que en los jumps comunes: como un una secuen-
archivo de constantes de 16 bits. Otra cia de 6 es-
aplicación para esta instrucción está en tados, nu-
las comparaciones del tipo "menor que". merados
desde S1
hasta S6.
Timing de la CPU Cada es- Fig. 15
tado exige,
Todos los microcontroladores 80C51 po- por lo me-
seen un oscilador on-chip que puede utili- nos, dos pe-
zarse como fuente de señal de clock para ríodos del os-
la CPU. cilador, lo
Para usar el oscilador on-chip conecte que significa
un cristal al resonador cerámico entre los que un ciclo
pines XTAL1 y XTAL2 del microcontrolador y de máquina
capacitores a tierra, tal como muestra la demora 12
figura 14. ciclos del os-
En la figura 15 tenemos ejemplos de có- cilador, co-
mo utilizar un oscilador externo como ge- rrespondien-
nerador de clock. tes a 1µs si la

Todo sobre PICs 111


LOS MICROCONTROLADORES DE NATIONAL, PHILIPS Y MOTOROLA

frecuencia del clock fuera de 12 MHz. Ca- externas, 2 por timer y el port serial de in-
da estado está dividido en mitades que terrupción. A continuación damos una vi-
corresponden a Fase 1 y Fase 2. La figura sión general de la estructura de interrup-
16 muestra la secuencia de estados y fa- ciones del dispositivo, ya que una profun-
ses para diversos tipos de instrucciones. dización mayor sólo sería posible con un
Las secuencias descriptas son las mismas análisis más detallado del manual del
tanto para la utilización de una Memoria componente.
de Programa interna como externa. El
tiempo de ejecución también es indepen- Habilitación de Interrupciones
diente del uso de las memorias usadas.
Cada fuente de interrupción puede ser
Estructura de Interrupciones habilitada o inhabilitada individualmente
por la colocación o el retiro de un bit en
El 80C51, en su versión sin ROM y con la parte de la SFR denominada IE (Inte-
EPROM, posee 5 fuentes de interrupción: 2 rrupt Enable). Este registro contiene, tam-
bién, un bit de inhabilitación
global que permite la habili-
tación o inhabilitación de to-
das las interrupciones al mis-
mo tiempo.

Prioridades de
Interrupción

Cada fuente de interrup-


ción puede programarse indi-
vidualmente para presentar
uno o dos niveles de priori-
dad por la utilización de un
bit en la SFR denominado IP
(Interruptor Priority). Una inte-
rrupción de baja prioridad
puede detenerse por una in-
terrupción de alta prioridad
pero NO por otra de baja
prioridad. En caso de recibir-
se dos pedidos de interrup-
ción al mismo tiempo, será
atendido el de mayor nivel
de prioridad.
Si fueran recibidas dos ins-
trucciones de interrupción de
igual prioridad al mismo tiem-
Figura 16 po, una secuencia interna de

112 Todo sobre PICs


LOS MICROCONTROLADORES DE NATIONAL, PHILIPS Y MOTOROLA

evaluación determina cuál es la que de- Un microprocesador es otro tipo de


berá ser atendida. componente. Nace con la capacidad de
Simulando un Tercer Nivel de Prioridad ser adecuado para diferentes usos; el mis-
Vía Software: Algunas aplicaciones exigen mo micro puede usarse para una gran
más que los dos niveles de prioridad dis- cantidad de aplicaciones, que ni siquiera
ponibles en el 80C51. su propio fabricante conoce. En este artí-
En estos casos, un software relativa- culo, vamos a presentar una aplicación
mente simple puede utilizarse para tener del microprocesador Motorola
el mismo efecto de un tercer nivel de prio- MC68HC705J1 donde se lo utiliza para
ridad. controlar la cerradura eléctrica de una
Este software aumenta un tiempo de puerta, con introducción de un código nu-
10µs (con 12MHz) para las interrupciones mérico por un teclado; pero con el mismo
de prioridad 1. integrado, se puede realizar una interfaz
para comunicarse con una PC en forma
Nota remota, o un detector de estado del cierre
La descripción de la arquitectura que de puertas de una casa, o cualquier otra
dimos fue simplificada, ya que la compleji- aplicación que pueda resolverse con
dad del dispositivo no nos permite hacer compuertas lógicas, con temporizadores o
una descripción completa en el poco es- que implique el ingreso de datos y su pro-
pacio que disponemos. cesamiento matemático o lógico y la sali-
No obstante, esperamos que haya sido da de los datos procesados con destino a
lo bastante detallada para permitirle al diodos LEDs, relés, optoacopladores, triacs,
proyectista una visión de las posibilidades etc. Esta ductilidad en su comportamiento
del dispositivo. es debida a que el integrado permite que
el diseñador programe las funciones que
debe cumplir, incluso si no está conforme
MICROCONTROLADORES con el funcionamiento o desea realizar
DE MOTOROLA otra aplicación, puede desprogramar el
integrado y volverlo a programar tantas
Ningún componente electrónico impac- veces como lo desee, si se trata de la ver-
tó tanto en la estructura de nuestra indus- sión EPROM. Esto merece un comentario
tria (y en la sociedad en general) como lo más extenso.
hizo el microprocesador. Ni siquiera el tran-
sistor, o el circuito integrado, modificaron
tanto las estructuras; ya que en el fondo LAS VERSIONES EPROM Y OTP
sólo cambiaron el tamaño, las prestacio-
nes y el precio de los equipos; pero las in- Primero vamos a explicar qué significan
dustrias siguieron siendo como eran antes: las iniciales del subtítulo:
un lugar donde se montaban componen- EPROM: 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
vendían. De hecho cada componente te- OTP: ONE TIME PROGRAMING - MEMO-
nía una función para la cual había sido RIA DE LECTURA SOLAMENTE, QUE ADMITE
construido y no se podía emplear para UNA UNICA PROGRAMACION
otra cosa. Una vez programados o grabados, am-

Todo sobre PICs 113


LOS MICROCONTROLADORES DE NATIONAL, PHILIPS Y MOTOROLA

bos dispositivos realizan la misma función. comparar, realizar la operación lógica


La diferencia fundamental entre ambos, AND, etc) en tanto que otras posiciones
está en el precio. La relación de precios de memoria se destinan a guardar datos
entre un EPROM y un OTP para el modelo fijos (simplemente números digitales trans-
que describimos, es de unas trece veces. formados a binarios). En cualquiera de los
La versión EPROM, se utiliza sólo para el dos casos, las posiciones de memoria tie-
proceso de desarrollo; una vez que el pro- nen guardados una serie de uno o ceros;
totipo ha sido depurado en su funciona- sólo que el micro los decodifica adecua-
miento, el producto industrial se realiza damente, para transformarlos en números
con la versión OTP. En general el precio de o instrucciones.
la OTP es comparable al precio de 3 ó 4 Las memorias se ordenan según su ca-
compuertas lógicas y su prestación es muy pacidad de almacenar octetos, cuartetos
superior. o palabras de otra cantidad de bits. Por
El significado de la palabra programar o ejemplo, el micro que nos ocupa tiene
grabar es el siguiente. El microprocesador una capacidad de almacenar 1.200 octe-
contiene una memoria, en donde se guar- tos, en su memoria EPROM, disponibles pa-
dan ordenadamente los datos necesarios ra el uso (hay posiciones prohibidas que
para que funcione. A la memoria pode- no pueden utilizarse, es decir que son co-
mos considerarla como una cajonera de mo cajones trabados). Con el mismo lugar
las que utilizamos para guardar materiales. asignado para la memoria, podrían mane-
Cada cajoncito tiene su número (sólo que jarse 2.400 cuartetos en otro dispositivo
este caso es un número hexadecimal, ver que funcionara con organización de 4 bits.
apéndice A). Cada cajoncito, al que lla- Para simplificar las cosas se puede decir
maremos dirección o posición de memo- que nuestra memoria tiene una capaci-
ria, tiene ocho separaciones internas (cel- dad de 1200x8.
das de memoria) en donde vamos a co- Una EPROM está construida con una
locar un cartón escrito con un uno o un matriz de transistores MOSFET, que quedan
cero (que llamamos bit). Cada bit tiene en una condición de conducción (cero) o
una determinada posición en el cajón, a de corte (uno), según el estado de carga
los más internos los llamamos los menos de su compuerta, que puede considerase
significativos y a los más externos, los más como un capacitor. Estos capacitores tie-
significativos. Cada bit es un dato que de- nen tan buena aislación que conservan su
seamos almacenar para recuperarlo pos- carga por muchos años, manteniendo los
teriormente y utilizarlo adecuadamente. datos grabados; este proceso se realiza
Los conjuntos de ocho bits forman una con pulsos de tensión de unos 14V. La úni-
cadena de símbolos o palabra, que en in- ca manera de borrar la memoria, es expo-
glés se denomina BYTE. Para no confundir ner el chip a la luz ultravioleta, que ingresa
los términos en lo sucesivo vamos a llamar por una ventana transparente. En ese mo-
“bit” a cada elemento y “octeto” al con- mento, la luz genera portadores de carga
junto de ocho bits (las cadena de 4 bits re- en las aislaciones de las compuertas, co-
ciben en inglés el nombre de “nibble” y mo para que éstos descarguen el capaci-
nosotros lo llamaremos cuarteto). Al grabar tor. Luego se puede volver a escribir sobre
el programa, se determina el uso de cada la memoria, una vez tapada la ventana.
posición de memoria como contenedora Una OTP es una matriz de diminutos fusi-
de una instrucción (por ejemplo: sumar, bles que se queman en el momento de la

114 Todo sobre PICs


LOS MICROCONTROLADORES DE NATIONAL, PHILIPS Y MOTOROLA

escritura (también se requiere una tensión dispositivo está construido con MOSFETs,
más alta que la normal para producir la fu- las tensiones de alimentación negativa y
sión de los microfusibles). Con esta estruc- positiva se llamen VSS y VDD, respectiva-
tura, una vez grabada, la memoria no mente (S de SURTE = surtidor y D de DRAIN
puede ser borrada. = sumidero). El Motorola J1 opera con una
El proceso de escritura de las memorias tensión de fuente simple de 3,3 a 5V, co-
se realiza con una placa especial (que se nectada a la pata 9 (VDD) y con el nega-
incluye en el kit de desarrollo junto con un tivo de fuente conectado a la pata 10
micro tipo EPROM) y que sirve para grabar (VSS).
cualquiera de los dos dispositivos. Esta pla- Un micro es un dispositivo cuyo consu-
ca se conecta a una PC, donde se corre mo puede ser muy variable, en función del
un disquete especial que se entrega con programa, de la tensión de fuente y de la
el kit de desarrollo. El programa de trabajo velocidad a la cual trabaja el dispositivo.
desarrollado se escribe en la PC desde la En el modo de funcionamiento normal, la
misma, se transfiere al micro a través de la velocidad está directamente determinada
placa de desarrollo. Luego se retira el mi- por la frecuencia del cristal o filtro cerámi-
cro de la placa del kit de desarrollo y se co del clock (este tema se tratará en el
ubica definitivamente en la placa de pro- próximo punto). Pero aparte del modo de
ducción, si es una OTP, o en la placa pro- funcionamiento normal, el J1 tiene otros
totipo, si es una EPROM. dos modos de funcionamiento: WAIT (len-
En realidad el disquete que viene con el to) y STOP (parado); esos modos de fun-
kit de desarrollo no sólo sirve para escribir cionamiento están previstos para que el
el programa en nuestro micro; ésa es sólo dispositivo reduzca dramáticamente el
una de sus funciones. También per-
mite realizar la “simulación” del mi- Figura17
cro J1 y los componentes externos
con la PC y correr el programa de-
sarrollado, para verificar su funcio-
namiento en forma virtual, sin reali-
zar ninguna placa prototipo. Una
vez completada esa primera eta-
pa del desarrollo, se pasa a una se-
gunda etapa llamada de “emula-
ción”; en esta etapa, la PC cumple
sólo la función del micro J1, sin
componentes externos y sirve pre-
cisamente para probar la placa
prototipo de nuestro desarrollo. Re-
cién como tercera etapa, se pro-
cede a grabar el micro.

La Tensión de Alimentación

Es costumbre que cuando un

Todo sobre PICs 115


LOS MICROCONTROLADORES DE NATIONAL, PHILIPS Y MOTOROLA

De otro modo, la tensión VDD


Figura 18 tendría lo que se llama ruido digi-
tal, que puede causar un funciona-
miento errático del dispositivo. Ver
figura 18.

Oscilador de Clock

Un micro es un dispositivo que


consumo, ya que está previsto para ser ali- funciona de modo secuencial; por lo tan-
mentado con pilas, cuando trabaja como to, todo su funcionamiento se basa en la
control remoto, o en los sistemas de alar- generación de una señal llamada de
ma en caso de corte de energía. CLOCK (reloj) que determina el ritmo de
Por todo esto, el consumo debe expre- funcionamiento de todo el dispositivo. En
sarse a través de una tabla, en función de general, todos los procesos internos se lle-
la tensión de alimentación, la frecuencia van a cabo justo cuando el CLOCK cam-
del cristal y el modo de funcionamiento. bia de estado; por ejemplo, la circulación
Ver figura 17. de los datos, que se transfieren interna-
Otra cosa a tener en cuenta con res- mente en forma sincrónica con el clock.
pecto al consumo, es que es sumamente La señal de clock se puede generar de
variable por pulsos, debido a las caracte- diferentes maneras, según qué elementos
rísticas de los circuitos digitales, que consu- se conecten sobre las patas 1 (OSC1) y 2
men sobre todo durante las conmutacio- (OSC2).
nes. Esto obliga a conectar dos capacito- El sistema más estable es conectando
res, entre el terminal de VDD y el de masa; un cristal y un resistor entre ambas patas y
uno de valor alto (electrolítico) y otro de dos capacitores a masa desde cada pa-
valor más pequeño, con buenas caracte- ta. Ver figura 19.
rísticas de respuesta a altas frecuencias El resistor cumple la función de hacer
(cerámico multicapa o poliéster metaliza- arrancar al oscilador, y su uso puede evi-
do) de 0,1µF. tarse, ya que el micro tiene un resistor inter-
Los capacitores deben conectarse lo no de 2MΩ, que queda conectado o no,
más cerca posible de los terminales del mi- en función de la grabación de la memoria
cro, con pistas cortas y anchas. (una posición de memoria se dedica ex-
clusivamente a realizar las modi-
Figura 19 ficaciones de la arquitectura in-
terna del dispositivo, en función
de las necesidades del circuito).
La frecuencia máxima del cristal
que puede utilizarse, depende
de la tensión de fuente: para
una tensión nominal de 5V, se
recomienda usar un cristal de
4MHz o menor, en tanto que
para una tensión nominal de

116 Todo sobre PICs


LOS MICROCONTROLADORES DE NATIONAL, PHILIPS Y MOTOROLA

so, la conexión es muy simple: la


Figura 20 pata uno se utiliza como pata
de entrada, dejando libre la pa-
ta dos. Ver figura 22.
La velocidad con la que el
micro realiza cada ciclo de ins-
trucción, es directamente pro-
porcional a la frecuencia del
clock. En este modelo, cada ci-
clo de instrucción dura 476nS, si
el cristal es de 4MHz y VDD es
3,3V se recomienda no superar los 2MHz. El 5V (en realidad el clock interno trabaja a
tipo de cristal más recomendable es el de 2MHz, ya que el generador de clock tiene
corte AT, para evitar la sobreexcitación del acoplado un divisor por dos). Para VDD de
oscilador. Ver figura 20. 3,3V y cris-
Cuando se trata de fabricar dispositivos tal de Figura 22
de bajo costo, lo más recomendable es 2MHz, ca-
utilizar un resonador cerámico, en lugar da ciclo
del cristal. La estabilidad del resonador ce- de instruc-
rámico, es menor que la del cristal; pero es ción dura
suficiente para la mayoría de las aplica- aproxima-
ciones (el micro puede trabajar como damente
temporizador y la estabilidad de tiempo es 1µS.
directamente proporcional a la estabilidad
del CLOCK). Ver figura 21.
En el futuro, este micro estará previsto RESET Y WATCHDOG (COP)
para usar un oscilador RC, en el que no se
requiera buena estabilidad. Se debe con- La abreviatura COP significa: COMPU-
sultar al representa local de Motorola, por TER OPERATING PROPERLY que se traduce
la disponibilidad de esta prestación. por: OPERACION APROPIADA DEL COMPU-
Un micro puede trabajar en forma en- TADOR.
ganchada con otro, del mismo o de dife- El micro realiza su tarea en forma rutina-
rente tipo, inclusive de otra marca, mien- ria y secuencial, cumpliendo cada paso
tras sea un CMOS compatible. En este ca- de programa y cuando llega al último, co-
mienza reiterativamente por el
Figura 21 primero o por otro, si el último
paso así se lo indica. Esta rutina,
se puede alterar de dos mane-
ras diferentes: por el RESET, o por
una interrupción IRQ. En este
punto trataremos el modo RE-
SET.
El RESET, se puede producir
automáticamente, o como una
condición buscada exterior-

Todo sobre PICs 117


LOS MICROCONTROLADORES DE NATIONAL, PHILIPS Y MOTOROLA

mente con un pulsador, conec-


Figura 23
tado desde la pata 20 a masa.
Cuando se opera el RESET, el
micro retorna a una condición
preestablecida de arranque,
carga todos los dispositivos que
pueden memorizar con los oc-
tetos indicados por el progra-
ma (generalmente 00000000) y
luego arranca por el primer pa-
so de programa.
En algunos casos (sobre todo
cuando se está en una etapa
poco avanzada del desarrollo) se pueden sis de tensión) que aumenta la inmunidad
producir errores de funcionamiento, que del micro frente al ruido, para evitar que
lleven al programa a trabajar sobre un la- se produzca un RESET indeseado. Ver figu-
zo cerrado, del cual no puede salir por sí ra 23.
mismo (en la jerga se dice que el sistema La versión EPROM de este dispositivo no
se quedó colgado). Tambien puede ocurrir tiene ni el resistor ni el diodo y, por lo tanto,
que, por error, se pretenda acceder a una se debe prever su ubicación en la placa
posición de memoria ilegal (una dirección prototipo.
reservada para un uso fijo del micro).
En ambos casos, opera un sistema lla-
mado WATCHDOG (literalmente: perro Las Interrupciones IRQ
guardián). El WATCHDOG produce un RE-
SET automático, si es que el micro demora La pata 19 es de doble función, sirve
más que un tiempo preestablecido para como una entrada de interrupción o co-
realizar su rutina principal; del mismo modo mo pata de grabación del programa,
opera, si se pretende utilizar una posición cuando se trabaja con tensiones superio-
de memoria ilegal. A este sistema también res a 12V. Entre 0V y VSS, esta pata opera
se lo llama COP WATCHDOG (literalmente deteniendo el programa normal, pero
perro guardián de la operación apropiada acumulando previamente todos los datos
del microcomputador). existentes en cualquier tipo de componen-
En la versión OTP, existe un resistor inter- te interno, capaz de memorizar datos (re-
no conectado a la tensión de fuente VDD; gistros, memoria volátil, etc.) Cuando ter-
es decir, que sólo basta con conectar la mina el programa de interrupción, el pro-
pata 20 a masa con un pulsador. También grama principal continúa funcionando
existe un diodo interno, que limita la ten- normalmente, en el paso en donde se ha-
sión si ésta supera a la de fuente y que bía interrumpido su funcionamiento.
además arrastra hacia masa la tensión de Cuando se realiza una interrupción, el
la pata 20, cuando se desconecta la fuen- micro sale de su programa normal y realiza
te VDD. La pata 20 no opera directamen- otro programa. Es como dejar de realizar
te sobre micro, sino que lo hace a través el trabajo habitual, para realizar otro en
de un SCHMITT TRIGGER (disparador de forma momentánea y luego volver a la ta-
Schmitt: dispositivo de disparo con histére- rea normal. En realidad, existen otras 4 pa-

118 Todo sobre PICs


LOS MICROCONTROLADORES DE NATIONAL, PHILIPS Y MOTOROLA

tas que pueden producir interrupciones moria para que una pata sea una entra-
(15, 16, 17 y 18). Estas patas pueden usar- da, o se transforme en una salida. Por su-
se como entrada IRQ, o como entrada o puesto el programa dirigirá información
salida de datos. La elección se realiza por hacia las salidas, o la tomará de las entra-
el programa junto con la grabación del das.
dispositivo. A este tipo de selección, se la Los ports se nombran como PA y PB por
conoce como MASKABLE (enmascarable) comodidad. El port B tiene 6 patas, que
y se refiere a la polifuncionalidad del dis- cumplen sólo las funciones normales de
positivo, que permite utilizar alguna de sus entradas y salidas. El port A tiene 8 patas,
pata para una u otra función (cambio de que además de su función específica de
máscara, careta o disfraz). I/O, cumplen con otra función extra. Des-
También es ENMASCARABLE el funciona- de la PA0 hasta la PA3, cumplen funciones
miento de las patas de IRQ, ya que pue- de ingreso de señales de interrupción IRQ
den responder al cambio de estado positi- (como se mencionó en el punto 7) y la
vo a negativo, o a ambos cambios de es- PA4 a la PA7, cumplen funciones de salida
tado, o simplemente al estado bajo de las reforzada, ya que admiten una carga de
patas. 10mA, capaz de excitar un LED en forma
La pata 19 requiere un resistor externo directa. Cada port tiene su propia direc-
a VDD, si se desea que el dispositivo opere ción de memoria, en donde se pueden
como una compuerta OR, entre las infor- leer o almacenar datos.
maciones de las patas 15, 16, 17 y 18
(cualquiera a masa produce una IRQ)
aunque tiene prioridad la interrupción por Sistema Temporizador Multifunción
la pata 19 a masa, que produce un IRQ
de diferente tipo. Similarmente a la pata Este micro tiene un temporizador pro-
del reset, la pata 19 IRQ opera sobre el mi- gramable de 16 etapas. Su utilidad es ob-
cro a través de un disparador de Schmitt, via; permite demorar las acciones del mi-
para reducir la respuesta al ruido. Debe cro (por ejemplo, cerrar un relé un tiempo
prevenirse toda tensión sobre esta pata después de ingresar un pulso de entrada)
con un valor superior al de VDD. y todo de manera sencilla y con una pre-
cisión dada por el cristal. La demora pue-
de ser fijada en el momento de grabar la
Patas de Entrada y Salida (PORTS) memoria, o introducirse desde un teclado,
etc.
Este dispositivo tiene dos ports paralelos Las funciones del temporizador y del sis-
de entrada salida (I/O = INPUTS/OUTPUTS). tema de WATCHDOG, están relacionadas
Estas patas interconectan el micro con el forzosamente entre sí, dada la función de
mundo exterior. Por ellas se pueden intro- éste con respecto al tiempo que tarda el
ducir datos, para operar luego sobre ellos sistema, en recorrer todos los pasos del
y entregar los resultados como leds que se programa. Por ejemplo, el simple progra-
encienden, o relés que operan. ma para cerrar un relé por un tiempo de-
Cualquiera de las patas de ambos terminado a través de un teclado; requie-
ports, pueden ser una entrada o una sali- re que el sistema de WATCHDOG tenga
da; basta con grabar los datos adecua- una demora variable. Recién cuando pa-
dos en determinadas direcciones de me- se un tiempo igual a la duración del pro-

Todo sobre PICs 119


LOS MICROCONTROLADORES DE NATIONAL, PHILIPS Y MOTOROLA

grama, más la demora introducida por el Un registro es una pequeña unidad de


teclado, más un tiempo de tolerancia fijo; memoria de lectura y escritura, del tipo vo-
opera el WATCHDOG reseteando el siste- látil, que en general tiene un tamaño que
ma. 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 artículo, sólo daremos una mínima
descripción de los mismos, que se irán
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
emite los datos de salida, en función de los sumandos o el resultado de una suma
las órdenes que encuentra en el progra- durante las operaciones aritméticas.
ma. La CPU es, en realidad, un conjunto “X” = REGISTRO INDICE: El CPU utiliza es-
de etapas, cada una de las cuales cum- te registro para determinar la dirección
ple una función clara y precisa, que vere- condicional del operando; también se lo
mos a continuación: utiliza como registro transitorio similar al
“A”.
ALU: unidad aritmética y lógica. SP: PUNTERO DE PILA= Es un registro de
La ALU realiza las operaciones aritméti- 16 bits que contienen la dirección siguien-
cas y lógicas entre dos variables de pro- te de la pila de instrucciones.
gramas (datos captados y acumulados PC: CONTADOR DE PROGRAMA= Es un
en registros o memorias transitorias). registro de 16 bits que contiene la direc-
Los circuitos aritméticos binarios, deco- ción de la siguiente instrucción.
difican las instrucciones y predisponen a la CCR: REGISTRO DEL CODIGO DE CONDI-
ALU para realizar la operación selecciona- CION= Es un registro de 8 bits en donde los
da. La aritmética binaria está basada en 3 dígitos más significativos no se utilizan y
el algoritmo de la adición; la substracción están fijos en 111.
se realiza como la adición de un número El resto de los bits contiene un indica-
negativo. dor de la máscara de interrupciones y 4 in-
La multiplicación no se realiza como dicadores del resultado de la operación
una operación discreta (en un solo paso) que está siendo efectuada.
pero puede realizarse como una opera- Ver figura 24.
ción de adiciones sucesivas y desplaza-
miento de dígitos binarios.
La instrucción para realizar una multipli- Memoria Volátil
cación se llama MUL y requiere 11 ciclos
del reloj interno, para completar una ope- La EPROM analizada anteriormente, es
ración. una memoria no volátil, ya que mantiene
Las operaciones lógicas son las que su información luego de cortar la fuente. Si
comparan dos números binarios, emitien- bien permite la escritura, esta debe reali-
do un 1 o un 0, en función de que se cum- zarse utilizando la placa de desarrollo, es
pla o no la operación lógica solicitada (< decir que el micro no puede cargar infor-
menor que; > mayor que; = igual a). mación en la EPROM.
CPU REGISTER: REGISTROS DE LA UNIDAD Por este motivo el micro cuenta con
CENTRAL DE PROCESO una pequeña memoria RAM para guardar

120 Todo sobre PICs


LOS MICROCONTROLADORES DE NATIONAL, PHILIPS Y MOTOROLA

zar un diagrama en blo-


Figura 24 ques del micro, ya que
se mencionaron todas las
etapas que forman parte
del mismo. Este diagra-
ma se diferencia de un
diagrama del tipo analó-
gico, por la existencia de
un bus bidireccional que
interconecta todas las
etapas del micro. Esto
información mientras la fuente permanece simplemente significa que estas etapas
conectada (es del tipo volátil) pero que es pueden intercambiar información, porque
fácil de grabar y leer y sobre todo con ac- todas tienen un port paralelo de I/O. Ver fi-
ceso rápido a cada posición de memoria gura 25.
solicitada. La capacidad de esta memo-
ria, es de sólo 64 octetos, pero es más que
suficiente para este micro de bajo costo. Descripción 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 Máscara de Opciones convencional 20 PDIP y de montaje super-
ficial 20 SOIC.
Ya sabemos que éste es un integrado
MASKABLE, las características de la másca-
ra le indicarán al micro como debe predis- Cerradura Eléctrica
poner sus patas, para realizar la función
solicitada y si debe o no conectar los En esta nota de aplicación, se ejemplifi-
componentes MASKABLES que contienen ca el uso del micro con ingreso de datos,
en su interior. por intermedio de un teclado matricial de
La máscara de opciones se guarda en 4X4. El funcionamiento del dispositivo pue-
un registro determinado, que si bien forma de resumirse del siguiente modo: el dato
parte de la EPROM (o de la memoria OTP) numérico que se ingresa por el teclado, se
se lo considera especial dada su importan- compara con el número clave grabado
cia. De cualquier modo estas posiciones en una posición de memoria. Si el resulta-
de memoria no forman parte de lo que se do de la comparación, indica que los nú-
llama 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 cerradu-
ra de la puerta, para permitir su apertura.
Si los números no coinciden, el relé no
Estructura del Micro opera y se levanta otra salida, que se utili-
za como alarma por intento de violación
Con lo visto hasta aquí, se puede reali- de la cerradura.

Todo sobre PICs 121


LOS MICROCONTROLADORES DE NATIONAL, PHILIPS Y MOTOROLA

Figura 25

EL ESTADO DE STOP señal IRQ de interrupción. En este estado


el microprocesador se encuentra detenido
Existen dos maneras de resolver el sof- en un paso de programa determinado.
ware (programa). Si el sistema va a operar Como no existen cambios de estado, el
con energía de emergencia es convenien- consumo del micro es mínimo, ya que la
te que el sistema quede en STOP hasta potencia se desarrolla sólo cuando los
que se introduce algún 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 tensión CE es de unos po-

122 Todo sobre PICs


LOS MICROCONTROLADORES DE NATIONAL, PHILIPS Y MOTOROLA

cos mV y la potencia disipada es mínima.


Si un transistor está cortado, su corriente
de colector es mínima y aunque su tensión
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 señal
de interrupción. Esta se genera automáti-
camente cuando se introduce el primer dí-
gito del código. En efecto, las conexiones
de las filas del teclado, se envían a las pa-
tas PA0 a PA3, que operan como entrada
de datos o de interrupciones indistinta-
mente. Por lo tanto, cuando se pulsa cual-
quier número, una de las filas queda co-
nectada a una de las salidas del micro PB0
a PB3, que en ese momento se encuen-
tran en el estado alto. Ver figura 27. Figura 26
Las patas PA0 a PA3 están conectadas
internamente a una compuerta OR, por lo
tanto cualquiera de ellas que tenga un es-
tado alto, genera una señal IRQ. Ver figura
28. La entrada de habilitación de la AND,
se encuentra alta en el funcionamiento en
STOP, por lo tanto cualquier interrupción
por PA0 a PA3, genera una señal IRQ que
envía a sistema a la sub-rutina de interrup-
ción. En el otro modo de funcionamiento,
que es el que explicaremos en este artícu-
lo, el programa se encuentra explorando
constantemente la matriz de teclado. tecla presionada no corresponde a la pri-
mera columna. Por lo tanto, bajando la sa-
lida PB0 y levantando la PB1, se vuelven a
La Exploración del Teclado verificar todas las entradas.
De este modo se continúa hasta llegar
La función del sofware es averiguar con a la salida PB3. La subrutina se interrumpe
exactitud cuál de las teclas fue pulsada. sólo cuando detecta la columna y la fila
Para esto es necesario mantener baja la correspondiente a la tecla presionada.
pata de habilitación de la AND, para que Debemos aclarar que el proceso ante-
las entradas PA0 a PA3 se comporten co- rior dura muy poco tiempo y por lo tanto,
mo entradas de datos. se completa antes de que el usuario le-
Luego, la rutina baja todas las salidas vante el dedo de la tecla. Inclusive, ape-
menos la PB0 y verifica el estado de las en- nas se determina el número pulsado, el
tradas PA0 a PA3. Si ninguna de las entra- programa llama a una sub-rutina de de-
das tiene un estado alto, significa que la mora, por la cual no se acepta ninguna

Todo sobre PICs 123


LOS MICROCONTROLADORES DE NATIONAL, PHILIPS Y MOTOROLA

(DEBOUNCE = REBOTE).Ver figura 29.


El sistema es tan rápido, que podría de-
tectar tres veces el mismo número, produ-
ciendo un error en el ingreso del número
que ya no coincidiría con la clave.
La manera de evitar esta falla, es utili-
zando una rutina de demora una vez de-
tectada la entrada del teclado, de modo
que se evite la captación de las siguientes
que se presenten en un lapso de algunos
mS. Además, cada vez que se pulsa una
tecla se enciende el led verde, para con-
firmar la acción.
Luego de captar el primer dígito y al-
macenarlo como dígito menos significati-
Figura 27 vo en la RAM, el sistema vuelve a la rutina
principal y queda en el modo STOP, hasta
que el usuario marca el siguiente dígito y
así sucesivamente hasta cargar los 4 dígi-
tos que forman el código (la cantidad de
números del código puede llevarse a 8 sin
inconvenientes).
Al cargar el cuarto dígito, el sistema va
a la subrutina de comparación.

Figura 28 Subrutina de Comparación

El sistema compara el número acumula-


Figura 29do en la RAM, con el número clave exis-
tente en el programa. Si ambos son igua-
les, 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 número ingresado difiere del núme-
entrada 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 en- su uso a la imaginación del lector, ya que
trada con varios máximos sucesivos, por dicha salida puede utilizarse para accio-
variación de la resistencia de contacto nar un led remoto, o un BUZZER local, o uti-

124 Todo sobre PICs


LOS MICROCONTROLADORES DE NATIONAL, PHILIPS Y MOTOROLA

lizar una sirena de dos tonos, tal como su- tico. Se trata de un circuito RC, que produ-
gerimos en la figura 30. ce el reset automático cuando se da ali-
Si el número no corresponde, PA5 se le- mentación al sistema. Su función es retar-
vanta, Q1 y Q2 conducen y la tensión so- dar la alimentación de la pata 20 (RESET)
bre C1 llega al valor de fuente. En este por unos instantes, de manera que se pro-
momento, quedan alimentados los dos os- duzca el reseteo del sistema y luego llevar
ciladores unijuntura Q4 y Q5. Q5 genera el la pata a la tensión de fuente. El resona-
tono principal alto, en tanto que Q4 gene- dor cerámico integrado MURATA, puede
ra el tono bajo de modulación. Los preset reemplazarse con un cristal de 4MHz y dos
P1 y P2 permite realizar una variedad de capacitores, tal como se observa en la fi-
tonos de alarma, a elección del lector. gura 32.
Cuando desaparece la alarma, C1 se des-
carga lentamente y produce el apagado CONCLUSION
gradual de la sirena. El amplificador Dar- El autor sabe que lo dicho de este pro-
lington, puede excitar un parlante de 4 yecto es algo más que una simple infor-
Ohms con una potencia de 6W (o 3W con mación.
8 Ohms) y en este momento el consumo Es una clara explicación sobre un nuevo
sobre la fuente es de 1,2 A. El transistor Q8modo de proyectar y de utilizar una PC y
debe montarse sobre un disipador ade- un KIT de desarrollo de bajo costo. Por su-
cuado. Para desconectar la alarma, se puesto no pretendemos que cada lector
debe digitar el número correcto o desco- compre un kit de desarrollo, pero tal vez,
nectar el amplificador desde el interior de puedan juntarse los alumnos de las escue-
la vivienda. las de electrónica y comprar un kit por ca-
da división y realizar las prácticas en la es-
cuela.
Circuito Completo Es cierto que se puede trabajar sin el kit,
pero el trabajo de depuración del progra-
En la figura 31 se puede observar el cir- ma, lleva su tiempo y siempre es mejor
cuito completo que no requiere mayores realizarlo simulando y emulando el micro
explicaciones, ya que cada etapa se trató con la PC, para no tener que grabar la
adecuadamente. Sólo falta explicar el fun- EPROM varias veces. Sólo la parte final del
cionamiento del circuito de reset automá- desarrollo, debería realizarse grabando la

Figura 30

Todo sobre PICs 125


LOS MICROCONTROLADORES DE NATIONAL, PHILIPS Y MOTOROLA

te del texto, solamen-


Figura 31
te se pretendió dar
los principios básicos
de los microprocesa-
dores y se brindó to-
dos los medios para
poder armar una apli-
cación, de modo que
el lector se familiarice
con esta moderna
técnica de desarrollo
y con el micro J1 de
MOTOROLA.
Si el lector es fabri-
cante de algún pro-
ducto que utiliza
compuertas o tempo-
rizadores y está pen-
sando en modernizar
su producto, le voy a
dar un último dato,
que lo va a ayudar a
decidirse. Este micro
puede programarse
EPROM del micro. Con referencia a la nota para que sea imposible acceder al pro-
de aplicación de la cerradura electrónica, grama interno y de este modo evitar co-
el micro pias del producto. Ya no va a ser necesa-
puede ser rio que borre los códigos de sus compuer-
adquirido tas, use un micro y active el llamado bit de
ya graba- protección, para que nadie pueda copiar
do en su programa. Es como si alguien fabricara
Electro- un circuito integrado exclusivamente para
compo- usted, o mejor aun, es como si lo fabricara
nentes, o usted mismo.
hacerlo En futuros textos, se continuará con los
grabar en temas que no
Figura 33
otras fir- pudieron tra-
mas que tarse aquí por
se dedi- problemas de
can a espacio. Ya
grabar no nos con-
EPROMs. formaremos
Con lo simplemente
dado en Figura 32
con utilizar un
esta par- micro ya gra-

126 Todo sobre PICs


LOS MICROCONTROLADORES DE NATIONAL, PHILIPS Y MOTOROLA

bado. Explicaremos las técnicas de pro- R1 RESISTOR DE 10K 1/8W 5%


gramación, simulacion y emulación, para R2 RESISTOR DE 10K 1/8W 5%
que cada lector pueda realizar los pro- R3 RESISTOR DE 39 OHMS 1/8W 5%
yectos completos. En la figura 33 se da R4 RESISTOR DE 39 OHMS 1/8W 5%
un esquema aconsejable para el circuito R5 RESISTOR DE 10K 1/8W 5%
impreso. C1 CAPACITOR DE POLYESTER METALIZA-
DO .1µF
Lista de materiales de la C2 CAPACITOR ELECTROLITICO 100µF
cerradura electrónica C3 CAPACITOR ELECTROLITICO 22µF
CI1 CIRCUITO INTEGRADO MOTOROLA D1 DIODO 1N4004
MC68HC705J1AP D2 DIODO LED ROJO
RC1RESONADOR CERAMICO MURATA D3 DIODO LED VERDE
CST4.00MGWA EL RESONADOR CERAMICO SE PUEDE
TC1 TECLADO MATRICIAL DE 4X4 REEMPLAZAR POR:
RL1 RELE SIMPLE INVERSOR CON BOBI- X1 CRISTAL DE 4MHz CORTE AT
NA DE 5V C3 CAPACITOR CERAMICO NP0 27 pF
Q1 TRANSISTOR BC548 C C4 CAPACITOR CERAMICO NP0 27 pF

Programas de Aplicación de STA


LDA
PORTB
#$00; CARGO EL CONTADOR DE
la Cerradura Electrónica STA
NUMEROS
CONT ;CON CERO PARA EMPE-
ZAR A CONTAR
LDX #$00
1) DISPOSITIVO ABREPUERTA BSET 7, PORTA ; APAGO EL LED VERDE

CON MICRO J1A


PROGRAMA PRINCIPAL
EPROM EQU $0300
RESET EQU $07FE CLI
INT EQU $07FA CLR PDRA
PORTA EQU $00 INI_LOOP CLC
PORTB EQU $01 LDA #$01 ; barro el port B rotando un "1"
DDRA EQU $04 LOOP STA
DDRB EQU $05 PORTB ; por las 4 columnas y espero
PDRA EQU $10 JSR DELAY ; se presione una tecla y se:
PDRB EQU $11 ASLA ; genere la interrupción
ISCR EQU $0A CMP #$08
IRQR EQU 1 BNE LOOP
IRQE EQU 7 BRA INI_LOOP
MOR EQU $7F1
CONT EQU $D0
CELDA EQU $D1 RUTINA DE ATENCION DE INTERRUPCION

INTERRUP JSR
INICIALIZACION DECOD ; decodifico fila y columna de la tecla
STA $E0 ; presionada
ORG EPROM JSR GRABA ; grabo el caracter en ram
COMIENZO LDA #$F0 JSR DELAY2
STA DDRA ;PA0-PA3=ENTRA AEM JSR
DA / PA4-PA7=SALIDA DECOD ; vuelvo a decodificar para impedir que
LDA #$FF CMP $E0 ; el rebote de la tecla genere una
STA DDRB; PB=SALIDA BEQ AEM ; interrupción no deseada
LDA #$00 JSR COMPARA ; comparo con el código

Todo sobre PICs 127


LOS MICROCONTROLADORES DE NATIONAL, PHILIPS Y MOTOROLA

BSET IRQR,ISCR ; habilitación BNE SAL2 ; si no se tip. 4 números me voy sin comp.
RTI LDX #$00 ; como se tipiaron 4 números
STX CONT ; coloco el contador en 0 y
RUTINA DE GRABACION DEL CODIGO INGRESADO LDA CELDA ; comienzo A
OMP CMP $700,X ; comparar contra el código de hábil.
GRABA LDX CONT ; RECUPERO EL CONTADOR BNE SAL2 ; si cualquier num. carg. no coinc. con el
DE NUMEROS NOP ; código de habilitación me voy.
STA CELDA,X; EN LA POS. CELDA INCX
GUARDO EL CAR.DE TECTADO CPX #$04
CPX #$04 ; ME FIJO SI SE TIPIARON 4 NUMEROS BEQ ACT
BEQ SAL1 ; SI SE TIPIARON 4 NUMEROS ME VOY LDA CELDA,X
INCX; COMO NO LLEGUE A TIPIAR 4 NUMEROS JMP COMP
STX CONT; GUARDO EL NUEVO VALOR DEL CONT.DE ACT JSR ACTIVAR ; como el cod. ingresado es el correcto
NUM. SAL2 RTS ; activo el dispositivo a controlar.
BCLR 7, PORTA ; PRENDO EL LED VERDE
JSR DELAY2
BSET 7, PORTA ; APAGO EL LED VERDE RUTINA DE ACTIVACION DEL DISPOSITIVO DE CONTROL
RTS ; VUELVO AL PROGRAMA PRINCIPAL
ACTIVAR BSET 6,PORTA
BSET 5,PORTA
RUTINA DE DECODIFICACION DE TECLADO JSR DELAY3
BCLR 6,PORTA
DECOD LDA PORTA BCLR 5,PORTA
AND #$0F RTS
STA $C1 ; GUARDO LA FILA
LDA PORTB
STA $C2 ; GUARDO LA COLUMNA VECTORES DE RESET E INTERRUPCION
LDX #$00
LDA $C1 ; RECUPERO LA FILA ORG RESET
COMP1 CMP TABLAPRI,X FDB COMIENZO
BEQ WW ; AQUI DETECTO LA FILA DENTRO DE LA TABLA ORG MOR
INCX DB $24
INCX ORG INT
INCX FDB INTERRUP
JMP COMP1
WW LDA $C2 ; RECUPERO LA COLUMNA
COMP2 CMP TABLAPRI+1,X RUTINAS DE RETARDO
BEQ ZZ ; AQUI DETECTO LA COLUMNA DENTRO DE LA TABLA
INCX ORG $400
INCX DELAY LDX #$FF
INCX RET DECX
JMP COMP2 NOP
ZZ LDA TABLAPRI+2,X ;DEJO EN EL ACUM.EL CAR. DE TECTADO BNE RET
RTS RTS

TABLA DE COORDENADAS DE CADA TECLA ORG $420


DELAY2 LDA #$FF
TABLAPRI DB $01,$01,$1 ; —- RET1 LDX #$FF
DB $01,$02,$2 ; | FILA 0 RET2 DECX
DB $01,$04,$3 ; | NOP
DB $01,$08,$A ; —- BNE RET2
DB $02,$01,$4 ; —- NOP
DB $02,$02,$5 ; | FILA 1 BRN *
DB $02,$04,$6 ; | BRN *
DB $02,$08,$B ; —- DECA
DB $04,$01,$7 ; —- BNE RET1
DB $04,$02,$8 ; | FILA 2 RTS
DB $04,$04,$9 ; |
DB $04,$08,$C ; —- DELAY3 LDX #$0B
DB $08,$01,$F ; —- RET3 JSR DELAY2
DB $08,$02,$0 ; | FILA 3 DECX
DB $08,$04,$F ; | BNE RET3
TABLAFIN DB $08,$08,$D ; —- RTS

ORG $0700
RUTINA DE COMPARACION DEL CODIGO INGRESADO DB $02,$02,$02,$02
código de habilitación
COMPARA LDX CONT ; recupero el contador de números
CPX #$04 ; me fijo si se tipiaron 4 números

128 Todo sobre PICs

Vous aimerez peut-être aussi