1. Satır düz - 2. satır kaydırma hakkında

Başlatan ziyaretci, 26 Ağustos 2012, 16:16:30

ziyaretci

Merhaba,

1. satır  düz gözükecek 2. satır kayacak bu uygulamayı yaptınızmı hiç?

  mesela;

#include <16f877.h>
#fuses XT,NOWDT,NOPROTECT,NOBROWNOUT,NOLVP,NOPUT,NOWRT,NODEBUG,NOCPD
#use delay(clock=4M)
#define LCD_DATA_PORT      getenv("SFR:PORTB")
#include <lcd.c>

int a;
 Void main()
 
  {
       setup_psp(PSP_DISABLED);   // psp kapatıldı.
       setup_timer_1(T1_DISABLED); //t1 kapatıldı.
       setup_timer_2(T2_DISABLED,0,1);  // t2 kapatıldı.
       setup_adc_ports(NO_ANALOGS);  // analog grişler kapatıldı.
       setup_adc(ADC_OFF);    // adc kapatıldı.
       setup_CCP1(CCP_OFF);   // ccp1 kapatıldı.
       setup_CCP2(CCP_OFF);   // ccp2 kapatıldı.
       
       lcd_init();
      
       
        for(;;)
        {
         
         printf(lcd_putc,"\fErkan CAVUS");
         delay_ms(2000);
         printf(lcd_putc,"\nLUTFEN BEKLEYINIZ.");
         delay_ms(1000);
         lcd_send_byte(0,0x01); //LCD TEMİZLENDİ
         delay_ms(500);   // BİRAZ GECİKME
       
           printf(lcd_putc,"ISLEM YAPIN");    // 1. SATIR GÖRÜNTÜSÜ
           lcd_gotoxy(1,2);                             // İMLEC 2.SATIR 1. SÜTUNDA
           printf(lcd_putc," #'ye BASIN");   // 2.SATIR GÖRÜNTÜSÜ
           for(a=0;a<11;a++)        
           {
           delay_ms(150);                 // BİRAZ GECİKME
          lcd_send_byte(0xC0,0x18);  //  2X16  LCD nin   2. SATIR DDRAM adresini seç , sola kaydır.
           }
           lcd_send_byte(0,0x01);
          }
  }     
       


Sorun ise sadece 2. satırın kayması gerekirken,  1. ve 2. satır birlikte kayıyor.

   

ziyaretci


esensoy

sende ki problemin ne olduğuna bakamadım ama
bu kod 2x16 lcd de z içinde ki string i hem alt hem üst satırda ilk 5. haneden sonra kaydırmaktadır,
işine yarar herhalde
const char z[42] = {"www.XXXXXX.com.tr 0532 XXX XX XX    "};

for(i=0;i<15;i++){
   lcd_gotoxy(6,1);
   printf(lcd_putc,"%c%c%c%c%c%c%c%c",z[i],z[i+1],z[i+2],z[i+3],z[i+4],z[i+5],z[i+6],z[i+7]);
   printf(lcd_putc,"%c%c%c",z[i+8],z[i+9],z[i+10]);
   lcd_gotoxy(6,2);
   printf(lcd_putc,"%c%c%c%c%c",z[i+11],z[i+12],z[i+13],z[i+14],z[i+15]);
   printf(lcd_putc,"%c%c%c%c%c%c",z[i+16],z[i+17],z[i+18],z[i+19],z[i+20],z[i+21]);
   delay_ms(acilis_bekle);
   if(!i)delay_ms(750);
}

En tehlikeli an "zafer" anıdır.

atomx

#3
pek tecrübem olmasa'da kodlarında hata göremedim ama takıldığım nokta. aşağıdaki doğru olan bitlermi ? affınıza sığınarak

lcd_send_byte(0xC0,0x18);


Biraz araştırdım fakat problem burada 0x18 tüm satırları kaydırıyor. 0x40 2. satırın pointer'i fakat bu kod ile tek satır kaymaz görünüyor.
Hüseyin TECER