CCS C ile LCD programlama hakkında

  • Konbuyu başlatan Konbuyu başlatan ctsN
  • Başlangıç tarihi Başlangıç tarihi

ctsN

Üye
Katılım
22 Nis 2020
Mesajlar
13
Puanları
1
Yaş
29
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
133,380
Mesajlar
971,000
Kullanıcılar
459,228
Son üye
saidkaradogu

Yeni konular

Çevrimiçi üyeler

Geri
Üst