Título: AYUDA CON MICROS MUY IMPORTANTE Publicado por: julyos en 20 Noviembre 2005, 00:13 am HOLA POR FAVOR NECESITO QUE ME BRINDEN SU AYUDA NECESITO LO MAS PRONTO POSIBLE EL CODIGO ASM DE UN PROGRAMA CON EL PIC16F84 QUE ME VISUALIZE LOS CARACTERES EN UNA PANTALLA LCD QUE PRESIONO DESDE UN TECLADO MATRICIAL 4X4 POR FAVOR ES IMPORTANTE Y ES QUE NO HE PODIDO HACERLO
Título: Re: AYUDA CON MICROS MUY IMPORTANTE Publicado por: ijfa en 28 Noviembre 2005, 19:38 pm Mira...no se si te sirva...toy recien kachando komo anda esto...pero aki va:
; - TECLADO.LIB - \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ ; www.x-robotics.com ; Descipcion: \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ ; Esta libreria realiza un escaneo en un teclado matricial de 4x4 teclas, ; el escaneo lo realiza poniendo un cero logico en las filas correspondientes ; y verificando las columnas para encontrar la interseccion provocada por ; el accionamiento de una tecla y asi saber la fila y columna de la tecla. ; ESTA SUBRUTINA CONVIERTE LA TECLA PULSADA EN SU EQUIVALENTE ASCII ; para ser usada con el display LCD. ; ; Se tienen que inicializar las siguientes variables en el programa que ; use esta libreria: ; - ( Tecla ) ;Devuelve la tecla pulsada ;****************************************** http://www.x-robotics.com ******* KB_Port ;Inicializa la puerta B para las entradas del ;teclado. Programa RB0-3 como salidas y RB4-7 ;entradas con las resistencias de polarizacion ;habilitadas. BSF STATUS,RP0 ;Selecciona P gina 1 MOVLW 0F0h ;PB4-7 como entradas MOVWF TRISB ;y PB0-3 como salidas BSF OPCION,RBPU ;Habilita R de polarizacion en entradas BCF STATUS,RP0 ;Vuelve a la p gina 0. RETURN ;Retorna. KB_Scan ;Escanea el teclado CLRF Tecla ;Borra Tecla y INCF Tecla,f ;prepara Tecla para primer c¢digo. MOVLW 0Eh ;Saca 0 a la primera fila MOVWF PORTB ;de la Puerta B NOP ;Nada para estabilizaci¢n de señal. Cheq_Col BTFSS PORTB,4 ;Primera columna = 0 GOTO antirebotes ;Sale si se ha pulsado tecla. INCF Tecla,f ;Si no tecla pulsada, incrementa tecla. BTFSS PORTB,5 ;Segunda columna = 0 GOTO antirebotes ;Sale si se ha pulsado tecla. INCF Tecla,f ;Si no tecla pulsada, incrementa tecla. BTFSS PORTB,6 ;Tercera columna = 0 GOTO antirebotes ;Sale si se ha pulsado tecla. INCF Tecla,f ;Si no tecla pulsada, incrementa tecla. BTFSS PORTB,7 ;Cuarta columna = 0 GOTO antirebotes ;Sale si se ha pulsado tecla. INCF Tecla,f ;Si no tecla pulsada,incrementa Tecla. Ultima_Tecla MOVLW d'17' ;Carga W con el n£mero de Teclas + 1. SUBWF Tecla,w ;y lo compara con el valor actual de Tecla. BTFSC STATUS,Z ;Si Tecla + 1 = valor actual. GOTO NTeclas ;No ha sido pulsada ninguna tecla. BSF STATUS,C ;Pone a 1 Bit C. RLF PORTB,f ;as¡ la Fila 1 pasa a 1 con la rotaci¢n a izqda. GOTO Cheq_Col NTeclas CLRF Tecla ;Coloca variable Tecla a 0 RETURN ;y regresa. antirebotes ;ahora se espera a que la tecla sea soltada para evitar rebotes ;y reactivaciones de tecla ;esta parte puede ser eliminada si para nuestro proyecto no es necesaria ;o es un inconveniente. Espera1 BTFSS PORTB,4 ;Si no se suelta la tecla FILA 1 GOTO Espera1 ;vuelve a esperar. Espera2 BTFSS PORTB,5 ;Si no se suelta la tecla FILA 2 GOTO Espera2 ;vuelve a esperar. Espera3 BTFSS PORTB,6 ;Si no se suelta la tecla FILA 3 GOTO Espera3 ;vuelve a esperar. Espera4 BTFSS PORTB,7 ;Si no se suelta la tecla FILA 4 GOTO Espera4 ;vuelve a esperar. MOVF Tecla,w ;pone en w el numero contenido en la variable CALL T_Conv ;llama a la tabla de conversion y retorna MOVWF Tecla ;con el valor en hexadecimal y lo pone en la variable. RETURN ;vuelve al programa principal que hizo la llamada. T_Conv ADDWF PCL,1 RETLW '0' ;Tecla nº0 = 0 RETLW '1' ;Tecla nº1 = 1 RETLW '4' ;Tecla nº2 = 4 RETLW '7' ;Tecla nº3 = 7 RETLW 'A' ;Tecla nº4 = A RETLW '2' ;Tecla nº5 = 2 RETLW '5' ;Tecla nº6 = 5 RETLW '8' ;Tecla nº7 = 8 RETLW '0' ;Tecla nº8 = 0 RETLW '3' ;Tecla nº9 = 3 RETLW '6' ;Tecla nº10 = 6 RETLW '9' ;Tecla nº11 = 9 RETLW 'B' ;Tecla nº12 = B RETLW 'F' ;Tecla nº13 = F RETLW 'E' ;Tecla nº14 = E RETLW 'D' ;Tecla nº15 = D RETLW 'C' ;Tecla nº16 = C es la kopia feliz de lo que enkontre iop...tb toy trabajando kon un teklado de 4x4...weno ojala te sirva..chau |