Picproje Elektronik Sitesi

DERLEYİCİLER => Microchip XC Serisi => Microchip XC8 => Konuyu başlatan: ademtosun58 - 21 Mart 2017, 07:57:04

Başlık: Menü Uygulaması Yaptım ve bir iki ekstra ihtiyacım var
Gönderen: ademtosun58 - 21 Mart 2017, 07:57:04
Arkadaşlar Merhaba Forum daki ilk konum;

16f877a Kullanarak 3 parametre ölçen bir sistem tasarladım.
Tabi böyle sistemlerin olmazsa olmazı lcd menüler,Menümü de olusturdum gayet güzel çalışıyor.
Tek sıkıntım programın alt tarafta çalıştıramamak lcd den sectigim parametre sıfırdan başlıyor ben ise alt tarafta çalışıp lcd den seçtigimde ise o anki değerini görmek istiyorum.

Yardımlarınızı bekliyorum iyi günler
Başlık: Ynt: Menü Uygulaması Yaptım ve bir iki ekstra ihtiyacım var
Gönderen: vitruvius - 21 Mart 2017, 11:40:32
Kodu gorseydik..
Başlık: Ynt: Menü Uygulaması Yaptım ve bir iki ekstra ihtiyacım var
Gönderen: eeburakdemir - 21 Mart 2017, 12:57:07
Kod olmadığı için bu şekilde yorum yapmak belki faydalı olmayabilir. istediğiniz yerdeki fonksiyona sonsuz döngü kurun sonra da break ile çıkmayı deneyin.
Başlık: Ynt: Menü Uygulaması Yaptım ve bir iki ekstra ihtiyacım var
Gönderen: ademtosun58 - 21 Mart 2017, 13:04:34
Evet arkadaşlar kodu eklemeyi unuttum kod aşağıdaki şekildedir." Void Halleffect()" kısmını switch case nin içine atıyorum.Menu de bu kısma girdigimde ise herdefasında sıfırlanıp başlıyor.Ben pic çalışmaya basladıgı andan itibaren döngünün çalışmasını sadece menu den girdigimde o anki değerini görmek istiyorum.

(https://s12.postimg.cc/lgb0d1fxl/Ads_z.png) (https://postimg.cc/image/lgb0d1fxl/)
Başlık: Ynt: Menü Uygulaması Yaptım ve bir iki ekstra ihtiyacım var
Gönderen: ayhani - 21 Mart 2017, 13:05:04
Pahalı gemezse bu ekran tam size göre. Menü işlemelerini tamamem ekran hallediyormuş


https://www.direnc.net/24-inch-hmi-akilli-dokunmatik-ekran-tft-lcd8-port-gpio


http://blog.direnc.net/nextion-hmi-display-lcd-ekranlar/
Başlık: Ynt: Menü Uygulaması Yaptım ve bir iki ekstra ihtiyacım var
Gönderen: ademtosun58 - 21 Mart 2017, 13:10:46
Alıntı yapılan: ayhani - 21 Mart 2017, 13:05:04
Pahalı gemezse bu ekran tam size göre. Menü işlemelerini tamamem ekran hallediyormuş


https://www.direnc.net/24-inch-hmi-akilli-dokunmatik-ekran-tft-lcd8-port-gpio


http://blog.direnc.net/nextion-hmi-display-lcd-ekranlar/



Staj Yaptıgım şirket bu proje için her türlü destegi sağlıyor fakat onların kendi istedikleri şekilde yapmam gerekiyor.Bana ekran olarak 2*16 Lcd kullanmamı söylediler.
Başlık: Ynt: Menü Uygulaması Yaptım ve bir iki ekstra ihtiyacım var
Gönderen: eeburakdemir - 21 Mart 2017, 13:24:12
Nextion da kullandım tavsiye ederim fakat @ayhani hocam o ekran akıllı modeli sadece menü uygulamaları vs için fazla kaçar normal modeli rahatlıkla iş görür  :)
Başlık: Ynt: Menü Uygulaması Yaptım ve bir iki ekstra ihtiyacım var
Gönderen: ghistmanzero - 21 Mart 2017, 14:36:54
Kodu paylaşırsaniz yardım edecek çok kişi var burda bence
Başlık: Ynt: Menü Uygulaması Yaptım ve bir iki ekstra ihtiyacım var
Gönderen: ademtosun58 - 21 Mart 2017, 14:40:43
Kodu Paylaştım ama Daha onaylanmadı. Kodu Mplab Xc8 de yazıyorum. Aşagıdaki kodu Switch case de yaptıgım menu yapısının içine ekliyorum sadece


#define  Count_1      RB7
#define  Up            1


void halleffect()
{
   char temp[3] ;
   unsigned char k1[8];
   unsigned int Count = 0;
   
   InitLCD();                             // Initialize LCD in 8bit mode
   
                                               
   TRISB7 = 1;                          // Make PORTB7 pin input -> Count input
   
   ClearLCDScreen();               // Clear LCD screen
       

   while(1)  {
      if(Up)                               // If Up is selected
      {
         if(Count_1)                  //   If Count button is pressed
         {
            while(Count_1);        // Wait for de-assertion of the button
            __delay_ms(20);      // Small delay

            Count++;                // Increment Coutn value

               
         }
      }

      ClearLCDScreen();         // Clear LCD screen

      // Display Count on LCD
      WriteStringToLCD("Sayac:");
      sprintf(k1,"%d",Count); //Bu komut ROM bellekte ciddi yer kaybina neden olmaktadir.
     WriteStringToLCD(k1);


      __delay_ms(200);      // Some delay
   

     
   }
}
Başlık: Ynt: Menü Uygulaması Yaptım ve bir iki ekstra ihtiyacım var
Gönderen: mehmet - 22 Mart 2017, 02:50:19
NOT: Mesajınıza kod eklerken "KOD" düğmesini
kullanıp yeniden düzenleyiniz...
Başlık: Ynt: Menü Uygulaması Yaptım ve bir iki ekstra ihtiyacım var
Gönderen: vitruvius - 22 Mart 2017, 12:22:56
Sanırım Count değişkeninden bahsediyorsun. Debug yapsan bunun sebebini anlarsın. Fonksiyona her girdiğinde Count'ı tanımlayıp ilk değerini 0'a eşitliyorsun. Bu yüzden fonksiyona her girdiğinde sıfırdan başlıyor haliyle. Bu değişkeni global tanımlayarak bu işi çözebilirsin.
Başlık: Ynt: Menü Uygulaması Yaptım ve bir iki ekstra ihtiyacım var
Gönderen: ademtosun58 - 22 Mart 2017, 15:46:10
Alıntı yapılan: vitruvius - 22 Mart 2017, 12:22:56
Sanırım Count değişkeninden bahsediyorsun. Debug yapsan bunun sebebini anlarsın. Fonksiyona her girdiğinde Count'ı tanımlayıp ilk değerini 0'a eşitliyorsun. Bu yüzden fonksiyona her girdiğinde sıfırdan başlıyor haliyle. Bu değişkeni global tanımlayarak bu işi çözebilirsin.

Bütün arkadaşlara teşekkür ederim.Sorunu global tanımladım sistem normal çalıştı.Ayriyeten timer interrupt  kullanarak fonksiyonu arka planda da çalışmasını sağladım.

İyi günler