Академический Документы
Профессиональный Документы
Культура Документы
EPROM sea aun menor. El Timer del o acceso a periféricos serie (donde debe
MC68HC705K1 es uno elemental, de tipo simularse la interfase SPI) deba ser realiza-
free-run y de lectura solamente, siendo su da por software, con dedicación casi to-
única fuente de reloj el oscilador interno tal de la CPU. No tiene mecanismos de in-
del chip, y sólo puede generar interrupcio- terrupción (ni internos, ni externos), posee
nes por Overflow y cuatro opciones de di- un único registro de indirección (FSR) y un
visión adicionales (llamadas Real Time In- Stack mínimo de sólo dos niveles sin posibi-
terrupt). Cualquier señal de PWM o captu- lidad de accesos tipo PUSH/POP que limi-
ra de eventos que se desee realizar debe ta seriamente la posibilidad de anida-
ser por software, con dedicación casi to- miento de subrutinas. La velocidad de los
tal de la CPU. El acceso a periféricos serie PIC es notable (5 MIPS), pero la ausencia
debe simular la interfase SPI por software. de interrupciones, y el reducido set de ins-
En cuanto al software, sólo posee un regis- trucciones disponible (33 instrucciones) ha-
tro índice sin opciones de autoincremento cen que su performance neta sea com-
o decremento, no permite el uso del parable a la de los otros microcontrolado-
Stack, la carga inmediata de datos en res analizados; la ausencia de interrupcio-
memoria, el intercambio entre acumula- nes, por su parte, hace que la detección
dor y memoria, ni posee instrucciones pa- de eventos sólo pueda ser realizada a
ra manejo de datos BCD. costa de ocupar totalmente la CPU, o
• Diferencias más notables con el con inclusión de test "salpicados" en el có-
MC68HC705J1A: este microcontrolador de digo, con una pésima latencia de aten-
20 patas y arquitectura Von Neumann po- ción y disminución en la eficiencia del có-
see EPROM (1.240 bytes) y Ram (64 bytes) digo.
en cantidad comparable al COP más pe- Otras serias diferencias de hardware
queño (COP8SAA7 de 20 pines), y tiene 14 con los COP y los chips de Motorola es la
pines de I/O (frente a los 16 del COP). En inexistencia de pull-up/down, programa-
el resto de sus características es idéntico bles en las patas de I/O y un modo de ba-
al MC68HC705K1. jo consumo (SLIIP) del que sólo se sale por
• Diferencias más notables con el PIC RESET.
16C54: este microcontrolador de 18 patas • Diferencias más notables con el PIC
posee arquitectura RISC tipo Harvard, 512 16C56: es totalmente similar al PIC 16C54,
palabras de EPROM y 25 bytes de RAM, sólo que posee 1K palabras de programa.
en cantidad comparable al COP más pe- • Diferencias más notables con el PIC
queño (COP8SAA7 de 20 pines), sólo 12 pi- 16C58: es totalmente similar al PIC 16C54,
nes de I/O (frente a los 16 del COP) y un sólo que posee 2K palabras de programa
costo similar. Su subsistema de Timer es al- y 72 bytes de RAM.
go más elaborado que el de los chips de
Motorola, aunque más elemental que el
de los COP; en él, el contador es legible y Características Fundamentales
la escritura se hace por software, puede de la Serie COP
recibir su señal de clock reloj del reloj inter-
no o de una pata externa, y posee un Damos a continuación las característi-
prescaler programable. Sin embargo, al cas más “atractivas” que suelen darse so-
igual que los procesadores de Motorola, bre esta familia.
cualquier generación de señales de PWM, Tenga en cuenta que algunos concep-
Arquitectura
La familia COPSAx7
está basada en una
arquitectura de hard-
Corriente (normalmente <4 pA). ware, que permite a las tablas de datos
- Operación simple de abastecimiento: tener un acceso directo hacia la memoria
2.7V a 5.5V. de programas. Esto es realmente impor-
- Dos selectores para guardar: HALT y tante para las aplicaciones modernas que
IDLE. se ubicaban en los microcontroladores, ya
que la memoria de programa, usualmen-
Rangos de Temperatura te, es ROM o EPROM, mientras que la me-
0ºC a +70ºC, -40ºC a +85ºC, y moria de datos, normalmente, es RAM.
de -40ºC a +125ºC Como consecuencia, las tablas de datos
Soporte de Desarrollo regularmente, deben ser contenidas en
- Paquete con ventanas para DIP y ROM o EPROM, en consecuencia, no se
PLCC pierden cuando el microcontrolador tiene
- Emulación en tiempo real y elimina- un corte de electricidad.
ción de funciones erróneas, por completo, En una arquitectura modificada de
de programa ofrecido por MetalLink De- Hardware, tanto la ida y venida de ins-
velopment System trucciones como la transferencia de datos
En la figura 3 se da el diagrama en blo- de memoria pueden extenderse, con dos
ques del integrado COP8SAx7. líneas de escenario, lo cual permite que la
La familia COPSAx7 de dispositivos in- próxima instrucción se desplace de la me-
corpora circuitos que brindan protección moria de programa mientras la instrucción
contra interferencias electromagnéticas, actual está siendo ejecutada, por medio
es decir, un problema que se incrementa de la utilización de la memoria de datos.
en los diseños de los microcontroladores, Esto no es posible con una arquitectura
de hoy en día. de dirección simple tipo Von Neumann.
La tecnología de reducción, patenta- La familia COPSAx7 soporta un esque-
da por EMI, de National, ofrece circuitos ma de multitudes de software que permi-
de reloj EMI, drivers de salida de encendi- te al usuario incorporar muchos llamados
do gradual (GTO) y filtros internos, que de subrutinas.
ayudan a circunscribir muchas de las edi- Esta capacidad es importante cuando
ciones EMI que influencian los diseños de se utilizan Lenguajes de Nivel Elevado.
control incorporados. Con una pila de hardware, el usuario está
Ejecución de Código de
Juego de Instrucciones Ciclo Simple/Byte Simple
La eficiencia se debe al hecho de que
En el terreno vinculado al costo/benefi- la mayoría de las instrucciones pertene-
cio, de los microcontroladores de 8 bits, cen a la variedad de byte simple. Debido
de hoy en día, la flexibilidad y el tiempo a que el código compacto no ocupa una
son varios de los temas claves, para el suma sustancial de espacio de memoria
mercado, que los diseñadores de sistemas de programa, los diseñadores pueden in-
enfrentan al tratar de construir un produc- tegrarle atracciones adicionales, así como
to de muy buena ingeniería que pueda funcionalidad en el espacio de memoria
competir perfectamente en el mercado. de programa del microcontrolador. Ade-
Muchos de estos temas pueden tratarse más, la mayoría de las instrucciones eje-
de manera tal que el juego de instruccio- cutadas por el dispositivo son de ciclo sim-
nes del microcontrolador se ocupe de las ple, lo cual conduce a un tiempo mínimo
tareas de procesamiento. Y esa es la ra- de ejecución de programa. En realidad, el
zón por la cual la familia del COP8 ofrece 77% de las instrucciones son de byte sim-
un conjunto de instrucciones único y una ple, ciclo simple, y proveen un código
eficiencia de código que requieren los mi- mayor, así también, como eficiencia de ti-
crocontroladores de hoy día, para suminis- po I/O, además de una ejecución de có-
trar flexibilidad, funcionalidad, costos re- digo más veloz.
ducidos y tiempo rápido para su arribo al
mercado,
La eficiencia de código es importante Instrucciones
ya que permite a los diseñadores empa- Multifunción, Muchos Byte Simples
car, en chip, de una forma más funcional
en menos espacio de memoria de progra- El juego de instrucciones COPSAx7 utili-
ma (ROM/OTP). Seleccionando un micro- za muchas instrucciones multifunción, byte
controlador con menos tamaño de me- simples. Esto permite que una instrucción
moria de programa, podemos obtener simple logre realizar funciones múltiples,
costos más bajos de sistema, como así tales, como DRXZ, DCOR, JIK y Carga-
también, la seguridad de saber que se /Cambio, con post incremento y post de-
pueden empaquetar más en el espacio cremento, para nombrar algunos ejem-
de memoria de programa disponible. plos. En muchos de los casos, el conjunto
de instrucciones puede ejecutar, en forma
simultánea, tres funciones con la misma
Herramientas Clave instrucción de bite simple.
del Juego de Instrucciones
JID: (Salto Indirecto). Instrucción de by-
La familia del COPSAx7 incorpora una te simple, eventos externos de decodifica-
combinación única de herramientas vin- ción y saltos a rutinas de servicios corres-
culada al juego de instrucciones, las cua- pondientes (frases simples hasta otros nive-
les proveen a los diseñadores, eficiencia les de lenguaje más elevados).
LAID: (Carga de Acumulación Indirec- vos de esta familia pueden manejar hasta
ta) Tabla de instrucción de Byte simple 64 bytes, tanto de programa como de
provee un sendero de datos eficiente des- memoria de datos.
de la memoria de programa hasta el CPU. En la tabla 1 tenemos los dispositivos
Esta instrucción puede ser utilizada para la que componen esta familia de microcon-
búsqueda de tabla y para leer la memo- troladores.
ria de programa completa, en caso de El 8051, que es el elemento básico,
necesitar verificación de cálculos. contiene las siguientes funciones:
• CPU de 8 bits optimizada para aplica-
RETSK: (Salto de Retorno) La instrucción ciones de control.
de byte simple permite retornar desde la • Capacidad de procesamiento "Boo-
rutina y, así, saltar a la próxima instrucción. leana extensiva" (álgebra de Boole), lógi-
La decisión puede ser realizada en la su- ca de bit único.
brutina misma y guardar el código. • 32 líneas bidireccionales e individual-
mente dirigibles de entrada y salida (I/O).
AUTOINC/DEC: (Auto Incremento/Auto • RAM de datos de 128 bytes on-chip.
Decremento). Estas instrucciones utilizan • Dos temporizadores / contadores de
los dos punteros de memoria B y X para 16 bits.
hacer procesar, de modo más eficiente, el • UART dúplex completa.
bloque de datos. • 5 entradas de interrupciones con dos
niveles de prioridad.
• Oscilador de clock on-chip.
LOS MICROCONTROLADORES DE PHILIPS • Memoria de programa de 4K bytes
on-chip.
La familia de microcontroladores y peri- • Espacio para direccionamiento de
féricos que tienen por base el 8051 está programa en la memoria de 64 bytes.
basada totalmente en el patrón industrial • Espacio para direccionamiento de la
para 8 bits, de alta performance, que tie- memoria de datos de 64K bytes.
nen una arquitectura optimizada para • Disponible tanto en cubierta DIL de 40
aplicaciones en control secuencial en pines como en cubierta PLC de 44 pines.
tiempo real.
Los componentes de es- Tabla 1 - 8051 Familia de microcontroladores
ta familia encuentran apli- Nombre Versión sin Versión con BYTES BYTES TIMERS Tipo de
ROM EPROM ROM RAM 16 bits Circuito
caciones que van desde el
8051 8031 4k 128 2 NMOS
control de máquinas indus- 80C51 80C31 87C51 4k 128 2 CMOS
triales y de instrumentación 8052 8032 8k 256 3 NMOS
80C52 80C32 87C52 8k 256 3 CMOS
hasta el control automotriz. 80C053 87C054 8k 192 2 CMOS
Los dispositivos de la serie 83CL410 80CL410 4k 128 2 CMOS
83C451 80C451 87C451 4k 128 2 CMOS
pueden obtenerse en ver- 83C528 80C528 87C528 32k 512 3 + WD CMOS
siones con ROM o EPROM 83C550 80C550 87C550 4k 128 2 + WD CMOS
83C552 80C552 87C552 8k 256 3 + WD CMOS
internas o, solamente, con 83C562 80C526 8k 256 3 + WD CMOS
83C652 80C652 87C652 8k 256 2 CMOS
la CPU. 83C654 87C654 16k 256 2 CMOS
Con excepción de la 83C751 87C751 2k 64 1 CMOS
83C752 87C752 2K 64 1 CMOS
83C751, todos los dispositi- 83C851 80C851 4K 128 2 CMOS
Program Status
Word (PSW)
El Program Status
Word (PSW) contie-
ne diversos bits de
status que indican
el estado corriente
de la CPU. El PSW, que se muestra en la fi- dirección de 8 bits en la instrucción. Sólo
gura 13, reside en el espacio de la SFR. la RAM interna de datos y la SFR pueden
El PSW contiene el bit de carry, o carry ser directamente direccionadas.
auxiliar (para operaciones en BCD), los
dos bancos de registradores para selec- b) Modo Indirecto
ción de bits, el aviso de overflow, un bit
de paridad y dos flags de uso que puede En el direccionamiento indirecto, la ins-
ser definido por el usuario. trucción especifica un registrador que
El bit de carry, además de servir para su contiene una dirección del operando.
función específica, también actúa como Tanto la RAM interna como la externa
acumulador para un cierto número de pueden ser indirectamente direcciona-
operaciones booleanas. das.
El bit de paridad indica el número de
"uns" no acumulados. Si P=1, entonces el c) Instrucciones del Registrador:
acumulador contiene un número impar
de "uns". Si P=0, el acumulador contiene Los bancos de registradores que contie-
un número par de "uns". nen los registradores de R0 a R7 pueden
Vemos así que si tenemos en cuenta el ser accedidos por ciertas instrucciones
número de "uns" en el acumulador suma- que lleven una especificación de registra-
do al valor de P, tendremos siempre un re-dor de 3 bits conjuntamente con el códi-
sultado par. go de la instrucción (opcode).
Las instrucciones que acceden los regis-
tradores en esta forma son "code effi-
Modos de Direccionamiento cient", ya que así se elimina la necesidad
de un byte de dirección.
En el 80C51 tenemos los siguientes mo- Cuando la instrucción es ejecutada,
dos de direccionamiento: uno de los ocho registradores del banco
seleccionado es accedido mientras que
a) Modo Directo: uno de los cuatro bancos es selecciona-
do en el tiempo de ejecución por los dos
En esta modalidad de direccionamien- bits de selección de bancos en el PSW
to, el operando está especificado por una (figura 13).
j) Instrucciones Booleanas:
Tabla 6
Los dispositivos 80C51 con-
tienen un procesador com-
pleto para instrucciones boo-
leanas (bit único).
La RAM interna contiene
Tabla 7 128 bits direccionables, y el
espacio SFR puede aceptar
hasta 128 bits direcciona-
bles. Todas las líneas de ports
son direccionables por bit, y
cada una puede ser tratada
como un port de bit único.
Las instrucciones que ac-
ceden estos bits no tienen
una única función: también
pueden operar un menú
completo de opciones, tales
como descolocación, fija-
ción, apagado, comple-
mentación, puerta OR, AND,
etc.
Estas operaciones de bit
único no se obtienen fácil-
los direccionamientos de 16 bits usan to- mente en otras arquitecturas sin la ayuda
dos los 8 bits del port 2 y, también, el barri- de una buena cantidad de software
do de direccionamientos. orientado para esta finalidad.
Por otro lado, direccionamientos de 8 El Set de Instrucciones para el procesa-
bits permiten el direccionamiento de po- dor booleano se observa en la tabla 7.
cos bytes de la RAM sin sacrificar todo el Los direccionamientos de los bits de 00h
port 2. Todas estas instrucciones son ejecu- hasta 7Fh están en los 128 inferiores, y los
tadas en 2µs con un clock de 12MHz. de 80h hasta FFh se encuentran en el es-
Nótese que en todos los accesos a la pacio SFR. Nótese que el Set de Instruccio-
RAM externa el Acumulador está funcio- nes booleanas incluye operaciones ANL y
nando como origen y destino de los da- ORL, pero no la operación XRL (Exclusive
tos. OR).
La tabla 6 muestra las dos instrucciones Una operación XRL resulta fácil de im-
que están disponibles para la lectura de plementar mediante el software.
tablas de consulta en la Memoria de Pro-
grama. Offset relativo: Los direccionamientos
Como estas instrucciones acceden so- de destino para estos saltos están especifi-
lamente la Memoria de Programa, las ta- cados al dispositivo por medio de un ar-
blas de consulta sólo pueden ser consulta- chivo o por un direccionamiento real en
das y no actualizadas. la Memoria de Programa.
k) Instrucciones de
Salto (JUMP): Tabla 8
frecuencia del clock fuera de 12 MHz. Ca- externas, 2 por timer y el port serial de in-
da estado está dividido en mitades que terrupción. A continuación damos una vi-
corresponden a Fase 1 y Fase 2. La figura sión general de la estructura de interrup-
16 muestra la secuencia de estados y fa- ciones del dispositivo, ya que una profun-
ses para diversos tipos de instrucciones. dización mayor sólo sería posible con un
Las secuencias descriptas son las mismas análisis más detallado del manual del
tanto para la utilización de una Memoria componente.
de Programa interna como externa. El
tiempo de ejecución también es indepen- Habilitación de Interrupciones
diente del uso de las memorias usadas.
Cada fuente de interrupción puede ser
Estructura de Interrupciones habilitada o inhabilitada individualmente
por la colocación o el retiro de un bit en
El 80C51, en su versión sin ROM y con la parte de la SFR denominada IE (Inte-
EPROM, posee 5 fuentes de interrupción: 2 rrupt Enable). Este registro contiene, tam-
bién, un bit de inhabilitación
global que permite la habili-
tación o inhabilitación de to-
das las interrupciones al mis-
mo tiempo.
Prioridades de
Interrupción
escritura (también se requiere una tensión dispositivo está construido con MOSFETs,
más alta que la normal para producir la fu- las tensiones de alimentación negativa y
sión de los microfusibles). Con esta estruc- positiva se llamen VSS y VDD, respectiva-
tura, una vez grabada, la memoria no mente (S de SURTE = surtidor y D de DRAIN
puede ser borrada. = sumidero). El Motorola J1 opera con una
El proceso de escritura de las memorias tensión de fuente simple de 3,3 a 5V, co-
se realiza con una placa especial (que se nectada a la pata 9 (VDD) y con el nega-
incluye en el kit de desarrollo junto con un tivo de fuente conectado a la pata 10
micro tipo EPROM) y que sirve para grabar (VSS).
cualquiera de los dos dispositivos. Esta pla- Un micro es un dispositivo cuyo consu-
ca se conecta a una PC, donde se corre mo puede ser muy variable, en función del
un disquete especial que se entrega con programa, de la tensión de fuente y de la
el kit de desarrollo. El programa de trabajo velocidad a la cual trabaja el dispositivo.
desarrollado se escribe en la PC desde la En el modo de funcionamiento normal, la
misma, se transfiere al micro a través de la velocidad está directamente determinada
placa de desarrollo. Luego se retira el mi- por la frecuencia del cristal o filtro cerámi-
cro de la placa del kit de desarrollo y se co del clock (este tema se tratará en el
ubica definitivamente en la placa de pro- próximo punto). Pero aparte del modo de
ducción, si es una OTP, o en la placa pro- funcionamiento normal, el J1 tiene otros
totipo, si es una EPROM. dos modos de funcionamiento: WAIT (len-
En realidad el disquete que viene con el to) y STOP (parado); esos modos de fun-
kit de desarrollo no sólo sirve para escribir cionamiento están previstos para que el
el programa en nuestro micro; ésa es sólo dispositivo reduzca dramáticamente el
una de sus funciones. También per-
mite realizar la “simulación” del mi- Figura17
cro J1 y los componentes externos
con la PC y correr el programa de-
sarrollado, para verificar su funcio-
namiento en forma virtual, sin reali-
zar ninguna placa prototipo. Una
vez completada esa primera eta-
pa del desarrollo, se pasa a una se-
gunda etapa llamada de “emula-
ción”; en esta etapa, la PC cumple
sólo la función del micro J1, sin
componentes externos y sirve pre-
cisamente para probar la placa
prototipo de nuestro desarrollo. Re-
cién como tercera etapa, se pro-
cede a grabar el micro.
La Tensión de Alimentación
Oscilador de Clock
tas que pueden producir interrupciones moria para que una pata sea una entra-
(15, 16, 17 y 18). Estas patas pueden usar- da, o se transforme en una salida. Por su-
se como entrada IRQ, o como entrada o puesto el programa dirigirá información
salida de datos. La elección se realiza por hacia las salidas, o la tomará de las entra-
el programa junto con la grabación del das.
dispositivo. A este tipo de selección, se la Los ports se nombran como PA y PB por
conoce como MASKABLE (enmascarable) comodidad. El port B tiene 6 patas, que
y se refiere a la polifuncionalidad del dis- cumplen sólo las funciones normales de
positivo, que permite utilizar alguna de sus entradas y salidas. El port A tiene 8 patas,
pata para una u otra función (cambio de que además de su función específica de
máscara, careta o disfraz). I/O, cumplen con otra función extra. Des-
También es ENMASCARABLE el funciona- de la PA0 hasta la PA3, cumplen funciones
miento de las patas de IRQ, ya que pue- de ingreso de señales de interrupción IRQ
den responder al cambio de estado positi- (como se mencionó en el punto 7) y la
vo a negativo, o a ambos cambios de es- PA4 a la PA7, cumplen funciones de salida
tado, o simplemente al estado bajo de las reforzada, ya que admiten una carga de
patas. 10mA, capaz de excitar un LED en forma
La pata 19 requiere un resistor externo directa. Cada port tiene su propia direc-
a VDD, si se desea que el dispositivo opere ción de memoria, en donde se pueden
como una compuerta OR, entre las infor- leer o almacenar datos.
maciones de las patas 15, 16, 17 y 18
(cualquiera a masa produce una IRQ)
aunque tiene prioridad la interrupción por Sistema Temporizador Multifunción
la pata 19 a masa, que produce un IRQ
de diferente tipo. Similarmente a la pata Este micro tiene un temporizador pro-
del reset, la pata 19 IRQ opera sobre el mi- gramable de 16 etapas. Su utilidad es ob-
cro a través de un disparador de Schmitt, via; permite demorar las acciones del mi-
para reducir la respuesta al ruido. Debe cro (por ejemplo, cerrar un relé un tiempo
prevenirse toda tensión sobre esta pata después de ingresar un pulso de entrada)
con un valor superior al de VDD. y todo de manera sencilla y con una pre-
cisión dada por el cristal. La demora pue-
de ser fijada en el momento de grabar la
Patas de Entrada y Salida (PORTS) memoria, o introducirse desde un teclado,
etc.
Este dispositivo tiene dos ports paralelos Las funciones del temporizador y del sis-
de entrada salida (I/O = INPUTS/OUTPUTS). tema de WATCHDOG, están relacionadas
Estas patas interconectan el micro con el forzosamente entre sí, dada la función de
mundo exterior. Por ellas se pueden intro- éste con respecto al tiempo que tarda el
ducir datos, para operar luego sobre ellos sistema, en recorrer todos los pasos del
y entregar los resultados como leds que se programa. Por ejemplo, el simple progra-
encienden, o relés que operan. ma para cerrar un relé por un tiempo de-
Cualquiera de las patas de ambos terminado a través de un teclado; requie-
ports, pueden ser una entrada o una sali- re que el sistema de WATCHDOG tenga
da; basta con grabar los datos adecua- una demora variable. Recién cuando pa-
dos en determinadas direcciones de me- se un tiempo igual a la duración del pro-
Figura 25
lizar una sirena de dos tonos, tal como su- tico. Se trata de un circuito RC, que produ-
gerimos en la figura 30. ce el reset automático cuando se da ali-
Si el número no corresponde, PA5 se le- mentación al sistema. Su función es retar-
vanta, Q1 y Q2 conducen y la tensión so- dar la alimentación de la pata 20 (RESET)
bre C1 llega al valor de fuente. En este por unos instantes, de manera que se pro-
momento, quedan alimentados los dos os- duzca el reseteo del sistema y luego llevar
ciladores unijuntura Q4 y Q5. Q5 genera el la pata a la tensión de fuente. El resona-
tono principal alto, en tanto que Q4 gene- dor cerámico integrado MURATA, puede
ra el tono bajo de modulación. Los preset reemplazarse con un cristal de 4MHz y dos
P1 y P2 permite realizar una variedad de capacitores, tal como se observa en la fi-
tonos de alarma, a elección del lector. gura 32.
Cuando desaparece la alarma, C1 se des-
carga lentamente y produce el apagado CONCLUSION
gradual de la sirena. El amplificador Dar- El autor sabe que lo dicho de este pro-
lington, puede excitar un parlante de 4 yecto es algo más que una simple infor-
Ohms con una potencia de 6W (o 3W con mación.
8 Ohms) y en este momento el consumo Es una clara explicación sobre un nuevo
sobre la fuente es de 1,2 A. El transistor Q8modo de proyectar y de utilizar una PC y
debe montarse sobre un disipador ade- un KIT de desarrollo de bajo costo. Por su-
cuado. Para desconectar la alarma, se puesto no pretendemos que cada lector
debe digitar el número correcto o desco- compre un kit de desarrollo, pero tal vez,
nectar el amplificador desde el interior de puedan juntarse los alumnos de las escue-
la vivienda. las de electrónica y comprar un kit por ca-
da división y realizar las prácticas en la es-
cuela.
Circuito Completo Es cierto que se puede trabajar sin el kit,
pero el trabajo de depuración del progra-
En la figura 31 se puede observar el cir- ma, lleva su tiempo y siempre es mejor
cuito completo que no requiere mayores realizarlo simulando y emulando el micro
explicaciones, ya que cada etapa se trató con la PC, para no tener que grabar la
adecuadamente. Sólo falta explicar el fun- EPROM varias veces. Sólo la parte final del
cionamiento del circuito de reset automá- desarrollo, debería realizarse grabando la
Figura 30
INTERRUP JSR
INICIALIZACION DECOD ; decodifico fila y columna de la tecla
STA $E0 ; presionada
ORG EPROM JSR GRABA ; grabo el caracter en ram
COMIENZO LDA #$F0 JSR DELAY2
STA DDRA ;PA0-PA3=ENTRA AEM JSR
DA / PA4-PA7=SALIDA DECOD ; vuelvo a decodificar para impedir que
LDA #$FF CMP $E0 ; el rebote de la tecla genere una
STA DDRB; PB=SALIDA BEQ AEM ; interrupción no deseada
LDA #$00 JSR COMPARA ; comparo con el código
BSET IRQR,ISCR ; habilitación BNE SAL2 ; si no se tip. 4 números me voy sin comp.
RTI LDX #$00 ; como se tipiaron 4 números
STX CONT ; coloco el contador en 0 y
RUTINA DE GRABACION DEL CODIGO INGRESADO LDA CELDA ; comienzo A
OMP CMP $700,X ; comparar contra el código de hábil.
GRABA LDX CONT ; RECUPERO EL CONTADOR BNE SAL2 ; si cualquier num. carg. no coinc. con el
DE NUMEROS NOP ; código de habilitación me voy.
STA CELDA,X; EN LA POS. CELDA INCX
GUARDO EL CAR.DE TECTADO CPX #$04
CPX #$04 ; ME FIJO SI SE TIPIARON 4 NUMEROS BEQ ACT
BEQ SAL1 ; SI SE TIPIARON 4 NUMEROS ME VOY LDA CELDA,X
INCX; COMO NO LLEGUE A TIPIAR 4 NUMEROS JMP COMP
STX CONT; GUARDO EL NUEVO VALOR DEL CONT.DE ACT JSR ACTIVAR ; como el cod. ingresado es el correcto
NUM. SAL2 RTS ; activo el dispositivo a controlar.
BCLR 7, PORTA ; PRENDO EL LED VERDE
JSR DELAY2
BSET 7, PORTA ; APAGO EL LED VERDE RUTINA DE ACTIVACION DEL DISPOSITIVO DE CONTROL
RTS ; VUELVO AL PROGRAMA PRINCIPAL
ACTIVAR BSET 6,PORTA
BSET 5,PORTA
RUTINA DE DECODIFICACION DE TECLADO JSR DELAY3
BCLR 6,PORTA
DECOD LDA PORTA BCLR 5,PORTA
AND #$0F RTS
STA $C1 ; GUARDO LA FILA
LDA PORTB
STA $C2 ; GUARDO LA COLUMNA VECTORES DE RESET E INTERRUPCION
LDX #$00
LDA $C1 ; RECUPERO LA FILA ORG RESET
COMP1 CMP TABLAPRI,X FDB COMIENZO
BEQ WW ; AQUI DETECTO LA FILA DENTRO DE LA TABLA ORG MOR
INCX DB $24
INCX ORG INT
INCX FDB INTERRUP
JMP COMP1
WW LDA $C2 ; RECUPERO LA COLUMNA
COMP2 CMP TABLAPRI+1,X RUTINAS DE RETARDO
BEQ ZZ ; AQUI DETECTO LA COLUMNA DENTRO DE LA TABLA
INCX ORG $400
INCX DELAY LDX #$FF
INCX RET DECX
JMP COMP2 NOP
ZZ LDA TABLAPRI+2,X ;DEJO EN EL ACUM.EL CAR. DE TECTADO BNE RET
RTS RTS
ORG $0700
RUTINA DE COMPARACION DEL CODIGO INGRESADO DB $02,$02,$02,$02
código de habilitación
COMPARA LDX CONT ; recupero el contador de números
CPX #$04 ; me fijo si se tipiaron 4 números