[PASCAL] Sterowanie silnikiem, problem

0

Witam, znalazłem na internecie kod źródlowy programu (autor : maSs), który ma sterować silnikiem przerz LPT, nie wykrywa mi jednak slowa "port". Oto kod źródłowy:

program silniki_menu;
uses crt,dos;
const adres=$378;{dla LPT1 i $278 dla LPT2}
procedure silnik(numer:byte;komenda:char);
var wyjscie,opcja,d,a,b:byte;
begin
d:=port[adres];
case numer of
1:a:=$fc;
2:a:=$f3;
3:a:=$cf;
4:a:=$3f;
end;
case komenda of
'p':begin {prawo}
b:=1 shl ((numer-1)*2);
port[adres]:=(d and a)+b;
end;
'l':begin {lewo}
b:=2 shl ((numer-1)*2);
port[adres]:=(d and a)+b;
end;
's':port[adres]:=(d and a)+b; {stop}
end;
begin
 wyjscie:=0;
 repeat
 clrscr;
 writeln ('=================');
 writeln ('======MENU=======');
 writeln ('=================');
 writeln;
 writeln ('1.lewo ');
 writeln ('2.prawo');
 writeln ('3.stop ');
 writeln ('4.exit');
 writeln ;
 write (' tw˘j wyb˘r: ');
 readln (opcja);

if opcja=1 then
begin
silnik(1,'l');
repeat until keypressed;
end;
if opcja=2 then
begin
silnik (1,'p');
repeat until keypressed;
end;
if opcja=3 then
begin
silnik (1,'s');
repeat until keypressed;
end;
if opcja=4 then
writeln;
writeln;
writeln;
writeln (' KONIEC PROGRAMU   <PRESS ENTER> ');
wyjscie:=0
until wyjscie=0;
end;
end;
begin
clrscr;
silnik (1,'s');
end.

Jak to naprawić?

Chcę zrobić z tego zamek do drzwi, tzn:
nad drzwiami wewnątrz pokoju będzie silnik, a do niego przyczepiona czarna blaszka, o grubości 3cm, szerokości 10cm. Na zewnątrz pokoju będzie klawiatura numeryczna przyczepiona do ściany
(np.taka :http://www.allegro.pl/item203[...]tura_numeryczna_do_laptopa_nausb.html)
Wewnątrz pokoju będzie komputer (cały czas włączony) i będzie sprawdzał czy kod wprowadzony z klawiatury to np. 12345, jeśli tak to SILNIK SIĘ URUCHAMIA i kręci blaszką o 95 stopni (dzwi odblokowane) i można wejść, a jeśli nie to nic się nie dzieje. Klawiature, silnik i program sprawdzajacy dane z klawiatury już mam, ale NIE WIEM JAK NAPRAWIĆ kod źródłowy programu w poście wyżej.

0

W kompilatorze Turbo Pascal powiinien wykryc tablice port. Jesli inny pascal
poprobuj
http://rudy.mif.pg.gda.pl/~reichel/showcat.php?id=22
http://rudy.mif.pg.gda.pl/~reichel/showcat.php?id=21

ps. na razie moze nie zamykaj pokoju, bo jak sie komp zwiesi ;-P

0

Dziękuje, bardzo mi pomogłęś. Używałem Free Pascal i nie działało. Wrzuciłem to to Turbo Pascal i wszystko działa.

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0