Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*******************************************************************************
- Program for, LCD Keypad Interfacing
- MCU: PIC18F4550; X-Tal: 8MHz(internal); Compiler: mikroC pro for PIC v7.6.0
- Date: 19-08-2021;
- *******************************************************************************/
- sbit LCD_RS at LATB4_bit;
- sbit LCD_EN at LATB5_bit;
- sbit LCD_D4 at LATB0_bit;
- sbit LCD_D5 at LATB1_bit;
- sbit LCD_D6 at LATB2_bit;
- sbit LCD_D7 at LATB3_bit;
- sbit LCD_RS_Direction at TRISB4_bit;
- sbit LCD_EN_Direction at TRISB5_bit;
- sbit LCD_D4_Direction at TRISB0_bit;
- sbit LCD_D5_Direction at TRISB1_bit;
- sbit LCD_D6_Direction at TRISB2_bit;
- sbit LCD_D7_Direction at TRISB3_bit;
- // global variables
- char keypadPort at PORTD; // required by 4x4 keypad library
- char text[17];
- char ascii_to_int( char);
- void main() {
- char pulsador = 0;
- char valor;
- TRISB = 0x00;
- TRISC = 0x00;
- Keypad_Init();
- LCD_Init(); // Inicializamos la pantalla LCD
- LCD_Cmd(_LCD_CLEAR); // Limpia la pantalla LCD
- LCD_Cmd(_LCD_CURSOR_OFF); // Apaga el cursor en la pantalla
- Delay_ms(500); // Retardo de 500 milisegundos
- do {
- pulsador = Keypad_Key_Press();
- valor = ascii_to_int(pulsador);
- //ByteToStr(pulsador, text);
- //Lcd_Out(1, 1, "ASCII:");
- //Lcd_Out_Cp(text);
- Lcd_Out(1, 1, "Key: ");
- Lcd_Chr(1, 6, valor);
- } while (1);
- }
- char ascii_to_int(char pulsador) {
- switch (pulsador) {
- case 1: pulsador = 55; return pulsador; break; // 7
- case 2: pulsador = 56; return pulsador; break; // 8
- case 3: pulsador = 57; return pulsador; break; // 9
- case 4: pulsador = 47; return pulsador; break; // /
- case 5: pulsador = 52; return pulsador; break; // 4
- case 6: pulsador = 53; return pulsador; break; // 5
- case 7: pulsador = 54; return pulsador; break; // 6
- case 8: pulsador = 42; return pulsador; break; // *
- case 9: pulsador = 49; return pulsador; break; // 1
- case 10: pulsador = 50; return pulsador; break; // 2
- case 11: pulsador = 51; return pulsador; break; // 3
- case 12: pulsador = 45; return pulsador; break; // -
- case 13: pulsador = 67; return pulsador; break; // c/on
- case 14: pulsador = 48; return pulsador; break; // 0
- case 15: pulsador = 61; return pulsador; break; // =
- case 16: pulsador = 43; return pulsador; break; // +
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement