Está en la página 1de 20

28/12/2014

Electrnica Unicrom
Imprimir pgina | Cerrar ventana

Cerradura electronica Microcontrolada


Tpico: http://www.unicrom.com/link.asp?TOPIC_ID=4026
Fecha: 28/12/2014
Autor del tpico: Diego Eduardo
Asunto Cerradura electronica Microcontrolada
Comentado el: 18/10/2006 3:25:32 PM
Mensaje:
para comensar dire que es un trabajo que realize en la escuela, que de hecho fue mi primer cerradura, conociendo lo basico de
programacion en asm, tecldo matricial y display de 7s.
mi idea es dar un concepto general de las consideraciones que tome para usta primer cerradura.Cerradura electronica con pic
Autor de la respuesta: Diego Eduardo
Fecha: 18/10/2006 3:29:51 PM
Mensaje:
tratare de ser brebe y claro.
Ante todo proyecto que plantiemos es primordial saber que queremos hacer es decir indicar las restricciones y atributos de nuestro
proyecto, para una cerradura electrnica
seguro de la puerta
Llave de acceso de 6 digitos
Clave maestra de 8 digitos
Teclado para el ingreso de los nmeros
Escuhar cada tecla que pulsemos
Display 7 segmentos para ver el digito ingresado
3 intentos para el acceso si es superado conectamos una chicharra
Para callar la chicharra debemos ingresar bien la llave de acceso
Para el seguro de la puerta utilizamos un solenoide utilizando el vstago de pasador lo conectamos con un relevador
Reservamos 8 espacios para la llave de acceso o clave maestra
Utilizamos un telcado 4x4 que detecte ceros para poner el pic en un estado de bajo consumo de energia
Para escuchar la tecla que pulsemos recurriremos nuestro viejo amigo el 555 en modo astable a 1Khz. Si se superan los 3 intentos
dejamos conectado el 555 despus de un tiempo largo llega a ser desesperante el sonido (suena como las sondas del corazn cuando
se detiene el msculo cardiaco), conectamos a la salida del 555 un amplificador de audio LM358 con una bocina de 3ohm
Utilizamos un display de 7 segmentos al puerto c del pic ya uqe vasta con enviar la combinacin adecuada de bits al puerto C para
mostrar un caracter
Conectamos la chicharra (como las de escuela cuando es el receso son de AC o timbres de AC) con un relevador cuando se supere el
nmero de intentos solo desconectarlo cuando se ingrese la llave de acceso adecuada o cambiemos la llave con la clave maestra e
ingresemos esa nueva llave bien.
Autor de la respuesta: Diego Eduardo
Fecha: 18/10/2006 5:57:40 PM
Mensaje:
[.red]Como comprobar que la llave de acceso es la correcta?.[/red]
Para garantizar que tenemos la llave de acceso la leeremos la eeprom as aunque se apagu el circuito tendremos la clave asegurada
cargando los valores ledos en los registros 33h al 38h.
La clave maestra la definiremos en el programa es decir cada ves que se encienda cargamos la clave desde literales (2 6 4 3 7 8 0 5) a
los registros de clave maestra en los registros 39h al 46h .
Llamamos al teclado y este debe de recibir 6 dgitos que iremos acomodando en registros destinados a recibir los 6 u 8 dgitos (del
registro 23h al 30h), cumpliendo un tiempo mximo de utilizacin del teclado si no es utilizado ponemos al pic en un estado de bajo
consumo de energa que logramos con la instruccin sleep.
Cuando estn los 6 dgitos permitiremos la comprobacin de clave con la tecla E, l
Para el cambio de llave maestra al inico del programa utilizamos un registro como indicadores (como banderas virtuales), ingresamos los
8 digitos de la clave maestra y presionemos F entraremos a cambiar la clave comprueba los 8 digitos si se equivoca aumentamos el
contador de intentos si fue correcta la clave escucharemos varios beeps indicando que ingresemos la nueva clave de 6 digitos
llamando al teclado deshabilitando la tecla E y la tecla F nos lleva a guardar la nueva clave escuchado varios beeps y la conexin
desconexcion de los dos relevadores.
La forma de comprobar la calve 6 u 8 digitos es aciedo restas registro a registro para comproboar la clave reacceso restamos 23-33
28-38 si todas las restas dan cero (es decir que son iguales, se ve reflejado en la bandera Z STATUS2) podemos seguir si alguna de
las restas no es cero Z=0 no podemos seguir.
Esperen mas en cuanto me desocupe de otras cosas, si les interese aganmelo saber para hacerlo mas rapido.
Autor de la respuesta: Diego Eduardo
Fecha: 18/10/2006 5:59:33 PM
Mensaje:
Como cambiar la llave de acceso

http://www.unicrom.com/pop_printer_friendly.asp?TOPIC_ID=4026

1/20

28/12/2014

Electrnica Unicrom

Despus de haber ingresado los 8 digitos y presionado F si ha sido correcta la clave maestra escuharemos barios beep y veremos en el
display una P que indicara que esta en servicio de programacin y digo programacin porque vamos a cambiar la llave de acceso
ingresando 6 digitos (aunque ingresemos mas seran ingnorado) y presionamos F escucharemos varios beep y la apertura y cierre de los
relevadores.
hasta aqui termina las consideraciones, se que puede resultar tedioso, pero resulta importante para llegar a buen fin con la cerradura.
y saber que cosa queremos que se programa.
Esperen mas en cuanto me desocupe de otras cosas, si les interese aganmelo saber para hacerlo mas rapido.
Autor de la respuesta: Diego Eduardo
Fecha: 19/10/2006 09:57:40 AM
Mensaje:
para que no se me pierdan en eso de los pic lespongo los sigientes enlaces
la pagina principal
http://mx.geocities.com/irresistible_en_linea/
el menu de los programas de ejemplo
http://mx.geocities.com/irresistible_en_linea/pic/menu.html
dos fuentes basicas para probar nuestro circuito
http://mx.geocities.com/irresistible_en_linea/pic/fuentefija.html
algo inprecindible es el programador de pic y uno de los mejore el TE20
http://mx.geocities.com/irresistible_en_linea/pic/programadores.html
de que sirbe el programador si n un software
http://mx.geocities.com/irresistible_en_linea/pic/winpic800.html
donde se programa el asm?
http://mx.geocities.com/irresistible_en_linea/pic/mplab.html
si no saben asm o la mayoria de su set, esta aqui en espaol
http://mx.geocities.com/irresistible_en_linea/pic/instrucciones.html
que son las banderas?
http://mx.geocities.com/irresistible_en_linea/pic/banderas.html
como se utilizan las funetes de interupcion
http://mx.geocities.com/irresistible_en_linea/pic/interrpuciones.html
Autor de la respuesta: Diego Eduardo
Fecha: 19/10/2006 09:58:53 AM
Mensaje:
los sigientes enlaces van orientados a como utilizar el teclado matricial, un display de 7 segmentos que son basicos para una primera
cerradura
http://mx.geocities.com/irresistible_en_linea/pic/teclado4x4.html
Autor de la respuesta: Diego Eduardo
Fecha: 19/10/2006 7:29:22 PM
Mensaje:
continuo con la cerradura.
Dispositivo de zumbido
Oscilador
Primeramente debemos armar un circuito oscilador considerando que el rango audible del ser humano tiene un rango hasta los 4KHz,
entonces seleccionamos una frecuencia de 1Khz. Para el circuito oscilador podemos utilizar un VCO(oscilador controlado por voltaje) o
un 555, por simplicidad (ya que solo queremos beep) utilizaremos un 555 en su configuracin de astable (no es crucial en esta
aplicacin un ciclo de trabajo del 50%) Damos un repaso para recordar el modo astable del 555
Autor de la respuesta: Diego Eduardo
Fecha: 19/10/2006 7:30:38 PM
Mensaje:

los calculos de nuestro viajo amigo el 555


El 555 tambin puede funcionar en modo Astable, como un multivibrador astable, tal que se mantiene generando una seal de
oscilacin constante sin la necesidad de la aplicacin de un pulso de excitacin externa. se puede observar la configuracin del 555 en

http://www.unicrom.com/pop_printer_friendly.asp?TOPIC_ID=4026

2/20

28/12/2014

Electrnica Unicrom

modo astable desde el punto de vista interno, que como en el anterior, ste es el esquema que se utilizar para explicar su
funcionamiento La frmula para calcular la frecuencia de oscilacin del astable es:
F = 1 / (1.44 (R1 + 2R2)) (C)
El 555 en modo astable, tambin tiene el factor denominado: Ciclo de Trabajo, el cual es la diferencia que existe entre las 2
pulsaciones de su oscilacin. La frmula para calcularlo es: D = (R1 + R2) / (R1 + 2R2)
F=1Khz T=0.001
1433=RA+2RB propongo una resistencia RA=680W y un capacitor C=1F
380=RB el valor de RB no es comercial pero si lo es 330W
Editado por - Diego Eduardo on 23 Nov 2006 15:50:18
Autor de la respuesta: Diego Eduardo
Fecha: 19/10/2006 7:31:48 PM
Mensaje:
Habilitacin
Se hace conectando la tierra del 555 para que funcione, si desconectamos la tierra se apaga el 555.
Ese cambio de voltaje lo podemos hacer con un transistor en modo inversor

se podria pensar que se quema el 555, pero creanme lo tengo conectado asi como esta planteado y funciona

Editado por - Diego Eduardo on 24 Nov 2006 19:29:25


Editado por - Diego Eduardo on 24 Nov 2006 19:30:57
Autor de la respuesta: Diego Eduardo
Fecha: 19/10/2006 7:34:11 PM
Mensaje:
Ahora tenemos una frecuencia de oscilacin de aproximadamente 1Khz (repito no es crucial tener exactamente 1Khz por que solo
debemos escuchar) a la salida (pin3)
Para poder escuchar la salida astable del 555 por simple inspeccin necesitamos una bocina o un silbador (utilic una bocina por que
ya la tenia )
Hay que acondicionar la salida del 555 antes de mandar a la bocina, para esa etapa ulizamos un preaplificador de audio utilizando un
386.
Preamplificador de audio
Para poder armarlo recurrimos a las hojas caractersticas del LM386 y seleccionamos un circuito propuesto Vs=VCC=5V
Vin es la salida del LM555

Editado por - Diego Eduardo on 24 Nov 2006 19:33:30


Autor de la respuesta: Diego Eduardo
Fecha: 19/10/2006 7:35:37 PM
Mensaje:
Salida de potencia accionada por relevador
Salida aislante para controlar el electroimn u otro dispositivo de AC o CD Utilizando un relee de 5V se mide la resistencia de la bobina
(en nuestro caso son RL=75.5W), tambin hay que medir la ganancia del transistor ( b) nuestro transistor dio b=207. RB=13.44 este
valor no es comercial podemos hacer un maraero de resistencia o utilizar la mas prxima RB=12Kohm
Autor de la respuesta: Diego Eduardo
Fecha: 19/10/2006 7:36:23 PM
Mensaje:
Teclado matricial

http://www.unicrom.com/pop_printer_friendly.asp?TOPIC_ID=4026

3/20

28/12/2014

Electrnica Unicrom

Para poder realizar la interrupcin por cambio de estado de los bits pb7 a pb4 ponemos las salidas del puertoB PB0 al PB3 en estado
bajo as al momento de pulsar como tenemos estados altos en las entradas PB4 al PB7 ponemos un cero en algn pin del PB4 al PB7,
de esta forma nuestro teclado debe ser configurado para detectar ceros. Para poder ver la tecla pulsada mandamos el valor pulsado a
un display de 7 segmentos (en nuestro es de nodo comn es por eso que habilitamos los leds con ceros)
Editado por - Diego Eduardo on 24 Nov 2006 19:35:28
Autor de la respuesta: Diego Eduardo
Fecha: 19/10/2006 7:39:05 PM
Mensaje:
la imagen de como conectar el relevador.

Espero comentarios, dudas, antes de colocar el asm o el link donde lo sibire.


esta cerradura es un previo de otra para 10 usuarios con efectos de tonos de DTMF, en display LCD
Editado por - Diego Eduardo on 24 Nov 2006 19:36:59
Autor de la respuesta: Diego Eduardo
Fecha: 20/10/2006 09:27:08 AM
Mensaje:
les pongo la imagen del circuito

como queda

Editado por - Diego Eduardo on 24 Nov 2006 19:38:29


Autor de la respuesta: Diego Eduardo
Fecha: 21/10/2006 6:31:47 PM
Mensaje:
Hola alguien en el foro?.............
Autor de la respuesta: Diego Eduardo
Fecha: 21/10/2006 6:37:34 PM
Mensaje:
coloco el asm por partes aqui?
o lo pongo en una direccion?
Autor de la respuesta: admin
Fecha: 21/10/2006 7:08:22 PM
Mensaje:
Hola Diego
Muy interesante tu proyecto.
Prosigue como consideres ms conveniente.
Saludos
Autor de la respuesta: jonathanlopez
Fecha: 21/10/2006 7:24:53 PM
Mensaje:
hola diego nuevamente creo que seria interesante que expliques la manera de evitar rebotes en el teclado...por otro lado que sucede
si en caso de ingrear 6 digitos de la clave paso a presionar 7...tomaste alguna medida al respecto ...saludos y felicitaciones por tu
aporte :-)
Autor de la respuesta: Diego Eduardo
Fecha: 23/10/2006 2:30:57 PM
Mensaje:
los rebotes los ignoro con una rutina de antirebote que es un retardo de algunos milisegundos por temporizador tmr0, el tiempo de
retardo calculado como tal hasta los 10ms y despues lo estube ajustando asi que el valor real de temporizacion no lo e medido.

http://www.unicrom.com/pop_printer_friendly.asp?TOPIC_ID=4026

4/20

28/12/2014

Electrnica Unicrom

Autor de la respuesta: Diego Eduardo


Fecha: 23/10/2006 2:50:30 PM
Mensaje:
se pueden accesar los 8 digitos de clave pero solo tamara 6 si es la clave de acceso y los 8 para la maestra, si no se precionan los
demas digitos 7 y 8 los toma como cero
la tecla F es para el enter de una la clave de acceso o maestra.
cando se presiona ve si son ya los 6 digitos paa poder continuar, si son mas no le importa.
comprueva primero si la clave (corecta el rele de solenoide y desconecta el de la chicharra) es la de acceso de no ser asi comprueva
si es la maestra (aqui sonara varias vecs mostrando una P), si no son ningunas de las claves ira incrementando los errores de acceso
en 1 y cuando sean tres se activa la chicharra y el 555
Autor de la respuesta: jonathanlopez
Fecha: 23/10/2006 10:58:13 PM
Mensaje:
muy bien eduardo felicitaciones XD
Autor de la respuesta: mikeestrada
Fecha: 24/10/2006 10:19:31 AM
Mensaje:
Guau!!! felicidades Eduardo...
Me parece genial que te des a la tarea de compartir un diseo completo con la comunidad.
Excelente!!
Autor de la respuesta: Diego Eduardo
Fecha: 24/10/2006 5:39:50 PM
Mensaje:
;*Cerradura electronica con clave de 6 digitos y 8 para cambiar la clave de acceso
;****************************************************************
;*Autor: Diego Eduardo San Juan Godoy
;*cristal:4Mhz
dsanjuang0200@ipn.mx
;*http://mx.geocities.com/irresistible_en_linea
;*LA TECNICA AL SERVICIO DE LA PATRIA
;* Conexion del teclado al puerto B
*
;*Aadir resistencias para
*
;*portB.7 1Kohm Vcc
*
;*portB.6 1Kohm Vcc
*
;*portB.5 1Kohm Vcc
*
;*portB.4 1Kohm Vcc
*
;*
3 2 1 0
distribucion del nombre
*
;* 4 __|__|__|__|
789A
*
;* 5 __|__|__|__|
456B
*
;* 6 __|__|__|__|
123C
*
;* 7 __|__|__|__|
E0F D
*
;******************************************************************
;* Conexion de los display's de 7 segmentos de anodo comun
*
;* Nombre
conexion
PIC
*
;*
___
gf Ra b
segmento
*
;* f | a | b
|_|_|_|_|
a R330 portc.0
*
;* |___|
|
|
b R330 portc.1
*
;* e | g | c
|
|
c R330 portc.2
*
;* |___|
|_______|
d R330 portc.3
*
;*
d * P
| | | | |
e R330 portc.4
*
;*
e dT c P
f R330 portc.5
*
;*
R=100ohm
g R330 portc.6
*
;*
T=transitor P R330 portc.7
*
;*conexion de los 4 display's
*
;*se puentean los pines a, b c, d, e, f, g, P
*
;******************************************************************
;*Conexion de el electroiman mediante un relevador de cd a 5V
;*
VCC
;*
__|__ se mide la resistencia de la bobina
;*
_|_
$ del reley RL y se calcula la RB
;*
1N4148 D1 /_\ RL$ y medir la beta del transistor selecionado
;*
|_____$
nuestro calculo arrojo
;*
C |
RB=550ohm
;*
RB
|/
considerando PA.0 de 5V
;* puertoA.0 _/\/\-B--| bc547
;*
|;*
E|
;*
Vss

http://www.unicrom.com/pop_printer_friendly.asp?TOPIC_ID=4026

5/20

28/12/2014

Electrnica Unicrom

;*
se repite el mismo diagrama para activar una chicharara de AC
;*para ambos se conecta al comun del rele VCC y al NA del rele un calble alimentacion y elotro a tierra de AC
;******************************************************************
;*
LM555
LM386
/
;*
______
______
_/
;*
| O |
| A | | | Bocina
;*
| S |___________| M |___| | 8 Ohm
;*
| C |
| P | |_|
;*
|______|
|______|
;*
;*
Fosc=1Khz
Preamplificador de audio
;*
guarda la clave de acceso en la memoria EEPROM del pic para evitar que se borre
;*
ante una falla de energia
;*
Editado por - Diego Eduardo on 24 Nov 2006 19:40:03
Autor de la respuesta: Diego Eduardo
Fecha: 24/10/2006 5:41:19 PM
Mensaje:
ya esta editado para que salga con tabuladores

;inicia el codigo
list p=16F873A ; selecciono el tipo de Pic
PA
EQU 5H
PB
EQU 6H
PC
equ 7H
INTCON
equ 0BH
option_reg equ 1H
estado
equ 3H
;usadas para eeprom
ADDRES
equ 70H
VALUE
equ 71H
EECON1
equ 0x0C
EEDATA
equ 0x0C
EECON2
equ 0x0D
EEADR
equ 0x0D
;-----INTCON
equ 0BH
estado
equ 3H
cero equ b'11000000'
uno
equ b'11111001'
dos
equ b'10100100'
tres equ b'10110000'
cuatro
equ b'10011001'
cinco equ b'10010010'
seis equ b'10000010'
siete equ b'10111000'
ocho equ b'10000000'
nueve
equ b'10011000'
A
equ b'10001000'
B0
equ b'10000011'
C
equ b'11000110'
D
equ b'10100001'
E
equ b'10000110'
F
equ b'10001110'
P
equ b'10001100'
ORG 0
GOTO inicio
ORG 4
GOTO
teclado;vector de interrupciones
Editado por - Diego Eduardo on 02 Dec 2006 20:41:29
Autor de la respuesta: Diego Eduardo
Fecha: 24/10/2006 5:42:05 PM
Mensaje:
inicio BSF

estado,5
;Cambio de Banco al banco 1
clrf PC
;portC salidas
CLRF PA
; configuro en ceros al PA lo hace salidas
movlw
7H
; configura las entradas del puerto A como digitales

http://www.unicrom.com/pop_printer_friendly.asp?TOPIC_ID=4026

6/20

28/12/2014

Electrnica Unicrom
movwf
1FH ;carga la configuracion digital en el ADCON
movlw
b'11110000' ;hara que PB.0 a PB.3 sean Salidas y del PB.4 aPB7 sean entradas
movwf
PB
movlw
b'11000111' ;configura en OPNTION1 a (1er bit) TMRO (ultimos 3 bits) dividor de 1:256
movwf
1H
;carga la configuracion al OPTION1 Reg1
bcf
estado,5
;regreso al banco cero
;localidades destinadas para el ingreso de la clave por parte del usuario
clrf 23H
clrf 24H
clrf 25H
clrf 26H
clrf 27H
clrf 28H
clrf 29H
clrf 30H
;localidades destinadas para la clave interna del PIC que pueden ser cambiadas con la secuentcia predeterminada
clrf 33H
clrf 34H
clrf 35H
clrf 36H
clrf 37H
clrf 38H
;localidades usadas para comprobar si el usuario ingreso la secuencia para cambiar la clave (localidades 33H a 38H)
;detino ocho localidades para este fin solo para asegurar que el usuario no ponga la misma clave
;secuencia para el cambio de clave 2 6 4 3 7 8 0 5 precionar F "llave maestra"
movlw
2H
movwf
39H
movlw
6H
movwf
40H
movlw
4H
movwf
41H
movlw
3H
movwf
42H
movlw
7H
movwf
43H
movlw
8H
movwf
44H
movlw
0H
movwf
45H
movlw
5H
movwf
46H

Editado por - Diego Eduardo on 13 Dec 2006 18:42:47


Autor de la respuesta: Diego Eduardo
Fecha: 24/10/2006 5:43:06 PM
Mensaje:
;cargamos la clave que se encuentre en la eeprom
; a las seis localidades que lo hacen, sacamos de la eeprom la clave de acceso
movlw
0x0
call leer_eeprom
movwf
33H
movlw
0x01
call leer_eeprom
movwf
34H
movlw
0x02
call leer_eeprom
movwf
35H
movlw
0x03
call leer_eeprom
movwf
36H
movlw
0x04
call leer_eeprom
movwf
37H
movlw
0x05
call leer_eeprom
movwf
38H
Editado por - Diego Eduardo on 13 Dec 2006 18:43:22

http://www.unicrom.com/pop_printer_friendly.asp?TOPIC_ID=4026

7/20

28/12/2014

Electrnica Unicrom

Autor de la respuesta: Diego Eduardo


Fecha: 24/10/2006 5:45:57 PM
Mensaje:
;utilizo el registro 22h como banderas 1=no hay 0=y hay digito, uno para cada localidad
;-------Habilitacin de interrupciones------avi clrf PA
movlw b'11111110' ;utilizamos el primer bit como indicador de cambio de clave de acceso
movwf 31H ;los sigientes 3 bit's para indicar cuantos intentos de acceso van cuando son cero se activa una chicharra
alarma movlw d'255' ;primer multiplicador de tiempo para el barrido del teclado
movwf 21H ;
movlw d'255' ;segundo multipliador de tiempo de lectura del teclado
movwf 20H
movlw d'255'
movwf PC
movlw b'11111111'
movwf 22H ;sera el numero maximo de caracteres a ingresar 6 para acceso y +2 para cambio de clave de acceso
movlw b'11110000'
movwf PB
movlw b'10001000'
movwf INTCON
Autor de la respuesta: Diego Eduardo
Fecha: 24/10/2006 5:47:49 PM
Mensaje:
se ma habia pasado comentar que:
una ves pulsada una tecla el pic sale de sleep y solo tienen unos segundos para acesar la clave (para eso son los multiplicadores de
tiempo del teclado)
Autor de la respuesta: Diego Eduardo
Fecha: 24/10/2006 5:48:10 PM
Mensaje:
btfss 31H,7 ;si el bit7 de la 31H es cero estamos en alarma
goto chicharra
;por seguridad haya isertado bien o no la clave devo limpiar las localidades
clrf 23H
clrf 24H
clrf 25H
clrf 26H
clrf 27H
clrf 28H
clrf 29H
clrf 30H
sueo sleep
goto sueo ; Dulces sueos...!!!
chicharra movlw b'00111110'
movwf PA
goto chicharra
Autor de la respuesta: Diego Eduardo
Fecha: 24/10/2006 5:48:58 PM
Mensaje:
hasta aqui terminamos por ajustar el micro.
lo sigiente es operativo
Autor de la respuesta: thunor
Fecha: 25/10/2006 12:49:46 PM
Mensaje:
Si empleas las etiquetas de cdigo
todo lo que escribas
respeta las
tabulaciones ;)
Espero haberte ayudado.
Saludos y enhorabuena por tu excelente trabajo.

http://www.unicrom.com/pop_printer_friendly.asp?TOPIC_ID=4026

8/20

28/12/2014

Electrnica Unicrom

Autor de la respuesta: Diego Eduardo


Fecha: 25/10/2006 3:21:10 PM
Mensaje:
;******************************************************************
;* Conexion de los display's de 7 segmentos de anodo comun
*
;* Nombre
conexion
PIC
*
;*
___
gf Ra b
segmento
*
;* f | a | b
|_|_|_|_|
a R330 portc.0
*
;* |___|
|
|
b R330 portc.1
*
;* e | g | c
|
|
c R330 portc.2
*
;* |___|
|_______|
d R330 portc.3
*
;*
d * P
| | | | |
e R330 portc.4
*
;*
e dT c P
f R330 portc.5
*
;*
R=100ohm
g R330 portc.6
*
;*
T=transitor P R330 portc.7
*
;*conexion de los 4 display's
*
;*se puentean los pines a, b c, d, e, f, g, P
*
;******************************************************************
Autor de la respuesta: Diego Eduardo
Fecha: 25/10/2006 3:22:02 PM
Mensaje:
no se ve como el mplab pero se ve mucho mejor que antes
gracias
Autor de la respuesta: Diego Eduardo
Fecha: 26/10/2006 1:30:10 PM
Mensaje:
;-------------Rutina de servicio de interrupciones------------;----------Subrutina de barrido de teclado
teclado
movlw
b'11111110'
movwf
PB
;Envia un cero PB.0 a los demas ceros
btfss PB,4 ;brinca si es uno el bit PB.3
goto fueA
btfss PB,5 ;brinca si es uno el bit PB.4
goto fueB0
btfss PB,6 ;brinca si es uno el bit PB.5
goto fueC
btfss PB,7 ;brinca si es uno el bit PB.6
goto fueD
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
movlw
b'11111101'
movwf
PB
;Envia un cero PB.1 a los demas ceros
btfss PB,4 ;brinca si es uno el bit PB.3
goto fue9
btfss PB,5 ;brinca si es uno el bit PB.4
goto fue6
btfss PB,6 ;brinca si es uno el bit PB.5
goto fue3
btfss PB,7 ;brinca si es uno el bit PB.6
goto fueF
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
movlw
b'11111011'
movwf
PB
;Envia un uno PB.2 a los demas ceros
btfss PB,4 ;brinca si es uno el bit PB.3
goto fue8
btfss PB,5 ;brinca si es uno el bit PB.4
goto fue5

http://www.unicrom.com/pop_printer_friendly.asp?TOPIC_ID=4026

9/20

28/12/2014

Electrnica Unicrom
btfss PB,6 ;brinca si es uno el bit PB.5
goto fue2

btfss PB,7 ;brinca si es uno el bit PB.6


goto fue0
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
movlw
b'11110111'
movwf
PB
;Envia un uno PB.3 a los demas ceros
btfss PB,4 ;brinca si es uno el bit PB.3
goto fue7
btfss PB,5 ;brinca si es uno el bit PB.4
goto fue4
btfss PB,6 ;brinca si es uno el bit PB.5
goto fue1
btfss PB,7 ;brinca si es uno el bit PB.6
goto fueE
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
decfsz 20H,1 ;decrementa en uno a nuestro multiplicador de tiempo
;se hara cero si no se pulsa ningua tecla en 2 segundos
goto
teclado
movlw
d'255'
movwf
20H
decfsz
21H,1
goto teclado
btfsc 31H,0 ;si es cero indica que no estamos en servicio de programacion
goto teclado
goto alarma
Editado por - Diego Eduardo on 13 Dec 2006 18:41:59
Autor de la respuesta: Diego Eduardo
Fecha: 27/10/2006 8:08:51 PM
Mensaje:
;la otra parte del teclado, donde se asigna la tecla pulsada como un digito de la clave y la funcion de enter
;-------------------subrutina de beep
pitido call retardo
bsf
PA,2
call retardo
bcf
PA,2
return
;--------------------subrutinas del pulsado de teclado alias fue algo
fue0 movlw
cero
movwf
PC
call pitido
movlw
0H
call queposicion
goto teclado
fue1 movlw
uno
movwf
PC
call pitido
movlw
1H
call queposicion
goto teclado
fue2 movlw
dos
movwf
PC
call pitido
movlw
2H
call queposicion
goto teclado
fue3 movlw
tres
movwf
PC
call pitido
movlw
3H
call queposicion
goto teclado

http://www.unicrom.com/pop_printer_friendly.asp?TOPIC_ID=4026

10/20

28/12/2014

Electrnica Unicrom

fue4 movlw
cuatro
movwf
PC
call pitido
movlw
4H
call queposicion
goto teclado
fue5 movlw
cinco
movwf
PC
call pitido
movlw
5H
call queposicion
goto teclado
fue6 movlw
seis
movwf
PC
call pitido
movlw
6H
call queposicion
goto teclado
fue7 movlw
siete
movwf
PC
call pitido
movlw
7H
call queposicion
goto teclado
fue8 movlw
ocho
movwf
PC
call pitido
movlw
8H
call queposicion
goto teclado
fue9 movlw
nueve
movwf
PC
call pitido
movlw
9H
call queposicion
goto teclado
fueA movlw
A
movwf
PC
call pitido
movlw
d'10'
call queposicion
goto teclado
fueB0 movlw
B0
movwf
PC
call pitido
movlw
d'11'
call queposicion
goto teclado
fueC movlw
C
movwf
PC
call pitido
movlw
d'12'
call queposicion
goto teclado
fueD movlw
D
movwf
PC
call pitido
movlw
d'13'
call queposicion
goto teclado
fueE movlw
E
;PIDE LA COMPROBACION DE LAS TECLAS PULSADAS es como un enter
movwf
PC
call pitido
btfsc 31H,0 ;brinca si es uno(uno indica que estamos ingresando una nueva contrasea)
goto teclado
;si no estamos en servicio de programacion brincamos a la rutina e que es un enter de codigo
call compruevaclave ;llama a la subrutina de comprobacion de clave

http://www.unicrom.com/pop_printer_friendly.asp?TOPIC_ID=4026

11/20

28/12/2014

Electrnica Unicrom
goto avi

fueF movlw
F
movwf
PC
call pitido
;para cambiar la clave deve comprobar si la clave ingresada para este fin es la correcta
btfsc 31H,0 ;brinca si es uno(uno indica que estamos ingresando una nueva contrasea)
goto newclave
call cambiodeclave
;llama ala subrutina de comprobacion de clave
goto avi
Autor de la respuesta: Diego Eduardo
Fecha: 27/10/2006 8:25:58 PM
Mensaje:
perdon se me fueF tiene un detallito
fueF movlw
F
movwf
PC
call pitido
;para cambiar la clave deve comprobar si la clave ingresada para este fin es la correcta
btfsc 31H,0 ;brinca si es uno(uno indica que estamos ingresando una nueva contrasea)
goto newclave
btfsc 22H,6
;ya son minimo las 6 claves para el acceso?
call cambiodeclave
;si,llama ala subrutina de comprobacion de clave
goto avi
como padran darse cuenta solo entra la clave con 6 digitos caundo es de acceso y si fuera la maestra de 8 aunque no esten los 8 los
toma como cero.
no le im,porta cuando reprograman la calve de acceso si son los 6.
claro no hay que dar todo resuelto.
no cren?
Autor de la respuesta: Diego Eduardo
Fecha: 27/10/2006 8:30:54 PM
Mensaje:
ahora si much atention
biene la parte donde comprueba la clave de acceso
Autor de la respuesta: Diego Eduardo
Fecha: 27/10/2006 8:31:42 PM
Mensaje:
;-----------Subrutina de comprobacion de clave
;para poder activar el electroiman devemos comprobar que los valores ingresados en la rutina que posicion
;y mandado a comprobar por fueE (para esta clave de acceso son solo seis digitos)
;se hace mediante resta(subwf) si el valor de la resta indica (se activa la bandera Z) que el numero es bueno
;si nos da un valor diferente de cero el numero ingresado no es bueno y mandamos a falla
compruevaclave
call refresca
bcf
estado,2
;reseta la bandera para comprobar
movfw
33H
subwf 23H,0 ;el resultado de la resta se guarda en la W, sila operacion en cero pone en uno la bandera Z
btfss estado,2
;brinca si se habilita la bandera Z (indica que la operacion logica es cero)
goto falla
;si no es cero entonces el numero fallo
bcf
estado,2
movfw
34H
subwf 24H,0
btfss estado,2
goto falla
bcf
estado,2
movfw
35H
subwf 25H,0
btfss estado,2
goto falla
movfw
36H
subwf 26H,0

http://www.unicrom.com/pop_printer_friendly.asp?TOPIC_ID=4026

12/20

28/12/2014

Electrnica Unicrom
btfss estado,2
goto falla
bcf
estado,2
movfw
37H
subwf 27H,0
btfss estado,2
goto falla

bcf
estado,2
movfw
38H
subwf 28H,0
btfss estado,2
goto falla
;si llega a este punto es que la clave ha sido correcta
;y por lo tanto habilita el eletroiman que atora la puerta
clrf PA
;limpio el puerto por aquello que aya estado en alarma
bsf
PA,0 ;poniendo a uno el bit cero del puerto A
buenaclave call

retardo
;damos un breve retardo para empujar la puerta, concluido esto el pic apaga todo
decfsz 20h,1
;decrementa en uno a nuestro multiplicador de tiempo
;se hara cero si no se pulsa ningua tecla en 2 segundos
goto
buenaclave
clrf PA
goto avi
;regresamos a sueo
goto teclado

Autor de la respuesta: Diego Eduardo


Fecha: 27/10/2006 8:34:16 PM
Mensaje:
sigan muy atentos ahora va la parte que comprueba la clave maestra
;-----------Subrutina de cambio de clave
;en esta subrutina devemos comprobar que la calve de fabrica (2 6 4 3 7 8 0 5) y ordenada a verificar por fue F
;esta clave de fabrica es de 8 digitos se hace la misma operacion que en comprueva clave
cambiodeclave
bcf
estado,2
movfw
39H
subwf 23H,0
btfss estado,2
goto falla
bcf
estado,2
movfw
40H
subwf 24H,0
btfss estado,2
goto falla
bcf
estado,2
movfw
41H
subwf 25H,0
btfss estado,2
goto falla
movfw
42H
subwf 26H,0
btfss estado,2
goto falla
bcf
estado,2
movfw
43H
subwf 27H,0
btfss estado,2
goto falla
bcf
estado,2
movfw
44H
subwf 28H,0
btfss estado,2
goto falla
bcf
estado,2
movfw
45H
subwf 29H,0

http://www.unicrom.com/pop_printer_friendly.asp?TOPIC_ID=4026

13/20

28/12/2014

Electrnica Unicrom
btfss estado,2
goto falla
bcf
estado,2
movfw
46H
subwf 30H,0
btfss estado,2
goto falla

Autor de la respuesta: Diego Eduardo


Fecha: 27/10/2006 8:35:14 PM
Mensaje:
llegando a este punto la clave de fabrica es correcta y podemos aceder
;a cambiar la clave de acceso sin limite de tiempo entre pulsar una tecla y otra
bsf
31H,0 ;ponemos un uno en el bit cero de la 31H que indica que el teclado solo manda valores numericos
; el boton E no opera y F es el entrer de la nueva clave
;devemos reestablecer nuestra variable 22H que utilizamos en que posicion para colocar
;los nuevos valores de clave
movlw
b'00111111'
movwf
22H
;sera el numero de caracteres a ingresar son 6
;para ver que estamos en programacion mandamos una P al display
movlw
P
movwf
PC
call pitido
call pitido
call pitido
call pitido
goto teclado
Autor de la respuesta: Diego Eduardo
Fecha: 27/10/2006 8:35:57 PM
Mensaje:
;para poder llegar aqui despues de que el usuario coloco sus seis digitos
;deve precionar F que ocacionara la carga de la nueva clave de acceso
newclave movfw
23H
movwf
33H
movfw
24H
movwf
34H
movfw
25H
movwf
35H
movfw
26H
movwf
36H
movfw
27H
movwf
37H
movfw
28H
movwf
38H
Autor de la respuesta: Diego Eduardo
Fecha: 27/10/2006 8:36:15 PM
Mensaje:
;escribimos la clave en la eeprom con la finalidad
;ante fallo de energia mantiene la clave
movlw
0x00 ;direccion a aescribir
movwf
ADDRES
movfw
23H
movwf
VALUE
call escribe_eeprom
movlw
0x01 ;direccion a aescribir
movwf
ADDRES
movfw
24H
movwf
VALUE
call escribe_eeprom
movlw
movwf
movfw
movwf

0x02 ;direccion a aescribir


ADDRES
25H
VALUE

http://www.unicrom.com/pop_printer_friendly.asp?TOPIC_ID=4026

14/20

28/12/2014

Electrnica Unicrom
call

escribe_eeprom

movlw
0x03 ;direccion a aescribir
movwf
ADDRES
movfw
26H
movwf
VALUE
call escribe_eeprom
movlw
0x04 ;direccion a aescribir
movwf
ADDRES
movfw
27H
movwf
VALUE
call escribe_eeprom
movlw
0x05 ;direccion a aescribir
movwf
ADDRES
movfw
28H
movwf
VALUE
call escribe_eeprom
;solo para escuchar
que entro bien la clave y hay que acordarse de ella
call pitido
call pitido
call pitido
movlw
b'00111110'
movwf
PA
call retardo
goto avi
Autor de la respuesta: Diego Eduardo
Fecha: 27/10/2006 8:36:42 PM
Mensaje:
;-----------Subrutina que actualiza el valor del multipicador de tiempo para el barrido del teclado
refresca
movlw d'255' ;refrescamos el valor del multiplicador de tiempo
movwf 20H
;cargo al alocalidad 20h
movwf
21H
return
Autor de la respuesta: Diego Eduardo
Fecha: 27/10/2006 8:37:04 PM
Mensaje:
;------------subrutina
retardo bcf
0BH,2
movlw d'1' ;
movwf
sigue btfss 0BH,2
goto
sigue
clrf 0BH
return

de retardo
;limpio la bandera de desbordamiento del TIMER0
1
;Monitorea la bandera de desbordamiento del TMRO 255

Autor de la respuesta: Diego Eduardo


Fecha: 27/10/2006 8:38:53 PM
Mensaje:
;------------subrutina que cuenta cuantos intertos van
;esta encargada de contar cuantos intentos van auxialiada de la 31H con exepcion
;del bit cero (31H.0 es para servicio de programacion)
;damos tres intentos, si es el intento uno ponemos acero el bit cero de la 31H
;es el segundo interto ponemos un cero en el bit dos de la 31H
;es el tercer interto ponemos un cero en el bit tres de la 31H
;en el proximo intento ponemos un cero en el bit7 de la 31H que indica que estamos alertas
;devemos saltar asta un punto donde no borremos el PA (por que apagara las alrmas)
;ni que reestablesca la 31H porque quitaria los intentos y desactiva la alarma
falla btfsc 31H,1
goto primer_intento
btfsc 31H,2
goto segundo_intento
btfsc 31H,3
goto tercer_intento
bcf
31H,7 ;indicamos con bit 7 que estamos en alarma

http://www.unicrom.com/pop_printer_friendly.asp?TOPIC_ID=4026

15/20

28/12/2014

Electrnica Unicrom
goto alarma

Autor de la respuesta: Diego Eduardo


Fecha: 27/10/2006 8:47:10 PM
Mensaje:
;------------subrutina que cuenta cuantos intertos van
;esta encargada de contar cuantos intentos van auxialiada de la 31H con exepcion
;del bit cero (31H.0 es para servicio de programacion)
;damos tres intentos, si es el intento uno ponemos acero el bit cero de la 31H
;es el segundo interto ponemos un cero en el bit dos de la 31H
;es el tercer interto ponemos un cero en el bit tres de la 31H
;en el proximo intento ponemos un cero en el bit7 de la 31H que indica que estamos alertas
;devemos saltar asta un punto donde no borremos el PA (por que apagara las alrmas)
;ni que reestablesca la 31H porque quitaria los intentos y desactiva la alarma
falla btfsc 31H,1
goto primer_intento
btfsc 31H,2
goto segundo_intento
btfsc 31H,3
goto tercer_intento
bcf
31H,7 ;indicamos con bit 7 que estamos en alarma
goto alarma
;
primer_intento bcf
31H,1 ;colocamos un cero en el bit uno indicando que es el primer intento
movlw
b'11111111' ;reseteamos el contador de posciones asi indicamos que no hay caracteres en los registros de clave
movwf
22H ;sera el numero maximo de caracteres a ingresar 6 para acceso y +2 para cambio de clave de acceso
goto alarma
; le damos la primera oportunidad mandado a intentos (en ese punto no borra el numero de intentos)
segundo_intento bcf
31H,2 ;colocamos un cero en el bit dos indicando que es el segundo intento
movlw
b'11111111' ;reseteamos el contador de posciones asi indicamos que no hay caracteres en los registros de clave
movwf
22H ;sera el numero maximo de caracteres a ingresar 6 para acceso y +2 para cambio de clave de acceso
goto alarma
; le damos una segunda oportunidad
tercer_intento bcf
31H,3 ;colocamos un cero en el bit dos indicando que es el segundo intento
movlw
b'11111111' ;reseteamos el contador de posciones asi indicamos que no hay caracteres en los registros de clave
movwf
22H ;sera el numero maximo de caracteres a ingresar 6 para acceso y +2 para cambio de clave de acceso
goto alarma
; le damos una tercera y ultima oportunidad
Autor de la respuesta: Diego Eduardo
Fecha: 27/10/2006 8:49:48 PM
Mensaje:
otra disculpa puese alreves aslgo en la fueF espero lo noten, es algo simpre el error.
es

call

btfss 22H,6
cambiodeclave

;aqui estaba el detalle


;si,llama ala subrutina de comprobacion de clave

goto avi

Autor de la respuesta: Diego Eduardo


Fecha: 27/10/2006 8:50:58 PM
Mensaje:
lo que sigue es la seccion que coloca los digitos en su posicion
;-----------Subrunita que verifica en que posicion deve ir el caracter pulsado (recuerda que la clave es de tres)
queposicion
;esta rutina se encarga de colocar el valor de la tecla pulsada en el lugar que le corresponde
;si es la primera pulsada a la 22H si es la segunda a la 23H y se repite para las 8 localidades
;la 22H la utilizo como indicador cada bit asociado con una posicion el bit cero posicion uno, bit2 posc2 etc.
;colocando un cero en el bit asociado con la posicion
btfsc 22H,0
goto posicion0
btfsc 22H,1
goto posicion1
btfsc 22H,2
goto posicion2
btfsc 22H,3
goto posicion3
btfsc 22H,4
goto posicion4
btfsc 22H,5
goto posicion5

http://www.unicrom.com/pop_printer_friendly.asp?TOPIC_ID=4026

16/20

28/12/2014

Electrnica Unicrom
;las sigientes posiciones no afecta a la clave de acceso
; son para el cambio de clave de acceso
btfsc 22H,6
goto posicion6
btfsc 22H,7
goto posicion7
goto teclado

posicion0

posicion1

posicion2

posicion3

posicion4

posicion5

posicion6

posicion7

movwf
23H
bcf
22H,0
call pitido
call refresca
goto teclado
movwf
24H
bcf
22H,1
call pitido
call refresca
goto teclado
movwf
25H
bcf
22H,2
call pitido
call refresca
goto teclado
movwf
26H
bcf
22H,3
call pitido
call refresca
goto teclado
movwf
27H
bcf
22H,4
call pitido
call refresca
goto teclado
movwf
28H
bcf
22H,5
call pitido
call refresca
goto teclado
;las sigientes posiciones no afecta a la clave de acceso
; son para el cambio de clave de acceso
movwf
29H
bcf
22H,6
call pitido
call refresca
goto teclado
movwf
30H
bcf
22H,7
call pitido
call refresca
goto teclado

Autor de la respuesta: Diego Eduardo


Fecha: 27/10/2006 8:51:47 PM
Mensaje:
como ven?
alguna duda?
comentarios
Autor de la respuesta: Diego Eduardo
Fecha: 27/10/2006 8:53:05 PM
Mensaje:
aun falta las rutinas de lectura y escrituta de la eeprom las dejare para la proxima semana.
Autor de la respuesta: Diego Eduardo
Fecha: 30/10/2006 4:31:01 PM
Mensaje:
;-------Subrutina de Lectura de la EEPROM
;-------Sugerida por MICROCHIP para la serie 16F87X
leer_eeprom
BSF estado,6 ;

http://www.unicrom.com/pop_printer_friendly.asp?TOPIC_ID=4026

17/20

28/12/2014

Electrnica Unicrom

BCF estado,5 ; Bank 2


MOVF DATA_EE_ADDR,W ; Data Memory
MOVWF EEADR ; Address to read
BSF estado,5 ; Bank 3
BCF EECON1,7 ; Point to Data
; memory
BSF EECON1,0 ; EE Read
BCF estado,5 ; Bank 2
MOVFW EEDATA ; W = EEDATA
BCF estado,5
BCF estado,6
;banco 0
return
;

Autor de la respuesta: Diego Eduardo


Fecha: 30/10/2006 4:31:39 PM
Mensaje:
;-----------------------------------------END
;-----------------------------------------Autor de la respuesta: Diego Eduardo
Fecha: 30/10/2006 4:32:30 PM
Mensaje:
error de dedo jajaja
;-------Subrutina de Escritura de la EEPROM
;-------Sugerida por MICROCHIP para la serie 16F87X
escribe_eeprom
BSF estado,6 ;
BSF estado,5
;banco 3
;verifica que haya terminado de escribir la eeprom
BTFSC
EECON1,1 ;Wait for write
GOTO $-1 ;salimos de este bucle hasta que ternime de escribir
BCF estado, 5 ;Banco 2
MOVF ADDRES,W ;Data Memory
MOVWF EEADR ;Direccion a escribir en la eeprom
MOVF VALUE,W ;Data Memory Value
MOVWF EEDATA ;Valor a escribir en la eeprom
BSF estado,5 ;Banco 3
BCF EECON1,7 ;Acceso a la memoria de datos
;memory
BSF EECON1,2 ;Permite la escritura
;BCF INTCON,7 ;Deshabilita interruciones
MOVLW 0x55 ;
MOVWF EECON2 ;Write 55h
MOVLW 0xAA ;
MOVWF EECON2 ;Write AAh
BSF EECON1,1 ;Set WR bit to
;begin write
;BSF INTCON,7 ;Habilita interrupciones
BCF EECON1,2 ;Deshabilita escritura
BCF estado,5
BCF estado,6 ;banco 0
RETURN
Autor de la respuesta: Diego Eduardo
Fecha: 30/10/2006 4:36:20 PM
Mensaje:
ya esta terminada la cerradura microcontrolada.
para un usuario y calve maestra para reprogramacion.
sin ms por el momento me despido
SER CULTO ES SER LIBRE
VIVE LIBRE TODA TU VIDA:
QUE EL ULTIMO ACTO DE ESTA TE DIRA QUIEN FUISTE
Hasta la proxima uusavi (hombres de la regin de las nubes, La regin mixteca es nuestro mundo.)
Autor de la respuesta: admin

http://www.unicrom.com/pop_printer_friendly.asp?TOPIC_ID=4026

18/20

28/12/2014

Electrnica Unicrom

Fecha: 30/10/2006 5:22:02 PM


Mensaje:
Felicitaciones Diego!
Muy buen proyecto!!
Saludos
Autor de la respuesta: Diego Eduardo
Fecha: 30/10/2006 5:36:28 PM
Mensaje:
gracias.
ah sido un gusto para mi.
puedo exponer otro tema?
Autor de la respuesta: Diego Eduardo
Fecha: 07/11/2006 6:06:34 PM
Mensaje:
Espero que les resulte util y/o para practicar la program,acion del pic.
les dejo la direccion donde puede subir algo de la cerradura (falta las conideracion que estan al principio de este tema).
http://mx.geocities.com/irresistible_en_linea/pic/cerradura.html
aveces mis palabras llegas donde mi vos no puede.
Hasta la proxima
Autor de la respuesta: admin
Fecha: 07/11/2006 8:20:19 PM
Mensaje:
quote :
gracias.
ah sido un gusto para m i.
pue do e x pone r otro te m a?

Claro que si!!.


Cuando gustes
saludos
Autor de la respuesta: mikeestrada
Fecha: 07/11/2006 10:26:46 PM
Mensaje:
Diego... felicidades!!! que gusto que hayas compartido el proyecto con la comunidad. Creo que a muchos nos servira para aprender
como programar los PIC.
Enhorabuena!!!
Autor de la respuesta: difer1125
Fecha: 16/04/2008 02:30:23 AM
Mensaje:
Diego felicidades por tu gran proyecto, tengo una pregunta quisiera saber donde tendria que modificar tu codigo para que en vez de
utilizar un display de 7 segmentos pudiera utilizar un LCD.
gracias
lo que pretendo es modificar tu proyecto y sacar una nueva version de este pero no tengo mucho conocimiento en assambler, me
podrias mostrar como hacerlo.
email difer1125hotmail.com
Autor de la respuesta: Diego Eduardo
Fecha: 03/05/2008 03:45:24 AM
Mensaje:
disculpa la tardanza, tienes que modificar la seccion donde se envian los datos al puerto par amostrar al display.
deverar hacer una convercion de digitos a ascii, que es lo que recibe el lcd

http://www.unicrom.com/pop_printer_friendly.asp?TOPIC_ID=4026

19/20

28/12/2014

Electrnica Unicrom

Autor de la respuesta: DJVIRTUAL


Fecha: 03/05/2008 07:20:07 AM
Mensaje:
grasias por tu aportacion sera de gran ayuda para todos que estemos interesados en el tema
Autor de la respuesta: depepe
Fecha: 02/09/2010 02:18:44 AM
Mensaje:
Hola Diego,soy nuevo en estode los micros y estoy haciendo la cerradura y de momento tengo varios problemas.lo estoy ensamblando
con el MPLAB el primero es que en la subrrutina de leer
eeprom en la 1instruccion dode pones MOVF DATA_EE_ADDR,W Siempre me da error, consultando con un libro de micro llegue a la
conclusion que la instruccion es MOVF ADDR_L,W Asi no me da error pero tampoco funciona.Estoy simulandolo con
PROTEUS.Cuando lo arranco hace un pequeo parpadeo el 1digito y ya no pasa nana mas.Como si se quedase en algun bocle y no
retornase a leer el teclado e repasado el programa ciento de veces y no allo respuesta.Otra cosa.los puertos
que gatillean los transitores que a su vez los anodos de los 7seg e supuesto que son PB,0,1,2,3
os agradezco la ayuda gracias.pepe
Autor de la respuesta: depepe
Fecha: 02/09/2010 08:56:56 AM
Mensaje:
Hola Diego soy pepe otra vez pido disculpas por lo de antes pues el papel impreso donde tego el programa esta manchado y ni vi (;).e
ensamblado el programa otra vez y cuando pulso una tecla cualquiera en el display me sale (A).Repasando de nuevo el pragma me doy
curnta que esta habilitada las interrupciones pero no veo donde se retorna a habilitar con la instruccion bcf INTCON,RBIF que creo no
esta tampoco se donde ponerla.En escribe_eepron hay algo pero esta con
(;) agradezco la ayoda gracias pepe,
Electrnica Unicrom : http://www.unicrom.com/
2002-12 Unicrom.com All Rights Reserved.

http://www.unicrom.com/pop_printer_friendly.asp?TOPIC_ID=4026

20/20

También podría gustarte