Teade

Collapse

Foorumi reeglid.

Foorumi reeglistik on uuendatud. Palume tutvuda ja arvesse võtta.
See more
See less

KS0715 Kivi juhtimine

Collapse
X
 
  • Filter
  • Kellaaeg
  • Show
Clear All
new posts

    KS0715 Kivi juhtimine

    On olemas siis üks LCD kiviga KS0715, kas keegi on tegelenud mõne LCDga millel see driver. Kui siis ehk oskaks teha blockskeemi kuidas selline asi võiks funcksida. Mulle jääb segasex datasheedis see Initial Display Line. Page address ja Colum address on selged.Datasheedi järgi jäb mulje et LCD on lausa kolmemõõtmeline mix muidu mingi jube muutuja veel nimega Initial Display Line. Kivi kasutan paralel modes. kasutax seriali a LCD-lt ei tule vastavaid otsi välja.
    Datasheet siis alldatasheet.com lehel saadaval. Krt mitu päeva juba kinni selle taga et asi ei taha initsialiseerimisest kaugemale jõuda.
    Modelleerimises ja tootmises kehtivad:
    1. Avariikindel vooluring lühistab kõik teised.
    2. Transistor, millel on kiiresti toimiv kaitse, säästab kaitset, sulades kõigepealt ise.

    #2
    Vs: KS0715 Kivi juhtimine

    Äkki viskad üles oma koodi algoritmi - nii on natuke raske arvata...
    Üks viga, mida olen isegi teinud, seisneb liiga kiires daata peale andmises. LCD on pagana tuim tükk. Taiming on kindlasti datasheedis olema.
    Initial display line vüiks esialhgu olla 00000. ARvatavasti lubab see muutuja orgunnida displei "akna " liigutamist.
    viimati muutis kasutaja felch; 28 m 2006, 22:38.
    - Vend Hieronymus tunneb Motorola toodete nimekirja kõige paremini, las tema ütleb.
    - Motorola poolt loodud kiipide hulgas ei ole teda üles tähendatud. - Tähendab: ta on Intelist!

    Comment


      #3
      Vs: KS0715 Kivi juhtimine

      Mul pascal, ja see peax genereerima mingit suvalist jura(minu viis display tööle saada on mingi pilt ette saada ja siis koodi edasi teha) . Seda hakkasin siis tegema kui avastasin et see lcd ei taha kuidagi datat sisse võtta. ja timmingutes pole asi kuna proovisin kõike. Sisuliselt peaks kood hetkel terve ekraani mustax kirjutama. Asi siis nii et kui keegi aitax mul selle tööle saada. siis nõus talle kinkima pärast 1 sellesama LCD millele lisatud ASCII üleminek. LCD siis 5*8 pixselit märk. 20 märki reas ja 4 rida. Kood aga siis järgmine.


      program LCD;
      var a,b,e,g,i : byte ;

      procedure LCD_Inits ;
      begin

      PORTE := 2;
      PORTD:= 226;
      PORTE := 0;
      PORTE := 2;
      Delay_ms(100);
      PORTD:= %10101111;
      PORTE := 0;
      PORTE := 2;
      PORTD:= %00101111;
      PORTE := 0;
      PORTE := 2;
      PORTE := 7;
      Delay_ms(100);
      end;

      procedure DW (Data : Byte) ;
      begin
      PORTE := 6;
      PORTD := Data ;
      PORTE := 4;
      PORTE := 6;
      PORTE := 7;
      end;

      procedure CDW (Data : Byte) ;
      begin
      PORTE := 2;
      PORTD := Data ;
      PORTE := 0;
      PORTE := 2;
      PORTE := 7;
      end;




      procedure Write_Line_Address (Data : Byte) ;
      var a,b : byte ;
      begin
      a :=Data;
      a := byte(a shl 2);
      a := byte(a shr 2);
      a := (a+64);
      PORTE := 2;
      PORTD := a;
      PORTE := 0;
      PORTE := 2;
      PORTE := 7
      end;


      procedure Write_Colum_Address (Data : Byte) ;
      var a,b : byte ;
      begin
      a := Data;
      b := a ;
      b := byte(b shr 5);
      b := (b+16);
      PORTE := 2;
      PORTD := b;
      PORTE := 0;
      PORTE := 2;
      PORTE := 7;
      a := byte(a shl 4);
      a := byte(a shr 4);
      PORTE := 2;
      PORTD := a;
      PORTE := 0;
      PORTE := 2;
      PORTE := 7;
      end;


      procedure Write_Page_Address (Data : Byte) ;
      var a,b : byte ;
      begin
      a :=Data;
      a := byte(a shl 4);
      a := byte(a shr 4);
      a := (a+176);
      PORTE := 2;
      PORTD := a;
      PORTE := 0;
      PORTE := 2;
      PORTE := 7
      end;








      //MAIN
      begin
      TRISD := 0; // PORTB is output
      TRISE := 0;
      TRISB := 0;
      PORTE := 7;
      LCD_Inits ;
      a := 0;
      b := 0;
      e := 0;
      g := 0;


      while true do // An infinite loop
      begin



      {Delay_us(10);}
      a := (a+1);
      if a = 255 then b :=(b+1);
      if b = 255 then e :=(e+1);
      if e = 255 then g :=(g+1);




      Write_Line_Address(a);
      Write_Page_Address(b);
      Write_Colum_Address(e);
      DW(255);

      CDW(175);
      PORTB := e;
      end;
      end.
      Modelleerimises ja tootmises kehtivad:
      1. Avariikindel vooluring lühistab kõik teised.
      2. Transistor, millel on kiiresti toimiv kaitse, säästab kaitset, sulades kõigepealt ise.

      Comment

      Working...
      X