Bonjour,
j'ai fais un petit programme Mikroc avec simulation sous proteus. un clavier 16 touches et un LCD connectés au PIC. le LCD doit afficher le caractère correspondant à chaque touche appuyée. Le probleme c'est que ca ne marche pas pour certaines touches. le programme est le suivant :
void main(){
int kp;
TRISC=0XFF;
TRISA=0;
Keypad_Init(&PORTC);
Lcd_Init(&PORTB);
Lcd_Cmd(LCD_CLEAR);
Lcd_Cmd(LCD_CURSOR_OFF);
while(1){
kp = 0;
while (kp == 0)
{
kp = Keypad_Released();
}
if (kp == 1) kp = "7";
if (kp == 2) kp = "4";
if (kp == 3) kp = "1";
if (kp == 4) kp = "C";
if (kp == 5) kp = "8";
if (kp == 6) kp = "5";
if (kp == 7) kp = "2";
if (kp == 8) kp = '0';
if (kp == 9) kp = '9';
if (kp == 10) kp = '6';
if (kp == 11) kp = '3';
if (kp == 12) kp = '=';
if (kp == 13) kp = '/';
if (kp == 14) kp = '*';
if (kp == 15) kp = '-';
if (kp == 16) kp = '+';
Lcd_Chr(1, 10, kp);
}
}
au lieu de 7 il affiche +
au lieu de 4 il affiche -
au lieu de 1 il affiche /
au lieu de C on il affiche 1
au lieu de 8 il affiche 3
au lieu de 2 il affiche 7
pour les autres touches ça marche bien.
pouvez vous m'aider à résoudre ce problème svp. Merci.
-----