Cerradura Lcd + Teclado 3X4 Con 16F628A
Despues de una pequeña revisión, me he dado cuenta que si se pone RSen el A4 no funciona la simulación, pero solo en la simulación. de todas maneras he cambiado la foto del esquema y el codigo. Aunque el problema estaba solo ahí. Tambien os dejo los archivos en Proteusy los de PBP en la sección de descargas
Y este es el codigo en PBP:
;Cerradura Electronica Electronica con teclado 3x4,Lcd 16x2,
;y clave de 4 digitos que queda grabada aun cuando el Pic;deje de tener corriente.
;utiza el micro 16f628a prescidiendo del cristal de cuarzo
;externo y usando el reloj interno
@ DEVICE PIC16F628A, WDT_OFF
@ DEVICE PIC16F628A, PWRT_ON
@ DEVICE PIC16F628A,BOD_ON
@ DEVICE PIC16F628A, PROTECT_OFF
@ DEVICE PIC16F628A, CPD_OFF
@ DEVICE PIC16F628A, MCLR_OFF
@ DEVICE PIC16F628A, INTRC_OSC_NOCLKOUT
@ DEVICE PIC16F628A, LVP_OFF
DEFINE LCD_DREG PORTA;port de Data LCD
DEFINE LCD_DBIT 0 ;datos LCD comenzando en BIT 0 o 4 "estos deven estar consecutivos"
define LCD_EREG PORTB ;cambiamos Enable del portb.3
DEFINE LCD_EBIT 7 ;al portb.7
DEFINELCD_RSREG PORTA
DEFINE LCD_RSBIT 7
;definicion de variables
a var word
tecla var word
n1 var byte
n2 var byte
n3 var byte
n4 var byte
eprom1 var byte
;definiendo puertos
LA var portb.0;Linea A
LB var portb.1 ;Linea B
LC var portb.2 ;Linea C
LD var portb.3 ;Linea D
Funo var portb.4 ;Columna 1
Fdos var portb.5 ;Columna 2
Ftres var portb.6 ;Columna 3
rele var porta.6 ;Rele
n1="1";asigno valor a las variables
n2="1" ;el valor es equivalente en asccII
n3="1" ;esta sera la combinación predefinida
n4="1" ;recuerda cambiarla!!
eprom1="0"
PAUSE 100 ; Inicio del programaread 0,eprom1
if eprom1 = 255 then gravar_clave
goto bienvenida
gravar_clave:
WRITe 0, n1
WRITe 1, n2
WRITe 2, n3
WRITe 3, n4
LCDOUT $FE,1, $FE,2, " CLAVE GRABADA "
PAUSE 1500
GOTO...
Regístrate para leer el documento completo.