lcd için yardıma ihtiyacım var...

Başlatan krian, 12 Ağustos 2006, 23:17:57

krian

arkadaslar ben bir türlü lcd yi calıstıramadım. sorun yazdıgım programda mı diye düsünmeye basladım.

bana ekranda selcuk coskun yazması icin gereken programı.pic yüklenmedem önceki son hali ile yazabilecek arkadaslara simdiden tsk ediyorum.

OG

Programı buraya aktarırsan düzeltmelerde yardımcı olunur ve çözümü öğrenmiş olursunuz.
FORUMU İLGİLENDİREN KONULARA ÖM İLE CEVAP VERİLMEZ.

krian

#include <16f877.h>
#use delay(clock=4000000)
#fuses HS,NOWDT,NOPROTECT
#include <lcd.c>

int menu=1;
int kontrol[5];

void setle()
    {
              output_low(PIN_B0);
              output_low(PIN_B1);
              output_low(PIN_B2);
              output_low(PIN_B4);
              output_low(PIN_B5);
              output_low(PIN_C0);
              output_low(PIN_C1);
              output_low(PIN_C3);
              output_low(PIN_C4);
    }

main()

{   lcd_init();
    lcd_putc("\f   AYKUT DEMIR ");
    delay_ms(2000);
basa:  lcd_putc("\f 74S02 ---> ");
    set_tris_b(0x12);
    set_tris_c(0x12);

for(;; )
 {
   for(;; )
     {
        if(input(PIN_A0))
          {
            delay_ms(500);
            menu--;
            if(menu==0) menu=4;
            goto sw;

          }
        if(input(PIN_A1))
           {
            delay_ms(500);
            menu++;
            if(menu==5) menu=1;
            goto sw;

           }
        if(input(PIN_A2))
           {
             delay_ms(500);
             goto pass;
           }
     }
    sw:
      switch(menu)
      {
         case 1:
           {
              lcd_putc("\f 74S02 ---> ");

              break;
           }

         case 2:
           {
              lcd_putc("\f74S03-37-38 ---> ");

              break;
           }
         case 3:
           {
              lcd_putc("\f 74S08-09 ---> ");

              break;
           }
         case 4:
           {
              lcd_putc("\f 74S32 ---> ");

              break;
           }
         default: break;

      }

 }

 pass:[font=Arial] [/font]

kurumahmut

Öncelikle 4MHZ kristal seçip OSC tipini HS değil XT yapmalısın...

Ayrıca lcd yi port b ye bağladıysan ve de #include <lcd.c>
satırından önce yazmazsan CCS LCD nin port d de tanımlı olduğunu farz ederek işlem yapar. Driver dosyasını biraz incele...

Ayrıca goto ifadesi hoş olmuyor c de dallancan yeri fonksiyon olarak tanımla ve goto yazacağın yere onu yaz....

#define use_portb_lcd TRUE
#include <lcd.c>

krian

lcd.c driver ı inceledim d portunu kullanıyorum lcd yi sürmek icin sorunu buldum galiba ben 5. ayagı (rw) toprak yapmıstım sadece yazma işlemi yaptıgım icin .ama driverı inceleyince bazı fonksiyonlarda lcd den okuma işlemi yapıyor.ornek lcd?init() fonksiyonunda  5. ayagı d portunda rw yerine baglarsam ins sorun cözülecek.ilgin için tsk ederim.