PDA

View Full Version : نوشتن مستقیم روی LPT1



houshmand
سه شنبه 24 تیر 1382, 14:34 عصر
:!: :idea: :!:
به خروجی های کا مپیوتر بر اساس دفترچه MAINBORD کامپیوتر من نگاه کنید :idea:
<span dir=ltr>
1 14
2 15
. .
. .
. .
13 26

pin signal
1 strobe-
2 data bit 0
3 data bit 1
4 data bit 2
5 data bit 3
6 data bit 4
7 data bit 5
8 data bit 6
9 data bit 7
10 ACK-
11 BUSY
12 PE
13 SLCT
14 AutoFeed-
15 ERROR-
16 INIT-
17 SLCT IN-
26 N/C

*Pin 18..pin25 are ground
************************
</span>
حال تابعی برای نوشتن :roll:


procedure WriteLPT1&#40;WO&#58;word&#41;;
const
LPT1A=$378; &#40;*Address of LPT1*&#41;
begin
asm
mov dx,LPT1A; &#40;*Assign address of lpt1*&#41;
mov dx,WO;
out dx,ax;
end;

end;




و خواندن :shock:



function ReadLPT1&#58;word;
const
LPT1A=$378; &#40;*Address of LPT1*&#41;
var
IW&#58;word;
begin
asm
mov dx,LPT1A;
in ax,dx;
mov Iw,ax;
end;
ReadLPT1&#58;=iw;
end;


توجه:این توابع را میتوان هم در دلفی و هم در پاسکال استفاده کرد
برای مثال
اهممتر(ولتمتر) را به پایهای 2 و 25
(data bit 0و ground)
بزنید
وبا دستور
WriteLPT1($FFFF);
ولتاژ حدود5+ ولت
و با دستور
WriteLPT1($0);
حدود صفر ولت بخوانید
توجه: برای قرار دادن یک پایه بخصوص فقط مقدار آن را 1 (یک) وبقیه را صفر قرار میدهیم و معادل آن را در مبنای 16 یا 10 به خروجی می فرستیم

برنامه را برای پایهای مختلف چک کنید

************************************************
:?: حال چه کسی می تواند اطلاعات بیشتری در اختیار بگزارد
مثلاُ در مورد پاسخ به اینتراپت
:?:
منتظر حواب شما 8) 8) 8) 8) 8) 8)

Mashatan
یک شنبه 29 تیر 1382, 12:37 عصر
یک یونیت بسیار قوی و حرفه ای در این مورد وجود داره به اسم ZLPORTIO که میتونه در تمام ویندوزها استفاده کنید و همچنین به صورت Direct هم تنظیمش کنید !
اینم سایتش http://www.specosoft.com

ارادتمند مشاطان