lcd imleç sorunu

Başlatan Recep METE, 03 Kasım 2014, 19:33:14

Recep METE

Arkadaşlar, ccs c ile lcd uygulaması için yaptığım programda imlec hangi rakamların üstündeyse yanıp sönmesi gerekiyor.İsiste denediğimde normal olarak imlecin üstündeki rakamlar yanıp sönüyor.Ancak gerçek devrede (breadboarda kurduğum)  imleç hangisinin üstündeyse çince yazı  çıkıyor.Yanıp sönmesi gözükmüyor.Ne yaptıysam düzeltemedim.Yardımlarınıza açığım.


Kodun bir kısmı:
if(input(pin_c1)){
      durum++;
      while(input(pin_c1));}
   
  
   if(durum==1){
   
             
   
   lcd_gotoxy(10,1);
   
   lcd_send_byte(0x40,0x0d);
  
   lcd_gotoxy(11,1);
   
   lcd_send_byte(0x41,0x0d);}
   
   if(input(pin_c0)&&durum==1){
      alarmsaat2++;
      
      while(input(pin_c0));}
       
   if(input(pin_c2)&&durum==1){
      alarmsaat2--;
   
      
      while(input(pin_c2));
     
     
   }
printf(lcd_putc,"\f  Ne kadar okursan oku, bilgine, yakışır şekilde davranmıyorsan cahilsin demektir.  \n   semfero");d

RaMu

lcd_send_byte(0x41,0x0d);

değil
lcd_send_byte(0x00,0x0d);
veya
lcd_send_byte(0x00,0x0F);


olarak göndermelisin,
lcd_send_byte(birinci,ikinci)
birinci> komut mu, veri mi gönderilecek (0>komut, 1>veri)
ikinci >  gönderilecek data
0x0D > display açık, imleç altçizgi gözükmesin, imleç yansın sönsün,
0x0F > display açık, imleç altçizgi gözüksün    , imleç yansın sönsün.
Sorularınıza hızlı cevap alın: http://www.picproje.org/index.php/topic,57135.0.html

Kabil ATICI

komut gönderildikten sonra bekleme süresi fazla olabilir. (özellikle WR=0 tipi bir LCD sürme kullanılıyorsa)
ambar7

kuylus

Merhaba , aşağıdaki satırlarda   yan ok yada saat yazısının  yanıp sönmesini nasıl sağlayabilirim teşekkürler

lcd_gotoxy(1,1);
lcd_send_byte(0x00,0x0F);
printf(lcd_putc,">1-SAAT             ");

RaMu

lcd_gotoxy(1,1);                                           ;1. sutun 1. satıra git
printf(lcd_putc,">1-SAAT             ");            ;imlecin olduğu noktadan itibaren "......" ifadeyi lcd ye yaz
lcd_gotoxy(1,1);                                           ;1. sutun 1. satıra git
lcd_send_byte(0x00,0x0F);                          ;hangi sutun satırdaysan(yani ">" karakteri) orada imleci yak söndür

Şeklinde sağlayabilirsin.
Sorularınıza hızlı cevap alın: http://www.picproje.org/index.php/topic,57135.0.html

kuylus

Alıntı yapılan: RaMu - 03 Aralık 2016, 21:52:02
lcd_gotoxy(1,1);                                           ;1. sutun 1. satıra git
printf(lcd_putc,">1-SAAT             ");            ;imlecin olduğu noktadan itibaren "......" ifadeyi lcd ye yaz
lcd_gotoxy(1,1);                                           ;1. sutun 1. satıra git
lcd_send_byte(0x00,0x0F);                          ;hangi sutun satırdaysan(yani ">" karakteri) orada imleci yak söndür

Şeklinde sağlayabilirsin.

Bu şekilde yapınca  kursör ekranda  gelişi güzel  dolaşıp duruyor sadece belirtilen karakter de durmuyor , anlatımlarda çok basit  deniyorda nedense ben işin içinden çıkamadım henüz , bir yazıda void procedure ile yapacaksın diye yazmış arkadaşın biri fakat nasıl , konuyu detay vererek açıklayabilmeniz mümkünse sevinirim , böyle konulara takılınca çözene kadar  pes edemiyorum :)

RaMu

Lcd nin çalışma mantığından kaynaklanıyor,
herhalde en azından 20 sene önce üretilen bir entegre ile çalışıyor bu karakter lcd ler.
Çok büyük özellikler beklememek lazım.

Lcd de imleç gözüksün veya gözükmesin diye iki seçenek ve
gözükencekse yanıp sönsün veya altçizgi olarak gözüksün diye iki seçenek var.

Devamı sonra...
Sorularınıza hızlı cevap alın: http://www.picproje.org/index.php/topic,57135.0.html

RaMu

Lcd ye herhangibir yazı yazmadan önce imleç kapatılır,
yazı yazıldıktan sonra
imleç yanıp sönmesi istenen konuma alınır
imleç yan-sön komutu gönderilir
imleç yan sön süresi kadar beklenir
(bekleme yerine program başka işlerde yapabilir,
tabiki lcd ye başka bir yazı yazmak haricinde)
imleç tekrar kapatılır ise
istediğin olur.

lcd_send_byte(0x00,0x0C);                          ; imlec gözükmesin

lcd_gotoxy(1,1);                                           //1. sutun 1. satıra git
printf(lcd_putc,">1-SAAT             ");            //imlecin olduğu noktadan itibaren "......" ifadeyi lcd ye yaz
lcd_gotoxy(1,1);                                           //1. sutun 1. satıra git
lcd_send_byte(0x00,0x0F);                          //hangi sutun satırdaysan(yani ">" karakteri) orada imleci yak söndür
delay_ms(500);                                           //imlecin yanıp sönmesini istediğimiz süre kadar bekle

lcd_send_byte(0x00,0x0C);                          ; imleci gözükmesin


Yada hiç bunlar ile uğraşmayıp
printf(lcd_putc,"\f>1-SAAT");            //Lcd yi sil, ilk satır başına git "......" ifadeyi lcd ye yaz
delay_ms(100);                                               //yazı görünür süresi
printf(lcd_putc,"\f>1- ");            //Lcd yi sil, ilk satır başına git "....      ..." bir kısmı silinmiş ifadeyi lcd ye yaz
delay_ms(100);                                               //yazı yerine boşluk görünür süresi
Sorularınıza hızlı cevap alın: http://www.picproje.org/index.php/topic,57135.0.html

kuylus

Çok teşekkür ederim , kursör aç kapa olayı tam istediğim oldu , karakteri, sonsuz bir döngüde  sürekli aç kapa yaparak,  herhangi bir noktadaki karakter için  rahatlıkla uyguladım