Hlavní stránka‎ > ‎

LCD 16x2 s PCF8574A (Delphi, I2C)

Zde můžete stáhnout program (Windows) pro ovládání LCD displeye s 16 x 2 znaky buzeného I2C expanderem PCF8574.
 
                                                                 

 
Náhled do výpisu programu:
 
unit Unit1;
interface
uses I2CCOM1,PORTINC,unit2,
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls, StdCtrls, XPMan, Menus, ComCtrls;
type
  TForm1 = class(TForm)
    Timer1: TTimer;
    Button1: TButton;
    Button4: TButton;
    Button6: TButton;
    Button8: TButton;
    CheckBox1: TCheckBox;
    CheckBox2: TCheckBox;
    CheckBox3: TCheckBox;
    CheckBox4: TCheckBox;
    Label1: TLabel;
    Edit2: TEdit;
    Button2: TButton;
    Button5: TButton;
    Button7: TButton;
    Button11: TButton;
    Button10: TButton;
    Button12: TButton;
    Button9: TButton;
    Button3: TButton;
    Button13: TButton;
    Button15: TButton;
    Button14: TButton;
    Button16: TButton;
    Button17: TButton;
    Timer2: TTimer;
    CheckBox5: TCheckBox;
    Button18: TButton;
    Button19: TButton;
    XPManifest1: TXPManifest;
    Button20: TButton;
    Button21: TButton;
    Button23: TButton;
    CheckBox6: TCheckBox;
    MainMenu1: TMainMenu;
    StatusBar1: TStatusBar;
    Menu1: TMenuItem;
    VolbaCom1: TMenuItem;
    COM11: TMenuItem;
    COM21: TMenuItem;
    Schmazapojen1: TMenuItem;
    Timer3: TTimer;
    Button22: TButton;
    Button24: TButton;
    Button25: TButton;
    Button26: TButton;
    CheckBox7: TCheckBox;
    Npovda1: TMenuItem;
    CheckBox8: TCheckBox;
    Timer4: TTimer;
    procedure FormCreate(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);
    procedure Button6Click(Sender: TObject);
    procedure Button8Click(Sender: TObject);
    procedure Timer1Timer(Sender: TObject);
    procedure Button5Click(Sender: TObject);
    procedure Button11Click(Sender: TObject);
    procedure Button10Click(Sender: TObject);
    procedure Button12Click(Sender: TObject);
    procedure Button9Click(Sender: TObject);
    procedure Button13Click(Sender: TObject);
    procedure Button15Click(Sender: TObject);
    procedure Button14Click(Sender: TObject);
    procedure Button16Click(Sender: TObject);
    procedure Button17Click(Sender: TObject);
    procedure Timer2Timer(Sender: TObject);
    procedure Button18Click(Sender: TObject);
    procedure Button19Click(Sender: TObject);
    procedure Button21Click(Sender: TObject);
    procedure COM11Click(Sender: TObject);
    procedure COM21Click(Sender: TObject);
    procedure Button23Click(Sender: TObject);
    procedure Timer3Timer(Sender: TObject);
    procedure Button22Click(Sender: TObject);
    procedure Button24Click(Sender: TObject);
    procedure Button25Click(Sender: TObject);
    procedure Button26Click(Sender: TObject);
    procedure Schmazapojen1Click(Sender: TObject);
    procedure Npovda1Click(Sender: TObject);
    procedure Timer4Timer(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
var
  Form1: TForm1;
   Dout: Byte;
   DEC: Longint;
   dvojtecka,Hodiny,T, N, DDR :integer;
   n1, n2, n3, n4, n5, n6, F_h: String;
implementation
{$R *.dfm}
Procedure vyst_8_Bit (hodnota: Byte);                        //8 bit vystup pro PCF 8574 potažmo LCD, D0 - D7
   begin
    Start;
    vystup(32*2);                                           //Adr. PCF 8574 32, potvrdit?
    vystup(hodnota);
    Stop;
end;
Procedure vystE_RS_LED (hodnota: Byte);                     //4 bit vystup pro PCF 8574 potažmo LCD, Instrukční linky
   begin
    Start;
    vystup(33*2);                                           //Adr. PCF 8574 33, potvrdit?
    vystup(hodnota);
    Stop;
    end;
procedure Format_hodin;                                     //Doplńuje nulu na první místo řetězce hodin, když je meně jak 10:00:00
begin
F_h := TimeToStr(now);
Delete(F_h,3,6);                                            //Vymazání znaků řetězce po pozici 2
Delete(F_h,1,1);                                            //Vymazání znaků řetězce na pozici 1
if F_h = ':' then                                           //Dotaz na znak ':' na pozici 2
F_h := concat('0',TimeToStr(now))else                       //Je-li na poz. 2 ':' potom na pozici 1 přibyde znak '0'
F_h := TimeToStr(now);
end;

procedure Hodiny_n1 ;                                       //Získání cifry 1 z řetězce hodin
begin
n1 := F_h;
Delete(n1,2,7);
end;
procedure Hodiny_n2 ;                                       //Získání cifry 2 z řetězce hodin
begin
n2 := F_h;
Delete(n2,3,6);
Delete(n2,1,1);
end;
procedure Hodiny_n3 ;                                      //Získání cifry 3 z řetězce hodin
begin
n3 := F_h;
Delete(n3,5,4);
Delete(n3,1,3);
end;
procedure Hodiny_n4 ;                                      //Získání cifry 4 z řetězce hodin
begin
n4 := F_h;
Delete(n4,6,3);
Delete(n4,1,4);
end;
procedure Hodiny_n5 ;                                      //Získání cifry 5 z řetězce hodin
begin
n5 := F_h;
Delete(n5,8,1);
Delete(n5,1,6);
end;

procedure Hodiny_n6 ;                                      //Získání cifry 6 z řetězce hodin
begin
n6 := F_h;
Delete(n6,9,0);
Delete(n6,1,7);
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
I2C_Init;
  Timer1.Interval := 100;
  Timer1.Enabled := true;
  dvojtecka := 0;
  Hodiny := 0;
  DEC :=( 4);
  OPENCOM('COM1, 9800,N,8,1');
  Start;
    vystup(32*2); {Adr 32, potvrdit?}
    vystup(33*2); {Adr 33, potvrdit?}
    Stop;
end;
procedure TForm1.Button1Click(Sender: TObject);                       //  4 LED
begin
if CheckBox1.Checked = false then Dec := Dec +4 else Dec := Dec -4;
if CheckBox1.Checked = false then
 CheckBox1.Checked := true else
 CheckBox1.Checked := false;
end;
procedure TForm1.Button4Click(Sender: TObject);                        //  8 R/W
begin
if CheckBox2.Checked = false then Dec := Dec +8 else Dec := Dec -8;
if CheckBox2.Checked = false then
 CheckBox2.Checked := true else
 CheckBox2.Checked := false;
end;
procedure TForm1.Button6Click(Sender: TObject);                       //  2 RS
begin
if CheckBox3.Checked = false then Dec := Dec +2 else Dec := Dec -2;
if CheckBox3.Checked = false then
 CheckBox3.Checked := true else
 CheckBox3.Checked := false;
end;
procedure TForm1.Button8Click(Sender: TObject);                          //  1 E
begin
if CheckBox4.Checked = false then Dec := Dec +1 else Dec := Dec -1;
if CheckBox4.Checked = false then
 CheckBox4.Checked := true else
 CheckBox4.Checked := false;
end;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
StatusBar1.SimpleText := DateTimeToStr(now);
Label1.Caption := FloatToStr(DEC);
if CheckBox2.Checked = true then
 Button4.Caption := ' Zápis/Čtení*        čtení' else
 Button4.Caption := ' Zápis/Čtení*        zápis';
if CheckBox1.Checked = true then
 Button1.Caption := ' LED*                   on' else
 Button1.Caption := ' LED*                  off';
if CheckBox3.Checked = true then
 Button6.Caption := ' Výběr registru*        data' else
 Button6.Caption := ' Výběr registru*   instrukce';
if CheckBox4.Checked = true then
 Button8.Caption := ' Povolení*  on' else
 Button8.Caption := ' Povolení*  off';
end;
 
procedure TForm1.Button2Click(Sender: TObject);
begin
vyst_8_Bit(StrToInt(Edit2.Text));
end;
procedure TForm1.Button5Click(Sender: TObject);
begin
vystE_RS_LED ( DEC);
end;
 

procedure TForm1.Button11Click(Sender: TObject);
begin
vyst_8_Bit(56);
vystE_RS_LED (1);
vystE_RS_LED (0);
vyst_8_Bit(8);
vystE_RS_LED ( 1);
vystE_RS_LED ( 0);
vyst_8_Bit(15);
vystE_RS_LED ( 1);
vystE_RS_LED ( 0);
vystE_RS_LED ( 4);
DEC := 4;
CheckBox1.Checked := true;
Button14.Enabled := False;
end;
procedure TForm1.Button10Click(Sender: TObject);
begin
vyst_8_Bit(1);
if CheckBox4.Checked = false then
Button8.Click;
vystE_RS_LED (DEC);
Button8.Click;
vystE_RS_LED ( DEC);
end;
procedure TForm1.Button12Click(Sender: TObject);
begin
if CheckBox3.Checked = false then Button6.Click;
Button8.Click;
Button5.Click;
Button8.Click;
Button5.Click;
Button6.Click;
end;

procedure TForm1.Button9Click(Sender: TObject);
begin
Button8.Click;
Button5.Click;
Button8.Click;
Button5.Click;
end;
procedure TForm1.Button13Click(Sender: TObject);
begin
vyst_8_Bit(128);
vystE_RS_LED ( 1);
vystE_RS_LED ( DEC);
Button15.Enabled := true;
Button13.Enabled := False;
end;
procedure TForm1.Button15Click(Sender: TObject);
begin
vyst_8_Bit(192);
vystE_RS_LED ( 1);
vystE_RS_LED ( DEC);
Button13.Enabled := True;
Button15.Enabled := False;
end;
procedure TForm1.Button14Click(Sender: TObject);
begin
vyst_8_Bit(15);
vystE_RS_LED ( 1);
vystE_RS_LED ( DEC);
Button16.Enabled := true;
Button14.Enabled := False;
Button18.Enabled := True;
Button19.Enabled := True;
end;
procedure TForm1.Button16Click(Sender: TObject);
begin
vyst_8_Bit(8);
vystE_RS_LED ( 1);
vystE_RS_LED ( DEC);
Button14.Enabled := true;
Button16.Enabled := False;
Button18.Enabled := False;
Button19.Enabled := False;
end;
procedure TForm1.Button17Click(Sender: TObject);
begin
Button17.Enabled := false;
Button17.Caption := '0';
vyst_8_Bit(1);
vystE_RS_LED ( 5);
vystE_RS_LED ( DEC);
if CheckBox5.Checked = false then
   CheckBox5.Checked := true else
   CheckBox5.Checked := false;
end;
procedure TForm1.Timer2Timer(Sender: TObject);
begin
if CheckBox5.Checked = true then
begin
 T := 0;
 T := StrToInt(Button17.Caption) +1;
 Button17.Caption :=  FloatToStr(T);
 vyst_8_Bit(T);
 vystE_RS_LED ( 7);
 vystE_RS_LED ( 4);

if T = 16 then Button15.Click;
if T = 32 then Button10.Click;
if T = 32 then Button13.Click;
if T = 48 then Button15.Click;
if T = 64 then Button10.Click;
if T = 64 then Button13.Click;
if T = 80 then Button15.Click;
if T = 96 then Button10.Click;
if T = 96 then Button13.Click;
if T = 112 then Button15.Click;
if T = 128 then Button10.Click;
if T = 128 then Button13.Click;
if T = 144 then Button15.Click;
if T = 160 then Button10.Click;
if T = 160 then Button13.Click;
if T = 176 then Button15.Click;
if T = 192 then Button10.Click;
if T = 192 then Button13.Click;
if T = 208 then Button15.Click;
if T = 224 then Button10.Click;
if T = 224 then Button13.Click;
if T = 240 then Button15.Click;
if T = 256 then Button10.Click;
if T = 256 then Button13.Click;

if T = 256 then
begin
 CheckBox5.Checked := false;
 Button17.Caption := 'DEMO';
 Button17.Enabled := true;
end;
end ;
end;
procedure TForm1.Button18Click(Sender: TObject);
begin
if Button18.Caption = 'Kurzor            on' then
   Button18.Caption := 'Kurzor            off' else
   Button18.Caption := 'Kurzor            on';
if Button18.Caption = 'Kurzor            on' then
if Button19.Caption = 'Kurzor blikání on' then
   vyst_8_Bit(15) else
   vyst_8_Bit(14);
if Button18.Caption = 'Kurzor            off' then
if Button19.Caption = 'Kurzor blikání off' then
   vyst_8_Bit(12) else
   vyst_8_Bit(13);
Button9.Click;
end;
procedure TForm1.Button19Click(Sender: TObject);
begin
if Button19.Caption = 'Kurzor blikání on' then
   Button19.Caption := 'Kurzor blikání off' else
   Button19.Caption := 'Kurzor blikání on';
if Button19.Caption = 'Kurzor blikání off' then
if Button18.Caption = 'Kurzor            on' then
   vyst_8_Bit(14) else
   vyst_8_Bit(12);
if Button19.Caption = 'Kurzor blikání on' then
if Button18.Caption = 'Kurzor            off' then
   vyst_8_Bit(13) else
   vyst_8_Bit(15);
Button9.Click;
end;
procedure TForm1.Button21Click(Sender: TObject);
begin
vyst_8_Bit(2);
Button9.Click;
end;
procedure TForm1.com11Click(Sender: TObject);
begin
   OPENCOM('COM1, 9800,N,8,1');
   com11.Checked := True;
   com21.Checked := False;
end;
procedure TForm1.com21Click(Sender: TObject);
begin
  OPENCOM('COM2, 9800,N,8,1');
  com21.Checked := True;
  com11.Checked := False;
end;
procedure TForm1.Button23Click(Sender: TObject);
begin
Hodiny := Hodiny + 1 ;
if Hodiny = 1 then
begin
   CheckBox6.Checked := true;
end;
if Hodiny = 2 then
begin
CheckBox6.Checked := false;
Button10.Click;
Button18.Click;
Button19.Click;
end;
if Hodiny = 2 then Hodiny := 0;
end;
 
procedure TForm1.Timer3Timer(Sender: TObject);
begin
dvojtecka := dvojtecka +1;
if CheckBox6.Checked = true then
begin
if Button18.Caption = 'Kurzor            on' then Button18.Click;
if Button19.Caption = 'Kurzor blikání on' then  Button19.Click;
Format_hodin;
Hodiny_n1;
  vyst_8_Bit(128);
  Button9.click;
  if n1 = '0' then
  vyst_8_Bit(254) else
  vyst_8_Bit(StrToInt(n1)+ 48);
  Button12.click;
Hodiny_n2;
  vyst_8_Bit(129);
  Button9.click;
  vyst_8_Bit(StrToInt(n2)+ 48);
  Button12.click;
Hodiny_n3;
  vyst_8_Bit(131);
  Button9.click;
  vyst_8_Bit(StrToInt(n3)+ 48);
  Button12.click;
Hodiny_n4;
  vyst_8_Bit(132);
  Button9.click;
  vyst_8_Bit(StrToInt(n4)+ 48);
  Button12.click;
Hodiny_n5;
  vyst_8_Bit(134);
  Button9.click;
  vyst_8_Bit(StrToInt(n5)+ 48);
  Button12.click;
Hodiny_n6;
  vyst_8_Bit(135);
  Button9.click;
  vyst_8_Bit(StrToInt(n6)+ 48);
  Button12.click;

 if dvojtecka = 1 then
   begin
    vyst_8_Bit(130);
    Button9.click;
    vyst_8_Bit(254);
    Button12.click;
    vyst_8_Bit(133);
    Button9.click;
    vyst_8_Bit(254);
    Button12.click;
   end;

 if dvojtecka = 2 then
   begin;
    vyst_8_Bit(130);
    Button9.click;
    vyst_8_Bit(58);
    Button12.click;
    vyst_8_Bit(133);
    Button9.click;
    vyst_8_Bit(58);
    Button12.click;
  end;
end;

if dvojtecka = 2 then
   dvojtecka := 0;
 

if CheckBox7.Checked = true then               //zobrazení equalizéru
 begin
 
vyst_8_Bit(DDR);
  Button9.click;
  vyst_8_Bit(n);
  Button12.click;
  vyst_8_Bit(DDR + 1);
  Button9.click;
  vyst_8_Bit(n);
  Button12.click;
  vyst_8_Bit(DDR + 2);
  Button9.click;
  vyst_8_Bit(n);
  Button12.click;
  vyst_8_Bit(DDR + 3);
  Button9.click;
  vyst_8_Bit(n);
  Button12.click;
  vyst_8_Bit(DDR + 4);
  Button9.click;
  vyst_8_Bit(n);
  Button12.click;
  vyst_8_Bit(DDR + 5);
  Button9.click;
  vyst_8_Bit(n);
  Button12.click;
  vyst_8_Bit(DDR + 6);
  Button9.click;
  vyst_8_Bit(n);
  Button12.click;
  vyst_8_Bit(DDR + 7);
  Button9.click;
  vyst_8_Bit(n);
  Button12.click;
  vyst_8_Bit(DDR + 8);
  Button9.click;
  vyst_8_Bit(n);
  Button12.click;
  vyst_8_Bit(DDR + 9);
  Button9.click;
  vyst_8_Bit(n);
  Button12.click;
  vyst_8_Bit(DDR + 10);
  Button9.click;
  vyst_8_Bit(n);
  Button12.click;
  vyst_8_Bit(DDR + 11);
  Button9.click;
  vyst_8_Bit(n);
  Button12.click;
  vyst_8_Bit(DDR + 12);
  Button9.click;
  vyst_8_Bit(n);
  Button12.click;
  vyst_8_Bit(DDR + 13);
  Button9.click;
  vyst_8_Bit(n);
  Button12.click;
  vyst_8_Bit(DDR + 14);
  Button9.click;
  vyst_8_Bit(n);
  Button12.click;
  vyst_8_Bit(DDR + 15);
  Button9.click;
  vyst_8_Bit(n);
  Button12.click;
  vyst_8_Bit(DDR + 16);
  Button9.click;
  vyst_8_Bit(n);
  Button12.click;
if N < 8 then N := N + 1;
if (DDR = 192) and (N = 8) then
begin
 N := 0;
 DDR := 128;
end;
if (DDR = 128) and (N = 8) then
begin
   Button10.Click;
 
   N := 0;
   DDR := 192;
end;
end;
end;
 
 

procedure TForm1.Button22Click(Sender: TObject);
begin
vyst_8_Bit(64);                             //pozice 0 v CG RAM
Button9.click;                              //zápis dat pro vytvoření znaku 'ě'
  vyst_8_Bit(10);
  Button12.click;
  vyst_8_Bit(4);
  Button12.click;
  vyst_8_Bit(14);
  Button12.click;
  vyst_8_Bit(17);
  Button12.click;
  vyst_8_Bit(31);
  Button12.click;
  vyst_8_Bit(16);
  Button12.click;
  vyst_8_Bit(14);
  Button12.click;
  vyst_8_Bit(0);
  Button12.click;
  Button13.Click;                        //zobrazení znaku na 1 pozici, potažmo DD RAM
  vyst_8_Bit(0);
  Button12.click;
 
vyst_8_Bit(72);                             //pozice 1 v CG RAM
Button9.click;                              //zápis dat pro vytvoření znaku 'š'
  vyst_8_Bit(10);
  Button12.click;
  vyst_8_Bit(4);
  Button12.click;
  vyst_8_Bit(15);
  Button12.click;
  vyst_8_Bit(16);
  Button12.click;
  vyst_8_Bit(14);
  Button12.click;
  vyst_8_Bit(1);
  Button12.click;
  vyst_8_Bit(30);
  Button12.click;
  vyst_8_Bit(0);
  Button12.click;
  vyst_8_Bit(129);                       //zobrazení znaku na 2 pozici, potažmo DD RAM
  Button9.click;
  vyst_8_Bit(1);
  Button12.click;
 
vyst_8_Bit(80);                             //pozice 2 v CG RAM
Button9.click;                              //zápis dat pro vytvoření znaku 'č'
  vyst_8_Bit(10);
  Button12.click;
  vyst_8_Bit(4);
  Button12.click;
  vyst_8_Bit(14);
  Button12.click;
  vyst_8_Bit(16);
  Button12.click;
  vyst_8_Bit(16);
  Button12.click;
  vyst_8_Bit(17);
  Button12.click;
  vyst_8_Bit(14);
  Button12.click;
  vyst_8_Bit(0);
  Button12.click;
  vyst_8_Bit(130);                       //zobrazení znaku na 3 pozici, potažmo DD RAM
  Button9.click;
  vyst_8_Bit(2);
  Button12.click;
 
vyst_8_Bit(88);                             //pozice 3 v CG RAM
Button9.click;                              //zápis dat pro vytvoření znaku 'ř'
  vyst_8_Bit(10);
  Button12.click;
  vyst_8_Bit(4);
  Button12.click;
  vyst_8_Bit(22);
  Button12.click;
  vyst_8_Bit(25);
  Button12.click;
  vyst_8_Bit(16);
  Button12.click;
  vyst_8_Bit(16);
  Button12.click;
  vyst_8_Bit(16);
  Button12.click;
  vyst_8_Bit(0);
  Button12.click;
  vyst_8_Bit(131);                       //zobrazení znaku na 4 pozici, potažmo DD RAM
  Button9.click;
  vyst_8_Bit(3);
  Button12.click;
 
vyst_8_Bit(96);                             //pozice 4 v CG RAM
Button9.click;                              //zápis dat pro vytvoření znaku 'ž'
  vyst_8_Bit(10);
  Button12.click;
  vyst_8_Bit(4);
  Button12.click;
  vyst_8_Bit(31);
  Button12.click;
  vyst_8_Bit(2);
  Button12.click;
  vyst_8_Bit(4);
  Button12.click;
  vyst_8_Bit(8);
  Button12.click;
  vyst_8_Bit(31);
  Button12.click;
  vyst_8_Bit(0);
  Button12.click;
  vyst_8_Bit(132);                       //zobrazení znaku na 5 pozici, potažmo DD RAM
  Button9.click;
  vyst_8_Bit(4);
  Button12.click;
 
vyst_8_Bit(104);                             //pozice 5 v CG RAM
Button9.click;                              //zápis dat pro vytvoření znaku 'ý'
  vyst_8_Bit(2);
  Button12.click;
  vyst_8_Bit(4);
  Button12.click;
  vyst_8_Bit(17);
  Button12.click;
  vyst_8_Bit(17);
  Button12.click;
  vyst_8_Bit(15);
  Button12.click;
  vyst_8_Bit(1);
  Button12.click;
  vyst_8_Bit(14);
  Button12.click;
  vyst_8_Bit(0);
  Button12.click;
  vyst_8_Bit(133);                       //zobrazení znaku na 6 pozici, potažmo DD RAM
  Button9.click;
  vyst_8_Bit(5);
  Button12.click;
 
vyst_8_Bit(112);                             //pozice 6 v CG RAM
Button9.click;                              //zápis dat pro vytvoření znaku 'á'
  vyst_8_Bit(2);
  Button12.click;
  vyst_8_Bit(4);
  Button12.click;
  vyst_8_Bit(14);
  Button12.click;
  vyst_8_Bit(1);
  Button12.click;
  vyst_8_Bit(15);
  Button12.click;
  vyst_8_Bit(17);
  Button12.click;
  vyst_8_Bit(15);
  Button12.click;
  vyst_8_Bit(0);
  Button12.click;
  vyst_8_Bit(134);                       //zobrazení znaku na 7 pozici, potažmo DD RAM
  Button9.click;
  vyst_8_Bit(6);
  Button12.click;
 
vyst_8_Bit(120);                             //pozice 7 v CG RAM
Button9.click;                              //zápis dat pro vytvoření znaku 'í'
  vyst_8_Bit(2);
  Button12.click;
  vyst_8_Bit(4);
  Button12.click;
  vyst_8_Bit(12);
  Button12.click;
  vyst_8_Bit(4);
  Button12.click;
  vyst_8_Bit(4);
  Button12.click;
  vyst_8_Bit(4);
  Button12.click;
  vyst_8_Bit(14);
  Button12.click;
  vyst_8_Bit(0);
  Button12.click;
  vyst_8_Bit(135);                       //zobrazení znaku na 8 pozici, potažmo DD RAM
  Button9.click;
  vyst_8_Bit(7);
  Button12.click;
end;
procedure TForm1.Button24Click(Sender: TObject);
begin
vyst_8_Bit(64);                             //pozice 0 v CG RAM
Button9.click;                              //zápis dat pro vytvoření znaku 'é'
  vyst_8_Bit(2);
  Button12.click;
  vyst_8_Bit(4);
  Button12.click;
  vyst_8_Bit(14);
  Button12.click;
  vyst_8_Bit(17);
  Button12.click;
  vyst_8_Bit(31);
  Button12.click;
  vyst_8_Bit(16);
  Button12.click;
  vyst_8_Bit(14);
  Button12.click;
  vyst_8_Bit(0);
  Button12.click;
  Button13.Click;                        //zobrazení znaku na 1 pozici, potažmo DD RAM
  vyst_8_Bit(0);
  Button12.click;
 
vyst_8_Bit(72);                             //pozice 1 v CG RAM
Button9.click;                              //zápis dat pro vytvoření znaku 'ú'
  vyst_8_Bit(2);
  Button12.click;
  vyst_8_Bit(4);
  Button12.click;
  vyst_8_Bit(17);
  Button12.click;
  vyst_8_Bit(17);
  Button12.click;
  vyst_8_Bit(17);
  Button12.click;
  vyst_8_Bit(19);
  Button12.click;
  vyst_8_Bit(13);
  Button12.click;
  vyst_8_Bit(0);
  Button12.click;
  vyst_8_Bit(129);                       //zobrazení znaku na 2 pozici, potažmo DD RAM
  Button9.click;
  vyst_8_Bit(1);
  Button12.click;
 
vyst_8_Bit(80);                             //pozice 2 v CG RAM
Button9.click;                              //zápis dat pro vytvoření znaku 'ů'
  vyst_8_Bit(6);
  Button12.click;
  vyst_8_Bit(6);
  Button12.click;
  vyst_8_Bit(17);
  Button12.click;
  vyst_8_Bit(17);
  Button12.click;
  vyst_8_Bit(17);
  Button12.click;
  vyst_8_Bit(19);
  Button12.click;
  vyst_8_Bit(13);
  Button12.click;
  vyst_8_Bit(0);
  Button12.click;
  vyst_8_Bit(130);                       //zobrazení znaku na 3 pozici, potažmo DD RAM
  Button9.click;
  vyst_8_Bit(2);
  Button12.click;
 
vyst_8_Bit(88);                             //pozice 3 v CG RAM
Button9.click;                              //zápis dat pro vytvoření znaku 'ó'
  vyst_8_Bit(2);
  Button12.click;
  vyst_8_Bit(4);
  Button12.click;
  vyst_8_Bit(14);
  Button12.click;
  vyst_8_Bit(17);
  Button12.click;
  vyst_8_Bit(17);
  Button12.click;
  vyst_8_Bit(17);
  Button12.click;
  vyst_8_Bit(14);
  Button12.click;
  vyst_8_Bit(0);
  Button12.click;
  vyst_8_Bit(131);                       //zobrazení znaku na 4 pozici, potažmo DD RAM
  Button9.click;
  vyst_8_Bit(3);
  Button12.click;
 
vyst_8_Bit(96);                             //pozice 4 v CG RAM
Button9.click;                              //zápis dat pro vytvoření znaku 'ň'
  vyst_8_Bit(10);
  Button12.click;
  vyst_8_Bit(4);
  Button12.click;
  vyst_8_Bit(22);
  Button12.click;
  vyst_8_Bit(25);
  Button12.click;
  vyst_8_Bit(17);
  Button12.click;
  vyst_8_Bit(17);
  Button12.click;
  vyst_8_Bit(17);
  Button12.click;
  vyst_8_Bit(0);
  Button12.click;
  vyst_8_Bit(132);                       //zobrazení znaku na 5 pozici, potažmo DD RAM
  Button9.click;
  vyst_8_Bit(4);
  Button12.click;
 
vyst_8_Bit(104);                             //pozice 5 v CG RAM
Button9.click;                              //zápis dat pro vytvoření znaku 'ť'
  vyst_8_Bit(11);
  Button12.click;
  vyst_8_Bit(29);
  Button12.click;
  vyst_8_Bit(8);
  Button12.click;
  vyst_8_Bit(8);
  Button12.click;
  vyst_8_Bit(8);
  Button12.click;
  vyst_8_Bit(9);
  Button12.click;
  vyst_8_Bit(6);
  Button12.click;
  vyst_8_Bit(0);
  Button12.click;
  vyst_8_Bit(133);                       //zobrazení znaku na 6 pozici, potažmo DD RAM
  Button9.click;
  vyst_8_Bit(5);
  Button12.click;
 
vyst_8_Bit(112);                             //pozice 6 v CG RAM
Button9.click;                              //zápis dat pro vytvoření znaku 'ď'
  vyst_8_Bit(21);
  Button12.click;
  vyst_8_Bit(9);
  Button12.click;
  vyst_8_Bit(13);
  Button12.click;
  vyst_8_Bit(19);
  Button12.click;
  vyst_8_Bit(17);
  Button12.click;
  vyst_8_Bit(19);
  Button12.click;
  vyst_8_Bit(13);
  Button12.click;
  vyst_8_Bit(0);
  Button12.click;
  vyst_8_Bit(134);                       //zobrazení znaku na 7 pozici, potažmo DD RAM
  Button9.click;
  vyst_8_Bit(6);
  Button12.click;
 
vyst_8_Bit(120);                             //pozice 7 v CG RAM
Button9.click;                              //zápis dat pro vytvoření znaku 'srdce'
  vyst_8_Bit(0);
  Button12.click;
  vyst_8_Bit(27);
  Button12.click;
  vyst_8_Bit(31);
  Button12.click;
  vyst_8_Bit(14);
  Button12.click;
  vyst_8_Bit(4);
  Button12.click;
  vyst_8_Bit(0);
  Button12.click;
  vyst_8_Bit(0);
  Button12.click;
  vyst_8_Bit(0);
  Button12.click;
  vyst_8_Bit(135);                       //zobrazení znaku na 8 pozici, potažmo DD RAM
  Button9.click;
  vyst_8_Bit(7);
  Button12.click;
end;
 

procedure TForm1.Button25Click(Sender: TObject);
begin
if CheckBox8.Checked = false then
   CheckBox8.Checked := true else
   CheckBox8.Checked := False;
if CheckBox8.Checked = false then
   Button10.Click;
if CheckBox8.Checked = true then
   begin
  Button18.Click;
  Button19.Click;
  end;
end;
 

procedure TForm1.Button26Click(Sender: TObject);
begin
 N := 0;
  DDR := 192;
 Button18.Click;
 Button19.Click;
if CheckBox7.Checked = true then
   Button10.Click;
 
if CheckBox7.Checked = false then                                                                              
   CheckBox7.Checked := true else
   CheckBox7.Checked := False;
vyst_8_Bit(64);                             //pozice 0 v CG RAM
Button9.click;                              //zápis dat pro vytvoření obrazu equalizéru
  vyst_8_Bit(0);
  Button12.click;
  vyst_8_Bit(0);
  Button12.click;
  vyst_8_Bit(0);
  Button12.click;
  vyst_8_Bit(0);
  Button12.click;
  vyst_8_Bit(0);
  Button12.click;
  vyst_8_Bit(0);
  Button12.click;
  vyst_8_Bit(0);
  Button12.click;
  vyst_8_Bit(31);
  Button12.click;
 
 
vyst_8_Bit(72);                             //pozice 1 v CG RAM
Button9.click;
  vyst_8_Bit(0);
  Button12.click;
  vyst_8_Bit(0);
  Button12.click;
  vyst_8_Bit(0);
  Button12.click;
  vyst_8_Bit(0);
  Button12.click;
  vyst_8_Bit(0);
  Button12.click;
  vyst_8_Bit(0);
  Button12.click;
  vyst_8_Bit(31);
  Button12.click;
  vyst_8_Bit(31);
  Button12.click;
 
 
vyst_8_Bit(80);                             //pozice 2 v CG RAM
Button9.click;
  vyst_8_Bit(0);
  Button12.click;
  vyst_8_Bit(0);
  Button12.click;
  vyst_8_Bit(0);
  Button12.click;
  vyst_8_Bit(0);
  Button12.click;
  vyst_8_Bit(0);
  Button12.click;
  vyst_8_Bit(31);
  Button12.click;
  vyst_8_Bit(31);
  Button12.click;
  vyst_8_Bit(31);
  Button12.click;
 
 
vyst_8_Bit(88);                             //pozice 3 v CG RAM
Button9.click;                              //zápis dat pro vytvoření obrazu srdce
  vyst_8_Bit(0);
  Button12.click;
  vyst_8_Bit(0);
  Button12.click;
  vyst_8_Bit(0);
  Button12.click;
  vyst_8_Bit(0);
  Button12.click;
  vyst_8_Bit(31);
  Button12.click;
  vyst_8_Bit(31);
  Button12.click;
  vyst_8_Bit(31);
  Button12.click;
  vyst_8_Bit(31);
  Button12.click;
 
 
vyst_8_Bit(96);                             //pozice 4 v CG RAM
Button9.click;
  vyst_8_Bit(0);
  Button12.click;
  vyst_8_Bit(0);
  Button12.click;
  vyst_8_Bit(0);
  Button12.click;
  vyst_8_Bit(31);
  Button12.click;
  vyst_8_Bit(31);
  Button12.click;
  vyst_8_Bit(31);
  Button12.click;
  vyst_8_Bit(31);
  Button12.click;
  vyst_8_Bit(31);
  Button12.click;
 
 
vyst_8_Bit(104);                             //pozice 5 v CG RAM
Button9.click;
  vyst_8_Bit(0);
  Button12.click;
  vyst_8_Bit(0);
  Button12.click;
  vyst_8_Bit(31);
  Button12.click;
  vyst_8_Bit(31);
  Button12.click;
  vyst_8_Bit(31);
  Button12.click;
  vyst_8_Bit(31);
  Button12.click;
  vyst_8_Bit(31);
  Button12.click;
  vyst_8_Bit(31);
  Button12.click;
 

vyst_8_Bit(112);                             //pozice 6 v CG RAM
Button9.click;
  vyst_8_Bit(0);
  Button12.click;
  vyst_8_Bit(31);
  Button12.click;
  vyst_8_Bit(31);
  Button12.click;
  vyst_8_Bit(31);
  Button12.click;
  vyst_8_Bit(31);
  Button12.click;
  vyst_8_Bit(31);
  Button12.click;
  vyst_8_Bit(31);
  Button12.click;
  vyst_8_Bit(31);
  Button12.click;
 
 vyst_8_Bit(120);
Button9.click;
  vyst_8_Bit(31);
  Button12.click;
  vyst_8_Bit(31);
  Button12.click;
  vyst_8_Bit(31);
  Button12.click;
  vyst_8_Bit(31);
  Button12.click;
  vyst_8_Bit(31);
  Button12.click;
  vyst_8_Bit(31);
  Button12.click;
  vyst_8_Bit(31);
  Button12.click;
  vyst_8_Bit(31);
  Button12.click;
end;
procedure TForm1.Schmazapojen1Click(Sender: TObject);
begin
Form2.visible := true;
Form2.Image1.Visible := true;
Form2.Image2.Visible := false;
end;
procedure TForm1.Npovda1Click(Sender: TObject);
begin
Form2.visible := true;
Form2.Image2.Visible := true;
Form2.Image1.Visible := false ;
end;
procedure TForm1.Timer4Timer(Sender: TObject);
begin
if CheckBox8.Checked = true then
begin
vyst_8_Bit(64);                             //pozice 0 v CG RAM
Button9.click;                              //zápis dat pro vytvoření obrazu srdce
  vyst_8_Bit(0);
  Button12.click;
  vyst_8_Bit(0);
  Button12.click;
  vyst_8_Bit(0);
  Button12.click;
  vyst_8_Bit(1);
  Button12.click;
  vyst_8_Bit(7);
  Button12.click;
  vyst_8_Bit(15);
  Button12.click;
  vyst_8_Bit(15);
  Button12.click;
  vyst_8_Bit(7);
  Button12.click;
  vyst_8_Bit(134);                    //zobrazení znaku na 1pozici, potažmo DD RAM
  Button9.click;
  vyst_8_Bit(0);
  Button12.click;
 
vyst_8_Bit(72);                             //pozice 1 v CG RAM
Button9.click;                              //zápis dat pro vytvoření obrazu
  vyst_8_Bit(0);
  Button12.click;
  vyst_8_Bit(0);
  Button12.click;
  vyst_8_Bit(0);
  Button12.click;
  vyst_8_Bit(16);
  Button12.click;
  vyst_8_Bit(24);
  Button12.click;
  vyst_8_Bit(28);
  Button12.click;
  vyst_8_Bit(30);
  Button12.click;
  vyst_8_Bit(31);
  Button12.click;
  vyst_8_Bit(135);                     //zobrazení znaku na 2 pozici, potažmo DD RAM
  Button9.click;
  vyst_8_Bit(1);
  Button12.click;
 
vyst_8_Bit(80);                             //pozice 2 v CG RAM
Button9.click;                              //zápis dat pro vytvoření obrazu srdce
  vyst_8_Bit(0);
  Button12.click;
  vyst_8_Bit(0);
  Button12.click;
  vyst_8_Bit(0);
  Button12.click;
  vyst_8_Bit(1);
  Button12.click;
  vyst_8_Bit(3);
  Button12.click;
  vyst_8_Bit(7);
  Button12.click;
  vyst_8_Bit(15);
  Button12.click;
  vyst_8_Bit(31);
  Button12.click;
  vyst_8_Bit(136);                      //zobrazení znaku na 3 pozici, potažmo DD RAM
  Button9.click;
  vyst_8_Bit(2);
  Button12.click;
 
vyst_8_Bit(88);                             //pozice 3 v CG RAM
Button9.click;                              //zápis dat pro vytvoření obrazu srdce
  vyst_8_Bit(0);
  Button12.click;
  vyst_8_Bit(0);
  Button12.click;
  vyst_8_Bit(0);
  Button12.click;
  vyst_8_Bit(16);
  Button12.click;
  vyst_8_Bit(28);
  Button12.click;
  vyst_8_Bit(30);
  Button12.click;
  vyst_8_Bit(30);
  Button12.click;
  vyst_8_Bit(28);
  Button12.click;
  vyst_8_Bit(137);                      //zobrazení znaku na 4 pozici, potažmo DD RAM
  Button9.click;
  vyst_8_Bit(3);
  Button12.click;
 
vyst_8_Bit(96);                             //pozice 4 v CG RAM
Button9.click;                              //zápis dat pro vytvoření obrazu srdce
  vyst_8_Bit(3);
  Button12.click;
  vyst_8_Bit(1);
  Button12.click;
  vyst_8_Bit(0);
  Button12.click;
  vyst_8_Bit(0);
  Button12.click;
  vyst_8_Bit(0);
  Button12.click;
  vyst_8_Bit(0);
  Button12.click;
  vyst_8_Bit(0);
  Button12.click;
  vyst_8_Bit(0);
  Button12.click;
  vyst_8_Bit(198);                //zobrazení znaku na 5 pozici, potažmo DD RAM
  Button9.click;
  vyst_8_Bit(4);
  Button12.click;
 
vyst_8_Bit(104);                             //pozice 5 v CG RAM
Button9.click;                              //zápis dat pro vytvoření obrazu srdce
  vyst_8_Bit(31);
  Button12.click;
  vyst_8_Bit(31);
  Button12.click;
  vyst_8_Bit(31);
  Button12.click;
  vyst_8_Bit(31);
  Button12.click;
  vyst_8_Bit(15);
  Button12.click;
  vyst_8_Bit(7);
  Button12.click;
  vyst_8_Bit(1);
  Button12.click;
  vyst_8_Bit(0);
  Button12.click;
  vyst_8_Bit(199);                     //zobrazení znaku na 6 pozici, potažmo DD RAM
  Button9.click;
  vyst_8_Bit(5);
  Button12.click;
 
vyst_8_Bit(112);                             //pozice 6 v CG RAM
Button9.click;                              //zápis dat pro vytvoření obrazu srdce
  vyst_8_Bit(31);
  Button12.click;
  vyst_8_Bit(31);
  Button12.click;
  vyst_8_Bit(31);
  Button12.click;
  vyst_8_Bit(31);
  Button12.click;
  vyst_8_Bit(30);
  Button12.click;
  vyst_8_Bit(28);
  Button12.click;
  vyst_8_Bit(16);
  Button12.click;
  vyst_8_Bit(0);
  Button12.click;
  vyst_8_Bit(200);                     //zobrazení znaku na 7 pozici, potažmo DD RAM
  Button9.click;
  vyst_8_Bit(6);
  Button12.click;
 
vyst_8_Bit(120);                             //pozice 7 v CG RAM
Button9.click;                              //zápis dat pro vytvoření obrazu
  vyst_8_Bit(24);
  Button12.click;
  vyst_8_Bit(16);
  Button12.click;
  vyst_8_Bit(0);
  Button12.click;
  vyst_8_Bit(0);
  Button12.click;
  vyst_8_Bit(0);
  Button12.click;
  vyst_8_Bit(0);
  Button12.click;
  vyst_8_Bit(0);
  Button12.click;
  vyst_8_Bit(0);
  Button12.click;
  vyst_8_Bit(201);                     //zobrazení znaku na 8 pozici, potažmo DD RAM
  Button9.click;
  vyst_8_Bit(7);
  Button12.click;
DELAY(1000);
vyst_8_Bit(64);                             //pozice 0 v CG RAM
Button9.click;                              //zápis dat pro vytvoření obrazu malého srdce
  vyst_8_Bit(0);
  Button12.click;
  vyst_8_Bit(0);
  Button12.click;
  vyst_8_Bit(0);
  Button12.click;
  vyst_8_Bit(0);
  Button12.click;
  vyst_8_Bit(3);
  Button12.click;
  vyst_8_Bit(7);
  Button12.click;
  vyst_8_Bit(7);
  Button12.click;
  vyst_8_Bit(7);
  Button12.click;
  vyst_8_Bit(134);                    //zobrazení znaku na 7pozici, potažmo DD RAM
  Button9.click;
  vyst_8_Bit(0);
  Button12.click;
 
vyst_8_Bit(72);                             //pozice 1 v CG RAM
Button9.click;                              //zápis dat pro vytvoření obrazu
  vyst_8_Bit(0);
  Button12.click;
  vyst_8_Bit(0);
  Button12.click;
  vyst_8_Bit(0);
  Button12.click;
  vyst_8_Bit(0);
  Button12.click;
  vyst_8_Bit(16);
  Button12.click;
  vyst_8_Bit(24);
  Button12.click;
  vyst_8_Bit(28);
  Button12.click;
  vyst_8_Bit(30);
  Button12.click;
  vyst_8_Bit(135);                     //zobrazení znaku na 8 pozici, potažmo DD RAM
  Button9.click;
  vyst_8_Bit(1);
  Button12.click;
 
vyst_8_Bit(80);                             //pozice 2 v CG RAM
Button9.click;                              //zápis dat pro vytvoření obrazu srdce
  vyst_8_Bit(0);
  Button12.click;
  vyst_8_Bit(0);
  Button12.click;
  vyst_8_Bit(0);
  Button12.click;
  vyst_8_Bit(0);
  Button12.click;
  vyst_8_Bit(1);
  Button12.click;
  vyst_8_Bit(3);
  Button12.click;
  vyst_8_Bit(7);
  Button12.click;
  vyst_8_Bit(15);
  Button12.click;
  vyst_8_Bit(136);                      //zobrazení znaku na 9 pozici, potažmo DD RAM
  Button9.click;
  vyst_8_Bit(2);
  Button12.click;
 
vyst_8_Bit(88);                             //pozice 3 v CG RAM
Button9.click;                              //zápis dat pro vytvoření obrazu srdce
  vyst_8_Bit(0);
  Button12.click;
  vyst_8_Bit(0);
  Button12.click;
  vyst_8_Bit(0);
  Button12.click;
  vyst_8_Bit(0);
  Button12.click;
  vyst_8_Bit(24);
  Button12.click;
  vyst_8_Bit(28);
  Button12.click;
  vyst_8_Bit(28);
  Button12.click;
  vyst_8_Bit(28);
  Button12.click;
  vyst_8_Bit(137);                      //zobrazení znaku na 10 pozici, potažmo DD RAM
  Button9.click;
  vyst_8_Bit(3);
  Button12.click;
 
vyst_8_Bit(104);                             //pozice 5 v CG RAM
Button9.click;                              //zápis dat pro vytvoření obrazu srdce
  vyst_8_Bit(31);
  Button12.click;
  vyst_8_Bit(31);
  Button12.click;
  vyst_8_Bit(31);
  Button12.click;
  vyst_8_Bit(15);
  Button12.click;
  vyst_8_Bit(7);
  Button12.click;
  vyst_8_Bit(3);
  Button12.click;
  vyst_8_Bit(1);
  Button12.click;
  vyst_8_Bit(0);
  Button12.click;
  vyst_8_Bit(199);                     //zobrazení znaku na 8pozici 2radek, potažmo DD RAM
  Button9.click;
  vyst_8_Bit(5);
  Button12.click;
 
vyst_8_Bit(112);                             //pozice 6 v CG RAM
Button9.click;                              //zápis dat pro vytvoření obrazu srdce
  vyst_8_Bit(31);
  Button12.click;
  vyst_8_Bit(31);
  Button12.click;
  vyst_8_Bit(31);
  Button12.click;
  vyst_8_Bit(30);
  Button12.click;
  vyst_8_Bit(28);
  Button12.click;
  vyst_8_Bit(24);
  Button12.click;
  vyst_8_Bit(16);
  Button12.click;
  vyst_8_Bit(0);
  Button12.click;
  vyst_8_Bit(200);                     //zobrazení znaku na 9pozici 2radek, potažmo DD RAM
  Button9.click;
  vyst_8_Bit(6);
  Button12.click;
 
  end;
end;
end.