Picproje Elektronik Sitesi

DERLEYİCİLER => CCS C => Konuyu başlatan: Umitb - 25 Eylül 2009, 20:23:16

Başlık: and and kullanımı
Gönderen: Umitb - 25 Eylül 2009, 20:23:16
Merhaba arkadaşlar ccs c konusunda çok yeniyim, and and komutunu bir türlü çalıştıramadım konu hakkında yardımcı olabilirseniz sevinirim.

if ((binler==2)&&(yuzler==3))

bu şekilde yazıyorum ve alt satırda binler ve yüzler hanesini 0 yapamıyorum.Daha doğrusu alt satırı görmeden 24 den devam ediyor.
Başlık: and and kullanımı
Gönderen: 707yunus - 25 Eylül 2009, 20:48:11
Tam anlamadım ne demek istediğini ama diyelim ki sayı 2346 olsun.Sen binler  hanesini ve ve yüzler hanesini düzgün olarak ayrıştırdıysan yani 2346 daki 2 yi 'binler' değişkenine 3 ü de 'yuzler'  değişkenine atadıysan program

if ((binler==2)&&(yuzler==3))
{
// işlenecek komutlar
}


yukarıdaki iki parantez arasını mutlaka işler.
Başlık: and and kullanımı
Gönderen: crazy2015 - 25 Eylül 2009, 21:15:46

#include <16F877A.h>
#device adc=8

#FUSES NOWDT                    //No Watch Dog Timer
#FUSES XT                       //Crystal osc <= 4mhz for PCM/PCH , 3mhz to 10 mhz for PCD
#FUSES NOPUT                    //No Power Up Timer
#FUSES NOPROTECT                //Code not protected from reading
#FUSES NODEBUG                  //No Debug mode for ICD
#FUSES NOBROWNOUT               //No brownout reset
#FUSES NOLVP                    //No low voltage prgming, B3(PIC16) or B5(PIC18) used for I/O
#FUSES NOCPD                    //No EE protection
#FUSES NOWRT                    //Program memory not write protected

#use delay(clock=4000000)
#use rs232(baud=9600,parity=N,xmit=PIN_C6,rcv=PIN_C7,bits=8)

#include "flex_lcd.c"

int8 onlar,birler;
int16 k=0;

void main()                              
{

  setup_adc_ports(NO_ANALOGS);
  setup_adc(ADC_OFF);
  setup_psp(PSP_DISABLED);
  setup_spi(SPI_SS_DISABLED);
  setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);
  setup_timer_1(T1_DISABLED);
  setup_timer_2(T2_DISABLED,0,1);
  setup_comparator(NC_NC_NC_NC);
  setup_vref(FALSE);
  lcd_init();

while(TRUE)
{
k++;                                         //k değeri artırılıyor

lcd_getc(1,2);                              //k değeri lcd ye yazılıyor
printf(lcd_putc,"%02Lu",k);

output_b(k);                                //k değeri aynı zamanda b portuna gönderiliyor

onlar=k/10;                                 //k değeri onlar basamağı hesaplanıyor
birler=k%10;                                 //k değeri birler basamağı hesaplanıyor

if (onlar==2 && birler==3)                   //onlar ve birler basamağı istenen değere eşitse komut uygulanıyor
{
lcd_getc(1,1);
printf(lcd_putc,"%u%u",onlar,birler);        //basamaklar lcd ye yazılıyor
output_high(PIN_C0);                         //c0 pini high yapılıyor
}

else                                           //onlar ve birler basamağı istenen değere eşit değilse komut uygulanıyor
{
lcd_getc(1,1);
lcd_putc("00");                                 //lcd ye 00 yazılıyor
output_low(PIN_C0);                             // c0 pini low yapılıyor  
}



if(k==30)                                     //k değeri 30 a kadar gelince k değişkeni sıfırlanıyor
{
k=0;
}

delay_ms(500);                                  // bekleme uygulanıyor

}

}



Bu kod yardımcı olabilir
Başlık: and and kullanımı
Gönderen: Umitb - 25 Eylül 2009, 23:25:45
Cevaplar için teşekkürler örneğe göre daha öncede denedim fakat olmadı, istediğim şey saat devresinde 23.59'dan sonra 00.00 yazdırmak.Bende ise 24-25 diye devam ediyor, kısaca 23.59 dan sonra yuzler ve binler hanesi sıfır kalacak.
Başlık: and and kullanımı
Gönderen: aliveli - 26 Eylül 2009, 00:50:34
Yazdığın kodun tamamını buraya gönder bakalım.
Başlık: Re: and and kullanımı
Gönderen: rojhatbilge - 17 Ekim 2009, 22:45:18
Alıntı yapılan: "Umitb"

if ((binler==2)&&(yuzler==3))


Kodun bu kısmında bir problem yok. Çalışması gerekiyor. Kodun diğer kısımlarında hata ara.