-- 
procedure LCD_Display(On : in Boolean; Cursor : in Boolean; Blink : in boolean) is
      Command : Unsigned_8 := 8;
      Control : Unsigned_8 := 0;
   begin
      Control := Clear_Rs(Control);
      Lp_Io.Put(Pp.Ctrl, Control);        -- valeur du registre de control = 16#C8#
      Lp_Io.Put(Pp.Data, 0);
      Control := Control and  16#D0#;
      Control := Control or 16#0B#;
 
      Lp_Io.Put(Pp.Ctrl, Control);        -- valeur du registre de control = 16#CB#
      Wait_Lcd;
      ----
       Control := Clear_Rs(Control);
       Lp_Io.Put(Pp.Ctrl, Control);
       Command := 16#38#;
       Lp_Io.Put(Pp.Data, Command);        -- valeur du registre de control = 16#CB#
       Control := Set_En(Control);
       Lp_Io.Put(Pp.Ctrl, Control);        -- valeur du registre de control = 16#CA#
       Wait_LCD;
       Control := Clear_En(Control);
       Lp_Io.Put(Pp.Ctrl, Control);        -- valeur du registre de control = 16#CB#
      ----
      Wait_Lcd;
      Control := Clear_Rs(Control);
      Lp_Io.Put(Pp.Ctrl, Control);        -- valeur du registre de control = 16#CB#
      
      Lp_Io.Put(Pp.Data, 16#0F#);
      Control := Set_En(Control);
      Lp_Io.Put(Pp.Ctrl, Control);        -- valeur du registre de control = 16#CA#
      Wait_LCD;
      Control := Clear_En(Control);
      Lp_Io.Put(Pp.Ctrl, Control);         -- valeur du registre de control = 16#CB#
 
      Lp_Io.Put(Pp.Data, 16#06#);
      Control := Set_En(Control);
      Lp_Io.Put(Pp.Ctrl, Control);        -- valeur du registre de control = 16#CA#
      Wait_LCD;
      Control := Clear_En(Control);
      Lp_Io.Put(Pp.Ctrl, Control);        -- valeur du registre de control = 16#CB#
 
 
   end LCD_Display;