elimde keypad ile yaptığım bir uyglama var. keypad ile sayıları oktuyoırum 10 a kadr fakat 10 dan sonrasını nasıl okutucam bilemedim. yardımcı olurmsunuz?
Programınızı paylaşırsanız yardımcı olmak daha kolay olur.
#use delay (clock=4000000) // Gecikme fonksiyonu için kullanılacak osilatör frekansı belirtiliyor. #if defined(__PCM__) #use fast_io(b) //Port yönlendirme komutları B portu için geçerli #use fast_io(c) //Port yönlendirme komutları C portu için geçerli #define use_portb_lcd TRUE #include <lcd.c> #byte portb=0x06 // B portu “tus” ismine eşitleniyor.
if (input(sut1)) // 1. sütun okunuyor { delay_ms(20); tus=tus+11; } if (input(sut2)) // 2. sütun okunuyor { delay_ms(20); tus=tus+10; } if (input(sut3)) // 3. sütun okunuyor { delay_ms(20); tus=tus+12; }
output_low(sat4); // 3. satır lojik-0 yapılıyor if(tus>0) delay_ms(200); return tus; // Fonksiyon “tus” değeri ile geri döner }
/********* ANA PROGRAM FONKSİYONU********/
void main ( ) { int x=0; while(x<9){ output_high(pin_a0); // RB0 pini çıkışı lojik-1 yapılıyor delay_ms(500); // 500 ms gecikme veriliyor output_low(pin_a0); // RB0 pini çıkışı lojik-1 yapılıyor
delay_ms(500); x++;
} setup_spi(SPI_SS_DISABLED); // SPI birimi devre dışı setup_timer_1(T1_DISABLED); // T1 zamanlayıcısı devre dışı setup_timer_2(T2_DISABLED,0,1); // T2 zamanlayıcısı devre dışı setup_adc_ports(NO_ANALOGS); // ANALOG giriş yok setup_adc(ADC_OFF); // ADC birimi devre dışı lcd_init(); set_tris_b(0x00); // B portu komple çıkış set_tris_c(0x0F); // Yüksek değerlikli 4 bit çıkış, düşük değerlikli 4 bit giriş
output_b(0x00); // İlk anda B portu çıkışı sıfırlanıyor
lcd_putc("atom no gir"); {char count=0,keypad,sayi[2],k,sayikont[20];
for(;;){ sayi[0]=keypad_oku(); if (sayi[0]<11){
don: if (keypad_oku()=11) {if(sayi[0]<11){
sayi[1]=keypad_oku(); }} else {goto don;}
}
girilen=sayi[0]+sayi[1]+sayi[2];
lcd_gotoxy(1,2); lcd_putc(girilen); }}
}
yardım edebilcek varmı?
yeni mesaja git
Yeni mesajları sizin için sürekli kontrol ediyoruz, bir mesaj yazılırsa otomatik yükleyeceğiz.Bir Daha Gösterme