TODOPIC
Microcontroladores PIC => Lenguaje Basic para microcontroladores PIC => Mensaje iniciado por: AABHGA 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:
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:
(http://img141.imageshack.us/img141/465/diagramatecladozh9.th.jpg) (http://img141.imageshack.us/my.php?image=diagramatecladozh9.jpg)
Parte del LCD con el Micro:
(http://img127.imageshack.us/img127/1961/diagramamicroylcdop8.th.jpg) (http://img127.imageshack.us/my.php?image=diagramamicroylcdop8.jpg)
Bueno, eso es todo espero que les sea de utilidad.
-
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.
-
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
-
Pinta muy bien, el problema es que hay algunas cosas que no entiendo, pero me pondré a estudiarlo haber de que va cada cosa.