Autor Tema: LCD, Teclado y 16F877 Todos Juntos y Funcionales  (Leído 2207 veces)

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

AABHGA

  • Visitante
LCD, Teclado y 16F877 Todos Juntos y Funcionales
« en: 12 de Septiembre de 2006, 16:50:24 »
Como he recibido gran ayuda de los miembros de esta comunidad para resolver mis problemas, aca les dejo el diagrama esquemático (mitad mia mitad de LordLafebre) aca les dejo el código del programa y el diagrama esquemático de como queda funcionando, no es gran cosa pero algo es algo.

Alguna sugerencia, comentario, duda y/o crítica será bien recibida.

CÓDIGO:
Código: [Seleccionar]
DEFINE LCD_DREG PORTA   
DEFINE LCD_DBIT 0       
DEFINE LCD_RSREG PORTA 
DEFINE LCD_RSBIT 4     
DEFINE LCD_EREG PORTA   
DEFINE LCD_EBIT 5       
DEFINE OSC 3
ADCON1 = 7

HIGH PORTE.0
PAUSE 500
LOW PORTE.0
PAUSE 500

LCDOUT $FE, $1, "Tecla: "

C VAR BYTE
F VAR BYTE
K VAR BYTE

TECLADO:
FOR C = 0 TO 3 STEP 1
    LOW PORTB.0
    LOW PORTB.1
    LOW PORTB.2
    LOW PORTB.3
    IF C = 0 THEN PORTB.0 = 1
    IF C = 1 THEN PORTB.1 = 1
    IF C = 2 THEN PORTB.2 = 1
    IF C = 3 THEN PORTB.3 = 1           
    FOR F = 4 TO 7 STEP 1
        IF F=4 AND PORTB.4 = 0 THEN GOSUB TECLA
        IF F=5 AND PORTB.5 = 0 THEN GOSUB TECLA
        IF F=6 AND PORTB.6 = 0 THEN GOSUB TECLA
        IF F=7 AND PORTB.7 = 0 THEN GOSUB TECLA
    NEXT F
NEXT C
GOTO TECLADO
END

TECLA:
IF F = 4 THEN K = (C+1) + (F-3) + 47
IF F = 5 THEN K = (C+1) + (F-3) + 49
IF F = 6 THEN K = (C+1) + (F-3) + 51
IF F = 7 THEN
    IF C = 0 THEN K = 42
    IF C = 1 THEN K = 48
    IF C = 2 THEN K = 35
ENDIF
IF C = 3 THEN
    IF F = 4 THEN K = 65
    IF F = 5 THEN K = 66
    IF F = 6 THEN K = 67
    IF F = 7 THEN K = 68
ENDIF
GOSUB LCD
RETURN
END

LCD:
HIGH PORTE.0
LCDOUT $FE, $C0, K
pause 200
LOW PORTE.0
RETURN
END

Diagrama esquemático en 2 partes:

Parte Teclado y conexión hacia el Micro:


Parte del LCD con el Micro:


Bueno, eso es todo espero que les sea de utilidad.

Desconectado LordLafebre

  • Moderador Global
  • DsPIC30
  • *****
  • Mensajes: 3529
    • Micros & micros
Re: LCD, Teclado y 16F877 Todos Juntos y Funcionales
« Respuesta #1 en: 12 de Septiembre de 2006, 17:59:08 »
Hola:

Pues muchas gracias a ti por compartir con nosotros tu proyecto, veo que utilizas unos transistores para el teclado, yo solo utilizo unas resistencias de pull up para las filas, ahora que si utilizas el PORTB, te puedes ahorrar eso activando las Pull up del PORTB.

Desconectado LordLafebre

  • Moderador Global
  • DsPIC30
  • *****
  • Mensajes: 3529
    • Micros & micros
Re: LCD, Teclado y 16F877 Todos Juntos y Funcionales
« Respuesta #2 en: 12 de Septiembre de 2006, 18:01:55 »
Hola:

mira, aqui hay un ejemplo en basic de lo que te menciono, puedes sustituir todos los transistores solamente por 4 resistencias de 270 ohm, esot acticando las Pull up de portb, aqui el enlace:

http://www.rentron.com/serkey16.htm

AABHGA

  • Visitante
Re: LCD, Teclado y 16F877 Todos Juntos y Funcionales
« Respuesta #3 en: 12 de Septiembre de 2006, 18:14:09 »
Pinta muy bien, el problema es que hay algunas cosas que no entiendo, pero me pondré a estudiarlo haber de que va cada cosa.


 

anything