char keypad_oku() // Fonksiyon ismi { output_d(0x00); // D portu çıkışı sıfırlanıyor output_high(sat1); // 1. satır lojik-1 yapılıyor if (input(sut1)) // 1. sütun okunuyor { delay_ms(20); tus=1; } if (input(sut2)) // 2. sütun okunuyor { delay_ms(20); tus=2; } if (input(sut3)) // 3. sütun okunuyor { delay_ms(20); tus=3; } if (input(sut4)) // 4. sütun okunuyor { delay_ms(20); tus=0xA; } output_low(sat1); // 1. satır lojik-0 yapılıyor output_high(sat2); // 2. satır lojik-1 yapılıyor if (input(sut1)) // 1. sütun okunuyor { delay_ms(20); tus=4; } if (input(sut2)) // 2. sütun okunuyor { delay_ms(20); tus=5; } if (input(sut3)) // 3. sütun okunuyor { delay_ms(20); tus=6; } if (input(sut4)) // 4. sütun okunuyor { delay_ms(20); tus=0xB; } output_low(sat2); // 2. satır lojik-0 yapılıyor output_high(sat3); // 3. satır lojik-1 yapılıyor if (input(sut1)) // 1. sütun okunuyor { delay_ms(20); tus=7; } if (input(sut2)) // 2. sütun okunuyor { delay_ms(20); tus=8; } if (input(sut3)) // 3. sütun okunuyor { delay_ms(20); tus=9; } return tus; // Fonksiyon "tus" değeri ile geri döner } printf(lcd_putc,"\fBasilan Tus="); // LCD'ye string yazdırılıyor while(1) // Sonsuz döngü { lcd_gotoxy(13,1); // İmleç 3.sütun, 1.satıra konumlandırılıyor if (keypad_oku()>9) // Eğer basılan tuş değeri 9'dan büyük ise printf(lcd_putc,"%d" ,keypad_oku()); // Tuş değeri LCD'ye yazdırılıyor else // Eğer basılan tuş değeri 9'dan büyük değilse printf(lcd_putc,"%d",keypad_oku()); // Tuş değeri LCD'ye yazdırılıyor }