Tutorial de PROTON manejo de teclado matricial
PICELECTRONICA :: Inicio :: Microcontroladores :: Microchip :: Basic :: Proton
Página 1 de 1.
Tutorial de PROTON manejo de teclado matricial
La manera mas fácil de lograr el mapeo efectivo de un teclado matricial, en este caso de 4×4, se logra usando la librería disponible que ofrece Proton, la cual es Inkey, así mismo se le saca probecho a las resistencias pullup internas con las que cuentan algunos PIC como es el caso del 18F4550, 18F2550 y 16F877A así se puede conectar directamente el teclado al pic, este ejemplo es solo para ver el funcionamiento, se invita a que usen su imaginación para hacer proyectos como por ejemplo; cerradura electrónica con contraseña, mensajes con teclado tipo telefónico o llamadas de tonos a líneas de teléfono, todo queda a disposición de su imaginación, bueno aquí esta el primer ejemplo, ya saben dudas favor de consultarlas.
- Código:
Device = 16F877A
Declare Xtal 4
Keypad_Port PORTB
PortB_Pullups TRUE
Declare LCD_Type 0 ‘ Tipo LCD Alpha numérico
Declare LCD_DTPin PORTC.4 ‘ El control B4,B5,B6,B7
Declare LCD_RSPin PORTC.2 ‘ RS pin B2
Declare LCD_ENPin PORTC.3 ‘ E pin B3
Declare LCD_Interface 4 ‘ Interface modo 4 bit
DelayMS 150
Cls
Dim x As Byte
x=0
loop:
x=InKey
Print At 1,1,”TECLA:”, Dec3 x
GoTo loop
End
Como se ve el mapeo se guarda en la variable X y esta se imprime en el LCD, pero como es una librería ya tiene los valores definidos, en caso de usar algun teclado invertido nos saldrían los datos erróneos, pero el mapeo sería el mismo, solo los valores cambiarían de posición.
Una alternativa más es el mapeo manual, el cual es igual de eficiente y se usa para los teclados que quieran, 3×3, 4×4, nxn, depende de gustos de teclado y necesidades, por si alguien quiere diseñar uno puede usar este ejemplo para obtener sus valores.
- Código:
Device = 16F877A
Declare Xtal 4
Declare LCD_Type 0 ‘ Tipo LCD Alpha numérico
Declare LCD_DTPin PORTC.4 ‘ El control B4,B5,B6,B7
Declare LCD_RSPin PORTC.2 ‘ RS pin B2
Declare LCD_ENPin PORTC.3 ‘ E pin B3
Declare LCD_Interface 4 ‘ Interface modo 4 bit
DelayMS 150
Cls
Symbol fila1 = PORTB.0
Symbol fila2 = PORTB.1
Symbol fila3 = PORTB.2
Symbol fila4 = PORTB.3
Symbol col1 = PORTB.4
Symbol col2 = PORTB.5
Symbol col3 = PORTB.6
Symbol col4 = PORTB.7
Dim Boton As Byte
TRISB = %00001111
inicio:
Print At 1,1,”Tecla presionada”
col1 = 1 ‘Activo la primera columna.
If fila1 = 1 Then Print At 2,7,” 7″
If fila2 = 1 Then Print At 2,7,” 4″
If fila3 = 1 Then Print At 2,7,” 1″
If fila4 = 1 Then Print At 2,7,”ON”
col1 = 0
col2 = 1 ‘Activo la segunda columna.
If fila1 = 1 Then Print At 2,7,” 8″
If fila2 = 1 Then Print At 2,7,” 5″
If fila3 = 1 Then Print At 2,7,” 2″
If fila4 = 1 Then Print At 2,7,” 0″
col2 = 0
col3 = 1 ‘Activo la tercera columna.
If fila1 = 1 Then Print At 2,7,” 9″
If fila2 = 1 Then Print At 2,7,” 6″
If fila3 = 1 Then Print At 2,7,” 3″
If fila4 = 1 Then Print At 2,7,” =”
col3 = 0
col4 = 1 ‘Activo la cuarta columna.
If fila1 = 1 Then Print At 2,7,” /”
If fila2 = 1 Then Print At 2,7,” x”
If fila3 = 1 Then Print At 2,7,” -”
If fila4 = 1 Then Print At 2,7,” +”
col4 = 0
GoTo inicio
End
Aquí los resultados obtenidos, cabe mencionar que se deben colocar las resistencias adecuadas a tierra para brindar los resultados, para lo cual es recomendable usar de 10 K como en cualquier otro caso que se utilicen botones.
Temas similares
» Tutorial de PROTON manejo de LCD
» Tutorial PROTON Manejo de Led y Display
» Tutorial de PROTON manejo de GLCD 128x64 pixeles
» Uso dela librecia KBD.c para manejar Teclado Matricial
» Tutorial de PROTON comunicación serial RS232
» Tutorial PROTON Manejo de Led y Display
» Tutorial de PROTON manejo de GLCD 128x64 pixeles
» Uso dela librecia KBD.c para manejar Teclado Matricial
» Tutorial de PROTON comunicación serial RS232
PICELECTRONICA :: Inicio :: Microcontroladores :: Microchip :: Basic :: Proton
Página 1 de 1.
Permisos de este foro:
No puedes responder a temas en este foro.