Capítulo 6

34
LA SERIE COP DE NATIONAL Los microcontroladores COPSAx7 OTP son miembros de la familia de los COP8 y utilizan como “corazón” un arquitectura con un chip de 8 bits. Estos dispositivos fueron fabricados bajo el proceso EPROM de alta densidad, de la National Semicon- ductor, y ofrecen una gran variedad de chips, con amplia gama de temperatura y rangos de tensión de trabajo, con la fi- nalidad de satisfacer un vasto número de aplicaciones. Las características "clave" incluyen ar- quitectura mapeada de memoria de 8 bits, un contador y un timer de 16 bits con dos registros de 16 bits que se vinculan con tres selectores (Generación PWM de Procesador Independiente, Contador Ex- terno de Eventos y Disponibilidad de Cap- tura de Entradas), dos selectores HALT/IDLE con capacidad para guardar y con la po- sibilidad de la presencia de un interruptor multimedia para despertarse, un oscilador R/C tipo chip, salidas de corriente eleva- das, opciones seleccionables para el usuario, tales como WATCHDOG, configu- ración del Oscilador y potencia de rese- teo. A los fines de brindar una acabada in- troducción, reproducimos el informe pre- parado por el Ing. Guillermo Jaquenod (a quien agradecemos su colaboración), del Departamento Técnico de la compañía de Semiconductores. Tanto en México como en Argentina, hace unos años que se comercializa la lí- nea de microcontroladores COP8SAx7 (donde x corresponde a las letras A, B y C) en versiones de bajo pinout (20 y 28 pa- tas) y encapsulado DIP. Estos nuevos mi- crocontroladores ofrecen prestaciones y performance en hardware y software comparables con las de microcontrolado- res de rango medio, con un precio similar al de los microcontroladores más econó- micos. Prestaciones destacables de hardware La línea COP ofrece varios elementos destacables de hardware, tanto en lo que hace a la arquitectura interna del núcleo de CPU como en los periféricos incorpora- dos en el chip. La línea COP emplea una arquitectura interna tipo Harvard (con buses de instruc- ciones y datos separados), que permite que la mayor parte de las instrucciones (el 77%) puedan ser ejecutadas en un único ciclo de instrucción de un microsegundo, al realizarse simultáneamente el acceso al espacio de instrucciones (EPROM) y al es- pacio de datos (memoria RAM y periféri- cos), determinan con ello una performan- ce estadística próxima a 1 MIPS (un millón de instrucciones por segundo). A diferen- cia entre la línea COP y otros microcontro- ladores obtenibles en plaza que también presentan arquitectura Harvard, la com- plejidad propia de este tipo de arquitectu- ra ha sido adoptada sin limitar, por ello, la cantidad y versatilidad de las instrucciones disponibles, ni eliminar periféricos. Todo sobre PICs 95 6 Los Microcontroladores de National, Philips y Motorola

Transcript of Capítulo 6

Page 1: Capítulo 6

LA SERIE COP DE NATIONAL

Los microcontroladores COPSAx7 OTPson miembros de la familia de los COP8 yutilizan como “corazón” un arquitecturacon un chip de 8 bits. Estos dispositivosfueron fabricados bajo el proceso EPROMde alta densidad, de la National Semicon-ductor, y ofrecen una gran variedad dechips, con amplia gama de temperaturay rangos de tensión de trabajo, con la fi-nalidad de satisfacer un vasto número deaplicaciones.

Las características "clave" incluyen ar-quitectura mapeada de memoria de 8bits, un contador y un timer de 16 bits condos registros de 16 bits que se vinculancon tres selectores (Generación PWM deProcesador Independiente, Contador Ex-terno de Eventos y Disponibilidad de Cap-tura de Entradas), dos selectores HALT/IDLEcon capacidad para guardar y con la po-sibilidad de la presencia de un interruptormultimedia para despertarse, un osciladorR/C tipo chip, salidas de corriente eleva-das, opciones seleccionables para elusuario, tales como WATCHDOG, configu-ración del Oscilador y potencia de rese-teo.

A los fines de brindar una acabada in-troducción, reproducimos el informe pre-parado por el Ing. Guillermo Jaquenod (aquien agradecemos su colaboración), delDepartamento Técnico de la compañíade Semiconductores.

Tanto en México como en Argentina,hace unos años que se comercializa la lí-

nea de microcontroladores COP8SAx7(donde x corresponde a las letras A, B y C)en versiones de bajo pinout (20 y 28 pa-tas) y encapsulado DIP. Estos nuevos mi-crocontroladores ofrecen prestaciones yperformance en hardware y softwarecomparables con las de microcontrolado-res de rango medio, con un precio similaral de los microcontroladores más econó-micos.

Prestaciones destacables de hardwareLa línea COP ofrece varios elementos

destacables de hardware, tanto en lo quehace a la arquitectura interna del núcleode CPU como en los periféricos incorpora-dos en el chip.

• La línea COP emplea una arquitecturainterna tipo Harvard (con buses de instruc-ciones y datos separados), que permiteque la mayor parte de las instrucciones (el77%) puedan ser ejecutadas en un únicociclo de instrucción de un microsegundo,al realizarse simultáneamente el acceso alespacio de instrucciones (EPROM) y al es-pacio de datos (memoria RAM y periféri-cos), determinan con ello una performan-ce estadística próxima a 1 MIPS (un millónde instrucciones por segundo). A diferen-cia entre la línea COP y otros microcontro-ladores obtenibles en plaza que tambiénpresentan arquitectura Harvard, la com-plejidad propia de este tipo de arquitectu-ra ha sido adoptada sin limitar, por ello, lacantidad y versatilidad de las instruccionesdisponibles, ni eliminar periféricos.

Todo sobre PICs 95

6Los Microcontroladores deNational, Philips y Motorola

Page 2: Capítulo 6

• Dentrode todos losCOP, inclusolos más pe-queños,existen dostimers, lla-mados T0 yT1: el timerT0 es un

contador simple de 12 bits que opera enmodo libre y descendente y es usado sólopara la salida controlada de los modos debajo consumo, y operación del Watch-Dog-Clock; el timer T1, de 16 bits, ofreceen cambio una versatilidad realmentedestacable, al poder ser operado en 8modos distintos, que en sus variacionespermiten el conteo de eventos externos(External Event Counter), detección deflancos (Input Capture) y un modo de ge-neración de señales de PWM que operaen forma independiente al procesador.

• Los COP (figuras 1y2) vienen en ver-siones con EPROM borrable (encapsuladocerámico con ventana) y en versionesOTP de bajo costo, y ofrecen desde 1K deEPROM y 64 bytes de RAM (COP8SAA7),hasta 4K de EPROM y 128 bytes de RAM(COP8SAC7).

• El empleo de tecnología CMOS estáti-ca le permite operar en frecuencias quevan desde continua hasta 1MIPS, con ten-

siones desde 2,7V a 5,5V y ofrecer un mo-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 ygenerará, si así se lo desea, las interrupcio-nes consiguientes.

• Los COP incorporan en forma están-dar una interfase de entrada/salida seriesincrónica Microwire PLUS (SPI compatible)que les permite su fácil conexión con peri-féricos serie, tales como conversores A/D,conversores D/A, etc.

• Los COP poseen un monitor de ope-ración (Watch-Dog) y un monitor declock.

• Poseen abundantes pines de entra-da/salida paralela (16 I/O en los chips de20 patas y 24 I/O en los de 28 patas), don-de ciertas entradas son de tipo SCHMITT-Trigger y pueden ser programadas paraincorporar internamente una resistenciade pullup y operarán como salidas; ciertaspatas poseen una capacidad importantede manejo de corriente de hasta 10mA.

• Posee varias opciones de osciladorque van desde una fuente externa, un os-cilador RC interno al que se le puede alte-rar la frecuencia mediante un capacitorexterno, hasta un oscilador a cristal/reso-nador en donde la inclusión o no de la re-sistencia de polarización es programable.

• Finalmente, el diseño total de los COPha sido realizado con un control de velo-cidad de transistores (slew rate) y nivelesde señal internos al chip, orientados a lageneración de bajos niveles de irradiaciónelectromagnética (EMI: electro magneticinterference), lo que lo hace ideal para suuso en el área de comunicaciones e ins-trumentación.

Esta tecnología permite hablar de re-ducciones en el nivel de generación deinterferencias en el orden de 20dB respec-

LOS MICROCONTROLADORES DE NATIONAL, PHILIPS Y MOTOROLA

96 Todo sobre PICs

Figura 1

Figura 2

Page 3: Capítulo 6

to a procesadores similares que operan enla misma frecuencia.

Prestaciones destacables de softwareLos pequeños COP no sólo ofrecen re-

cursos notables de hardware, sino quetambién tienen características de softwa-re propias de procesadores más elabora-dos, que permiten generar fácilmente es-tructuras de código propias de lenguajesde alto nivel.

• Manejo de RAM como registros a tra-vés de dos registros de indirección B y X: ladisponibilidad de dos registros que pue-den ser operados como índices y progra-mados para su postincremento o su postdecremento automático permite el ma-nejo de tablas en RAM en forma eficiente.

• Carga inmediata de memoria: estacapacidad permite la carga de datosconstante en memoria sin necesidad depasar por el acumulador y la memoria.

• Exchange: esta instrucción permite elintercambio de valores entre el acumula-dor y la memoria, sin necesidad de pasosintermedios.

• Con instrucciones especiales para usode la indirección en el espacio de memo-ria de programa:

a) JID (Jump Indirect): salto indexadoideal para crear estructuras tipo SWITCH oCASE.

b) VIS (Vector Interrupt Select): idealpara la realización de Interrupt Dispat-chers.

c) LAID (Load Acumulator Indirect): pa-ra el acceso indexado a tablas enEPROM.

• Swap nibbles y Ajuste decimal: (ope-ración en BCD): estas instrucciones son degran utilidad para operar con números enBCD.

• Manejo del stack (PUSH y POP): para

la salvaguarda de valores intermedios sinnecesidad de definir áreas de almacena-miento estático y para el pasaje de pará-metros y devolución de resultados de su-brutinas.

• Manejo de bits (set reset test): para elmanejo de los ports y registros internos anivel de bit.

Comparación de los COP con otrosprocesadores de plaza de costo similar

Quizás, quien analice las prestacionesde los COPS, si ha trabajado previamentecon microprocontroladores de mayor per-formance y costo, no resulte sorprendido,pues encontrará en los COP lo que pare-cía natural en aquellos. Lo sorprendentede las prestaciones de los COP surgecuando se los compara con microcontro-ladores de similar pinout y costo.

Si se analizan en nuestro mercado lasofertas de microcontroladores que tienenun costo de mostrador inferior a los cincodólares, sólo encontrará las opciones quepropone Motorola a través de losMC68HC705J1A y MC68HC705K1, y micro-chip con sus PIC_15C54, PIC_16C56 yPIC_16C58. En las líneas siguientes se anali-zan los puntos donde más difieren estosprocesadores de los de la línea COP.

• Diferencias más notables con elMC68HC705K1: este microcontrolador de16 patas y arquitectura Von Neumannofrece la mitad de EPROM (504 bytes) y lamitad de RAM (32 bytes) que el COP máspequeño (COP8SAA7 de 20 pines). Tienesólo 10 pines de I/O frene a los 16 del COPy, aunque su ciclo de instrucción más rápi-do es de 2 MIPS para algunas instruccio-nes, la mayor parte de ellas requiere 2 ci-clos de reloj, con lo que su máxima perfor-mance está también alrededor de 1 MIPS;asimismo, el hecho de que la mayor partede las instrucciones sea de 2 bytes haceque el aprovechamiento de su escasa

LOS MICROCONTROLADORES DE NATIONAL, PHILIPS Y MOTOROLA

Todo sobre PICs 97

Page 4: Capítulo 6

EPROM sea aun menor. El Timer delMC68HC705K1 es uno elemental, de tipofree-run y de lectura solamente, siendo suúnica fuente de reloj el oscilador internodel chip, y sólo puede generar interrupcio-nes por Overflow y cuatro opciones de di-visión adicionales (llamadas Real Time In-terrupt). Cualquier señal de PWM o captu-ra de eventos que se desee realizar debeser por software, con dedicación casi to-tal de la CPU. El acceso a periféricos seriedebe simular la interfase SPI por software.En cuanto al software, sólo posee un regis-tro índice sin opciones de autoincrementoo decremento, no permite el uso delStack, la carga inmediata de datos enmemoria, el intercambio entre acumula-dor y memoria, ni posee instrucciones pa-ra manejo de datos BCD.

• Diferencias más notables con elMC68HC705J1A: este microcontrolador de20 patas y arquitectura Von Neumann po-see EPROM (1.240 bytes) y Ram (64 bytes)en cantidad comparable al COP más pe-queño (COP8SAA7 de 20 pines), y tiene 14pines de I/O (frente a los 16 del COP). Enel resto de sus características es idénticoal MC68HC705K1.

• Diferencias más notables con el PIC16C54: este microcontrolador de 18 patasposee arquitectura RISC tipo Harvard, 512palabras de EPROM y 25 bytes de RAM,en cantidad comparable al COP más pe-queño (COP8SAA7 de 20 pines), sólo 12 pi-nes de I/O (frente a los 16 del COP) y uncosto similar. Su subsistema de Timer es al-go más elaborado que el de los chips deMotorola, aunque más elemental que elde los COP; en él, el contador es legible yla escritura se hace por software, puederecibir su señal de clock reloj del reloj inter-no o de una pata externa, y posee unprescaler programable. Sin embargo, aligual que los procesadores de Motorola,cualquier generación de señales de PWM,

o acceso a periféricos serie (donde debesimularse la interfase SPI) deba ser realiza-da por software, con dedicación casi to-tal de la CPU. No tiene mecanismos de in-terrupción (ni internos, ni externos), poseeun único registro de indirección (FSR) y unStack mínimo de sólo dos niveles sin posibi-lidad de accesos tipo PUSH/POP que limi-ta seriamente la posibilidad de anida-miento de subrutinas. La velocidad de losPIC es notable (5 MIPS), pero la ausenciade interrupciones, y el reducido set de ins-trucciones disponible (33 instrucciones) ha-cen que su performance neta sea com-parable a la de los otros microcontrolado-res analizados; la ausencia de interrupcio-nes, por su parte, hace que la detecciónde eventos sólo pueda ser realizada acosta de ocupar totalmente la CPU, ocon inclusión de test "salpicados" en el có-digo, con una pésima latencia de aten-ción y disminución en la eficiencia del có-digo.

Otras serias diferencias de hardwarecon los COP y los chips de Motorola es lainexistencia de pull-up/down, programa-bles en las patas de I/O y un modo de ba-jo consumo (SLIIP) del que sólo se sale porRESET.

• Diferencias más notables con el PIC16C56: es totalmente similar al PIC 16C54,sólo que posee 1K palabras de programa.

• Diferencias más notables con el PIC16C58: es totalmente similar al PIC 16C54,sólo que posee 2K palabras de programay 72 bytes de RAM.

Características Fundamentales de la Serie COP

Damos a continuación las característi-cas más “atractivas” que suelen darse so-bre esta familia.

Tenga en cuenta que algunos concep-

LOS MICROCONTROLADORES DE NATIONAL, PHILIPS Y MOTOROLA

98 Todo sobre PICs

Page 5: Capítulo 6

tos ya fueron vertidos en el informe quehemos dado al comienzo; reseñamos, eneste caso, la “versión” del fabricante

- Son microcontrolador tipo OTP de 8bits y bajo costo.

- Poseen espacios de programa OTPcon protección para lectura y escritura.

- Son diseñados para que tengan emi-siones de poca radiación.

-El kit se provee con conectores Multi-port para “despertar” (permiten su funcio-namiento en forma versátil), con interrup-tores opcionales de 4 a 8 pines.

- Tienen 8 bits de espacio de almace-namiento en EFROM.

-El operador puede optar por relojes se-leccionables por el usuario:

* Reloj controlado por Cristal/Resonador* Opcion Cristal/Resonador con resiten-

cia sobre chip.* Oscilador Externo* Oscilador R/C Interno

- Poseen Reseteo Interno, seleccionablepor el usuario.

-Están provistos con la posibilidadWATCHDOG y Lógica de Reloj de Monitor.

- Tienen 12 salidas altas de corriente.El cuadro 1 resume algunas característi-

cas a tener en cuenta.

Características del CPU- Versatilidad en las ins-

trucciones de configura-ción, las cuales son demuy facil utilización.

- Tiempo cíclico de ins-trucciones.

- Posee ocho Interrup-tores de servicio de fuen-tes múltiples con vector:

* Interruptor Externo* Timer de inactividad

TO

* Un timer con dos interruptores.* Interfaz Serial MICROWIRE/PLUSTM.* Despertador de puertos múltiples.* Trampa de Software* VIS de fábrica (interruptor de fábrica).- El puntero SP es de 8 bits (en RAM).- Tiene dos Punteros Indirectos de Me-

moria de Datos, 8 bits.- Manejo de Bit Real.- Mapeo de Memoria I/O.- Instrucciones aritméticas BCD.

Características Periféricas- Lógica de Despertador de Entradas

Múltiples.- Posee un timer de 16 bits con dos re-

gistros de 16 bits que soportan:* Un selector PWM de Procesador Inde-

pendiente.* Un contador para evento externos.* Un selector contador de Captura de

Entrada.- Posee un timer de inactividad- La interfaz es Serial MICROWIRE/PLUS

(Compatible con SPI)

Características I/O- Opciones I/O de software selecciona-

bles:* Salida TRI-STATE* Salida para tirar y presionar* Entrada Débil para tirar* Entrada de Impedancia Alta

- Entradas Schmitten puertos G y L

- Hasta 12 salidasde corriente elevada.

- Eficiencia de Pin(ej. En un paquete de44 pines, 40 son desti-nados a I/O).

Diseño CMOS Estático Completo- Drenaje Bajo de

LOS MICROCONTROLADORES DE NATIONAL, PHILIPS Y MOTOROLA

Todo sobre PICs 99

Cuadro 1

Page 6: Capítulo 6

Corriente (normalmente <4 pA).- Operación simple de abastecimiento:

2.7V a 5.5V.- Dos selectores para guardar: HALT y

IDLE.

Rangos de Temperatura0ºC a +70ºC, -40ºC a +85ºC, y de -40ºC a +125ºCSoporte de Desarrollo- Paquete con ventanas para DIP y

PLCC- Emulación en tiempo real y elimina-

ción de funciones erróneas, por completo,de programa ofrecido por MetalLink De-velopment System

En la figura 3 se da el diagrama en blo-ques del integrado COP8SAx7.

La familia COPSAx7 de dispositivos in-corpora circuitos que brindan proteccióncontra interferencias electromagnéticas,es decir, un problema que se incrementaen los diseños de los microcontroladores,de hoy en día.

La tecnología de reducción, patenta-da por EMI, de National, ofrece circuitosde reloj EMI, drivers de salida de encendi-do gradual (GTO) y filtros internos, queayudan a circunscribir muchas de las edi-ciones EMI que influencian los diseños decontrol incorporados.

National logró la re-ducción 15 dB-20 dBen las transmisionesEMI, cuando los dise-ños ya incorporaron sucircuito de reducciónde patente EMI.

Arquitectura

La familia COPSAx7está basada en unaarquitectura de hard-

ware, que permite a las tablas de datostener un acceso directo hacia la memoriade programas. Esto es realmente impor-tante para las aplicaciones modernas quese ubicaban en los microcontroladores, yaque la memoria de programa, usualmen-te, es ROM o EPROM, mientras que la me-moria de datos, normalmente, es RAM.Como consecuencia, las tablas de datosregularmente, deben ser contenidas enROM o EPROM, en consecuencia, no sepierden cuando el microcontrolador tieneun corte de electricidad.

En una arquitectura modificada deHardware, tanto la ida y venida de ins-trucciones como la transferencia de datosde memoria pueden extenderse, con doslíneas de escenario, lo cual permite que lapróxima instrucción se desplace de la me-moria de programa mientras la instrucciónactual está siendo ejecutada, por mediode la utilización de la memoria de datos.Esto no es posible con una arquitecturade dirección simple tipo Von Neumann.

La familia COPSAx7 soporta un esque-ma de multitudes de software que permi-te al usuario incorporar muchos llamadosde subrutinas.

Esta capacidad es importante cuandose utilizan Lenguajes de Nivel Elevado.Con una pila de hardware, el usuario está

LOS MICROCONTROLADORES DE NATIONAL, PHILIPS Y MOTOROLA

100 Todo sobre PICs

Figura 3

Page 7: Capítulo 6

limitado a un número pequeño y fijo de ni-veles de pilas.

Juego de Instrucciones

En el terreno vinculado al costo/benefi-cio, de los microcontroladores de 8 bits,de hoy en día, la flexibilidad y el tiemposon varios de los temas claves, para elmercado, que los diseñadores de sistemasenfrentan al tratar de construir un produc-to de muy buena ingeniería que puedacompetir perfectamente en el mercado.Muchos de estos temas pueden tratarsede manera tal que el juego de instruccio-nes del microcontrolador se ocupe de lastareas de procesamiento. Y esa es la ra-zón por la cual la familia del COP8 ofreceun conjunto de instrucciones único y unaeficiencia de código que requieren los mi-crocontroladores de hoy día, para suminis-trar flexibilidad, funcionalidad, costos re-ducidos y tiempo rápido para su arribo almercado,

La eficiencia de código es importanteya que permite a los diseñadores empa-car, en chip, de una forma más funcionalen menos espacio de memoria de progra-ma (ROM/OTP). Seleccionando un micro-controlador con menos tamaño de me-moria de programa, podemos obtenercostos más bajos de sistema, como asítambién, la seguridad de saber que sepueden empaquetar más en el espaciode memoria de programa disponible.

Herramientas Clave del Juego de Instrucciones

La familia del COPSAx7 incorpora unacombinación única de herramientas vin-culada al juego de instrucciones, las cua-les proveen a los diseñadores, eficiencia

de código óptima y, también, utilizaciónde memoria de programa.

Ejecución de Código de Ciclo Simple/Byte SimpleLa eficiencia se debe al hecho de que

la mayoría de las instrucciones pertene-cen a la variedad de byte simple. Debidoa que el código compacto no ocupa unasuma sustancial de espacio de memoriade programa, los diseñadores pueden in-tegrarle atracciones adicionales, así comofuncionalidad en el espacio de memoriade programa del microcontrolador. Ade-más, la mayoría de las instrucciones eje-cutadas por el dispositivo son de ciclo sim-ple, lo cual conduce a un tiempo mínimode ejecución de programa. En realidad, el77% de las instrucciones son de byte sim-ple, ciclo simple, y proveen un códigomayor, así también, como eficiencia de ti-po I/O, además de una ejecución de có-digo más veloz.

Instrucciones Multifunción, Muchos Byte Simples

El juego de instrucciones COPSAx7 utili-za muchas instrucciones multifunción, bytesimples. Esto permite que una instrucciónsimple logre realizar funciones múltiples,tales, como DRXZ, DCOR, JIK y Carga-/Cambio, con post incremento y post de-cremento, para nombrar algunos ejem-plos. En muchos de los casos, el conjuntode instrucciones puede ejecutar, en formasimultánea, tres funciones con la mismainstrucción de bite simple.

JID: (Salto Indirecto). Instrucción de by-te simple, eventos externos de decodifica-ción y saltos a rutinas de servicios corres-pondientes (frases simples hasta otros nive-les de lenguaje más elevados).

LOS MICROCONTROLADORES DE NATIONAL, PHILIPS Y MOTOROLA

Todo sobre PICs 101

Page 8: Capítulo 6

LAID: (Carga de Acumulación Indirec-ta) Tabla de instrucción de Byte simpleprovee un sendero de datos eficiente des-de la memoria de programa hasta el CPU.Esta instrucción puede ser utilizada para labúsqueda de tabla y para leer la memo-ria de programa completa, en caso denecesitar verificación de cálculos.

RETSK: (Salto de Retorno) La instrucciónde byte simple permite retornar desde larutina y, así, saltar a la próxima instrucción.La decisión puede ser realizada en la su-brutina misma y guardar el código.

AUTOINC/DEC: (Auto Incremento/AutoDecremento). Estas instrucciones utilizanlos dos punteros de memoria B y X parahacer procesar, de modo más eficiente, elbloque de datos.

LOS MICROCONTROLADORES DE PHILIPS

La familia de microcontroladores y peri-féricos que tienen por base el 8051 estábasada totalmente en el patrón industrialpara 8 bits, de alta performance, que tie-nen una arquitectura optimizada paraaplicaciones en control secuencial entiempo real.

Los componentes de es-ta familia encuentran apli-caciones que van desde elcontrol de máquinas indus-triales y de instrumentaciónhasta el control automotriz.Los dispositivos de la seriepueden obtenerse en ver-siones con ROM o EPROMinternas o, solamente, conla CPU.

Con excepción de la83C751, todos los dispositi-

vos de esta familia pueden manejar hasta64 bytes, tanto de programa como dememoria de datos.

En la tabla 1 tenemos los dispositivosque componen esta familia de microcon-troladores.

El 8051, que es el elemento básico,contiene las siguientes funciones:

• CPU de 8 bits optimizada para aplica-ciones de control.

• Capacidad de procesamiento "Boo-leana extensiva" (álgebra de Boole), lógi-ca de bit único.

• 32 líneas bidireccionales e individual-mente dirigibles de entrada y salida (I/O).

• RAM de datos de 128 bytes on-chip.• Dos temporizadores / contadores de

16 bits.• UART dúplex completa.• 5 entradas de interrupciones con dos

niveles de prioridad.• Oscilador de clock on-chip.• Memoria de programa de 4K bytes

on-chip.• Espacio para direccionamiento de

programa en la memoria de 64 bytes.• Espacio para direccionamiento de la

memoria de datos de 64K bytes.• Disponible tanto en cubierta DIL de 40

pines como en cubierta PLC de 44 pines.

LOS MICROCONTROLADORES DE NATIONAL, PHILIPS Y MOTOROLA

102 Todo sobre PICs

Tabla 1 - 8051 Familia de microcontroladores

Nombre Versión sin Versión con BYTES BYTES TIMERS Tipo deROM EPROM ROM RAM 16 bits Circuito

8051 8031 4k 128 2 NMOS80C51 80C31 87C51 4k 128 2 CMOS8052 8032 8k 256 3 NMOS

80C52 80C32 87C52 8k 256 3 CMOS80C053 87C054 8k 192 2 CMOS83CL410 80CL410 4k 128 2 CMOS83C451 80C451 87C451 4k 128 2 CMOS83C528 80C528 87C528 32k 512 3 + WD CMOS83C550 80C550 87C550 4k 128 2 + WD CMOS83C552 80C552 87C552 8k 256 3 + WD CMOS83C562 80C526 8k 256 3 + WD CMOS83C652 80C652 87C652 8k 256 2 CMOS83C654 87C654 16k 256 2 CMOS83C751 87C751 2k 64 1 CMOS83C752 87C752 2K 64 1 CMOS83C851 80C851 4K 128 2 CMOS

Page 9: Capítulo 6

El microcontrolador 80C51 es la versiónCMOS del 8051, siendo totalmente com-patible con el 8051 en términos de funcio-namiento.

Sin embargo, como se trata de un dis-positivo CMOS (a diferencia del 8051, quees NMOS) el consumo es mucho menor. Enla figura 4 tenemos el diagrama en blo-ques del 80C51, a partir del cual haremosel análisis. Todos los miembros de esta se-rie poseen espacios separados para direc-cionamiento y programa de datos, segúnmuestra el diagrama de estructuras de lamemoria en la figura 5.

Esta separación permite que los datosde la memoria sean accesados por unadirección de 8 bits, lo que da como resul-tado un almacenamiento y manipulaciónmás rápidos que los efectuados por unaCPU de 8 bits.

Sin embargo, direcciones de 16 bitstambién pueden ser usadas, generadaspor el registrador DPTR.

La memoria de programa (ROM oEPROM) puede ser leída, pero no graba-da. Tenemos disponibles 64K bytes de es-pacio para la memoria de programa.

En el 80C51, los 4K bytes inferiores estánon-chip.

En las versiones sin ROM,toda la memoria de progra-ma es externa.

El "strobe" para la lecturade 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 programade memoria.

En el 80C51, los 128 bytesde la memoria de datos es-tán sobre el chip. El espaciode la memoria de datos ex-terna puede dirigir hasta 64Kbytes de una RAM externa).

En la versión sin ROM, los128 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 combinarsecon memorias de programas,si se lo desea, a través de laaplicación de señales RD yPSEN en las entradas de una

LOS MICROCONTROLADORES DE NATIONAL, PHILIPS Y MOTOROLA

Todo sobre PICs 103

Figura 4

Figura 5

Page 10: Capítulo 6

puerta AND, se utilizará su salida como"strobe" de lectura para la memoria dedatos / programa externa.

Memoria de Programa

En la figura 6 tenemos el diagrama enbloques de la memoria de programa.

Después de reseteada, la CPU inicia laejecución del programa a partir de la di-rección 0000h.

Tal como se muestra en la figura 6, ca-da interrupción es designada por una di-rección fija en la memoria de programa.

La interrupción se origina cuando laCPU salta hacia la dirección correspon-diente, donde tiene su inicio la rutina deservicio (rutina de tratamiento de interrup-ción).

Una interrupción 0 externa, por ejem-plo, determina una dirección 0003h.

Si se usara una interrupción 0 externa,la rutina de servicio deberíacomenzar por la dirección0003h. Si la interrupción no seusara, la dirección estaría dis-ponible como memoria deprograma de uso general.Las direcciones de las sub-ru-tinas de tratamiento de inte-rrupción están separadas porintervalos de 8 bytes: 0003hpara la interrupción externa

0; 000Bh para el timer 0; 0013h para la in-terrupción externa 1; 001Bh para el timer1, etc.

Si una rutina de tratamiento de interrup-ción fuera lo suficientemente corta (comoen 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-ción de salto para evitar direcciones deinterrupciones subsiguientes, si otras inte-rrupciones no estuvieran en uso. Los 4K by-tes inferiores de la memoria de programapueden estar tanto en la ROM on-chip co-mo es una ROM externa. El pin EA (Exter-nal Access) permite hacer la selección.

En el 80C51, si el pin EA fuera conecta-do al Vcc, el programa iría a buscar las di-recciones de 0000h hasta OFFFh en laROM interna, y de 1000h hasta FFFFh en laROM externa.

Si el pin EA fuera conectado al Vss, en-tonces el programa trabajaría como lasdirecciones de la ROM externa.

La figura 7 muestra el hardware ponela ejecución de trabajos externos.

Observe que las 16 líneas de I/O (ports0 y 2) están dedicadas a la cancelaciónde instrucciones durante las acciones ex-ternas de la memoria de programa.

El port 0 (PO, en la figura 7) sirve comomultiplexador de direcciones y datos.

Ella emite el byte inferior del contadorde programa (PCL) como una dirección y,

LOS MICROCONTROLADORES DE NATIONAL, PHILIPS Y MOTOROLA

104 Todo sobre PICs

Figura 6

Figura 7

Page 11: Capítulo 6

entonces, permanece en un estado fluc-tuante en espera de la llegada del bytede código de la memoria de programa.

Durante el intervalo en el que el byteinferior del contador de programa fue vá-lido en el port 0, la señal ALE (AddressLatch Enable) juega este byte en un latch(cerrojo) de direccionamiento.

Mientras tanto, el port 2 (P2 en la figura7) emite un byte superior del contador deprograma (PCH). Entonces, PSEN, a travésdel "strobe" permite que el microcontrola-dor lea el byte del código en la EPROM.Las direcciones de memoria de programason siempre 16 bits, aun cuando se use unespacio real de menos de 64 bytes. En es-tas condiciones, la ejecución del progra-ma externo sacrifica dos ports de 8 bits,PO y P2, para funcionar en la dirección dela memoria de programa.

Memoria de Datos

La mitad derecha de la figura 5 (pági-na 103) muestra los espacios internos y ex-ternos de la memoria de datos disponibleen el 80C51.

En la figura 8 tenemos una configura-ción de hardware que permite accesarhasta 2K bytes de una memoria RAM ex-terna.

En este caso, la CPU opera a partir dela ROM interna.

La CPU genera las señalesRD y WR, a medida que seannecesarias durante el accesoa RAM externa.

Pueden usarse hasta 64Kbytes de memoria externa.

Las direcciones para ac-cesar los datos de la memo-ria externa pueden utilizartanto 1 como 2 bytes de ex-tensión.

Las direcciones de 1 byte también sonusadas en conjunto con una o más líneasde I/O para paginar la RAM, según mues-tra la misma figura 8.

En el caso de que la parte más alta seaemitida por el port 2, pueden usarse direc-ciones de dos bytes.

La memoria interna de datos está grafi-cada en la figura 9. El espacio de la me-moria está dividido en 3 bloques que sonreferidos como: 128 - inferiores, 128 - supe-riores y espacio del SFR (Special FunctionRegister).

Las direcciones de la memoria de da-tos interna son siempre de 1 byte de ex-tensión, lo que implica un direccionamien-to de sólo 256 bytes.

Además de eso, los modos de direccio-namiento de la RAM interna pueden, dehecho, acomodar 384 bytes, utilizan untruco simple: las direcciones directas, porencima de 7Fh, accesan un espacio dememoria ylas direccio-nes superio-res a 7Fh ac-cesan un es-pacio dife-rente.

La figura 9muestra los128 - superio-res y el SFRocupados

LOS MICROCONTROLADORES DE NATIONAL, PHILIPS Y MOTOROLA

Todo sobre PICs 105

Fig. 9

Figura 8

Page 12: Capítulo 6

por el mismobloque de di-recciones: de80h hasta FFh,mientras que,en realidad,son entidadesfísicamente di-ferentes.

Los 128 by-tes inferioresde la RAM es-tán presentesen todos losdispositivos80C51, comose grafica enla figura 10.

Los 32 bytesinferiores estánagrupados en

4 bancos de 8 registradores.Las instrucciones del programa llaman

a estos registradores externamente de R0a R7. Dos bits del PSW (Program StatusWord) seleccionan del banco de registra-dores cuál va a ser usado.

Este procedimiento permite una utiliza-ción más eficiente del espacio para códi-go, ya que las instrucciones son más cor-tas que las que usan direccionamiento di-recto.

Los 16 bytes siguientes,por encima de los bancosde registradores, forman unbloque de espacio de me-moria dirigible por bit.

El set de instrucciones del80C51 incluye una ampliaselección de instruccionesde bit único, y los 128 bitsde esta área pueden ser di-rectamente dirigidos por es-tas instrucciones. Las direc-ciones de bits en esta área

van de 00h a 7Fh. Todos los bytes en los128 - inferiores resultan accesibles tantopor direccionamiento directo como indi-recto.

Los 128 - superiores, tal como muestrala figura 11, sólo son accesibles por direc-cionamiento indirecto.

En la figura 12 tenemos una visión delSpecial Function Register (SFR) y del espa-cio que ocupa.

Esta estructura incluye latches (cerrojos)de puertas, timers, controles, periféricos,etc. Estos registradores pueden ser accesi-bles, solamente, por direccionamiento di-recto. Dieciséis direcciones en el espacioSFR son accesibles tanto por byte comopor bit. Los SCF pueden accesarse por bity son los que tienen direcciones termina-dos en 0h u 8h.

A través de la segunda parte de estanota, los proyectistas podrán tener unamejor visión de cómo y dónde usar el mi-crocontrolador 80C51 y sus periféricos.

El Set de Instrucciones del 80C51

El Set de Instrucciones del 80C51 estáespecialmente confeccionado para suutilización en aplicaciones de control con8 bits.

Proporciona gran varie-dad de modos de direccio-namiento rápido para acce-der a la RAM interna, con loque se facilitan las operacio-nes con bytes en pequeñasestructuras de datos.

El Set de Instruccionesprevé, además, un soporteextensivo para variables de1 bit, como los del tipo dedatos separados, así permitela manipulación directa delbit en sistemas lógicos y de

LOS MICROCONTROLADORES DE NATIONAL, PHILIPS Y MOTOROLA

106 Todo sobre PICs

Fig. 10

Fig 12

Fig. 11

Page 13: Capítulo 6

control que requie-ran un procesa-miento booleano.

Program Status Word (PSW)

El Program StatusWord (PSW) contie-ne diversos bits destatus que indicanel estado corrientede la CPU. El PSW, que se muestra en la fi-gura 13, reside en el espacio de la SFR.

El PSW contiene el bit de carry, o carryauxiliar (para operaciones en BCD), losdos bancos de registradores para selec-ción de bits, el aviso de overflow, un bitde paridad y dos flags de uso que puedeser definido por el usuario.

El bit de carry, además de servir para sufunción específica, también actúa comoacumulador para un cierto número deoperaciones booleanas.

El bit de paridad indica el número de"uns" no acumulados. Si P=1, entonces elacumulador contiene un número imparde "uns". Si P=0, el acumulador contieneun número par de "uns".

Vemos así que si tenemos en cuenta elnúmero de "uns" en el acumulador suma-do al valor de P, tendremos siempre un re-sultado par.

Modos de Direccionamiento

En el 80C51 tenemos los siguientes mo-dos de direccionamiento:

a) Modo Directo:

En esta modalidad de direccionamien-to, el operando está especificado por una

dirección de 8 bits en la instrucción. Sólola RAM interna de datos y la SFR puedenser directamente direccionadas.

b) Modo Indirecto

En el direccionamiento indirecto, la ins-trucción especifica un registrador quecontiene una dirección del operando.Tanto la RAM interna como la externapueden ser indirectamente direcciona-das.

c) Instrucciones del Registrador:

Los bancos de registradores que contie-nen los registradores de R0 a R7 puedenser accedidos por ciertas instruccionesque lleven una especificación de registra-dor de 3 bits conjuntamente con el códi-go de la instrucción (opcode).

Las instrucciones que acceden los regis-tradores en esta forma son "code effi-cient", ya que así se elimina la necesidadde un byte de dirección.

Cuando la instrucción es ejecutada,uno de los ocho registradores del bancoseleccionado es accedido mientras queuno de los cuatro bancos es selecciona-do en el tiempo de ejecución por los dosbits de selección de bancos en el PSW(figura 13).

LOS MICROCONTROLADORES DE NATIONAL, PHILIPS Y MOTOROLA

Todo sobre PICs 107

Fig 13

Page 14: Capítulo 6

d) Instrucciones Específicas de Registradores:

Algunas instrucciones son específicaspara ciertos registradores como, por ejem-plo, las que siempre operan en el Acumu-lador o en el Data Pointer, de modo quepara ellas no se necesita bit alguno de di-reccionamiento para su uso. El opcode lohace por sí solo.

e) Constante Inmediata:

El valor de una constante puede seguirel opcode en la Memoria de Programa.Por ejemplo:

MOV A, 100

carga el acumulador con el númerodecimal 100.

El mismo número puede especificarseen dígitos hexadecimales como 64 h.

f) Direccionamiento Indexado:

Sólo la Memoria de Programa puedeser accedida con direccionamiento inde-xado, siendo, después, sólo posible la lec-tura. Este modo de direccionamiento está

destinado a la lectura de tablas de con-sulta en la Memoria de Programa. Otro ti-po de direccionamiento indexado se usapara el caso de una instrucción JUMP. Eneste caso, el direccionamiento de destinode una instrucción JUMP es computadocomo la suma de los datos del acumula-dor con el Data Pointer.

g) Instrucciones Aritméticas:

El menú de las instrucciones aritméticasdel 80C51 está listado en la tabla 2, don-de están indicados los modos de direccio-namiento que pueden usarse con cadainstrucción para acceder el <byte> ope-rando. Los tiempos de ejecución en la listade la tabla 1 son para una frecuencia declock de 12MHz. Todas las instruccionesaritméticas son ejecutadas en 1µs, excep-to la INC DPTR, que lleva 2µs, y las instruc-ciones de multiplicación y división, que lle-van 4µs.

Obsérvese que cualquier byte en el es-pacio interno de la Memoria de Datospuede ser incrementado sin pasar por elAcumulador.

h) Instrucciones Lógicas:

La tabla 3 muestra la listade instrucciones lógicas dis-ponibles en el 80C51. Las ins-trucciones que realizan ope-raciones booleanas (AND,OR, Exclusive OR, NOT) conbytes utilizan bit por bit. Losmodos de direccionamientoque 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

LOS MICROCONTROLADORES DE NATIONAL, PHILIPS Y MOTOROLA

108 Todo sobre PICs

Tabla 2

Page 15: Capítulo 6

12MHz. Las otras demoran 2µs.Si la operación se origina como res-

puesta a una interrupción, el hecho de noutilizarse el Acumulador economiza tiem-po y esfuerzo en el sentido de la introduc-ción de datos en la pila de ejecución dela rutina de servicio.

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 tenemoslos modos de direcciona-miento que pueden utilizarsecon cada instrucción. Conun clock de 12MHz, todas es-tas instrucciones son ejecuta-das tanto en 1µs como en2µs. La instrucción MOV<dest>, <src> permite latransferencia de datos entrecualquier locación de la RAMo SFR, sin pasar por el Acu-mulador. Recuérdese quehasta 128 bytes de datos dela RAM pueden accedersesólo por direccionamiento in-directo, y que el espacio dela SFR solamente puede seraccedido por direcciona-miento directo.

En la tabla 5 puede obser-varse una lista de instruccio-nes para transferencia dedatos accediendo la Memo-ria Externa de Datos.

Sólo pueden utilizarse di-reccionamientos indirectos, yla elección puede recaertanto por direccionamientos

de 1 bit, tipo Ri, donde Ri puede ser R0 oR1 del banco seleccionado, como tam-bién de dos bits, del tipo DPTR.

La desventaja de la utilización de direc-cionamientos de 16 bits, en caso de quepocos k bytes de la RAM externa esténcomprometidos en un solo control, es que

LOS MICROCONTROLADORES DE NATIONAL, PHILIPS Y MOTOROLA

Todo sobre PICs 109

Tabla 3

Tabla 4

Tabla 5

Page 16: Capítulo 6

los direccionamientos de 16 bits usan to-dos los 8 bits del port 2 y, también, el barri-do de direccionamientos.

Por otro lado, direccionamientos de 8bits permiten el direccionamiento de po-cos bytes de la RAM sin sacrificar todo elport 2. Todas estas instrucciones son ejecu-tadas en 2µs con un clock de 12MHz.

Nótese que en todos los accesos a laRAM externa el Acumulador está funcio-nando como origen y destino de los da-tos.

La tabla 6 muestra las dos instruccionesque están disponibles para la lectura detablas de consulta en la Memoria de Pro-grama.

Como estas instrucciones acceden so-lamente la Memoria de Programa, las ta-blas de consulta sólo pueden ser consulta-das y no actualizadas.

j) Instrucciones Booleanas:

Los dispositivos 80C51 con-tienen un procesador com-pleto para instrucciones boo-leanas (bit único).

La RAM interna contiene128 bits direccionables, y elespacio SFR puede aceptarhasta 128 bits direcciona-bles. Todas las líneas de portsson direccionables por bit, ycada una puede ser tratadacomo un port de bit único.

Las instrucciones que ac-ceden estos bits no tienenuna única función: tambiénpueden operar un menúcompleto de opciones, talescomo descolocación, fija-ción, apagado, comple-mentación, puerta OR, AND,etc.

Estas operaciones de bitúnico no se obtienen fácil-

mente en otras arquitecturas sin la ayudade una buena cantidad de softwareorientado para esta finalidad.

El Set de Instrucciones para el procesa-dor booleano se observa en la tabla 7.

Los direccionamientos de los bits de 00hhasta 7Fh están en los 128 inferiores, y losde 80h hasta FFh se encuentran en el es-pacio SFR. Nótese que el Set de Instruccio-nes booleanas incluye operaciones ANL yORL, pero no la operación XRL (ExclusiveOR).

Una operación XRL resulta fácil de im-plementar mediante el software.

Offset relativo: Los direccionamientosde destino para estos saltos están especifi-cados al dispositivo por medio de un ar-chivo o por un direccionamiento real enla Memoria de Programa.

LOS MICROCONTROLADORES DE NATIONAL, PHILIPS Y MOTOROLA

110 Todo sobre PICs

Tabla 6

Tabla 7

Page 17: Capítulo 6

k) Instrucciones deSalto (JUMP):

En la tabla 8 vemos unalista de jumps incondicio-nales al tiempo de ejecu-ción para un clock de 12MHz. La distancia del saltoestá limitada a la bandade -128 a +127 bytes relati-vos a la instrucción que si-gue el JMP. JMP es el mo-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 destinopor el método de offset re-lativo, y, por eso, están limitados a una dis-tancia de -128 a +127 bytes a partir de lainstrucción que determina el salto. Es im-portante observar que el usuario especifi-ca el assembler (ensamblador) o direccio-namiento real de destino de la misma for-ma que en los jumps comunes: como unarchivo de constantes de 16 bits. Otraaplicación para esta instrucción está enlas comparaciones del tipo "menor que".

Timing de la CPU

Todos los microcontroladores 80C51 po-seen un oscilador on-chip que puede utili-zarse como fuente de señal de clock parala CPU.

Para usar el oscilador on-chip conecteun cristal al resonador cerámico entre lospines XTAL1 y XTAL2 del microcontrolador ycapacitores a tierra, tal como muestra lafigura 14.

En la figura 15 tenemos ejemplos de có-mo utilizar un oscilador externo como ge-nerador de clock.

Ciclo deMáquina

Un ciclode máquinaconsiste enuna secuen-cia de 6 es-tados, nu-meradosdesde S1hasta S6.

Cada es-tado exige,por lo me-nos, dos pe-ríodos del os-cilador, loque significaque un ciclode máquinademora 12ciclos del os-cilador, co-rrespondien-tes a 1µs si la

LOS MICROCONTROLADORES DE NATIONAL, PHILIPS Y MOTOROLA

Todo sobre PICs 111

Tabla 8

Tabla 9

Fig. 15

Fig. 14

Page 18: Capítulo 6

frecuencia del clock fuera de 12 MHz. Ca-da estado está dividido en mitades quecorresponden a Fase 1 y Fase 2. La figura16 muestra la secuencia de estados y fa-ses para diversos tipos de instrucciones.Las secuencias descriptas son las mismastanto para la utilización de una Memoriade Programa interna como externa. Eltiempo de ejecución también es indepen-diente del uso de las memorias usadas.

Estructura de Interrupciones

El 80C51, en su versión sin ROM y conEPROM, posee 5 fuentes de interrupción: 2

externas, 2 por timer y el port serial de in-terrupción. A continuación damos una vi-sión general de la estructura de interrup-ciones del dispositivo, ya que una profun-dización mayor sólo sería posible con unanálisis más detallado del manual delcomponente.

Habilitación de Interrupciones

Cada fuente de interrupción puede serhabilitada o inhabilitada individualmentepor la colocación o el retiro de un bit enla parte de la SFR denominada IE (Inte-rrupt Enable). Este registro contiene, tam-

bién, un bit de inhabilitaciónglobal 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 presentaruno o dos niveles de priori-dad por la utilización de unbit en la SFR denominado IP(Interruptor Priority). Una inte-rrupción de baja prioridadpuede detenerse por una in-terrupción de alta prioridadpero NO por otra de bajaprioridad. En caso de recibir-se dos pedidos de interrup-ción al mismo tiempo, seráatendido el de mayor nivelde prioridad.

Si fueran recibidas dos ins-trucciones de interrupción deigual prioridad al mismo tiem-po, una secuencia interna de

LOS MICROCONTROLADORES DE NATIONAL, PHILIPS Y MOTOROLA

112 Todo sobre PICs

Figura 16

Page 19: Capítulo 6

evaluación determina cuál es la que de-berá ser atendida.

Simulando un Tercer Nivel de PrioridadVía Software: Algunas aplicaciones exigenmás que los dos niveles de prioridad dis-ponibles en el 80C51.

En estos casos, un software relativa-mente simple puede utilizarse para tenerel mismo efecto de un tercer nivel de prio-ridad.

Este software aumenta un tiempo de10µs (con 12MHz) para las interrupcionesde prioridad 1.

NotaLa descripción de la arquitectura que

dimos fue simplificada, ya que la compleji-dad del dispositivo no nos permite haceruna descripción completa en el poco es-pacio que disponemos.

No obstante, esperamos que haya sidolo bastante detallada para permitirle alproyectista una visión de las posibilidadesdel dispositivo.

MICROCONTROLADORES DE MOTOROLA

Ningún componente electrónico impac-tó tanto en la estructura de nuestra indus-tria (y en la sociedad en general) como lohizo el microprocesador. Ni siquiera el tran-sistor, o el circuito integrado, modificarontanto las estructuras; ya que en el fondosólo cambiaron el tamaño, las prestacio-nes y el precio de los equipos; pero las in-dustrias siguieron siendo como eran antes:un lugar donde se montaban componen-tes sobre una placa, se probaban los con-juntos, se colocaban en un gabinete y sevendían. De hecho cada componente te-nía una función para la cual había sidoconstruido y no se podía emplear paraotra cosa.

Un microprocesador es otro tipo decomponente. Nace con la capacidad deser adecuado para diferentes usos; el mis-mo micro puede usarse para una grancantidad de aplicaciones, que ni siquierasu propio fabricante conoce. En este artí-culo, vamos a presentar una aplicacióndel microprocesador MotorolaMC68HC705J1 donde se lo utiliza paracontrolar la cerradura eléctrica de unapuerta, con introducción de un código nu-mérico por un teclado; pero con el mismointegrado, se puede realizar una interfazpara comunicarse con una PC en formaremota, o un detector de estado del cierrede puertas de una casa, o cualquier otraaplicación que pueda resolverse concompuertas lógicas, con temporizadores oque implique el ingreso de datos y su pro-cesamiento matemático o lógico y la sali-da de los datos procesados con destino adiodos LEDs, relés, optoacopladores, triacs,etc. Esta ductilidad en su comportamientoes debida a que el integrado permite queel diseñador programe las funciones quedebe cumplir, incluso si no está conformecon el funcionamiento o desea realizarotra aplicación, puede desprogramar elintegrado y volverlo a programar tantasveces como lo desee, si se trata de la ver-sión EPROM. Esto merece un comentariomás extenso.

LAS VERSIONES EPROM Y OTP

Primero vamos a explicar qué significanlas iniciales del subtítulo:

EPROM: ERASABLE PROGRAMABLE READONLY MEMORY - MEMORIA DE LECTURASOLAMENTE, BORRABLE Y REPROGRAMABLE

OTP: ONE TIME PROGRAMING - MEMO-RIA DE LECTURA SOLAMENTE, QUE ADMITEUNA UNICA PROGRAMACION

Una vez programados o grabados, am-

LOS MICROCONTROLADORES DE NATIONAL, PHILIPS Y MOTOROLA

Todo sobre PICs 113

Page 20: Capítulo 6

bos dispositivos realizan la misma función.La diferencia fundamental entre ambos,está en el precio. La relación de preciosentre un EPROM y un OTP para el modeloque describimos, es de unas trece veces.La versión EPROM, se utiliza sólo para elproceso de desarrollo; una vez que el pro-totipo ha sido depurado en su funciona-miento, el producto industrial se realizacon la versión OTP. En general el precio dela OTP es comparable al precio de 3 ó 4compuertas lógicas y su prestación es muysuperior.

El significado de la palabra programar ograbar es el siguiente. El microprocesadorcontiene una memoria, en donde se guar-dan ordenadamente los datos necesariospara que funcione. A la memoria pode-mos considerarla como una cajonera delas que utilizamos para guardar materiales.Cada cajoncito tiene su número (sólo queeste caso es un número hexadecimal, verapéndice A). Cada cajoncito, al que lla-maremos dirección o posición de memo-ria, tiene ocho separaciones internas (cel-das de memoria) en donde vamos a co-locar un cartón escrito con un uno o uncero (que llamamos bit). Cada bit tieneuna determinada posición en el cajón, alos más internos los llamamos los menossignificativos y a los más externos, los mássignificativos. Cada bit es un dato que de-seamos almacenar para recuperarlo pos-teriormente y utilizarlo adecuadamente.

Los conjuntos de ocho bits forman unacadena de símbolos o palabra, que en in-glés se denomina BYTE. Para no confundirlos términos en lo sucesivo vamos a llamar“bit” a cada elemento y “octeto” al con-junto de ocho bits (las cadena de 4 bits re-ciben en inglés el nombre de “nibble” ynosotros lo llamaremos cuarteto). Al grabarel programa, se determina el uso de cadaposición de memoria como contenedorade una instrucción (por ejemplo: sumar,

comparar, realizar la operación lógicaAND, etc) en tanto que otras posicionesde memoria se destinan a guardar datosfijos (simplemente números digitales trans-formados a binarios). En cualquiera de losdos casos, las posiciones de memoria tie-nen guardados una serie de uno o ceros;sólo que el micro los decodifica adecua-damente, para transformarlos en númeroso instrucciones.

Las memorias se ordenan según su ca-pacidad de almacenar octetos, cuartetoso palabras de otra cantidad de bits. Porejemplo, el micro que nos ocupa tieneuna capacidad de almacenar 1.200 octe-tos, en su memoria EPROM, disponibles pa-ra el uso (hay posiciones prohibidas queno pueden utilizarse, es decir que son co-mo cajones trabados). Con el mismo lugarasignado para la memoria, podrían mane-jarse 2.400 cuartetos en otro dispositivoque funcionara con organización de 4 bits.Para simplificar las cosas se puede decirque nuestra memoria tiene una capaci-dad de 1200x8.

Una EPROM está construida con unamatriz de transistores MOSFET, que quedanen una condición de conducción (cero) ode corte (uno), según el estado de cargade su compuerta, que puede considerasecomo un capacitor. Estos capacitores tie-nen tan buena aislación que conservan sucarga por muchos años, manteniendo losdatos grabados; este proceso se realizacon pulsos de tensión de unos 14V. La úni-ca manera de borrar la memoria, es expo-ner el chip a la luz ultravioleta, que ingresapor una ventana transparente. En ese mo-mento, la luz genera portadores de cargaen las aislaciones de las compuertas, co-mo para que éstos descarguen el capaci-tor. Luego se puede volver a escribir sobrela memoria, una vez tapada la ventana.

Una OTP es una matriz de diminutos fusi-bles que se queman en el momento de la

LOS MICROCONTROLADORES DE NATIONAL, PHILIPS Y MOTOROLA

114 Todo sobre PICs

Page 21: Capítulo 6

escritura (también se requiere una tensiónmás alta que la normal para producir la fu-sión de los microfusibles). Con esta estruc-tura, una vez grabada, la memoria nopuede ser borrada.

El proceso de escritura de las memoriasse realiza con una placa especial (que seincluye en el kit de desarrollo junto con unmicro tipo EPROM) y que sirve para grabarcualquiera de los dos dispositivos. Esta pla-ca se conecta a una PC, donde se correun disquete especial que se entrega conel kit de desarrollo. El programa de trabajodesarrollado se escribe en la PC desde lamisma, se transfiere al micro a través de laplaca de desarrollo. Luego se retira el mi-cro de la placa del kit de desarrollo y seubica definitivamente en la placa de pro-ducción, si es una OTP, o en la placa pro-totipo, si es una EPROM.

En realidad el disquete que viene con elkit de desarrollo no sólo sirve para escribirel programa en nuestro micro; ésa es sólouna de sus funciones. También per-mite realizar la “simulación” del mi-cro J1 y los componentes externoscon la PC y correr el programa de-sarrollado, para verificar su funcio-namiento en forma virtual, sin reali-zar ninguna placa prototipo. Unavez completada esa primera eta-pa del desarrollo, se pasa a una se-gunda etapa llamada de “emula-ción”; en esta etapa, la PC cumplesólo la función del micro J1, sincomponentes externos y sirve pre-cisamente para probar la placaprototipo 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

dispositivo está construido con MOSFETs,las tensiones de alimentación negativa ypositiva se llamen VSS y VDD, respectiva-mente (S de SURTE = surtidor y D de DRAIN= sumidero). El Motorola J1 opera con unatensión de fuente simple de 3,3 a 5V, co-nectada a la pata 9 (VDD) y con el nega-tivo de fuente conectado a la pata 10(VSS).

Un micro es un dispositivo cuyo consu-mo puede ser muy variable, en función delprograma, de la tensión de fuente y de lavelocidad a la cual trabaja el dispositivo.En el modo de funcionamiento normal, lavelocidad está directamente determinadapor la frecuencia del cristal o filtro cerámi-co del clock (este tema se tratará en elpróximo punto). Pero aparte del modo defuncionamiento normal, el J1 tiene otrosdos modos de funcionamiento: WAIT (len-to) y STOP (parado); esos modos de fun-cionamiento están previstos para que eldispositivo reduzca dramáticamente el

LOS MICROCONTROLADORES DE NATIONAL, PHILIPS Y MOTOROLA

Todo sobre PICs 115

Figura17

Page 22: Capítulo 6

consumo, ya que está previsto para ser ali-mentado con pilas, cuando trabaja comocontrol remoto, o en los sistemas de alar-ma en caso de corte de energía.

Por todo esto, el consumo debe expre-sarse a través de una tabla, en función dela tensión de alimentación, la frecuenciadel cristal y el modo de funcionamiento.Ver figura 17.

Otra cosa a tener en cuenta con res-pecto al consumo, es que es sumamentevariable por pulsos, debido a las caracte-rísticas de los circuitos digitales, que consu-men sobre todo durante las conmutacio-nes. Esto obliga a conectar dos capacito-res, entre el terminal de VDD y el de masa;uno de valor alto (electrolítico) y otro devalor más pequeño, con buenas caracte-rísticas de respuesta a altas frecuencias(cerámico multicapa o poliéster metaliza-do) de 0,1µF.

Los capacitores deben conectarse lomás cerca posible de los terminales del mi-cro, con pistas cortas y anchas.

De otro modo, la tensión VDDtendría lo que se llama ruido digi-tal, que puede causar un funciona-miento errático del dispositivo. Verfigura 18.

Oscilador de Clock

Un micro es un dispositivo quefunciona de modo secuencial; por lo tan-to, todo su funcionamiento se basa en lageneración de una señal llamada deCLOCK (reloj) que determina el ritmo defuncionamiento de todo el dispositivo. Engeneral, todos los procesos internos se lle-van a cabo justo cuando el CLOCK cam-bia de estado; por ejemplo, la circulaciónde los datos, que se transfieren interna-mente en forma sincrónica con el clock.

La señal de clock se puede generar dediferentes maneras, según qué elementosse conecten sobre las patas 1 (OSC1) y 2(OSC2).

El sistema más estable es conectandoun cristal y un resistor entre ambas patas ydos capacitores a masa desde cada pa-ta. Ver figura 19.

El resistor cumple la función de hacerarrancar al oscilador, y su uso puede evi-tarse, ya que el micro tiene un resistor inter-no de 2MΩ, que queda conectado o no,en función de la grabación de la memoria(una posición de memoria se dedica ex-

clusivamente a realizar las modi-ficaciones de la arquitectura in-terna del dispositivo, en funciónde las necesidades del circuito).La frecuencia máxima del cristalque puede utilizarse, dependede la tensión de fuente: parauna tensión nominal de 5V, serecomienda usar un cristal de4MHz o menor, en tanto quepara una tensión nominal de

LOS MICROCONTROLADORES DE NATIONAL, PHILIPS Y MOTOROLA

116 Todo sobre PICs

Figura 18

Figura 19

Page 23: Capítulo 6

3,3V se recomienda no superar los 2MHz. Eltipo de cristal más recomendable es el decorte AT, para evitar la sobreexcitación deloscilador. Ver figura 20.

Cuando se trata de fabricar dispositivosde bajo costo, lo más recomendable esutilizar un resonador cerámico, en lugardel cristal. La estabilidad del resonador ce-rámico, es menor que la del cristal; pero essuficiente para la mayoría de las aplica-ciones (el micro puede trabajar comotemporizador y la estabilidad de tiempo esdirectamente proporcional a la estabilidaddel CLOCK). Ver figura 21.

En el futuro, este micro estará previstopara usar un oscilador RC, en el que no serequiera buena estabilidad. Se debe con-sultar al representa local de Motorola, porla disponibilidad de esta prestación.

Un micro puede trabajar en forma en-ganchada con otro, del mismo o de dife-rente tipo, inclusive de otra marca, mien-tras sea un CMOS compatible. En este ca-

so, la conexión es muy simple: lapata uno se utiliza como patade entrada, dejando libre la pa-ta dos. Ver figura 22.

La velocidad con la que elmicro realiza cada ciclo de ins-trucción, es directamente pro-porcional a la frecuencia delclock. En este modelo, cada ci-clo de instrucción dura 476nS, siel cristal es de 4MHz y VDD es

5V (en realidad el clock interno trabaja a2MHz, ya que el generador de clock tieneacoplado un divisor por dos). Para VDD de3,3V y cris-tal de2MHz, ca-da ciclode instruc-ción duraaproxima-damente1µS.

RESET Y WATCHDOG (COP)

La abreviatura COP significa: COMPU-TER OPERATING PROPERLY que se traducepor: OPERACION APROPIADA DEL COMPU-TADOR.

El micro realiza su tarea en forma rutina-ria y secuencial, cumpliendo cada pasode programa y cuando llega al último, co-

mienza reiterativamente por elprimero o por otro, si el últimopaso así se lo indica. Esta rutina,se puede alterar de dos mane-ras diferentes: por el RESET, o poruna interrupción IRQ. En estepunto trataremos el modo RE-SET.

El RESET, se puede producirautomáticamente, o como unacondición buscada exterior-

LOS MICROCONTROLADORES DE NATIONAL, PHILIPS Y MOTOROLA

Todo sobre PICs 117

Figura 21

Figura 20

Figura 22

Page 24: Capítulo 6

mente con un pulsador, conec-tado desde la pata 20 a masa.Cuando se opera el RESET, elmicro retorna a una condiciónpreestablecida de arranque,carga todos los dispositivos quepueden memorizar con los oc-tetos indicados por el progra-ma (generalmente 00000000) yluego arranca por el primer pa-so de programa.

En algunos casos (sobre todocuando se está en una etapapoco avanzada del desarrollo) se puedenproducir errores de funcionamiento, quelleven al programa a trabajar sobre un la-zo cerrado, del cual no puede salir por símismo (en la jerga se dice que el sistemase quedó colgado). Tambien puede ocurrirque, por error, se pretenda acceder a unaposición de memoria ilegal (una direcciónreservada para un uso fijo del micro).

En ambos casos, opera un sistema lla-mado WATCHDOG (literalmente: perroguardián). El WATCHDOG produce un RE-SET automático, si es que el micro demoramás que un tiempo preestablecido pararealizar su rutina principal; del mismo modoopera, si se pretende utilizar una posiciónde memoria ilegal. A este sistema tambiénse lo llama COP WATCHDOG (literalmenteperro guardián de la operación apropiadadel microcomputador).

En la versión OTP, existe un resistor inter-no conectado a la tensión de fuente VDD;es decir, que sólo basta con conectar lapata 20 a masa con un pulsador. Tambiénexiste un diodo interno, que limita la ten-sión si ésta supera a la de fuente y queademás arrastra hacia masa la tensión dela pata 20, cuando se desconecta la fuen-te VDD. La pata 20 no opera directamen-te sobre micro, sino que lo hace a travésde un SCHMITT TRIGGER (disparador deSchmitt: dispositivo de disparo con histére-

sis de tensión) que aumenta la inmunidaddel micro frente al ruido, para evitar quese produzca un RESET indeseado. Ver figu-ra 23.

La versión EPROM de este dispositivo notiene ni el resistor ni el diodo y, por lo tanto,se debe prever su ubicación en la placaprototipo.

Las Interrupciones IRQ

La pata 19 es de doble función, sirvecomo una entrada de interrupción o co-mo pata de grabación del programa,cuando se trabaja con tensiones superio-res a 12V. Entre 0V y VSS, esta pata operadeteniendo el programa normal, peroacumulando previamente todos los datosexistentes en cualquier tipo de componen-te interno, capaz de memorizar datos (re-gistros, memoria volátil, etc.) Cuando ter-mina el programa de interrupción, el pro-grama principal continúa funcionandonormalmente, en el paso en donde se ha-bía interrumpido su funcionamiento.

Cuando se realiza una interrupción, elmicro sale de su programa normal y realizaotro programa. Es como dejar de realizarel trabajo habitual, para realizar otro enforma momentánea y luego volver a la ta-rea normal. En realidad, existen otras 4 pa-

LOS MICROCONTROLADORES DE NATIONAL, PHILIPS Y MOTOROLA

118 Todo sobre PICs

Figura 23

Page 25: Capítulo 6

tas que pueden producir interrupciones(15, 16, 17 y 18). Estas patas pueden usar-se como entrada IRQ, o como entrada osalida de datos. La elección se realiza porel programa junto con la grabación deldispositivo. A este tipo de selección, se laconoce como MASKABLE (enmascarable)y se refiere a la polifuncionalidad del dis-positivo, que permite utilizar alguna de suspata para una u otra función (cambio demáscara, careta o disfraz).

También es ENMASCARABLE el funciona-miento de las patas de IRQ, ya que pue-den responder al cambio de estado positi-vo a negativo, o a ambos cambios de es-tado, o simplemente al estado bajo de laspatas.

La pata 19 requiere un resistor externoa VDD, si se desea que el dispositivo operecomo una compuerta OR, entre las infor-maciones de las patas 15, 16, 17 y 18(cualquiera a masa produce una IRQ)aunque tiene prioridad la interrupción porla pata 19 a masa, que produce un IRQde diferente tipo. Similarmente a la patadel reset, la pata 19 IRQ opera sobre el mi-cro a través de un disparador de Schmitt,para reducir la respuesta al ruido. Debeprevenirse toda tensión sobre esta patacon un valor superior al de VDD.

Patas de Entrada y Salida (PORTS)

Este dispositivo tiene dos ports paralelosde entrada salida (I/O = INPUTS/OUTPUTS).Estas patas interconectan el micro con elmundo exterior. Por ellas se pueden intro-ducir datos, para operar luego sobre ellosy entregar los resultados como leds que seencienden, o relés que operan.

Cualquiera de las patas de ambosports, pueden ser una entrada o una sali-da; basta con grabar los datos adecua-dos en determinadas direcciones de me-

moria para que una pata sea una entra-da, o se transforme en una salida. Por su-puesto el programa dirigirá informaciónhacia las salidas, o la tomará de las entra-das.

Los ports se nombran como PA y PB porcomodidad. El port B tiene 6 patas, quecumplen sólo las funciones normales deentradas y salidas. El port A tiene 8 patas,que además de su función específica deI/O, cumplen con otra función extra. Des-de la PA0 hasta la PA3, cumplen funcionesde ingreso de señales de interrupción IRQ(como se mencionó en el punto 7) y laPA4 a la PA7, cumplen funciones de salidareforzada, ya que admiten una carga de10mA, capaz de excitar un LED en formadirecta. Cada port tiene su propia direc-ción de memoria, en donde se puedenleer o almacenar datos.

Sistema Temporizador Multifunción

Este micro tiene un temporizador pro-gramable de 16 etapas. Su utilidad es ob-via; permite demorar las acciones del mi-cro (por ejemplo, cerrar un relé un tiempodespués de ingresar un pulso de entrada)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 lamemoria, o introducirse desde un teclado,etc.

Las funciones del temporizador y del sis-tema de WATCHDOG, están relacionadasforzosamente entre sí, dada la función deéste con respecto al tiempo que tarda elsistema, en recorrer todos los pasos delprograma. Por ejemplo, el simple progra-ma para cerrar un relé por un tiempo de-terminado a través de un teclado; requie-re que el sistema de WATCHDOG tengauna demora variable. Recién cuando pa-se un tiempo igual a la duración del pro-

LOS MICROCONTROLADORES DE NATIONAL, PHILIPS Y MOTOROLA

Todo sobre PICs 119

Page 26: Capítulo 6

grama, más la demora introducida por elteclado, más un tiempo de tolerancia fijo;opera el WATCHDOG reseteando el siste-ma.

Unidad Central de Proceso CPU

Es la parte del micro que realiza el pro-cesamiento de los datos de entrada yemite los datos de salida, en función delas órdenes que encuentra en el progra-ma. La CPU es, en realidad, un conjuntode etapas, cada una de las cuales cum-ple una función clara y precisa, que vere-mos a continuación:

ALU: unidad aritmética y lógica.La ALU realiza las operaciones aritméti-

cas y lógicas entre dos variables de pro-gramas (datos captados y acumuladosen registros o memorias transitorias).

Los circuitos aritméticos binarios, deco-difican las instrucciones y predisponen a laALU para realizar la operación selecciona-da. La aritmética binaria está basada enel algoritmo de la adición; la substracciónse realiza como la adición de un númeronegativo.

La multiplicación no se realiza comouna operación discreta (en un solo paso)pero puede realizarse como una opera-ción de adiciones sucesivas y desplaza-miento de dígitos binarios.

La instrucción para realizar una multipli-cación se llama MUL y requiere 11 ciclosdel reloj interno, para completar una ope-ración.

Las operaciones lógicas son las quecomparan dos números binarios, emitien-do un 1 o un 0, en función de que se cum-pla o no la operación lógica solicitada (<menor que; > mayor que; = igual a).

CPU REGISTER: REGISTROS DE LA UNIDADCENTRAL DE PROCESO

Un registro es una pequeña unidad dememoria de lectura y escritura, del tipo vo-látil, que en general tiene un tamaño queno supera los dos octetos. La CPU necesitautilizar 3 registros de 8 bits y 2 de 16 bits,para poder operar adecuadamente. Eneste artículo, sólo daremos una mínimadescripción de los mismos, que se iráncompletando en sucesivas publicaciones.

“A” = ACUMULADOR: Acumula uno delos sumandos o el resultado de una sumadurante las operaciones aritméticas.

“X” = REGISTRO INDICE: El CPU utiliza es-te registro para determinar la direccióncondicional del operando; también se loutiliza como registro transitorio similar al“A”.

SP: PUNTERO DE PILA= Es un registro de16 bits que contienen la dirección siguien-te de la pila de instrucciones.

PC: CONTADOR DE PROGRAMA= Es unregistro de 16 bits que contiene la direc-ción de la siguiente instrucción.

CCR: REGISTRO DEL CODIGO DE CONDI-CION= Es un registro de 8 bits en donde los3 dígitos más significativos no se utilizan yestán fijos en 111.

El resto de los bits contiene un indica-dor de la máscara de interrupciones y 4 in-dicadores del resultado de la operaciónque está siendo efectuada.

Ver figura 24.

Memoria Volátil

La EPROM analizada anteriormente, esuna memoria no volátil, ya que mantienesu información luego de cortar la fuente. Sibien permite la escritura, esta debe reali-zarse utilizando la placa de desarrollo, esdecir que el micro no puede cargar infor-mación en la EPROM.

Por este motivo el micro cuenta conuna pequeña memoria RAM para guardar

LOS MICROCONTROLADORES DE NATIONAL, PHILIPS Y MOTOROLA

120 Todo sobre PICs

Page 27: Capítulo 6

información mientras la fuente permanececonectada (es del tipo volátil) pero que esfácil de grabar y leer y sobre todo con ac-ceso rápido a cada posición de memoriasolicitada. La capacidad de esta memo-ria, es de sólo 64 octetos, pero es más quesuficiente para este micro de bajo costo.Las posiciones de memoria no se repitenen ambos tipos de memoria.

Registro de Máscara de Opciones

Ya sabemos que éste es un integradoMASKABLE, las características de la másca-ra le indicarán al micro como debe predis-poner sus patas, para realizar la funciónsolicitada y si debe o no conectar loscomponentes MASKABLES que contienenen su interior.

La máscara de opciones se guarda enun registro determinado, que si bien formaparte de la EPROM (o de la memoria OTP)se lo considera especial dada su importan-cia. De cualquier modo estas posicionesde memoria no forman parte de lo que sellama la USER EPROM (parte de la EPROMa la cual se puede acceder librementemediante el programa).

Estructura del Micro

Con lo visto hasta aquí, se puede reali-

zar un diagrama en blo-ques del micro, ya quese mencionaron todas lasetapas que forman partedel mismo. Este diagra-ma se diferencia de undiagrama del tipo analó-gico, por la existencia deun bus bidireccional queinterconecta todas lasetapas del micro. Esto

simplemente significa que estas etapaspueden intercambiar información, porquetodas tienen un port paralelo de I/O. Ver fi-gura 25.

Descripción Funcional de las Patas (PINOUT)

En la figura 26, se muestra el PINOUT deldispositivo en las versiones del montajeconvencional 20 PDIP y de montaje super-ficial 20 SOIC.

Cerradura Eléctrica

En esta nota de aplicación, se ejemplifi-ca el uso del micro con ingreso de datos,por intermedio de un teclado matricial de4X4. El funcionamiento del dispositivo pue-de resumirse del siguiente modo: el datonumérico que se ingresa por el teclado, secompara con el número clave grabadoen una posición de memoria. Si el resulta-do de la comparación, indica que los nú-meros son iguales, se emite una salida queopera un relé. El relé es capaz de excitar auna bobina tragante, interna a la cerradu-ra de la puerta, para permitir su apertura.Si los números no coinciden, el relé noopera y se levanta otra salida, que se utili-za como alarma por intento de violaciónde la cerradura.

LOS MICROCONTROLADORES DE NATIONAL, PHILIPS Y MOTOROLA

Todo sobre PICs 121

Figura 24

Page 28: Capítulo 6

EL ESTADO DE STOP

Existen dos maneras de resolver el sof-ware (programa). Si el sistema va a operarcon energía de emergencia es convenien-te que el sistema quede en STOP hastaque se introduce algún dato. La rutinaprincipal en este caso lleva al micro a tra-bajar en el modo STOP, a la espera de una

señal IRQ de interrupción. En este estadoel microprocesador se encuentra detenidoen un paso de programa determinado.Como no existen cambios de estado, elconsumo del micro es mínimo, ya que lapotencia se desarrolla sólo cuando lostransistores conmutan. En efecto, si untransistor está saturado, tiene corriente decolector, pero su tensión CE es de unos po-

LOS MICROCONTROLADORES DE NATIONAL, PHILIPS Y MOTOROLA

122 Todo sobre PICs

Figura 25

Page 29: Capítulo 6

cos mV y la potencia disipada es mínima.Si un transistor está cortado, su corrientede colector es mínima y aunque su tensiónCE es la de fuente, tampoco se desarrollauna potencia importante (P = E.I).

El único modo de modificar este estadode STOP es por intermedio de una señalde interrupción. Esta se genera automáti-camente cuando se introduce el primer dí-gito del código. En efecto, las conexionesde las filas del teclado, se envían a las pa-tas PA0 a PA3, que operan como entradade 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 PB0a PB3, que en ese momento se encuen-tran en el estado alto. Ver figura 27.

Las patas PA0 a PA3 están conectadasinternamente a una compuerta OR, por lotanto cualquiera de ellas que tenga un es-tado alto, genera una señal IRQ. Ver figura28. La entrada de habilitación de la AND,se encuentra alta en el funcionamiento enSTOP, por lo tanto cualquier interrupciónpor PA0 a PA3, genera una señal IRQ queenví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 explorandoconstantemente la matriz de teclado.

La Exploración del Teclado

La función del sofware es averiguar conexactitud cuál de las teclas fue pulsada.Para esto es necesario mantener baja lapata de habilitación de la AND, para quelas entradas PA0 a PA3 se comporten co-mo entradas de datos.

Luego, la rutina baja todas las salidasmenos la PB0 y verifica el estado de las en-tradas PA0 a PA3. Si ninguna de las entra-das tiene un estado alto, significa que la

tecla presionada no corresponde a la pri-mera columna. Por lo tanto, bajando la sa-lida PB0 y levantando la PB1, se vuelven averificar todas las entradas.

De este modo se continúa hasta llegara la salida PB3. La subrutina se interrumpesólo cuando detecta la columna y la filacorrespondiente a la tecla presionada.

Debemos aclarar que el proceso ante-rior dura muy poco tiempo y por lo tanto,se completa antes de que el usuario le-vante el dedo de la tecla. Inclusive, ape-nas se determina el número pulsado, elprograma llama a una sub-rutina de de-mora, por la cual no se acepta ninguna

LOS MICROCONTROLADORES DE NATIONAL, PHILIPS Y MOTOROLA

Todo sobre PICs 123

Figura 26

Page 30: Capítulo 6

entrada por algunos milisegundos. Esto evi-ta el llamado error por rebote de la tecla(DEBOUNCE) que se produce si el contac-to no es franco, lo cual produce una en-trada con varios máximos sucesivos, porvariación de la resistencia de contacto

(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úmeroque 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 modoque se evite la captación de las siguientesque se presenten en un lapso de algunosmS. Además, cada vez que se pulsa unatecla 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-vo en la RAM, el sistema vuelve a la rutinaprincipal y queda en el modo STOP, hastaque el usuario marca el siguiente dígito yasí sucesivamente hasta cargar los 4 dígi-tos que forman el código (la cantidad denúmeros del código puede llevarse a 8 sininconvenientes).

Al cargar el cuarto dígito, el sistema vaa la subrutina de comparación.

Subrutina de Comparación

El sistema compara el número acumula-do 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 portA6, que provoca el cierre del relé por unintervalo de unos 5 Seg.

Durante este intervalo, el usuario puedeoperar manualmente la puerta, ya que elrelé opera un tragante, ubicado en elmarco de la misma.

Si el número ingresado difiere del núme-ro clave, se levanta la salida A5.

Esta salida, está implementada simple-mente con un conector. Dejamos libradosu uso a la imaginación del lector, ya quedicha salida puede utilizarse para accio-nar un led remoto, o un BUZZER local, o uti-

LOS MICROCONTROLADORES DE NATIONAL, PHILIPS Y MOTOROLA

124 Todo sobre PICs

Figura 27

Figura 28

Figura 29

Page 31: Capítulo 6

lizar una sirena de dos tonos, tal como su-gerimos en la figura 30.

Si el número no corresponde, PA5 se le-vanta, Q1 y Q2 conducen y la tensión so-bre C1 llega al valor de fuente. En estemomento, quedan alimentados los dos os-ciladores unijuntura Q4 y Q5. Q5 genera eltono principal alto, en tanto que Q4 gene-ra el tono bajo de modulación. Los presetP1 y P2 permite realizar una variedad detonos de alarma, a elección del lector.Cuando desaparece la alarma, C1 se des-carga lentamente y produce el apagadogradual de la sirena. El amplificador Dar-lington, puede excitar un parlante de 4Ohms con una potencia de 6W (o 3W con8 Ohms) y en este momento el consumosobre la fuente es de 1,2 A. El transistor Q8debe montarse sobre un disipador ade-cuado. Para desconectar la alarma, sedebe digitar el número correcto o desco-nectar el amplificador desde el interior dela vivienda.

Circuito Completo

En la figura 31 se puede observar el cir-cuito completo que no requiere mayoresexplicaciones, ya que cada etapa se tratóadecuadamente. Sólo falta explicar el fun-cionamiento del circuito de reset automá-

tico. Se trata de un circuito RC, que produ-ce el reset automático cuando se da ali-mentación al sistema. Su función es retar-dar la alimentación de la pata 20 (RESET)por unos instantes, de manera que se pro-duzca el reseteo del sistema y luego llevarla pata a la tensión de fuente. El resona-dor cerámico integrado MURATA, puedereemplazarse con un cristal de 4MHz y doscapacitores, tal como se observa en la fi-gura 32.

CONCLUSIONEl autor sabe que lo dicho de este pro-

yecto es algo más que una simple infor-mación.

Es una clara explicación sobre un nuevomodo de proyectar y de utilizar una PC yun KIT de desarrollo de bajo costo. Por su-puesto no pretendemos que cada lectorcompre un kit de desarrollo, pero tal vez,puedan juntarse los alumnos de las escue-las de electrónica y comprar un kit por ca-da división y realizar las prácticas en la es-cuela.

Es cierto que se puede trabajar sin el kit,pero el trabajo de depuración del progra-ma, lleva su tiempo y siempre es mejorrealizarlo simulando y emulando el microcon la PC, para no tener que grabar laEPROM varias veces. Sólo la parte final deldesarrollo, debería realizarse grabando la

LOS MICROCONTROLADORES DE NATIONAL, PHILIPS Y MOTOROLA

Todo sobre PICs 125

Figura 30

Page 32: Capítulo 6

EPROM del micro. Con referencia a la notade aplicación de la cerradura electrónica,

el micropuede seradquiridoya graba-do enElectro-compo-nentes, ohacerlograbar enotras fir-mas quese dedi-can agrabarEPROMs.

Con lodado enesta par-

te del texto, solamen-te se pretendió darlos principios básicosde los microprocesa-dores y se brindó to-dos los medios parapoder armar una apli-cación, de modo queel lector se familiaricecon esta modernatécnica de desarrolloy con el micro J1 deMOTOROLA.

Si el lector es fabri-cante de algún pro-ducto que utilizacompuertas o tempo-rizadores y está pen-sando en modernizarsu producto, le voy adar un último dato,que lo va a ayudar adecidirse. Este micropuede programarse

para que sea imposible acceder al pro-grama interno y de este modo evitar co-pias del producto. Ya no va a ser necesa-rio que borre los códigos de sus compuer-tas, use un micro y active el llamado bit deprotección, para que nadie pueda copiarsu programa. Es como si alguien fabricaraun circuito integrado exclusivamente parausted, o mejor aun, es como si lo fabricarausted mismo.

En futuros textos, se continuará con lostemas que nopudieron tra-tarse aquí porproblemas deespacio. Yano nos con-formaremossimplementecon utilizar unmicro ya gra-

LOS MICROCONTROLADORES DE NATIONAL, PHILIPS Y MOTOROLA

126 Todo sobre PICs

Figura 31

Figura 33

Figura 32

Page 33: Capítulo 6

bado. Explicaremos las técnicas de pro-gramación, simulacion y emulación, paraque cada lector pueda realizar los pro-yectos completos. En la figura 33 se daun esquema aconsejable para el circuitoimpreso.

Lista de materiales de lacerradura electrónicaCI1 CIRCUITO INTEGRADO MOTOROLA

MC68HC705J1APRC1RESONADOR CERAMICO MURATA

CST4.00MGWATC1 TECLADO MATRICIAL DE 4X4RL1 RELE SIMPLE INVERSOR CON BOBI-

NA DE 5VQ1 TRANSISTOR BC548 C

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 METALIZA-

DO .1µFC2 CAPACITOR ELECTROLITICO 100µFC3 CAPACITOR ELECTROLITICO 22µFD1 DIODO 1N4004 D2 DIODO LED ROJOD3 DIODO LED VERDEEL RESONADOR CERAMICO SE PUEDE

REEMPLAZAR POR:X1 CRISTAL DE 4MHz CORTE ATC3 CAPACITOR CERAMICO NP0 27 pFC4 CAPACITOR CERAMICO NP0 27 pF

LOS MICROCONTROLADORES DE NATIONAL, PHILIPS Y MOTOROLA

Todo sobre PICs 127

Programas de Aplicación de la Cerradura Electrónica

1) DISPOSITIVO ABREPUERTA CON MICRO J1A

EPROM EQU $0300RESET EQU $07FEINT EQU $07FAPORTA EQU $00PORTB EQU $01DDRA EQU $04DDRB EQU $05PDRA EQU $10PDRB EQU $11ISCR EQU $0AIRQR EQU 1IRQE EQU 7MOR EQU $7F1CONT EQU $D0CELDA EQU $D1

INICIALIZACION

ORG EPROMCOMIENZO LDA #$F0

STA DDRA ;PA0-PA3=ENTRADA / PA4-PA7=SALIDA

LDA #$FFSTA DDRB; PB=SALIDALDA #$00

STA PORTBLDA #$00; CARGO EL CONTADOR DE

NUMEROSSTA CONT ;CON CERO PARA EMPE-ZAR A CONTARLDX #$00BSET 7, PORTA ; APAGO EL LED VERDE

PROGRAMA PRINCIPAL

CLICLR PDRA

INI_LOOP CLCLDA #$01 ; barro el port B rotando un "1"

LOOP STA PORTB ; por las 4 columnas y espero

JSR DELAY ; se presione una tecla y se:ASLA ; genere la interrupciónCMP #$08BNE LOOPBRA INI_LOOP

RUTINA DE ATENCION DE INTERRUPCION

INTERRUP JSR DECOD ; decodifico fila y columna de la tecla

STA $E0 ; presionadaJSR GRABA ; grabo el caracter en ramJSR DELAY2AEM JSR

DECOD ; vuelvo a decodificar para impedir queCMP $E0 ; el rebote de la tecla genere unaBEQ AEM ; interrupción no deseadaJSR COMPARA ; comparo con el código

Page 34: Capítulo 6

BSET IRQR,ISCR ; habilitaciónRTI

RUTINA DE GRABACION DEL CODIGO INGRESADO

GRABA LDX CONT ; RECUPERO EL CONTADOR DE NUMEROS

STA CELDA,X; EN LA POS. CELDAGUARDO EL CAR.DE TECTADO

CPX #$04 ; ME FIJO SI SE TIPIARON 4 NUMEROSBEQ SAL1 ; SI SE TIPIARON 4 NUMEROS ME VOYINCX; COMO NO LLEGUE A TIPIAR 4 NUMEROSSTX CONT; GUARDO EL NUEVO VALOR DEL CONT.DE

NUM. BCLR 7, PORTA ; PRENDO EL LED VERDEJSR DELAY2BSET 7, PORTA ; APAGO EL LED VERDERTS ; VUELVO AL PROGRAMA PRINCIPAL

RUTINA DE DECODIFICACION DE TECLADO

DECOD LDA PORTAAND #$0FSTA $C1 ; GUARDO LA FILALDA PORTBSTA $C2 ; GUARDO LA COLUMNALDX #$00LDA $C1 ; RECUPERO LA FILA

COMP1 CMP TABLAPRI,XBEQ WW ; AQUI DETECTO LA FILA DENTRO DE LA TABLAINCXINCXINCXJMP COMP1

WW LDA $C2 ; RECUPERO LA COLUMNACOMP2 CMP TABLAPRI+1,X

BEQ ZZ ; AQUI DETECTO LA COLUMNA DENTRO DE LA TABLAINCXINCXINCXJMP COMP2

ZZ LDA TABLAPRI+2,X ;DEJO EN EL ACUM.EL CAR. DE TECTADORTS

TABLA DE COORDENADAS DE CADA TECLA

TABLAPRI DB $01,$01,$1 ; —-DB $01,$02,$2 ; | FILA 0DB $01,$04,$3 ; |DB $01,$08,$A ; —-DB $02,$01,$4 ; —-DB $02,$02,$5 ; | FILA 1DB $02,$04,$6 ; |DB $02,$08,$B ; —-DB $04,$01,$7 ; —-DB $04,$02,$8 ; | FILA 2DB $04,$04,$9 ; |DB $04,$08,$C ; —-DB $08,$01,$F ; —-DB $08,$02,$0 ; | FILA 3DB $08,$04,$F ; |

TABLAFIN DB $08,$08,$D ; —-

RUTINA DE COMPARACION DEL CODIGO INGRESADO

COMPARA LDX CONT ; recupero el contador de númerosCPX #$04 ; me fijo si se tipiaron 4 números

BNE SAL2 ; si no se tip. 4 números me voy sin comp.LDX #$00 ; como se tipiaron 4 númerosSTX CONT ; coloco el contador en 0 yLDA CELDA ; comienzo A

OMP CMP $700,X ; comparar contra el código de hábil.BNE SAL2 ; si cualquier num. carg. no coinc. con elNOP ; código de habilitación me voy.INCXCPX #$04BEQ ACTLDA CELDA,XJMP COMP

ACT JSR ACTIVAR ; como el cod. ingresado es el correctoSAL2 RTS ; activo el dispositivo a controlar.

RUTINA DE ACTIVACION DEL DISPOSITIVO DE CONTROL

ACTIVAR BSET 6,PORTABSET 5,PORTAJSR DELAY3BCLR 6,PORTABCLR 5,PORTARTS

VECTORES DE RESET E INTERRUPCION

ORG RESETFDB COMIENZOORG MORDB $24ORG INTFDB INTERRUP

RUTINAS DE RETARDO

ORG $400DELAY LDX #$FFRET DECX

NOPBNE RETRTS

ORG $420DELAY2 LDA #$FFRET1 LDX #$FFRET2 DECX

NOPBNE RET2NOPBRN *BRN *DECABNE RET1RTS

DELAY3 LDX #$0BRET3 JSR DELAY2

DECXBNE RET3RTS

ORG $0700DB $02,$02,$02,$02código de habilitación

LOS MICROCONTROLADORES DE NATIONAL, PHILIPS Y MOTOROLA

128 Todo sobre PICs