Şimdi Ara

LCD'ye bişey yazdıramadım

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
3 Misafir (1 Mobil) - 2 Masaüstü1 Mobil
5 sn
31
Cevap
0
Favori
1.126
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 12
Sayfaya Git
Git
sonraki
Giriş
Mesaj
  • Merhaba arkadaşlar,
    pic 16F84A + 2x16 LCD(HD44780) kullanıyorum.
    HI-TECH'in kendi delay,lcd,pic vs include dosyalarını kullanıyorum.
    PIC--LCD
    RB0--11(D4)
    RB1--12(D5)
    RB2--13(D6)
    RB3--14(D7)
    RA2--4(RS)
    RA3--6(E)
    LCD : 1(Vss)--GND
    5(R/W)--GND
    Beslemeler vs tamam.
    Aşagıdaki kodu yuklesem de ekranda sadece ust satır komple yanıyor.
    Sonra başka bişey yazmıyor.Bir arkadaşım reset olmuyor diyor.Sorun nerede?HI-TECH'ın lcd.c dosyası ya da DelayUs ve DelayMs fonksiyonları mı düzgün çalışmıyor?

    Şimdilik sadece ekrana Temp= yazdırmak istiyorum bunu bile yapmıyor.Daha ileride sıcaklık ölçüp yazdıracam:)
    #define	XTAL_FREQ	4MHZ 

    #include <pic.h>
    #include <lcd.c>
    #include <delay.c>
    #include <stdio.h>
    main(void)
    {
    unsigned char display[]="Temp= ";
    TRISB=0;
    TRISA=0;

    DelayMs(250);
    lcd_init();
    lcd_clear();


    for(;;)
    {
    lcd_puts(display);

    DelayMs(250);
    lcd_clear();
    }
    }







  • ARKADAŞIM SEN YİNEDE EKRANA BİRŞEYLER YAZDIRMIŞSIN.BEN ONUDA BECEREMEDİM.BENDE LCD Yİ YENİ ÖĞRENİYORUM.LCD KONUSUNDA İYİ OLAN ARKADAŞLARIN YARDIMLARINI BEKLİYORUM.
  • lcd.c
    lcd.h
    delay.c
    delay.h

    bu dosyaları include klasörünün içine kopyaladın mı?

    bir de lcd_init() ten sonra DelayMs(100) koyarsan iyi olur.

    ayrıca programın bu halinde stdio.h dosyasına ihtiyaç yok ama "Temp= " yazısının yanına sıcaklık değerini ekleyeceğin zaman ihtiyacın olacak.
  • birşey daha var. 3 numaralı VEE bacağına 10k'lık POT bağladın mı? ya sen devreyi gerçekten yapıyor musun yoksa Proteus ile simülasyon mu yapıyosun?
  • CCS nin derleyicisini kullnasan yardım edebilirdsim ama HiTech konusunda bişey diyemiyecem ama

    unsigned char display[]="Temp= ";

    bu tanımlamada bir hata yok değilmi yani hatasız derleniyormu program

    unsigned char display[7]="Temp= ";
    şeklinde dizi boyutunu tanımlamak gerekir gibime geliyor. Yoksa compiler kendisi otomatikmi ayarlıyor
  • o tanımlamada hata yok. orası doğru :D
  • quote:

    Orjinalden alıntı: psiko

    birşey daha var. 3 numaralı VEE bacağına 10k'lık POT bağladın mı? ya sen devreyi gerçekten yapıyor musun yoksa Proteus ile simülasyon mu yapıyosun?

    Pot da koymuştum.Simulasyon değil.devreyi protoboardda denedım olmadı.
  • Yapay Zeka’dan İlgili Konular
    Daha Fazla Göster
  • quote:

    Orjinalden alıntı: psiko

    lcd.c
    lcd.h
    delay.c
    delay.h

    bu dosyaları include klasörünün içine kopyaladın mı?

    bir de lcd_init() ten sonra DelayMs(100) koyarsan iyi olur.

    ayrıca programın bu halinde stdio.h dosyasına ihtiyaç yok ama "Temp= " yazısının yanına sıcaklık değerini ekleyeceğin zaman ihtiyacın olacak.

    O dosyalar zaten include içinde olmasa zaten derleyici bulamadım diye hata veriyor...
  • Bir de netten şunu öğrendim.Galiba bu LCDnin üst satırının komple yanması test ekranıymış.lcd_init()ten sonra delay koyacagım deneyeceğim...
  • yani derleyici hata vermiyor. normal derleniyor ama devre çalımıyor öyle mi. o zaman yukarda dediğim gibi lcd_init() den sonra dleay koy 100ms. öyle bir dene bakalım olacak mı...
  • İnternette aynı tür sorunu olan bayagı bir kişi var.Onlar da sorunlarına yanıt alamamışlar.Üst satır komple blok halinde çalışıyor.Alt satır boş.Galiba bu tipik bir lcd test ekranıymış.Galiba lcd_init() oluyo ama lcd_clear() çalışmıyor.Arada 100 ms delay koydum yine olmadı.Ne yapmak lazım lcd.c deki delayleri mi değiştirecez?Bunu da denedim bazılarını arttırdım biraz yine bişey değişmedi.
  • "Üst satır komple blok halinde çalışıyor" ne demek tam anlayamadım. üst satırda ne gözüküyor?
  • http://www.thecodeproject.com/csharp/cspplcds.asp?print=true
    Part-3 Before Coding'ten önce bir lcd görüntüsü var.Ona bakarsan üst satır benim anlatmak istediğimle aynı:)
  • bir de clear'dan sonra 5ms delay koymayı dene istersen.
  • lcd.c dosyasında var zaten cleardan sonra 2ms delay ayrıca kullanmaya gerek var mıdır?
  • evet doğru. kendi içinde zaten 2ms bekleme var.
  • Birde şöyle bir deneme yaptınmı borda kurulan devrelerde bazen temas sorunu yüzünden işlemci hiç çalışmıyor. Ve hatayı yazılımda arıyoruz genelde. PIC e lcd programını değilde basit bir ledi yakıp söndüren bir program yazıp borda kurduğun donanımın sağlıklı çalıştığını test etmeni tavsiye ederim.
  • arkadaşım sana PICBasic kullanmanı öneririm

    device 16f877
    declare xtal 4

    cursor 1,1
    print "Deger:"
    cursor 2,1
    print "değer:"
  • buda bağlantısı

  • trigger senin karşılaştığın sorunun aynısıyla ben de karşılaştım maalesef. devreyi kurdum ve üst satır verdiğin linkteki gibi koyu gözüküyor. neden böyle birşey oluyor acaba? acaba sorun breadboard kullanmamız olabilir mi???
  • 
Sayfa: 12
Sayfaya Git
Git
sonraki
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.