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();
}
 

Yeni mesajlar

Forum istatistikleri

Konular
128,193
Mesajlar
915,740
Kullanıcılar
449,968
Son üye
ibrahimkalebayir38@gmail.

Yeni konular

Geri
Üst