Haz una pregunta
  Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos
Foros Registrarse ¿Olvidaste tu contraseña?

Temas similares

24/04/2010 #1


Alarma pic16f628a no funciona
Saludo a todos,

Publico esta alarma para solicitar orientación respecto al código y mirar que fallas podría tener, está hecha en base al pic16f628A y el código está en pic basic pro con simulación en proteus.

Muchas gracias,
25/04/2010 #2
Moderador

Avatar de Chico3001

Respuesta: Alarma pic16f628a no funciona
Y que errores has tenido al simularla? si no das mas datos dudo mucho que alguien te ayude...
26/04/2010 #3


Respuesta: Alarma pic16f628a no funciona
Bueno, lo principal es que no activa el relé cuando se digita la clave, a pesar que todo el código aparenta estar bien, simplemente enciende el led y queda lista para volver a digitar la clave (1,2,3,4). He revisado y segun el texto todo está bien, por tal motivo es que solicito me ayuden para ver si puedo armarla pues la verdad no manejo Assembler y el Basic me parece más práctico a la hora de desarrollar los proyectos.

Gracias y sigo atento a cualquier comentario.
26/04/2010 #4

Avatar de alexus

Respuesta: Alarma pic16f628a no funciona
tienes el codigo? puedes ponerlo en basic?
26/04/2010 #5


Respuesta: Alarma pic16f628a no funciona
alexus dijo: Ver Mensaje
tienes el codigo? puedes ponerlo en basic?
Hola Alexus,

Efectivamente en el comprimido está la simulación en proteus, el código .asm, .hex y el .bas para abrirlo con pic basic pro.

Por favor, si puedes darme una mano, te lo agradeceré.
27/04/2010 #6


Publico el código en Basic a ver si me ayudan por favor
Yo sigo insistiendo en encontrar orientación!!!
La idea general es que cuando se opriman las teclas 7 y c del teclado hexadecimal, se pueda introducir la nueva clave.

Normalmente se deben digitar 1,2,3,4 y así activar el relé, sinembargo esto no está sucediendo. Agrego el código en Basic para ver quien puede echarme la mano.

Código PHP:
DEVICE pic16F628AINTRC_OSC_NOCLKOUT ' Opción del Osc Interno
 @ DEVICE pic16F628A, WDT_ON ' 
Watchdog Timer ON
 
DEVICE pic16F628APWRT_ON ' Power-On Timer
 @ DEVICE pic16F628A, BOD_ON
 @ DEVICE pic16F628A, MCLR_OFF ' 
Master Clear Opción interno
 
DEVICE pic16F628ALVP_OFF ' Bajo voltaje de programación
 @ DEVICE pic16F628A, CPD_OFF ' 
Protección del código de memoria OFF
 
DEVICE pic16F628APROTECT_OFF' protección de código OFF

 CMCON=7                    ; Conversión de análogo a digital del puerto A
 NUMERO VAR BYTE
 R VAR BYTE
 BIP VAR PORTA.0
 LED VAR PORTA.1
 DOOR VAR PORTA.2
 A VAR PORTB.0              ; Nombre para los pines de las columnas de la matriz
 B VAR PORTB.1
 C VAR PORTB.2
 D VAR PORTB.3
 
 UNO VAR PORTB.4            ; Nombre para los pines de las filas de la matriz
 DOS var PORTB.5
 TRES VAR PORTB.6
 CUATRO VAR PORTB.7
 
 SETPRIME VAR BYTE            ; Variable para almacenar la primera clave
 SETSEGUN VAR BYTE            ; Variable para almacenar la segunda clave
 SETERCER VAR BYTE
 SETCUART VAR BYTE
 
 INICIANDO:
 FOR R=1 TO 3                 ; Programa del led para saber si está funcionando
 high LED: HIGH BIP
  PAUSE 1000
  LOW LED: LOW BIP
  pause 150
  next
  
   '
*********** GUARDA LA CLAVE DE FABRICA ************
   
EEPROM 0,[1,2,3,4' Cargar la memoria eeprom desde cero en adelante
   
   RESET:
    FOR R=1 TO 3
    high LED: HIGH BIP
    PAUSE 50
    LOW LED: LOW BIP
    pause 50
    
    IF (CUATRO=0) AND (UNO=0) THEN RESET; Corresponden a teclas 7 y C
    next
    
    read 0,SETPRIME ; Leer el dato de la eemprom 0 y gardar en setprime
    read 1,SETSEGUN
    READ 2,SETERCER
    READ 3,SETCUART
    
   
  GOTO TECLAUNO                ; Ir a comparar claves

  GRABAUNO:                    ; Programa para cambiar la clave
   GOSUB PTECLA: HIGH LED      ; Espera a que suelte las teclas
   GOSUB BARRIDO: GOSUB PTECLA ; Ir a BARRIDO y retorna a un antirrebote
   HIGH LED
   WRITE 0, NUMERO             ; Guardar en la eemprom 0 el valor de número
   
  GRABADOS:
   GOSUB BARRIDO:GOSUB PTECLA
   HIGH LED
   WRITE 1, NUMERO            ;  Guardar en la eemprom 1 el valor de número
   
  GRABATRES:
   GOSUB BARRIDO:GOSUB PTECLA
   HIGH LED
   WRITE 2, NUMERO            ;  Guardar en la eemprom 2 el valor de número
   
  GRABACUATRO:
   GOSUB BARRIDO: GOSUB PTECLA
   HIGH LED
   WRITE 3, NUMERO            ; Guardar en la eemprom 3 el valor de número
   
   GOTO RESET
      
  BARRIDO:
   LOW A                         ; Sensar fila A
   IF UNO=0 THEN NUMERO=1:RETURN ; Si pulsó la tecla uno devuelvala cargada con 1
   if dos=0 THEN NUMERO=2:RETURN
   IF TRES=0 THEN NUMERO=3:RETURN
   IF CUATRO=0 THEN NUMERO=10:RETURN
   HIGH a
   LOW B                         ; sensar la fila B
   IF UNO=0 THEN NUMERO=4:RETURN 
   if dos=0 THEN NUMERO=5:RETURN
   IF TRES=0 THEN NUMERO=6:RETURN
   IF CUATRO=0 THEN NUMERO=11:RETURN
   HIGH B
   LOW C                         ; sensar la fila C
   IF UNO=0 THEN NUMERO=7:RETURN 
   if dos=0 THEN NUMERO=8:RETURN
   IF TRES=0 THEN NUMERO=9:RETURN
   IF CUATRO=0 THEN NUMERO=12:RETURN
   HIGH C
   LOW D                         ; sensar la fila D
   IF UNO=0 THEN NUMERO=14:RETURN 
   if dos=0 THEN NUMERO=0:RETURN
   IF TRES=0 THEN NUMERO=15:RETURN
   IF CUATRO=0 THEN NUMERO=13:RETURN
   HIGH D
   PAUSE 10
   GOTO BARRIDO
   
   '
*** PROGRAMA ANTIRREBOTE***
   
PTECLA:
    
HIGH LED:HIGH BIP             Genera sonido cada que se pulsa una tecla
    PAUSE 100
    LOW LED
:LOW BIP
    
    ESPACIO
:
     IF 
UNO=0 THEN ESPACIO        Si la tecla sigue pulsada ir a ESPACIO
     
IF DOS=0 THEN ESPACIO
     
IF TRES=0 THEN ESPACIO
     
IF CUATRO=0 THEN ESPACIO
     PAUSE 25                      
Retorna si se sueltan las teclas
     
RETURN
     
    
'*** COMPARACION DE CLAVES ***
   TECLAUNO:
    GOSUB BARRIDO                  ; Ir abarrido y retornar con un valor
    GOSUB PTECLA                   ; Envía a ANTIRREBOTE para soltar tecla
    IF NUMERO=SETPRIME THEN TECLADOS
    GOTO FALSO
    
   TECLADOS:
    GOSUB BARRIDO:GOSUB PTECLA
    IF NUMERO=SETSEGUN THEN TECLATRES
    GOTO FALSO1
    
   TECLATRES:
    GOSUB BARRIDO:GOSUB PTECLA
    IF NUMERO=SETERCER THEN TECLACUATRO
    GOTO FALSO2
    
   TECLACUATRO:
    GOSUB BARRIDO:GOSUB PTECLA
    IF NUMERO=SETCUART THEN OPENGE
    GOTO FALSO3
    
   OPENGE:
    FOR R=1 TO 2
    PAUSE 100
    HIGH LED:HIGH BIP
    PAUSE 100
    LOW LED:LOW BIP
    NEXT
    HIGH DOOR                          ; Se conecta el relé
    PAUSE 1000
    LOW DOOR
    HIGH A:HIGH B:HIGH C:LOW D         ; Sensar solo la fila D
    if CUATRO=0 THEN GRABAUNO          ; Corresponde tecla D grabar
    GOTO TECLAUNO
    
    '
*** LAZOS FALSOS-TECLAS ERRÓNEAS ***
    
FALSO:
     
GOSUB BARRIDO:GOSUB PTECLA
     
    FALSO1
:
     
GOSUB BARRIDOGOSUB PTECLA
    
    FALSO2
:
    
GOSUB BARRIDO:GOSUB PTECLA
   
    FALSO3
:
     FOR 
R=1 TO 30
     PAUSE 150
     HIGH LED
:HIGH BIP
     PAUSE 150
     HIGH A
:HIGH B:HIGH D:LOW C Sensar solo la fila C
     
if (cuatro=0) and (UNO=0THEN RESET
     NEXT
     
     
    PANICO
:
     
HIGH LED
     PAUSE 500
     LOW LED 
     PAUSE 500
     HIGH A
:HIGH B:HIGH D:LOW C
     
if (cuatro=0) and (UNO=0THEN RESET
     
GOTO PANICO
     
    END 
28/04/2010 #7


Respuesta: Alarma pic16f628a no funciona
Bueno, sigo insistiendo pues no pierdo la esperanza.

Aquí adjunto imagen y codigo de la alarma que sigue sin funcionarme ahora que agregué lcd, solo muestra mensaje de bienvenida e introduzca clave, pero de ahí en adelante no he podido dar con el problema. Si alguien puede, le estaría agradecido.
Archivos Adjuntos
Tipo de Archivo: rar CLAVE DE ACCESO PIC16F628A (ULTIMA EDICION).rar (96,9 KB (Kilobytes), 137 visitas)
29/04/2010 #8

Avatar de alexus

Respuesta: Alarma pic16f628a no funciona
podes subir el circuito?

poruqe hay algo que no me cierra.
30/04/2010 #9


Circuito de cerradura
alexus dijo: Ver Mensaje
podes subir el circuito?

poruqe hay algo que no me cierra.
Hola Alexus,

Aquí adjunto la imagen del circuito, recuerda que la saqué del libro Microcontroladores de Carlos A. Reyes con el cual me he orientado desde el principio y que conseguí gratis en internet.

Gracias,
Imágenes Adjuntas
Tipo de Archivo: jpg CIERRA.JPG (51,9 KB (Kilobytes), 104 visitas)
30/04/2010 #10
Moderador

Avatar de Chico3001

Respuesta: Alarma pic16f628a no funciona
Todo parece estar correcto... no sera problema de hardware? que el transistor o el relevador esten quemados o mal conectados?
30/04/2010 #11


Respuesta: Alarma pic16f628a no funciona
Hola Chico,

El circuito no se ha armado físicamente aún, solamente lo he simulado con Proteus y no me funciona.

Saludos.
30/04/2010 #12
Moderador

Avatar de Chico3001

Respuesta: Alarma pic16f628a no funciona
entonces no creo que sea problema de software ni de hardware... me suena mas a que algo sucede con el proteus...

Pero me quede con la duda... proteus genera sonido?
30/04/2010 #13


Nada que quiere funcionar!!!
Chico3001 dijo: Ver Mensaje
entonces no creo que sea problema de software ni de hardware... me suena mas a que algo sucede con el proteus...

Pero me quede con la duda... proteus genera sonido?
En proteus si se puede generar sonido, claro que en la alarma no me funciona.

Descargué una serie de ejemplos en basic que supuestamente funcionan bien, sinembargo he probado leer un teclado 3X4 en lcd y me he encontrado con la sorpresa que no lee los numeros de la segunda columna y si se entra a variar con High y Low las columnas, entonces los valores que se muestran en pantalla son erraticos, aquí está el código por si alguien quiere analizarlo y encontrar el error, creo que por esto tampoco funciona la alarma pues si no hay una lectura correcta del teclado nunca va a funcionar la dichosa alarma, también adjunto la simulación.
Si alguien tiene una simulación con este pic para leer un teclado en basic que funcione, por favor subirla.

Código PHP:
DEVICE pic16F628AINTRC_OSC_NOCLKOUT ' Opción del Osc Interno
 @ DEVICE pic16F628A, WDT_ON ' 
Watchdog Timer ON
 
DEVICE pic16F628APWRT_ON ' Power-On Timer
 @ DEVICE pic16F628A, BOD_ON
 @ DEVICE pic16F628A, MCLR_OFF ' 
Master Clear Opción interno
 
DEVICE pic16F628ALVP_OFF ' Bajo voltaje de programación
 @ DEVICE pic16F628A, CPD_OFF ' 
Protección del código de memoria OFF
 
DEVICE pic16F628APROTECT_OFF' protección de código OFF

 CMCON=7 
                    ; Conversión de análogo a digital del puerto A
 NUMERO VAR BYTE

 
 COLUMNA1 VAR PORTA.4
 COLUMNA2 VAR PORTA.5
 COLUMNA3 VAR PORTA.6
 
 FILA1 VAR PORTA.0
 FILA2 VAR PORTA.1
 FILA3 VAR PORTA.2
 FILA4 VAR PORTA.3

DEFINE LCD_DREG PORTB '
UTILIZAR 4 BITS DEL PUERTO B PARA TX DE DATOS
DEFINE LCD_DBIT 4     
'DESDE EL BIT B.4 AL BIT B.7
DEFINE LCD_RSREG PORTB'
UTILIZAR EL REGISTRO  DE CONTROL/DATOS EN EL PUERTO B
DEFINE LCD_RSBIT 1    
'EN EL BIT B.1
DEFINE LCD_EREG PORTB '
UTILIZAR EL ENABLE EN EL PUERTO B
DEFINE LCD_EBIT 3     
'EN EL BIT B.3

TRISB=0    '
ESTABLECER EL PUERTO B COMO SALIDA
PAUSE 500    
' PAUSE DE MEDIO SEGUNDO

    VAR1 VAR Byte   ' 
Declaramos la Variable VAR1 
  
    var1 
0        ' Inicializamos la variable VAR1 
    
    Pause 200       ' 
Pausa de 200 milisegundos

    Lcdout $fe
1   ' Limpia la pantalla
    Lcdout $fe, 2   ' 
Posiciona el cursor en el inicio 
    Lcdout          
"* Pantalla LCD *"  
    
Lcdout $fe,$C0"* Teclado Mat. *"

    
PAUSE 3000      ' Pausa de 3 segundos
    
Inicio:

    Call Teclado

    Lcdout $fe, 2   ' 
Posiciona el cursor en el inicio
    Lcdout          
"Tecla Pulsada:  "  
    
Lcdout $fe,$C0"--> ",#var1,"           "
    
GoTo Inicio    
   
Teclado
:

    
LOW COLUMNA1    ' Columna 1 = 0
 '   
HIGH COLUMNA2     ' Columna 2 = 1
'    
HIGH COLUMNA3    ' Columna 3 = 1

    If FILA1 = 0 Then VAR1 = 1         ' 
tecla "1"
    
If FILA2 0 Then VAR1 4        ' tecla "4"
    If FILA3 = 0 Then VAR1 = 7        ' 
tecla "7"
    
If FILA4 0 Then VAR1 10        ' tecla "*"

    HIGH COLUMNA1     ' 
Columna 1 1
    LOW COLUMNA2     
' Columna 2 = 0
'    
HIGH COLUMNA3     ' Columna 3 = 1

    If FILA1 = 0 Then VAR1 = 2         ' 
tecla "2"
    
If FILA2 0 Then VAR1 5        ' tecla "5"
    If FILA3 = 0 Then VAR1 = 8       ' 
tecla "8"
    
If FILA4 0 Then VAR1 11        ' tecla "0"

'    
HIGH COLUMNA1    ' Columna 1 = 1
    HIGH COLUMNA2    ' 
Columna 2 1
    LOW COLUMNA3    
' Columna 3 = 0

    If FILA1 = 0 Then VAR1 = 3        ' 
tecla "3"
    
If FILA2 0 Then VAR1 6        ' tecla "6"
    If FILA3 = 0 Then VAR1 = 9        ' 
tecla "9"
    
If FILA4 0 Then VAR1 12        ' tecla "#"
     HIGH COLUMNA3
    PAUSE 10
    RETURN      ' 
Retorna una línea después del llamado "Call" 
       
End 
Archivos Adjuntos
Tipo de Archivo: rar Nueva carpeta.rar (109,7 KB (Kilobytes), 56 visitas)
30/04/2010 #14


Respuesta: Alarma pic16f628a no funciona
es necesario que programas en ese lenguaje???
yo tengo el codigo para la alarma de un coche pero lo hice en sourceboost no se si te interese
01/05/2010 #15

Avatar de mecatrodatos

Respuesta: Nada que quiere funcionar!!!
viggiani1975 dijo: Ver Mensaje
En proteus si se puede generar sonido, claro que en la alarma no me funciona.

Descargué una serie de ejemplos en basic que supuestamente funcionan bien, sinembargo he probado leer un teclado 3X4 en lcd y me he encontrado con la sorpresa que no lee los numeros de la segunda columna y si se entra a variar con High y Low las columnas, entonces los valores que se muestran en pantalla son erraticos, aquí está el código por si alguien quiere analizarlo y encontrar el error, creo que por esto tampoco funciona la alarma pues si no hay una lectura correcta del teclado nunca va a funcionar la dichosa alarma, también adjunto la simulación.
Si alguien tiene una simulación con este pic para leer un teclado en basic que funcione, por favor subirla.

Código PHP:
DEVICE pic16F628AINTRC_OSC_NOCLKOUT ' Opción del Osc Interno
@ DEVICE pic16F628A, WDT_ON ' 
Watchdog Timer ON
DEVICE pic16F628APWRT_ON ' Power-On Timer
@ DEVICE pic16F628A, BOD_ON
@ DEVICE pic16F628A, MCLR_OFF ' 
Master Clear Opción interno
DEVICE pic16F628ALVP_OFF ' Bajo voltaje de programación
@ DEVICE pic16F628A, CPD_OFF ' 
Protección del código de memoria OFF
DEVICE pic16F628APROTECT_OFF' protección de código OFF
 
CMCON=7 
; Conversión de análogo a digital del puerto A
NUMERO VAR BYTE
 
 
COLUMNA1 VAR PORTA.4
COLUMNA2 VAR PORTA.5
COLUMNA3 VAR PORTA.6
 
FILA1 VAR PORTA.0
FILA2 VAR PORTA.1
FILA3 VAR PORTA.2
FILA4 VAR PORTA.3
 
DEFINE LCD_DREG PORTB '
UTILIZAR 4 BITS DEL PUERTO B PARA TX DE DATOS
DEFINE LCD_DBIT 4 
'DESDE EL BIT B.4 AL BIT B.7
DEFINE LCD_RSREG PORTB'
UTILIZAR EL REGISTRO DE CONTROL/DATOS EN EL PUERTO B
DEFINE LCD_RSBIT 1 
'EN EL BIT B.1
DEFINE LCD_EREG PORTB '
UTILIZAR EL ENABLE EN EL PUERTO B
DEFINE LCD_EBIT 3 
'EN EL BIT B.3
 
TRISB=0 '
ESTABLECER EL PUERTO B COMO SALIDA
PAUSE 500 
' PAUSE DE MEDIO SEGUNDO
 
VAR1 VAR Byte ' 
Declaramos la Variable VAR1 
 
var1 
' Inicializamos la variable VAR1 
 
Pause 200 ' 
Pausa de 200 milisegundos
 
    Lcdout $fe
' Limpia la pantalla
    Lcdout $fe, 2 ' 
Posiciona el cursor en el inicio 
    Lcdout 
"* Pantalla LCD *" 
    
Lcdout $fe,$C0"* Teclado Mat. *"
 
PAUSE 3000 ' Pausa de 3 segundos
 
Inicio:
 
Call Teclado
 
    Lcdout $fe, 2 ' 
Posiciona el cursor en el inicio
    Lcdout 
"Tecla Pulsada: " 
    
Lcdout $fe,$C0"--> ",#var1," "
GoTo Inicio 
 
Teclado
:
 
    
LOW COLUMNA1 ' Columna 1 = 0
HIGH COLUMNA2 ' Columna 2 = 1
'    
HIGH COLUMNA3 ' Columna 3 = 1
 
    If FILA1 = 0 Then VAR1 = 1         ' 
tecla "1"
    
If FILA2 0 Then VAR1 4        ' tecla "4"
    If FILA3 = 0 Then VAR1 = 7        ' 
tecla "7"
    
If FILA4 0 Then VAR1 10        ' tecla "*"
 
    HIGH COLUMNA1 ' 
Columna 1 1
    LOW COLUMNA2 
' Columna 2 = 0
'    
HIGH COLUMNA3 ' Columna 3 = 1
 
    If FILA1 = 0 Then VAR1 = 2         ' 
tecla "2"
    
If FILA2 0 Then VAR1 5        ' tecla "5"
    If FILA3 = 0 Then VAR1 = 8     ' 
tecla "8"
    
If FILA4 0 Then VAR1 11        ' tecla "0"
 
'    
HIGH COLUMNA1 ' Columna 1 = 1
    HIGH COLUMNA2 ' 
Columna 2 1
    LOW COLUMNA3 
' Columna 3 = 0
 
    If FILA1 = 0 Then VAR1 = 3        ' 
tecla "3"
    
If FILA2 0 Then VAR1 6        ' tecla "6"
    If FILA3 = 0 Then VAR1 = 9        ' 
tecla "9"
    
If FILA4 0 Then VAR1 12        ' tecla "#"
HIGH COLUMNA3
PAUSE 10
    RETURN ' 
Retorna una línea después del llamado "Call" 
End 
Amigo he revisado el codigo y realizado unos ajustes y funciona perfectamente la lectura de teclado de 3x4 , veia que era muy demorado por los retardos que configure y anda ha todo dar te dejo la simulacion y el codigo. En cuando al de la alarma mirare como te puedo dar una mano.
Archivos Adjuntos
Tipo de Archivo: rar tec.rar (30,6 KB (Kilobytes), 103 visitas)
01/05/2010 #16


Respuesta: Nada que quiere funcionar!!!
Gracias por Mil!!!

Te estoy extremadamente agradecido por tu ayuda, es muy importante destacar el espíritu de colaboración y servicio por parte de los foreros, especialmente de aquellos con mayor conocimiento pero que, sin vanalidad alguna y desprendidos de todo interés, ayudan y ayudan a todo el que pueden.

Nuevamente mil gracias a Mecatrodatos y espero en un futuro cercano poder retribuir al mínimo toda la colaboración aquí prestada.
01/05/2010 #17


Respuesta: Alarma pic16f628a no funciona
Hola Chelo,

No sé cual es ese lenguaje, pero si es entendible y no muy difícil de aprender, seguro me interesa, si puedes subir el código sería novedoso para mí.

Gracias,
02/05/2010 #18


Respuesta: Alarma pic16f628a no funciona
Es el lenguaje c pero para programar circuitos

Código PHP:
#include <system.h>      /* Libreria por default
void main()
{
      
trisa=0xF;            /*Entradas al puerto a del pic en hexadecimal*/
      
trisb=0x00;             /*Entradas al puerto b del pic en hexadecimal*/
      
portb=0x00;            /*Salidas al puerto b del pic en hexadecimal*/
      
porta=0x00;           /*Salidas al puerto a del pic en hexadecimal*/
      
while (1)
      {
            if (
porta.0==1)    /*Activacion de alarma
            {
                portb.0=1;            /*Indica que la alarma a sido activada
                if (porta.1==1)       /*Puerta uno se abre
                {
                      delay_s(1);        /*Se da un tiempo para desactivar la alarma
                      portb.1=1;         /*La sirena se activa sino se desactiva la alrma
                      delay_s(2);        /Tiempo de activacion de sirena
                      portb.1=0;         /*Se desactiva la sirena
                 }
                 if (porta.2==1)        /*puerta dos
                {
                      delay_s(1);
                      portb.1=1;
                      delay_s(2);
                      portb.1=0;
                 }
                 if (porta.3==1)         /*Puerta tres
                {
                      delay_s(1);
                      portb.1=1;
                      delay_s(2);
                      portb.1=0;
                 }
                 if (porta.4==1)          /*Puerta cuatro
                {
                      delay_s(1);
                      portb.1=1;
                      delay_s(2);
                      portb.1=0;
                 }
          }

El pic16f84a cuenta con dos puertos, que es el a y b, el puerto a cuenta con cinco pines (RA0, RA1, RA2, RA3, RA4), mientras el puerto b con 8 (RB0-RB7). Para no poner el codigo en hexadecimal, se dan las salidas en binario como pudiste observar, para esto se utiliza el punto (portb.0, porta.4, etc.), con esto le indicas que pin y en que puerto.
Es algo bastante sencillo, espero con esto te puedas ayudar.
03/05/2010 #19


Respuesta: Alarma pic16f628a no funciona
Gracias Chelo,

Voy a tratar de armar algo con este código y si me funciona lo postearé después para que todos tengan acceso a el.

De cualquier forma sigo interesado en decifrar la falla que existe en la alarma con el 16f628, pues me parece increible que basándose en un texto muy reconocido, falle.

Muchos saludos.

Aqui estoy nuevamente,

Anexo este código que parece funcionar a medias, si se digita el número 1, dice "clave correcta" cuando deberían ser el 1 y el 2, es decir, que con el primer dígito de la clave hace como si se hubiera digitado la clave completa.

Ojalá alguien pase por aquí y ojee... se agradece cualquier ayuda.
En el comprimido está el código es .txt por si acaso y la simulación en proteus.
Archivos Adjuntos
Tipo de Archivo: rar CLAVE DE ACCESO PIC16F628A-1.rar (55,7 KB (Kilobytes), 64 visitas)
13/05/2010 #20


clave de acceso
Adjunto simulación y archivo para basic pro de esta clave de acceso para quien crea pueda servirle o quiera hacerle mejoras, utiliza el pic 16f628a y me gustaría saber como hago para que aparezca el asterisco sin borrarse con cada digitación hasta completar los cuatro necesarios.

Saludos.
Respuesta
¿Tienes una mejor respuesta a este tema? ¿Quieres hacerle una pregunta a nuestra comunidad y sus expertos? Registrate

Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO ©2011, Crawlability, Inc.