Фрагмент управления ШД от дисковвода.Алгоритм AB-BC-CD-DA...
Код
procedure TForm1.Timer1Timer(Sender: TObject);
begin
Timer1.Interval:=TrackBar1.Position; //В принципе это частота вращения
if SpeedButton2.Down then // Кнопка реверса
begin
If PortIn($378) = $C then
begin
PortOut($378,$6);
exit;
end;
If PortIn($378) = $6 then
begin
PortOut($378,$3);
exit;
end;
If PortIn($378) = $3 then
begin
PortOut($378,$9);
exit;
end;
If PortIn($378) = $9 then
begin
PortOut($378,$C);
exit;
end;
end
else
begin
If PortIn($378) = $C then
begin
PortOut($378,$9);
exit;
end;
If PortIn($378) = $9 then
begin
PortOut($378,$3);
exit;
end;
If PortIn($378) = $3 then
begin
PortOut($378,$6);
exit;
end;
If PortIn($378) = $6 then
begin
PortOut($378,$C);
exit;
end;
end;
end;
Сообщение отредактировал Alexandr - Feb 8 2006, 08:45