--
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;