
necesario hacer una modificación de software
en el futuro.
Cuando hayamos colocado todos los compo-
nentes en la placa la inspeccionaremos visual-
mente y si todo es correcto, estaremos en dis-
posición de conectar la tensión de alimentación
de 12 V a la entrada. El circuito debería consu-
mir alrededor de 50 mA y si todo está bien debe-
ría mostrar el número ‘0’. En caso contrario, es
necesario desconectar la alimentación y comen-
zar por investigar si todos los componentes
están perfectamente colocados en su sitio. Des-
conectaremos la fuente de alimentación y qui-
taremos IC2 de su zócalo. Volveremos a conec-
tar la alimentación y comprobaremos el circuito
múltiplex del display mediante un cable que
lleve los pines RA0 y RA4 a masa (pin 5 del
zócalo IC2) y uniendo los pines RB4, RB5 y RB6
a masa en una secuencia binaria, comprobare-
mos si se ilumina cada LED de forma
individual en el display. El nivel de ten-
sión y la entrada de reset MCLR debe-
ría ser 5 V. Por último, el oscilador de
cristal puede verificarse con un osci-
loscopio.
Software
Todo el software se ha escrito en
ensamblador usando MPASM. El
software completo desarrollado para
el proyecto se puede descargar de
forma gratuita de la página web de
Microchip. El software para este pro-
yecto consta de dos ficheros fuente:
-Display.asm: contiene el genera-
dor de caracteres del display para los
números 0 a 9.
-Codelock.asm: Programa princi-
pal de la cerradura codificada.
Estos pueden descargarse gratui-
tamente de la página web de Elektor,
y también pueden obtenerse en dis-
quete (ver página del Servicio de
Lectores). Un reset en el microcon-
trolador comprueba si es la primera
vez que se pone el circuito en mar-
cha leyendo la primera posición de
memoria de la EEPROM. Los micro-
controladores EEPROM se suminis-
tran de fábrica con 0xFF escrito en
todas y cada una de las posiciones de
memoria. Siempre que se cambie el
código de la secuencia se escribe el
valor 0x3D en el primer byte. Si este
valor no está presente en memoria, el
microcontrolador sabe que es la pri-
mera vez que se ha usado el circuito
y escribirá por defecto la secuencia
de código 1234 en su EEPROM.
Cuando se ha completado la ini-
cialización, el programa entre en su
bucle principal donde multiplexa el
display y lee el puerto de entrada. El
contenido del bit variable MODE
indica al display la dirección de des-
plazamiento, el periodo de cambio de
la entrada de conmutación, el tiempo
de conmutación del relé y que un
nuevo código está dentro.
(020434-1)
INTERÉSGENERAL
30
Elektor
(C) ELEKTOR
020434-1
C1
C2
C3
C4
C5
C6
C7
D1
H1
H2
H3 H4
IC1
IC2
IC3
JP1
K1
LD1
R1
R2
R3
R4
R5
R6
R7
R8
R9
R10
R11
R12
R13
R14
R15 R16 R17R18 R19
R20
R21
RE1
S1
T1 T2
T3
T4
T5
T6
T7
T8
X1
+
0
020434-1
C8
(C) ELEKTOR
020434-1
Figura 3. La PCB a simple cara está bastante comprimida y no usa ningún componente
SMD.
LISTADO DE COMPONENTES
Resistencias:
R1-R7 = 47k
R8-R14,R20,R21 = 4k7
R15-R19 = 150Ω
Condensadores:
C1,C2 = 33pF
C3 = 1μF 16V
C4,C5 = 100nF
C6,C7 = 10μF 16V radial
Semiconductores:
IC1 = 74LS156 ó 74HC(T)156
IC2 = PIC16F84 ó PIC16C84A-
4/P, programado, código de
pedido 020434-41
IC3 = 78L05
D1 = 1N4148
T1-T7 = BC557B
T8 = BC547B
Varios:
X1 = cristal de cuarzo de 4 MHz
LD1 = matriz de 5 x 7 (Conrad
Electronics # 160490)
S1 = Encoder rotativo tipo 427
(modelo pequeño) (Conrad
Electronics # 705594)
RE1 = FRS1B-S, 12V, 1 x contacto
(Conrad Electronics # 505196)
JP1 = 2 pines macho para PCB
con jumper
K1 = regleta de 3 vías para PCB
con separación de 5 mm
2 espadines
PCB, código de pedido 020434-1
Disco, código fuente y
hexadecimal, código de pedido
020434-11 o descarga
gratuita
Descargas gratuitas
PIC software. Fichero número: 020434-
11.zip, contiene:
– CODELOCK.HEX
Código Hex para el PIC
– CODELOCK.ASM
Código fuente (Ensamblador)
– DISPLAY.ASM
Código fuente (set de caracteres)
PCB layout en formato PDF.
Número de fichero: 020434-1.zip
www
.elektor-electronics.co.uk/dl/dl.htm, y
mes de publicación.
Kommentare zu diesen Handbüchern