{
Date: 8/97
Purpose:Unit to control HW via the lpt port
Version: 1.0
Author:on1bew
}
unit hwi2c;
interface
uses dos;
{LPT port definition}
const lpt = $278; {lpt2}
procedure sdah;
procedure sdal;
procedure sclh;
procedure scll;
procedure rsda;
procedure rscl;
procedure powerchk(var power:boolean);
implementation
var SDA,SCL,power: boolean;
procedure sdah;
begin
{Set SDA, select in}
port[lpt+2] := port[lpt+2] or 8;
end;
procedure sdal;
begin
{Reset SDA, select in}
port[lpt+2] := port[lpt+2] and 247;
end;
procedure sclh;
begin
{Set SCL, bit 7 }
port[lpt+0] := port[lpt+0] and 127;
end;
procedure scll;
begin
{Reset SCL, bit 7 }
port[lpt+0] := port[lpt+0] or 128;
end;
procedure rsda;
begin
{Read SDA}
if port[lpt+1] and 8 = 8 then
sda := true
else
sda := false;
end;
procedure rscl;
begin
{Read SCL}
if port[lpt+1] and 128 = 128 then
scl := true
else
scl := false;
end;
procedure powerchk(var power:boolean);
begin
{Read Power}
if port[lpt+1] and 32 = 32 then
power := true
else
power := false;
end;
end.
Terug