Académique Documents
Professionnel Documents
Culture Documents
95
LOS MICROCONTROLADORES
DE
NATIONAL, PHILIPS
Figura 1
Dentro
de todos los
COP, incluso
los ms pequeos,
existen dos
timers, llamados T0 y
T1: el timer
T0 es un
contador simple de 12 bits que opera en
modo libre y descendente y es usado slo
para la salida controlada de los modos de
bajo consumo, y operacin del WatchDog-Clock; el timer T1, de 16 bits, ofrece
en cambio una versatilidad realmente
destacable, al poder ser operado en 8
modos distintos, que en sus variaciones
permiten el conteo de eventos externos
(External Event Counter), deteccin de
flancos (Input Capture) y un modo de generacin de seales de PWM que opera
en forma independiente al procesador.
Los COP (figuras 1y2) vienen en versiones con EPROM borrable (encapsulado
cermico con ventana) y en versiones
OTP de bajo costo, y ofrecen desde 1K de
EPROM y 64 bytes de RAM (COP8SAA7),
hasta 4K de EPROM y 128 bytes de RAM
(COP8SAC7).
El empleo de tecnologa CMOS esttica le permite operar en frecuencias que
van desde continua hasta 1MIPS, con ten-
Figura 2
96
MOTOROLA
siones desde 2,7V a 5,5V y ofrecer un modo de consumo reducido (IDDLE) y un modo de muy bajo consumo (HALT).
La salida de los modos de bajo consumo (WAKE UP) puede ser activada desde mltiples patas, o desde el timer T0 y
generar, si as se lo desea, las interrupciones consiguientes.
Los COP incorporan en forma estndar una interfase de entrada/salida serie
sincrnica Microwire PLUS (SPI compatible)
que les permite su fcil conexin con perifricos serie, tales como conversores A/D,
conversores D/A, etc.
Los COP poseen un monitor de operacin (Watch-Dog) y un monitor de
clock.
Poseen abundantes pines de entrada/salida paralela (16 I/O en los chips de
20 patas y 24 I/O en los de 28 patas), donde ciertas entradas son de tipo SCHMITTTrigger y pueden ser programadas para
incorporar internamente una resistencia
de pullup y operarn como salidas; ciertas
patas poseen una capacidad importante
de manejo de corriente de hasta 10mA.
Posee varias opciones de oscilador
que van desde una fuente externa, un oscilador RC interno al que se le puede alterar la frecuencia mediante un capacitor
externo, hasta un oscilador a cristal/resonador en donde la inclusin o no de la resistencia de polarizacin es programable.
Finalmente, el diseo total de los COP
ha sido realizado con un control de velocidad de transistores (slew rate) y niveles
de seal internos al chip, orientados a la
generacin de bajos niveles de irradiacin
electromagntica (EMI: electro magnetic
interference), lo que lo hace ideal para su
uso en el rea de comunicaciones e instrumentacin.
Esta tecnologa permite hablar de reducciones en el nivel de generacin de
interferencias en el orden de 20dB respec-
LOS MICROCONTROLADORES
DE
NATIONAL, PHILIPS
MOTOROLA
97
LOS MICROCONTROLADORES
DE
NATIONAL, PHILIPS
98
MOTOROLA
Caractersticas Fundamentales
de la Serie COP
Damos a continuacin las caractersticas ms atractivas que suelen darse sobre esta familia.
Tenga en cuenta que algunos concep-
LOS MICROCONTROLADORES
DE
NATIONAL, PHILIPS
MOTOROLA
99
LOS MICROCONTROLADORES
DE
NATIONAL, PHILIPS
MOTOROLA
Figura 3
Arquitectura
La familia COPSAx7
est basada en una
arquitectura de hardCorriente (normalmente <4 pA).
ware, que permite a las tablas de datos
- Operacin simple de abastecimiento: tener un acceso directo hacia la memoria
2.7V a 5.5V.
de programas. Esto es realmente impor- Dos selectores para guardar: HALT y
tante para las aplicaciones modernas que
IDLE.
se ubicaban en los microcontroladores, ya
que la memoria de programa, usualmenRangos de Temperatura
te, es ROM o EPROM, mientras que la me0C a +70C, -40C a +85C, y
moria de datos, normalmente, es RAM.
de -40C a +125C
Como consecuencia, las tablas de datos
Soporte de Desarrollo
regularmente, deben ser contenidas en
- Paquete con ventanas para DIP y
ROM o EPROM, en consecuencia, no se
PLCC
pierden cuando el microcontrolador tiene
- Emulacin en tiempo real y eliminaun corte de electricidad.
cin de funciones errneas, por completo,
En una arquitectura modificada de
de programa ofrecido por MetalLink DeHardware, tanto la ida y venida de insvelopment System
trucciones como la transferencia de datos
En la figura 3 se da el diagrama en blo- de memoria pueden extenderse, con dos
ques del integrado COP8SAx7.
lneas de escenario, lo cual permite que la
La familia COPSAx7 de dispositivos inprxima instruccin se desplace de la mecorpora circuitos que brindan proteccin moria de programa mientras la instruccin
contra interferencias electromagnticas,
actual est siendo ejecutada, por medio
es decir, un problema que se incrementa
de la utilizacin de la memoria de datos.
en los diseos de los microcontroladores,
Esto no es posible con una arquitectura
de hoy en da.
de direccin simple tipo Von Neumann.
La tecnologa de reduccin, patentaLa familia COPSAx7 soporta un esqueda por EMI, de National, ofrece circuitos
ma de multitudes de software que permide reloj EMI, drivers de salida de encendi- te al usuario incorporar muchos llamados
do gradual (GTO) y filtros internos, que
de subrutinas.
ayudan a circunscribir muchas de las ediEsta capacidad es importante cuando
ciones EMI que influencian los diseos de
se utilizan Lenguajes de Nivel Elevado.
control incorporados.
Con una pila de hardware, el usuario est
100
LOS MICROCONTROLADORES
DE
NATIONAL, PHILIPS
MOTOROLA
101
LOS MICROCONTROLADORES
DE
NATIONAL, PHILIPS
MOTOROLA
102
LOS MICROCONTROLADORES
El microcontrolador 80C51 es la versin
CMOS del 8051, siendo totalmente compatible con el 8051 en trminos de funcionamiento.
Sin embargo, como se trata de un dispositivo CMOS (a diferencia del 8051, que
es NMOS) el consumo es mucho menor. En
la figura 4 tenemos el diagrama en bloques del 80C51, a partir del cual haremos
el anlisis. Todos los miembros de esta serie poseen espacios separados para direccionamiento y programa de datos, segn
muestra el diagrama de estructuras de la
memoria en la figura 5.
Figura 4
Figura 5
DE
NATIONAL, PHILIPS
MOTOROLA
103
LOS MICROCONTROLADORES
DE
NATIONAL, PHILIPS
MOTOROLA
0; 000Bh para el timer 0; 0013h para la interrupcin externa 1; 001Bh para el timer
1, etc.
Si una rutina de tratamiento de interrupcin fuera lo suficientemente corta (como
en el caso de aplicaciones para control),
puede permanecer totalmente en el intervalo disponible de 8 bytes. Rutinas de servicio ms largas pueden usar una instruccin de salto para evitar direcciones de
Figura 6
interrupciones subsiguientes, si otras intepuerta AND, se utilizar su salida como
rrupciones no estuvieran en uso. Los 4K by"strobe" de lectura para la memoria de
tes inferiores de la memoria de programa
datos / programa externa.
pueden estar tanto en la ROM on-chip como es una ROM externa. El pin EA (External Access) permite hacer la seleccin.
Memoria de Programa
En el 80C51, si el pin EA fuera conectado al Vcc, el programa ira a buscar las diEn la figura 6 tenemos el diagrama en
recciones de 0000h hasta OFFFh en la
bloques de la memoria de programa.
ROM interna, y de 1000h hasta FFFFh en la
Despus de reseteada, la CPU inicia la ROM externa.
ejecucin del programa a partir de la diSi el pin EA fuera conectado al Vss, enreccin 0000h.
tonces el programa trabajara como las
Tal como se muestra en la figura 6, ca- direcciones de la ROM externa.
da interrupcin es designada por una diLa figura 7 muestra el hardware pone
reccin fija en la memoria de programa.
la ejecucin de trabajos externos.
La interrupcin se origina cuando la
Observe que las 16 lneas de I/O (ports
CPU salta hacia la direccin correspon0 y 2) estn dedicadas a la cancelacin
diente, donde tiene su inicio la rutina de
de instrucciones durante las acciones exservicio (rutina de tratamiento de interrup- ternas de la memoria de programa.
cin).
El port 0 (PO, en la figura 7) sirve como
Una interrupcin 0 externa, por ejemmultiplexador de direcciones y datos.
plo, determina una direccin 0003h.
Ella emite el byte inferior del contador
Si se usara una interrupcin 0 externa,
de programa (PCL) como una direccin y,
la rutina de servicio debera
comenzar por la direccin
0003h. Si la interrupcin no se
usara, la direccin estara disponible como memoria de
programa de uso general.
Las direcciones de las sub-rutinas de tratamiento de interrupcin estn separadas por
intervalos de 8 bytes: 0003h
Figura 7
para la interrupcin externa
104
LOS MICROCONTROLADORES
DE
NATIONAL, PHILIPS
MOTOROLA
105
LOS MICROCONTROLADORES
DE
NATIONAL, PHILIPS
por el mismo
bloque de diFig. 10
recciones: de
80h hasta FFh,
mientras que,
en realidad,
son entidades
fsicamente diferentes.
Los 128 bytes inferiores
de la RAM esFig. 11
tn presentes
en todos los
dispositivos
80C51, como
se grafica en
la figura 10.
Los 32 bytes
inferiores estn
agrupados en
4 bancos de 8 registradores.
Las instrucciones del programa llaman
a estos registradores externamente de R0
a R7. Dos bits del PSW (Program Status
Word) seleccionan del banco de registradores cul va a ser usado.
Este procedimiento permite una utilizacin ms eficiente del espacio para cdigo, ya que las instrucciones son ms cortas que las que usan direccionamiento directo.
Los 16 bytes siguientes,
Fig 12
por encima de los bancos
de registradores, forman un
bloque de espacio de memoria dirigible por bit.
El set de instrucciones del
80C51 incluye una amplia
seleccin de instrucciones
de bit nico, y los 128 bits
de esta rea pueden ser directamente dirigidos por estas instrucciones. Las direcciones de bits en esta rea
106
MOTOROLA
LOS MICROCONTROLADORES
control que requieran un procesamiento booleano.
DE
NATIONAL, PHILIPS
MOTOROLA
Fig 13
Program Status
Word (PSW)
El Program Status
Word (PSW) contiene diversos bits de
status que indican
el estado corriente
de la CPU. El PSW, que se muestra en la figura 13, reside en el espacio de la SFR.
El PSW contiene el bit de carry, o carry
auxiliar (para operaciones en BCD), los
dos bancos de registradores para seleccin de bits, el aviso de overflow, un bit
de paridad y dos flags de uso que puede
ser definido por el usuario.
El bit de carry, adems de servir para su
funcin especfica, tambin acta como
acumulador para un cierto nmero de
operaciones booleanas.
El bit de paridad indica el nmero de
"uns" no acumulados. Si P=1, entonces el
acumulador contiene un nmero impar
de "uns". Si P=0, el acumulador contiene
un nmero par de "uns".
Vemos as que si tenemos en cuenta el
nmero de "uns" en el acumulador sumado al valor de P, tendremos siempre un resultado par.
107
LOS MICROCONTROLADORES
DE
NATIONAL, PHILIPS
MOTOROLA
d) Instrucciones Especficas
de Registradores:
destinado a la lectura de tablas de consulta en la Memoria de Programa. Otro tipo de direccionamiento indexado se usa
Algunas instrucciones son especficas
para el caso de una instruccin JUMP. En
para ciertos registradores como, por ejem- este caso, el direccionamiento de destino
plo, las que siempre operan en el Acumu- de una instruccin JUMP es computado
lador o en el Data Pointer, de modo que
como la suma de los datos del acumulapara ellas no se necesita bit alguno de di- dor con el Data Pointer.
reccionamiento para su uso. El opcode lo
hace por s solo.
g) Instrucciones Aritmticas:
e) Constante Inmediata:
El valor de una constante puede seguir
el opcode en la Memoria de Programa.
Por ejemplo:
MOV A, 100
carga el acumulador con el nmero
decimal 100.
El mismo nmero puede especificarse
en dgitos hexadecimales como 64 h.
f) Direccionamiento Indexado:
Slo la Memoria de Programa puede
ser accedida con direccionamiento indexado, siendo, despus, slo posible la lectura. Este modo de direccionamiento est
h) Instrucciones Lgicas:
La tabla 3 muestra la lista
de instrucciones lgicas disponibles en el 80C51. Las instrucciones que realizan operaciones booleanas (AND,
OR, Exclusive OR, NOT) con
bytes utilizan bit por bit. Los
modos de direccionamiento
que pueden usarse para acceder el operando estn listados en la misma tabla.
Todas las instrucciones lgicas que estn en el Acumulador son ejecutadas en 1s,
con base en un clock de
Tabla 2
108
LOS MICROCONTROLADORES
Tabla 3
DE
NATIONAL, PHILIPS
MOTOROLA
i) Transferidores de Datos:
La tabla 4 muestra el men de instrucciones que estn disponibles para el movimiento de datos por los espacios disponibles en la Memoria Interna.
En ella tambin tenemos
los modos de direccionamiento que pueden utilizarse
con cada instruccin. Con
un clock de 12MHz, todas estas instrucciones son ejecutadas tanto en 1s como en
2s. La instruccin MOV
<dest>, <src> permite la
transferencia de datos entre
Tabla 4
cualquier locacin de la RAM
o SFR, sin pasar por el Acumulador. Recurdese que
hasta 128 bytes de datos de
la RAM pueden accederse
slo por direccionamiento indirecto, y que el espacio de
la SFR solamente puede ser
accedido por direccionamiento directo.
En la tabla 5 puede observarse una lista de instruccioTabla 5
nes para transferencia de
datos accediendo la Memoria Externa de Datos.
Slo pueden utilizarse direccionamientos indirectos, y
la eleccin puede recaer
tanto por direccionamientos
12MHz. Las otras demoran 2s.
de 1 bit, tipo Ri, donde Ri puede ser R0 o
Si la operacin se origina como resR1 del banco seleccionado, como tampuesta a una interrupcin, el hecho de no bin de dos bits, del tipo DPTR.
utilizarse el Acumulador economiza tiemLa desventaja de la utilizacin de direcpo y esfuerzo en el sentido de la introduc- cionamientos de 16 bits, en caso de que
cin de datos en la pila de ejecucin de
pocos k bytes de la RAM externa estn
la rutina de servicio.
comprometidos en un solo control, es que
109
LOS MICROCONTROLADORES
DE
NATIONAL, PHILIPS
MOTOROLA
j) Instrucciones Booleanas:
Tabla 6
Los dispositivos 80C51 contienen un procesador completo para instrucciones booleanas (bit nico).
La RAM interna contiene
Tabla 7
128 bits direccionables, y el
espacio SFR puede aceptar
hasta 128 bits direccionables. Todas las lneas de ports
son direccionables por bit, y
cada una puede ser tratada
como un port de bit nico.
Las instrucciones que acceden estos bits no tienen
una nica funcin: tambin
pueden operar un men
completo de opciones, tales
como descolocacin, fijacin, apagado, complementacin, puerta OR, AND,
etc.
Estas operaciones de bit
nico no se obtienen fcillos direccionamientos de 16 bits usan tomente en otras arquitecturas sin la ayuda
dos los 8 bits del port 2 y, tambin, el barri- de una buena cantidad de software
do de direccionamientos.
orientado para esta finalidad.
Por otro lado, direccionamientos de 8
El Set de Instrucciones para el procesabits permiten el direccionamiento de podor booleano se observa en la tabla 7.
cos bytes de la RAM sin sacrificar todo el
Los direccionamientos de los bits de 00h
port 2. Todas estas instrucciones son ejecu- hasta 7Fh estn en los 128 inferiores, y los
tadas en 2s con un clock de 12MHz.
de 80h hasta FFh se encuentran en el esNtese que en todos los accesos a la
pacio SFR. Ntese que el Set de InstruccioRAM externa el Acumulador est funciones booleanas incluye operaciones ANL y
nando como origen y destino de los daORL, pero no la operacin XRL (Exclusive
tos.
OR).
La tabla 6 muestra las dos instrucciones
Una operacin XRL resulta fcil de imque estn disponibles para la lectura de
plementar mediante el software.
tablas de consulta en la Memoria de Programa.
Offset relativo: Los direccionamientos
Como estas instrucciones acceden so- de destino para estos saltos estn especifilamente la Memoria de Programa, las ta- cados al dispositivo por medio de un arblas de consulta slo pueden ser consulta- chivo o por un direccionamiento real en
das y no actualizadas.
la Memoria de Programa.
110
LOS MICROCONTROLADORES
k) Instrucciones de
Salto (JUMP):
DE
NATIONAL, PHILIPS
MOTOROLA
Tabla 8
Timing de la CPU
Todos los microcontroladores 80C51 poseen un oscilador on-chip que puede utilizarse como fuente de seal de clock para
la CPU.
Para usar el oscilador on-chip conecte
un cristal al resonador cermico entre los
pines XTAL1 y XTAL2 del microcontrolador y
capacitores a tierra, tal como muestra la
figura 14.
En la figura 15 tenemos ejemplos de cmo utilizar un oscilador externo como generador de clock.
Ciclo de
Mquina
Un ciclo
de mquina
consiste en
una secuencia de 6 estados, numerados
desde S1
hasta S6.
Cada estado exige,
por lo menos, dos perodos del oscilador, lo
que significa
que un ciclo
de mquina
demora 12
ciclos del oscilador, correspondientes a 1s si la
Fig. 14
Fig. 15
111
LOS MICROCONTROLADORES
DE
NATIONAL, PHILIPS
frecuencia del clock fuera de 12 MHz. Cada estado est dividido en mitades que
corresponden a Fase 1 y Fase 2. La figura
16 muestra la secuencia de estados y fases para diversos tipos de instrucciones.
Las secuencias descriptas son las mismas
tanto para la utilizacin de una Memoria
de Programa interna como externa. El
tiempo de ejecucin tambin es independiente del uso de las memorias usadas.
MOTOROLA
externas, 2 por timer y el port serial de interrupcin. A continuacin damos una visin general de la estructura de interrupciones del dispositivo, ya que una profundizacin mayor slo sera posible con un
anlisis ms detallado del manual del
componente.
Habilitacin de Interrupciones
Prioridades de
Interrupcin
Figura 16
112
LOS MICROCONTROLADORES
DE
NATIONAL, PHILIPS
MOTOROLA
113
LOS MICROCONTROLADORES
DE
NATIONAL, PHILIPS
114
MOTOROLA
LOS MICROCONTROLADORES
escritura (tambin se requiere una tensin
ms alta que la normal para producir la fusin de los microfusibles). Con esta estructura, una vez grabada, la memoria no
puede ser borrada.
El proceso de escritura de las memorias
se realiza con una placa especial (que se
incluye en el kit de desarrollo junto con un
micro tipo EPROM) y que sirve para grabar
cualquiera de los dos dispositivos. Esta placa se conecta a una PC, donde se corre
un disquete especial que se entrega con
el kit de desarrollo. El programa de trabajo
desarrollado se escribe en la PC desde la
misma, se transfiere al micro a travs de la
placa de desarrollo. Luego se retira el micro de la placa del kit de desarrollo y se
ubica definitivamente en la placa de produccin, si es una OTP, o en la placa prototipo, si es una EPROM.
En realidad el disquete que viene con el
kit de desarrollo no slo sirve para escribir
el programa en nuestro micro; sa es slo
una de sus funciones. Tambin permite realizar la simulacin del micro J1 y los componentes externos
con la PC y correr el programa desarrollado, para verificar su funcionamiento en forma virtual, sin realizar ninguna placa prototipo. Una
vez completada esa primera etapa del desarrollo, se pasa a una segunda etapa llamada de emulacin; en esta etapa, la PC cumple
slo la funcin del micro J1, sin
componentes externos y sirve precisamente para probar la placa
prototipo de nuestro desarrollo. Recin como tercera etapa, se procede a grabar el micro.
DE
NATIONAL, PHILIPS
MOTOROLA
La Tensin de Alimentacin
Es costumbre que cuando un
115
LOS MICROCONTROLADORES
DE
NATIONAL, PHILIPS
MOTOROLA
Figura 18
Oscilador de Clock
consumo, ya que est previsto para ser alimentado con pilas, cuando trabaja como
control remoto, o en los sistemas de alarma en caso de corte de energa.
Por todo esto, el consumo debe expresarse a travs de una tabla, en funcin de
la tensin de alimentacin, la frecuencia
del cristal y el modo de funcionamiento.
Ver figura 17.
Otra cosa a tener en cuenta con respecto al consumo, es que es sumamente
variable por pulsos, debido a las caractersticas de los circuitos digitales, que consumen sobre todo durante las conmutaciones. Esto obliga a conectar dos capacitores, entre el terminal de VDD y el de masa;
uno de valor alto (electroltico) y otro de
valor ms pequeo, con buenas caractersticas de respuesta a altas frecuencias
(cermico multicapa o polister metalizado) de 0,1F.
Los capacitores deben conectarse lo
ms cerca posible de los terminales del micro, con pistas cortas y anchas.
116
LOS MICROCONTROLADORES
DE
NATIONAL, PHILIPS
MOTOROLA
117
LOS MICROCONTROLADORES
DE
NATIONAL, PHILIPS
118
MOTOROLA
LOS MICROCONTROLADORES
tas que pueden producir interrupciones
(15, 16, 17 y 18). Estas patas pueden usarse como entrada IRQ, o como entrada o
salida de datos. La eleccin se realiza por
el programa junto con la grabacin del
dispositivo. A este tipo de seleccin, se la
conoce como MASKABLE (enmascarable)
y se refiere a la polifuncionalidad del dispositivo, que permite utilizar alguna de sus
pata para una u otra funcin (cambio de
mscara, careta o disfraz).
Tambin es ENMASCARABLE el funcionamiento de las patas de IRQ, ya que pueden responder al cambio de estado positivo a negativo, o a ambos cambios de estado, o simplemente al estado bajo de las
patas.
La pata 19 requiere un resistor externo
a VDD, si se desea que el dispositivo opere
como una compuerta OR, entre las informaciones de las patas 15, 16, 17 y 18
(cualquiera a masa produce una IRQ)
aunque tiene prioridad la interrupcin por
la pata 19 a masa, que produce un IRQ
de diferente tipo. Similarmente a la pata
del reset, la pata 19 IRQ opera sobre el micro a travs de un disparador de Schmitt,
para reducir la respuesta al ruido. Debe
prevenirse toda tensin sobre esta pata
con un valor superior al de VDD.
DE
NATIONAL, PHILIPS
MOTOROLA
moria para que una pata sea una entrada, o se transforme en una salida. Por supuesto el programa dirigir informacin
hacia las salidas, o la tomar de las entradas.
Los ports se nombran como PA y PB por
comodidad. El port B tiene 6 patas, que
cumplen slo las funciones normales de
entradas y salidas. El port A tiene 8 patas,
que adems de su funcin especfica de
I/O, cumplen con otra funcin extra. Desde la PA0 hasta la PA3, cumplen funciones
de ingreso de seales de interrupcin IRQ
(como se mencion en el punto 7) y la
PA4 a la PA7, cumplen funciones de salida
reforzada, ya que admiten una carga de
10mA, capaz de excitar un LED en forma
directa. Cada port tiene su propia direccin de memoria, en donde se pueden
leer o almacenar datos.
119
LOS MICROCONTROLADORES
DE
NATIONAL, PHILIPS
MOTOROLA
120
LOS MICROCONTROLADORES
DE
NATIONAL, PHILIPS
MOTOROLA
121
LOS MICROCONTROLADORES
DE
NATIONAL, PHILIPS
MOTOROLA
Figura 25
EL ESTADO DE STOP
122
LOS MICROCONTROLADORES
DE
NATIONAL, PHILIPS
MOTOROLA
123
LOS MICROCONTROLADORES
DE
NATIONAL, PHILIPS
MOTOROLA
Figura 27
Subrutina de Comparacin
Figura 28
El sistema compara el nmero acumulado en la RAM, con el nmero clave existente en el programa. Si ambos son iguales, se produce una salida alta por el port
A6, que provoca el cierre del rel por un
intervalo de unos 5 Seg.
Durante este intervalo, el usuario puede
operar manualmente la puerta, ya que el
rel opera un tragante, ubicado en el
marco de la misma.
Si el nmero ingresado difiere del nmeentrada por algunos milisegundos. Esto evi- ro clave, se levanta la salida A5.
ta el llamado error por rebote de la tecla
Esta salida, est implementada simple(DEBOUNCE) que se produce si el contac- mente con un conector. Dejamos librado
to no es franco, lo cual produce una ensu uso a la imaginacin del lector, ya que
trada con varios mximos sucesivos, por
dicha salida puede utilizarse para acciovariacin de la resistencia de contacto
nar un led remoto, o un BUZZER local, o utiFigura 29
124
LOS MICROCONTROLADORES
lizar una sirena de dos tonos, tal como sugerimos en la figura 30.
Si el nmero no corresponde, PA5 se levanta, Q1 y Q2 conducen y la tensin sobre C1 llega al valor de fuente. En este
momento, quedan alimentados los dos osciladores unijuntura Q4 y Q5. Q5 genera el
tono principal alto, en tanto que Q4 genera el tono bajo de modulacin. Los preset
P1 y P2 permite realizar una variedad de
tonos de alarma, a eleccin del lector.
Cuando desaparece la alarma, C1 se descarga lentamente y produce el apagado
gradual de la sirena. El amplificador Darlington, puede excitar un parlante de 4
Ohms con una potencia de 6W (o 3W con
8 Ohms) y en este momento el consumo
sobre la fuente es de 1,2 A. El transistor Q8
debe montarse sobre un disipador adecuado. Para desconectar la alarma, se
debe digitar el nmero correcto o desconectar el amplificador desde el interior de
la vivienda.
DE
NATIONAL, PHILIPS
MOTOROLA
tico. Se trata de un circuito RC, que produce el reset automtico cuando se da alimentacin al sistema. Su funcin es retardar la alimentacin de la pata 20 (RESET)
por unos instantes, de manera que se produzca el reseteo del sistema y luego llevar
la pata a la tensin de fuente. El resonador cermico integrado MURATA, puede
reemplazarse con un cristal de 4MHz y dos
capacitores, tal como se observa en la figura 32.
CONCLUSION
El autor sabe que lo dicho de este proyecto es algo ms que una simple informacin.
Es una clara explicacin sobre un nuevo
modo de proyectar y de utilizar una PC y
un KIT de desarrollo de bajo costo. Por supuesto no pretendemos que cada lector
compre un kit de desarrollo, pero tal vez,
puedan juntarse los alumnos de las escuelas de electrnica y comprar un kit por cada divisin y realizar las prcticas en la escuela.
Es cierto que se puede trabajar sin el kit,
Circuito Completo
pero el trabajo de depuracin del prograEn la figura 31 se puede observar el cir- ma, lleva su tiempo y siempre es mejor
realizarlo simulando y emulando el micro
cuito completo que no requiere mayores
explicaciones, ya que cada etapa se trat con la PC, para no tener que grabar la
adecuadamente. Slo falta explicar el fun- EPROM varias veces. Slo la parte final del
cionamiento del circuito de reset autom- desarrollo, debera realizarse grabando la
Figura 30
125
LOS MICROCONTROLADORES
DE
NATIONAL, PHILIPS
Figura 31
126
MOTOROLA
LOS MICROCONTROLADORES
bado. Explicaremos las tcnicas de programacin, simulacion y emulacin, para
que cada lector pueda realizar los proyectos completos. En la figura 33 se da
un esquema aconsejable para el circuito
impreso.
Lista de materiales de la
cerradura electrnica
CI1 CIRCUITO INTEGRADO MOTOROLA
MC68HC705J1AP
RC1RESONADOR CERAMICO MURATA
CST4.00MGWA
TC1 TECLADO MATRICIAL DE 4X4
RL1 RELE SIMPLE INVERSOR CON BOBINA DE 5V
Q1 TRANSISTOR BC548 C
DE
NATIONAL, PHILIPS
MOTOROLA
Programas de Aplicacin de
la Cerradura Electrnica
STA
LDA
STA
ZAR A CONTAR
LDX
BSET
1) DISPOSITIVO ABREPUERTA
CON MICRO J1A
PORTB
#$00; CARGO EL CONTADOR DE
NUMEROS
CONT ;CON CERO PARA EMPE#$00
7, PORTA ; APAGO EL LED VERDE
PROGRAMA PRINCIPAL
EPROM
RESET
INT
PORTA
PORTB
DDRA
DDRB
PDRA
PDRB
ISCR
IRQR
IRQE
MOR
CONT
CELDA
EQU
EQU
EQU
EQU
EQU
EQU
EQU
EQU
EQU
EQU
EQU
EQU
EQU
EQU
EQU
$0300
$07FE
$07FA
$00
$01
$04
$05
$10
$11
$0A
1
7
$7F1
$D0
$D1
INI_LOOP
LOOP
JSR
INTERRUP
ORG
LDA
STA
LDA
STA
LDA
EPROM
#$F0
DDRA ;PA0-PA3=ENTRA
DA / PA4-PA7=SALIDA
#$FF
DDRB; PB=SALIDA
#$00
PDRA
#$01 ; barro el port B rotando un "1"
; por las 4 columnas y espero
; se presione una tecla y se:
; genere la interrupcin
#$08
LOOP
INI_LOOP
INICIALIZACION
COMIENZO
CLI
CLR
CLC
LDA
STA
PORTB
DELAY
ASLA
CMP
BNE
BRA
STA
JSR
JSR
AEM
CMP
BEQ
JSR
JSR
DECOD
$E0
GRABA
DELAY2
JSR
DECOD
$E0
AEM
COMPARA
127
LOS MICROCONTROLADORES
BSET
IRQR,ISCR
RTI
DE
NATIONAL, PHILIPS
LDX CONT
STA CELDA,X;
CPX #$04
BEQ SAL1
INCX;
STX CONT;
BCLR 7, PORTA
JSR DELAY2
BSET 7, PORTA
RTS
MOTOROLA
; habilitacin
; RECUPERO EL CONTADOR
DE NUMEROS
EN LA POS. CELDA
GUARDO EL CAR.DE TECTADO
; ME FIJO SI SE TIPIARON 4 NUMEROS
; SI SE TIPIARON 4 NUMEROS ME VOY
COMO NO LLEGUE A TIPIAR 4 NUMEROS
GUARDO EL NUEVO VALOR DEL CONT.DE
NUM.
; PRENDO EL LED VERDE
; APAGO EL LED VERDE
; VUELVO AL PROGRAMA PRINCIPAL
OMP
ACT
SAL2
COMP1
WW
COMP2
ZZ
LDA PORTA
AND #$0F
STA $C1
LDA PORTB
STA $C2
LDX #$00
LDA $C1
CMP TABLAPRI,X
BEQ WW
INCX
INCX
INCX
JMP COMP1
LDA $C2
CMP TABLAPRI+1,X
BEQ ZZ
INCX
INCX
INCX
JMP COMP2
LDA TABLAPRI+2,X
RTS
ACTIVAR
; GUARDO LA FILA
; GUARDO LA COLUMNA
TABLAPRI DB $01,$01,$1
DB $01,$02,$2
DB $01,$04,$3
DB $01,$08,$A
DB $02,$01,$4
DB $02,$02,$5
DB $02,$04,$6
DB $02,$08,$B
DB $04,$01,$7
DB $04,$02,$8
DB $04,$04,$9
DB $04,$08,$C
DB $08,$01,$F
DB $08,$02,$0
DB $08,$04,$F
TABLAFIN DB $08,$08,$D
; ; | FILA 0
; |
; ; ; | FILA 1
; |
; ; ; | FILA 2
; |
; ; ; | FILA 3
; |
; -
128
LDX CONT
CPX #$04
RUTINAS DE RETARDO
DELAY
RET
BSET 6,PORTA
BSET 5,PORTA
JSR DELAY3
BCLR 6,PORTA
BCLR 5,PORTA
RTS
ORG RESET
FDB COMIENZO
ORG MOR
DB $24
ORG INT
FDB INTERRUP
; RECUPERO LA FILA
; RECUPERO LA COLUMNA
BNE SAL2
LDX #$00
STX CONT
LDA CELDA
CMP $700,X
BNE SAL2
NOP
INCX
CPX #$04
BEQ ACT
LDA CELDA,X
JMP COMP
JSR ACTIVAR
RTS
DELAY2
RET1
RET2
DELAY3
RET3
ORG $400
LDX #$FF
DECX
NOP
BNE RET
RTS
ORG $420
LDA #$FF
LDX #$FF
DECX
NOP
BNE RET2
NOP
BRN *
BRN *
DECA
BNE RET1
RTS
LDX #$0B
JSR DELAY2
DECX
BNE RET3
RTS
ORG $0700
DB $02,$02,$02,$02
cdigo de habilitacin