Picproje Elektronik Sitesi

MİKRODENETLEYİCİLER => ARM => Konuyu başlatan: iqsuz - 27 Ağustos 2014, 13:44:34

Başlık: 4x20 LCD İlginç Problem
Gönderen: iqsuz - 27 Ağustos 2014, 13:44:34
s.a

elimde bir adet 4x20 karakter lcd var ve stm32f4 discovery kit ile sürmek istiyorum.fakat ilginç bir sorunla karşılaştım 1. ve 3. satırlar komple kare karakter ile dolu 2. ve 4. satırlarda hiç bir şey gözükmüyor.

kod'da hata olacağını zannetmiyorum çünkü mikroelektronicanın kendi örneği yinede kodlar aşağıda

yaptığım bağlandılarıda söyleyeyim akıllarda onla ilgili soru işareti kalmasın.

LCD'nin markası displaytronic acm2004d

1->GND
2->5V
3->Vdd
4->RS
5->GND
6->ENABLE
7->NC
8->NC
9->NC
10->NC
11->LCD_D4
12->LCD_D5
13->LCD_D6
14->LCD_D7
15->5V direnç ile
16->GND

sbit LCD_RS at GPIOD_ODR.B2;
sbit LCD_EN at GPIOD_ODR.B3;
sbit LCD_D4 at GPIOD_ODR.B4;
sbit LCD_D5 at GPIOD_ODR.B5;
sbit LCD_D6 at GPIOD_ODR.B6;
sbit LCD_D7 at GPIOD_ODR.B7;
// End LCD module connections

char txt1[] = "mikroElektronika";   
char txt2[] = "STM32";
char txt3[] = "Lcd4bit";
char txt4[] = "example";

char i;                              // Loop variable

void Move_Delay() {                  // Function used for text moving
  Delay_ms(750);                     // You can change the moving speed here
}

void main(){
  Lcd_Init();                        // Initialize LCD

  Lcd_Cmd(_LCD_CLEAR);               // Clear display
  Lcd_Cmd(_LCD_CURSOR_OFF);          // Cursor off
  Lcd_Out(1,6,txt3);                 // Write text in first row

  Lcd_Out(2,6,txt4);                 // Write text in second row
  Delay_ms(2000);
  Lcd_Cmd(_LCD_CLEAR);               // Clear display

  Lcd_Out(1,1,txt1);                 // Write text in first row
  Lcd_Out(2,4,txt2);                 // Write text in second row

  Delay_ms(2000);

  // Moving text
  for(i=0; i<4; i++) {               // Move text to the right 4 times
    Lcd_Cmd(_LCD_SHIFT_RIGHT);
    Move_Delay();
  }

  while(1) {                         // Endless loop
    for(i=0; i<7; i++) {             // Move text to the left 7 times
      Lcd_Cmd(_LCD_SHIFT_LEFT);
      Move_Delay();
    }

    for(i=0; i<7; i++) {             // Move text to the right 7 times
      Lcd_Cmd(_LCD_SHIFT_RIGHT);
      Move_Delay();
    }
  }
}
Başlık: Ynt: 4x20 LCD İlginç Problem
Gönderen: Kabil ATICI - 27 Ağustos 2014, 16:54:30
LCD'in sürülmemiş. Ya kodda ya bağlantıda sorun var.
Başlık: Ynt: 4x20 LCD İlginç Problem
Gönderen: Tagli - 27 Ağustos 2014, 17:19:19
Lcd_Init(); görevini yapmamış. Kütüphanede hata olmadığını varsayarsak, ya bağlantılarında hata var, ya PIC'in hız ayarlarında hata var, ya da PIC hiç çalışmıyor. Programın başında bir LED'i 1 saniye yak söndür yap ki PIC'in çalıştığından (ve de doğru hızda çalıştığından) emin ol.
Başlık: Ynt: 4x20 LCD İlginç Problem
Gönderen: iqsuz - 27 Ağustos 2014, 17:24:53
@Tagli hocam pic kullanmıyorum stm32f4 vdiscovery kit var

sorunu verdiğin fikirle çözdüm osilatör ayarlamalarımda sıkıntı varmış teşekkürler.
Başlık: Ynt: 4x20 LCD İlginç Problem
Gönderen: Erhan YILMAZ - 27 Ağustos 2014, 21:06:22
Çok ilginçmiş.
Başlık: Ynt: 4x20 LCD İlginç Problem
Gönderen: Bayramsumbul - 27 Ağustos 2014, 21:22:01
Ben de benzer bir problem ile karşılaşmıştım sorun lcd daha kendini toplamadan lcd üzerinde işlem yapmaktı. Çözümü mcu'nun başlama rutinlerinden sonra lcd init ederek çözmüştüm ve hatta delay bile eklemiştim. Neyse sorun çözüldü galiba. Herkeze iyi forumlar ve çalışmalar...
Başlık: Ynt: 4x20 LCD İlginç Problem
Gönderen: RaMu - 28 Ağustos 2014, 00:42:05
Lcd datasheet inde lcd ye güç verildikten sonra
herhangibir işlem yapılmadan önce bir müddet beklenmesi gerektiği yazar,
örneğin;
(http://matidavid.com/pic/LCD%20interfacing/initialization_files/initlcd.gif)
Başlık: Ynt: 4x20 LCD İlginç Problem
Gönderen: Tagli - 28 Ağustos 2014, 00:53:05
Aslında o beklemeyi zaten Lcd_Init() içine koymuş olmaları gerekir. Ben kendi kütüphanemi yazarken bu şekilde yapmıştım.
Başlık: Ynt: 4x20 LCD İlginç Problem
Gönderen: iqsuz - 30 Ağustos 2014, 00:18:38
problemi çözdüm.

aynı problem ile karşılaşacak olanlar illaki olcaktır.zaten diğer user'lar gerekli bilgileri vermiş fakat ben genel olarak toparlıyım.

1-program koşturulmaya başlandığında lcdnin hazırlanması için yeterli süre lcd'ye tanınmalı-(bazı Lcd_Init() fonksiyonu içinde zaten bekleme yapılıyormuş.)
2-programda tanımladığınız pin out'lar ile donanımdaki bin outlarınızın eşleştiğinden emin olun.
3-tabiki bütün çıkışları doğru yerlere takınız.
4-programsal hatalarınız olabilir bunları kontrol ediniz.örneğin lcd_init() fonksiyonunu lcd'ye komut göndermeden sonra tanımlamış falan olabilirsiniz.
5-ösilatör hızınınız lcd'ye uygun olup olmadığını denetleyiniz.

bunlarda sıkıntı yoksa büyük ihtimal bir problem çıkmayacaktır.
Başlık: Ynt: 4x20 LCD İlginç Problem
Gönderen: baran123 - 30 Ağustos 2014, 00:48:01
bendede öy bir problem çıktı hala anlamadım ds1307 ve 2x16 kullanıyorum ds1307 nin pull up larını takınca enrak sonuk ve parazıt varmıs gıbı taramalı sekılde yanıyor dırenclerı cıkarınca saat duruyor ama ekran goruntusu duzelıyor bunun sebebi ne olabilir ?

mesaj birleştirme:: 30 Ağustos 2014, 00:48:28

ekleme : başka yazı vs yazdırıyorum sıkıntı yok ama 1307 y ile kullanınca böyle garip bir şey oluyor
Başlık: Ynt: 4x20 LCD İlginç Problem
Gönderen: Tagli - 30 Ağustos 2014, 09:33:10
Pull-up direnci değerleri nedir?
Başlık: Ynt: 4x20 LCD İlginç Problem
Gönderen: Mucit23 - 30 Ağustos 2014, 10:35:55
LCD Beslemesine Dikkat Et, 3.3V ile Besliyorsan bu tür sorunlar yaşayabilirsin. Normaldir. LCD Beslemesi 5V olduktan sonra Data sinyalleri için 3.3V kullanabilirsin. Ben birkaç model LCD yi bu şekilde çalıştırdım.

İlk önce STM32 deki Data seviyelerini ölç. Lojik1 3v civarında olabilir.
Başlık: Ynt: 4x20 LCD İlginç Problem
Gönderen: baran123 - 30 Ağustos 2014, 12:58:59
Pull up değerleri 10 K  lcd yi 5V ile besliyorum 7805 üzerinden 18f2550 kullanırken bu sorun oluyor du suan 877A var cok fazla bır oynama yok ama gene goze carpan bır tarama var ekranda
Başlık: Ynt: 4x20 LCD İlginç Problem
Gönderen: Kabil ATICI - 30 Ağustos 2014, 13:26:10
Sanırım ekrana çok fazla yaz boz yaptırıyorsun. Saniyede 1 kez ekranı güncelleyecek şekilde programını düzenle. O zaman o sorun ortadan kalkar.
Bunu da en kolay saniyeyi okuduğun zaman önceki değer ile aynı ise ekrana yazdırma yapma. Farklı ise ekrana yazdır. Sanırım bunun programını yapabilirsin.
Başlık: Ynt: 4x20 LCD İlginç Problem
Gönderen: baran123 - 30 Ağustos 2014, 17:13:30
@ambar7 hocam evet oyle yapayım ozaman ıf else le yapılır hemen :)
Başlık: Ynt: 4x20 LCD İlginç Problem
Gönderen: Forever_Embedded - 15 Ağustos 2015, 11:56:04
merhaba benim elimde de JHD204A 4x20 lcd var. Çok uğraştım ama ekranda en küçük bir kıpırdama bile yok. Yardım edebilir misiniz?
Başlık: Ynt: 4x20 LCD İlginç Problem
Gönderen: RaMu - 15 Ağustos 2015, 16:01:17
İmzamdaki konu.

mesaj birleştirme:: 15 Ağustos 2015, 16:01:35

https://www.picproje.org/index.php/topic,57135.0.html (https://www.picproje.org/index.php/topic,57135.0.html)