Autor Tema: Ayuda kon asembler....teclado matricial  (Leído 1728 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado ijfa

  • PIC10
  • *
  • Mensajes: 3
Ayuda kon asembler....teclado matricial
« en: 20 de Enero de 2006, 21:00:00 »
Ola a todos....tengo un problema kon un programa para teclado matricial....hice uno en C y no me resulto....asi ke trate de probar uno en asm que encontre para un  16f84....Mi pregunta es ke kosa le falta porke lo trate de kompilar en MPLAB y no peska.....no entiendo ke pasa ...aki el kode:
Codigo:
Contador1   EQU      0x0C         ;//registro contador1
Contador2   EQU      0x0D         ;//registro contador2
Contador3   EQU      0x0E         ;//registro contador3
Tecla      EQU      0x0F         ;//Registro para numero tecla de 0-15


         ORG      0x00         ;//Posicion Vector Reset
         GOTO   Inicializa      ;//Programa comienza una posicion
         ORG      0x05         ;//detras de vector de interrupcion
Inicializa   BSF      STATUS,RP0      ;//pagina 1
         MOVLW   0b11110000      ;//Patron PUERTA B:PORTB.4-7 entradas Columnas,PORTB.0-3 salidas Filas

         MOVWF   TRISB         ;//Programa Puerta B
         BSF      OPTION,RBPU      ;//Habilita Pull-ups en entradas
         BCF      STATUS,RP0      ;//Vuelve a pagina 0
         CLRF   Contador1      ;//Contador1=0
         CLRF   Contador2      ;//Contador2=0
         MOVLW   0x08         ;//Carga Contador3 para un retardo
         MOVWF   Contador3      ;//de 1/2 segundo
Principal   CLRF   Tecla         ;//Tecla=0
         INCF   Tecla         ;//Tecla=Tecla+1
         MOVLW   0b1110         ;//saca 0 a Fila 1
         MOVWF   PORTB         ;//por la Puerta B
         NOP                  ;//espera estabilizacion
         
Chekeo_Col   BTFSS   PORTB,4         ;//Chekea primera Columna buscando 0
         GOTO   NTecla         ;//si encuentra 0 muestra numero tecla pulsada   
         INCF   Tecla         ;//si no tecla pulsada incrementa numero tecla
         BTFSS   PORTB,5         ;//Chekea segunda Columna buscando 0
         GOTO   NTecla         ;//si encuentra 0 muestra numero tecla pulsada   
         INCF   Tecla         ;//si no tecla pulsada incrementa numero tecla
         BTFSS   PORTB,6         ;//Chekea tercera Columna buscando 0
         GOTO   NTecla         ;//si encuentra 0 muestra numero tecla pulsada   
         INCF   Tecla         ;//si no tecla pulsada incrementa numero tecla
         BTFSS   PORTB,7         ;//Chekea cuarta Columna buscando 0
         GOTO   NTecla         ;//si encuentra 0 muestra numero tecla pulsada   
         INCF   Tecla         ;//si no tecla pulsada incrementa numero tecla

Ultima_tecl   MOVLW   0x11         ;//Carga W kon el numero de Teclas+1
         SUBWF   Tecla,w         ;//y lo kompara kon el valor actual de Tecla
         BTFSC   STATUS,Z      ;//si Tecla+1=valor actual
         GOTO   Principal      ;//No ha sido pulsada ninguna tecla
         BSF      C            ;//Pone a 1 bit C
         RLF      PORTB         ;//asi la Fila 1 pasa a 1 con la rotacion a izq
         GOTO   Chekeo_Col      ;//y chekea la siguiente kolumna

NTecla      BSF      STATUS,RP0      ;//Selecciona pagina 1
         CLRF   TRISB         ;//Configura Puerta B como salida
         BCF      STATUS,RP0      ;//vuelve a pagina 0
         MOVF   Tecla,w         ;//Coloca valor de Tecla en W
         MOVWF   PORTB         ;//y los saka en los led

Pausa      DECFSZ   Contador1      ;//Bucle anidado de 3 niveles
         GOTO   Pausa         ;//aproximadamente 0.5 segundos
         DECFSZ   Contador2
         GOTO   Pausa
         DECFSZ    Contador3
         GOTO   Pausa
         GOTO   Inicializa      ;//Fin.Reset Puerta B y contadores de pausa




ojala me ayuden ke kiero tener un poko de vakaciones...jaja...Sonrisa Gigante

Desconectado kain589

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 324
RE: Ayuda kon asembler....teclado matricial
« Respuesta #1 en: 21 de Enero de 2006, 04:00:00 »
Pues ahora me iba a poner yo con este tema, tengo un libro sobre el 84 y es ese el ejercicio que plantea, supongo que habras especificado el dispositivo y el include del dispositivo tambien, si has hecho eso no se que le puede estar pasando
Edito>>Tambien falta el END, aunque a lo mejor es que no lo has copiado aqui
Saludos desde Córdoba, españa


 

anything