Servermaster
20th November 2011, 02:22 AM
gan, ane mau nanya tentang parallel port ni.
gw menggunakan 8 pin port data dan 4 pin port status untuk menbaca data dari perangkat luar.(rangkaian counter gitu).
sedangkan di kaki port control gw kasi logic($2B).
2: buat aktif-in bi-directional biar port data bisa ambil data, dan
B: supaya kaki control C0-C01-C02-C03 tidak ada tegangan(alias ground).
nah, pada saat gw melakukan pembacaan data di port data dan port status, port control dapat menghasilkan tegangan dengan waktu yang acak(random).
kenapa bisa begitu?
jadi permasalahannya itu, gw pengen logic port control tetap 0 sebelum gw memberikan perintah peng-aktifan tuh kaki(port control dikasi logic 1). ada ide ga gan?
semoga agan2 yang baca dapat menolong gw. tq T_T"
(kalo untuk masalah hardware counter tidak ada masalah.karena gw pasang LED untuk mendeteksi tegangan).
nih sebagian programnya.
...
procedure TForm1.Timer2Timer(Sender: TObject);
var
PortData, PortStatus, Y, PWM, baca : byte;
Nbaru, NBaru1, j, t, X, m, result: integer;
begin
baca := PWM or bit5;
zlioportwrite($37a,ZLIO_BYTE,baca);
baca := PWM or $09; // reset counter di off kan
PortData := zlioportread($378,ZLIO_BYTE); // baca D0-D7
Label16.Caption := inttostr(PortData);
PortStatus := zlioportread($379,ZLIO_BYTE); // baca D8-D11
Label17.Caption := inttostr(PortStatus);
X := PortStatus shr 3; // 7654***
Y := X and 31; // angka 7 dihlgkan
Y := Y shl 8; // digeser 8x
Nbaru1 := Y+PortData; // hasil 12bit
Baca := PWM and not bit5; // tutup
//zlioportwrite($37A,0,$04); // baris ini tidak dijalankan
baca := PWM and not $09; // reset hardware
zlioportwrite($37a,0,baca);
t:=0;
end;
...
</div>
gw menggunakan 8 pin port data dan 4 pin port status untuk menbaca data dari perangkat luar.(rangkaian counter gitu).
sedangkan di kaki port control gw kasi logic($2B).
2: buat aktif-in bi-directional biar port data bisa ambil data, dan
B: supaya kaki control C0-C01-C02-C03 tidak ada tegangan(alias ground).
nah, pada saat gw melakukan pembacaan data di port data dan port status, port control dapat menghasilkan tegangan dengan waktu yang acak(random).
kenapa bisa begitu?
jadi permasalahannya itu, gw pengen logic port control tetap 0 sebelum gw memberikan perintah peng-aktifan tuh kaki(port control dikasi logic 1). ada ide ga gan?
semoga agan2 yang baca dapat menolong gw. tq T_T"
(kalo untuk masalah hardware counter tidak ada masalah.karena gw pasang LED untuk mendeteksi tegangan).
nih sebagian programnya.
...
procedure TForm1.Timer2Timer(Sender: TObject);
var
PortData, PortStatus, Y, PWM, baca : byte;
Nbaru, NBaru1, j, t, X, m, result: integer;
begin
baca := PWM or bit5;
zlioportwrite($37a,ZLIO_BYTE,baca);
baca := PWM or $09; // reset counter di off kan
PortData := zlioportread($378,ZLIO_BYTE); // baca D0-D7
Label16.Caption := inttostr(PortData);
PortStatus := zlioportread($379,ZLIO_BYTE); // baca D8-D11
Label17.Caption := inttostr(PortStatus);
X := PortStatus shr 3; // 7654***
Y := X and 31; // angka 7 dihlgkan
Y := Y shl 8; // digeser 8x
Nbaru1 := Y+PortData; // hasil 12bit
Baca := PWM and not bit5; // tutup
//zlioportwrite($37A,0,$04); // baris ini tidak dijalankan
baca := PWM and not $09; // reset hardware
zlioportwrite($37a,0,baca);
t:=0;
end;
...
</div>