{$A+,B-,D+,E+,F-,G-,I+,L+,N-,O-,R-,S+,V+,X-}{$M 16384,0,655360}program TSTPGR(Input,Output);{=============================================================}{== Program pro testovani a ozivovani programatoru PICPGR ==}{=============================================================}{ (c)miho 2004 }{=============================================================}{ Historie: }{ 1.00 Novy program }{=============================================================}uses CRT;var PortAdr:word absolute 0:$408;procedure key;begin readln;end;begin {== Uvodni tisk ==}writeln;writeln('Test Utility for PICPGR');writeln('=======================');writeln('(c) miho 2004 v.1.00');writeln;{== Overeni dostupnosti portu LTP1 ==}if PortAdr=0 then begin writeln('No LPT port available!');halt(1);end;{== Testovaci posloupnost ==}writeln('Action PGC PGD VDD ... GND VPP Comment');writeln('-------------------------------------------------------------------------------');port[PortAdr]:=0;writeln('OFF X X 0V . 0V 0V Standard state OFF');key;port[PortAdr]:=$10;writeln('Vdd ON X X +5V . 0V +5V');key;port[PortAdr]:=$50;writeln('Vdd ON and RESET X X +5V . 0V 0V');key;port[PortAdr]:=$20;writeln('Vpp ON X X 0V . 0V 0V Invalid state (missing Vdd)');key;port[PortAdr]:=$30;writeln('Vpp and Vdd ON X X +5V . 0V +12V');key;port[PortAdr]:=$02;writeln('Data 0 X L 0V . 0V 0V');key;port[PortAdr]:=$03;writeln('Data 1 X H 0V . 0V 0V');key;port[PortAdr]:=$08;writeln('Clock 0 L X 0V . 0V 0V');key;port[PortAdr]:=$0C;writeln('Clock 1 H X 0V . 0V 0V');key;writeln;writeln('Test PGD input, use 10k resistor to connect PDG to GND and VDD');writeln;port[PortAdr]:=$10;repeatif (port[PortAdr+1] and $40)<>0 then write('PGD State: H')else write('PGD State: L');write(#$0D);until keypressed and (readkey=#$0D);writeln;writeln;writeln('Action PGC PGD VDD ... GND VPP Comment');writeln('-------------------------------------------------------------------------------');port[PortAdr]:=$80+$3F;writeln('OFF X X 0V . 0V 0V Alternative state OFF');end.