Picproje Elektronik Sitesi

DERLEYİCİLER => CCS C => Konuyu başlatan: ibrahimgelen - 22 Şubat 2018, 18:32:13

Başlık: LCD Buton
Gönderen: ibrahimgelen - 22 Şubat 2018, 18:32:13
Tuşa basıldığında 1.Tuşa Lcd yazıyor 1. Led yanacak. Tekrar 1. tuşa basarsa sönecek. Fakat css c dilinde hata mı yapıyorum.

#include <16f877.h>
#fuses XT,NOWDT,NOPROTECT,NOBROWNOUT,NOLVP,NOPUT,NOWRT,NODEBUG,NOCPD
#use delay (clock=4000000)

#use fast_io(b)
#use fast_io(d)
#use fast_io(c)

//#byte portc=6

#define use_portb_lcd TRUE
#include <lcd.c>   

#define tus1   pin_d0
#define tus2   pin_d1

#define tusla1   pin_d4
#define tusla2   pin_d5

char tus=0;


char tuslama_oku()
{
   output_d(0x00);

   output_high(tusla1);
   if (input(tus1))   
      { delay_ms(20); tus=1; }
   if (input(tus2)) 
      { delay_ms(20); tus=2; }
   output_low(tusla1);

   output_high(tusla2);
   if (input(tus1))   
      { delay_ms(20); tus=3; }
   if (input(tus2))   
      { delay_ms(20); tus=4; }
   output_low(tusla2);

   return tus;
}

//int ledyak;

void main ( )
{
   setup_psp(PSP_DISABLED);       
   setup_timer_1(T1_DISABLED);     
   setup_timer_2(T2_DISABLED,0,1);
   setup_adc_ports(NO_ANALOGS);   
   setup_adc(ADC_OFF);
   setup_ccp1(ccp_off);
   setup_ccp2(ccp_off);

   set_tris_b(0x00); 
   set_tris_d(0x0F);
   set_tris_c(0x00);
   
   output_c(0x00);
   
   lcd_init();

   printf(lcd_putc,"\fOda=");

   while(1)
   {
      lcd_gotoxy(13,1);

      if (tuslama_oku()>6)   
         printf(lcd_putc,"%d",tuslama_oku()); 
      else                 
         printf(lcd_putc,"%d ",tuslama_oku());
           
           
      if (input(pin_d0)==1&& input(pin_d1)==1)
      {
         output_high(pin_c0); // Led yakmak
      }   
     
      if(input(pin_d1)==0 && input(pin_d1)==0 )
      {
         output_low(pin_c0); // Led sönmek
      }     
     
      if(input(pin_d1)==1 && input(pin_d1)==1 )
      {
         output_high(PIN_c1);// Led yakmak
      }
     
       if(input(pin_d1)==0 && input(pin_d1)==0 )
      {
         output_low(PIN_c1); // Led sönmek
      }
         
   }
}




(https://s13.postimg.cc/ge5ntwt8z/tuslama_lcd.png) (https://postimg.cc/image/ge5ntwt8z/)
Başlık: Ynt: LCD Buton
Gönderen: sifirzero - 22 Şubat 2018, 23:46:36
Sanki && den dolayi calismiyor
Başlık: Ynt: LCD Buton
Gönderen: ibrahim96 - 27 Mart 2018, 21:43:00
Problem ne aşamada
Başlık: Ynt: LCD Buton
Gönderen: neo - 27 Mart 2018, 23:28:22
kodda bariz hatalar var ancak bunlar üzerinden gitmektense yapmak istediğiniz şeyi daha açık yazabilirseniz yardımcı olabilirim
Başlık: Ynt: LCD Buton
Gönderen: dursuncemal - 28 Mart 2018, 19:30:27
kodunuz cok karisik tam olarak anlayamadim .  amac herbir butonu ac / kapa seklinde kullanmak ve her butonun on durumunda verilen degeri lcd de gostermekmidir?
Başlık: Ynt: LCD Buton
Gönderen: xoom - 28 Mart 2018, 19:59:05
Eğer sadece 4 buton kullanacaksanız bu döngüyü diğer 3 buton içinde kullanabilirsiniz.  ( Her Buton Pinine tek Buton Bağlayın )
int a,b,c,d=0;

if (input(pin_d0)==1){ delay_ms(100); a++ }
i
f(a==3]a=0;
if{a==1} { output_high(pin_c0); }
if{a==2} { output_lowh(pin_c0); }