CCS C ile LCD programlama hakkında

ctsN

Üye
Katılım
22 Nis 2020
Mesajlar
13
Puanları
1
Yaş
27
Merhabalar. Ccs c de butona basma süresi ile LCD sayıcının artış hızını arttırmam gerekiyor. Hem 5sn hem de 10 sn için. 5sn için olanını yaptım ama 10 sn için olanını yapamadım. Yardım eder misiniz? İyi günler. Devreyi ve yazdığım kodu aşağıya ekledim.
Screenshot_1.png

Kod:
#include <16f877a.h>
#fuses xt, nowdt
#use delay(clock = 4 MHz)

#define sure 1000
#define sure2 200
#define sure3 50

#define use_portb_lcd true
#include <LCD.C>

unsigned int16 sayi = 0;
int k = 0;

yaz()
{
   printf(lcd_putc,"\f0000-9999 sayici");
   printf(lcd_putc,"\nSayi: %Lu",sayi);
}

void main()
{
   LCD_INIT();
  
   yaz();
  
   while(1)
   {
      k = 0;
      while(input(pin_a0) == 0)
      {
         sayi++;
         delay_ms(sure);
         k++;
         while(k>5 && input(pin_a0) == 0)
         {
            yaz();
            sayi++;
            delay_ms(sure2);
            if(sayi == 10000)
            sayi = 0;
         }
         if(sayi == 10000)
            sayi = 0;
         yaz();   
      }

      while(input(pin_a1) == 0)
      {
         sayi--;
         delay_ms(sure);
         k++;
         while(k>5 && input(pin_a1) == 0)
         {
            yaz();
            sayi--;
            delay_ms(sure2);
            if(sayi == 0xFFFF)
            sayi = 9999;
         }         
         if(sayi == 0xFFFF)
            sayi = 9999;
         yaz();   
      }
   }
}
 
Bu yazılımla istediğin olabilir.

k = 0;
while(input(pin_a0) == 0)
{
if(k<=5)
{
sayi++;
k++;
delay_ms(sure);
}
else if(k>5 && k<=50)
{
sayi++;
k++;
delay_ms(sure2);
}
else
{
sayi++;
k++;
delay_ms(sure3);
}

if(sayi == 10000)
sayi = 0;

yaz();
}
 

Forum istatistikleri

Konular
127,739
Mesajlar
912,358
Kullanıcılar
449,226
Son üye
ashbringer

Yeni konular

Çevrimiçi üyeler

Geri
Üst