با سلام خدمت دوستان
اقا از دوستان كسي مي تونه من رو در مورد روشن خاموش كردن يه LED پورت موازي كمك بكنه
اگه ميشه يه نمونه بزنامه ساده بذاريد با توضيخ
خواهشا برنامه خيلي ساده باشه
در حد روشن خاموش كرن يه دونه LED
موفق باشيد :biggrin: l
Printable View
با سلام خدمت دوستان
اقا از دوستان كسي مي تونه من رو در مورد روشن خاموش كردن يه LED پورت موازي كمك بكنه
اگه ميشه يه نمونه بزنامه ساده بذاريد با توضيخ
خواهشا برنامه خيلي ساده باشه
در حد روشن خاموش كرن يه دونه LED
موفق باشيد :biggrin: l
سلام
اگر شما مي خواهيد با دلفي اينكارو كنيد.
و به صورت مجازي مي خواهيد اينكار رو كنيد پست پاييني رو بخونيد.
اگر هم مي خواهيد با يك ال اي دي ارتباط برقرار كني و با ساخت
يك پروژه بتوني ال اي دي رو خاموش روشن كني. اون فرق داره.
منتظر جوابت هستيم.
موفق باشي. باي
سلام
من چیزی رو که میخواستید ساحتم.
روش کار رو میگم. اگر نتونستی بسازیش. بگو که من کامل آپلودش کنم.
اول یک دکمه بزار و پروپرتی Name رو بزار Button
و یک کمپننت تصویری(TImage) از لبه Win32
بزار و پروپرتی Name اون رو بزار imgLED
و دوتا تصویر بساز .
1- LED روشن. که اسمش On.bmp باشه
2-LED خاموش. که اسمش Off.bmp باشه
حالا این کد ها رو بزار جان مخصوص خودشون.
دوبار کلیک کن روی فرم خودت. و این کد رو بزار جای اون.کد:private
B : Boolean;
روی دکمه دوبار کلیک کن و این رو بزار بعد از کلمه Beginکد:procedure TForm1.FormCreate(Sender: TObject);
begin
B := False;
end;
هر جا مشکلی داشتی بگو.کد:B := not B;
if B then begin
Button.Caption := 'Off';
imgLED.Picture.LoadFromFile('On.bmp');
end else begin
Button.Caption := 'On';
imgLED.Picture.LoadFromFile('Off.bmp');
end;
موفق باشی. بای
سلجر جان ، با توجه پرسش ایشون (پورت موازی) و امضاشون (که نشون میده رشته الکترونیک یا برق هستند) منظور ایشون به احتمال زیاد برقراری ارتباط با یک Led هست که به پورت Lpt متصله نه به صورت مجازی.نقل قول:
اگر هم مي خواهيد با يك ال اي دي ارتباط برقرار كني و با ساخت
يك پروژه بتوني ال اي دي رو خاموش روشن كني. اون فرق داره.
موفق باشید.
با سلام
ممنون از جوابتون
بله من مي خوام روي پورت عمل 1 و 0 صفر كردن رو انجام بدم
متاسفانه به علت كمي وقت نمي تونم پاسكال رو ياد بگيريم واسه همين مي خوام از كوچه فرعي برم دنبال يادگيري يعني از كارهاي عملي اروم ارومواسه همين ازتون خواهش مي كنم منو راهنمائي بكنيد
با تشكر ممنونم :)
سلام
ببخشيد . در اون مورد من نميتونم كمكي بكنم.
مگه يكي از دوستان كمكتون كنه.
باي
با سلام
اقا ممنونتم باز دمت گرم
خوب همون پيام و اگهي هميشگي رو ( زير برنامه)
همكنون نيازمند ياري سبزتان مي باشيم :biggrin: :happy:
سلامنقل قول:
نوشته شده توسط رضا حاجي زاده
از اين كامپوننت مي تونيد استفاده كنيد. (به همراه سورس)
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
اگه صبر كني تا فردا كدش رو برات ميذارم
فقط مواظب باش نزني سيستم رو ببري رو هوا چون اگه مداري كه براي led ميبندي اشتباه كني تمام پورتهاي سيستم خراب ميشه
با سلام
نه بافر دارم اونم از نوع ايزوله كننده نوري نترس
راستي پورت lpt درهنگام اتصال كوتاه و يا كشيدن جريان بيشتر از20ميلي آمپر اره فاتحه
ولي ديگه چرا همه پورت اهي كامپيوتر به اونا چه ربطي داره؟؟؟؟ :biggrin:
راستي دستت درد نكنه
ممنونم :)
اقا سلام
كسي نيست به داد ما برزسه
قول مي دم اگه كارم راه بيقته برم رو غلتك نوكري همه تون رو بكنم
دربست بهتون كمك مي كنم واسه اين اينترفيس :happy: :blush:
اگه فقط مشكلت همون مشكلي هست كه اولين پست نوشتي بچه ها جواب دادند.
وگرنه كامل مشكل و چيزي كه ميخواي رو بگو تا ترتيبشو برات بديم.
البته اگه بلد باشيم و بتونيم.
پورت پارالل پورتي است که بيشتر پرينتر ها (البته نه چندان جديد) به آن وصل مي شدند.
اين پرت 25 پين دارد .
13 پين بالا 12 پين پايين .
خوب اگر ما در يکي از پرت ها 1 وارد کنيم پرت داراي ولتاژ مي شود وگرنه ولتاژش 0 است .
براي مثال براي روشن کردن چراغ بايد :
حتما پايه + را به پين وارد کنيد .
اما - را بايد به زمين با دستگاه وارد کنيد .
* پايه درازتر + و پايه کوتاه تر - است .
خوب براي کنترل بايد :
مثلا شما مي توانيد کيتي طراحي کنيد که مثلا 2 سيم دارد .
اگر به سيم 1 ولتاژ وارد شد : چراغ سبز روشن شود .
اگر به سيم 2 ولتاژ وارد شد : چراغ قرمز روشن شود .
***********
خوب براي شروع برويد مغازه الکتريکي و يک LDE بخريد
يک بار ديگر : پايه درازتر + و پايه کوتاه تر - است .
براي کار با پرت پارالل بايد اول پرت رو بشناسيم .
براي اين کار بايد بدانيم اين پرت چند پين دارد .
اين پرت 25 پين دارد .
13 پين بالا و 12 پين پايين .
اين پين ها به ترتيب :
0 و 1و 2 و 3 و ...... نام دارند .
در پورت پارالل پينهاي 2 الي 9 بيتهاي داده اي هستند و بيتهاي 18 الي 25 همان پينهاي زمين يا Ground هستند.
مثلا يکي از کاراي خيلي ساده اي که با اين پورت مي تونين انجام بدين درست کردن يک رقص نور 8 تايي است
که هر LED به عنوان يک بيت داده اي استفاده مي شود
البته اگه حساب و کتاب کنيد يک مقاومت 330 اهم لازم داريد
فعلا همين قدر داشته باشيد تا بعدا ادامه بديم ;) :
با سلام
دوست عزيز واقعا ممنون
من كم ادمي مي شناسم كه واقعا براي كمك بخواهد اين قدر باحوصله به موادر ابتدائي اشاره بكنه
ممنونم
من كلا از نظر سخت افزار اين پورت رو مي شناسم
تمام مشخصات الكتريكي
محاسبات جريان
روش هاي ايزوله سازي به وسيله بافر هاي TTLو اپتوكوپلرهاو.........
مشكلم اينكه كه اكثر سورس هاي كه پيدا كردم تو دلفي از اسمبلي استفاده كردند ( اين روش براي سيستم عامل ويندوز 98 خوبه كه ممنوعيت تو كار با پورت رو نداره)
ولي تو XP ارزش نداره
حالا من يه برنامه كوچولو مي خوام كه فقط يه دونه پايه رو يك بكنه
اگه كمك بكنيد قول مي دم تو انجمن دلفي هر هفته يه دونه پروژه اينترفيس ساده براتون با توضيح جامع بذارم
الانم كارم گيره همين برنامه هاست
شرمنده
ممنونم
موفق باشيد. :blush:
راستش جناب حاجي زاده منم يه بار با پورت موازي همچين كارايي كردم ولي توي داس بود
گفتن كه اينجوري هم ميشه ولي خودم تست نكردم :sad:نقل قول:
استفاده از پورتها در ویندوزهای NT کار سختی نیست از تابع CreateFile میشه به راحتی استفاده کرد.
سلام استاد حاجی زاده.
بعضی از ویندوزهای XP اجازه دسترسی به پورت سریال و موازی رو نمیدند.
برای اینکار میتوانید از این DLL استفاده کنید.
نمونه کد و فایل Inpout32.dll داخل این لینک هست. (البته مثالش به زبان VB هست ولی شما میتونید از این Dll توی دلفی هم استفاده کنید.
اگر توی پاسکال هم خواستید بگید تا کدش رو بگذارم.(الان دلفی ندارم وگرنه کد دلفی رو هم براتون میگذاشتم).
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
به به سلام
آقاي iranpcحالتون خوبه
شما سروري
خوب درسته بايد از توابع dllكه واسه باز كردن پورته استفاده بكنيم
مخوصصا تو برنامه هائيكه توي VB نوشته شده اند.
ولي من دلفي رو براي اين دوست دارم كه ريخت و پاش نداره و وقتي كامپايل مي كنه همه چي جكمع و جور يه جا هست
واسه همين حالا مي خوام تابع و كل برنامه يه جا داشته باشم
توي سي و هم خانواده هاي سي كا راحتره
ولي نفرت دارم از كپي كزدن dl تو سيستم 32
البته ميشه برنامه رو exe كزد تا در حال نصب اون dLL رو اتوماتيك انداخت تو پوشه مربوطه
ولي خدائي اين دلفي عالميه واسه خدوش حتي ادم بي سواد هم بهر محيطش مسي تونه يه كارائي بكنه
مو فق باشيد. :)
نقل قول:
نوشته شده توسط MasterData
با سلام
بله تو داس ميشه
اونم با چند سطر
ولي تو محيط ويژوال اونم ويندوز XPكاركردن يه كم سخته(منوظرم كار باسخت افزاره)
موفق باشي.
سلام.
ما کوچیکتیم.
من ویندوزم کاری به کار پورتهام نداره (نمیدونم چرا) ولی دلف رو نصب میکنم (آخ که چه عالمی داشتیم با دلفی 4 :d )و یه نمونه کد مینویسم ببینم میشه یا نه.
شما خودتون چیزی نوشتید برای اینکار یا نه؟
با سلام
من کاملاتو برنامه نویسی مبدی هستم.
از سی و دلفی خیلی خوشم میاد
اینا هم از ما :)
با سلام
منم يه سري اطلاعات ردمورد اين پورت مي نويسم
البته بعضي از مطالب طوري كه شايد بگيد اين مطلب جاش توي انجمن برق و الكترونيكه
ولي من دوست داشتم اينجا باشه!
خوب تو پست قبيلي شما گفتي كه رو اين پورت ميشه 8 LEDرو روشن خاموش كرد
اين پورت حداكثر مي تونه جرياني معادل 20 ميلي امپر رو به صورت يه منبع جريان به خروجي تحويل بده يعني تمام پورت هاي جريانشون مشتركه
پس يا از يكي 20 ميلي آمپر بگيريم(براساس قضيه جمع اثار مدارهاي الكتريكي) يا از همه يه جا
خوب اون 8 تا ممكنه در چند حالت روشن و خاموش بشند
اول اينكه هر led بدون مقاومت جرياني معادل 3 ميلي امپر مي كشه( البته جريان مصرفي متفاوته عمومي گفتم)
خوب حالا در بدترين حالت همه 8 تا روشن بشه
8تا 3 ميلي امپر--->خوب فاتحه پورت خونده ميشه چون جريان مصرفي بالاست و احتمالا پورت صدمه ببينه( البته نه به صورتيكه مادربورد بره سطل آشغال هان مي خواي سربابا شيره و مالي؟؟؟؟!!!!)
خوب براي اينكار ميايم اين طوري حساب مي كنيم
led
به چند حالت مي تونه وصل بشه
2 حالت
يا با يك ولت پورت روش بشه يعني پايه كوتاه تر همون آند همون مثبت بره به پورت( اون پايه پورت كه توسط ما يك ميشه)
يا برعكس با صفر پورت روش بشه يعني زمين اين LED توسط پورت تامين بشه( توجه اين زمين با زمين خود پورت يكي نيست)
با اين تواصيف بهتره بي خيال حالت اول بشيد چون از خود پورت به عنوان منبع جريان استفاده مي كنه و براي كارهاي كه ممكنه جريان زيادي لازم باشه نتونيم استفاده بكنيم.
پس چاره همون حالت دومه
ولي تو حالت دوم فرض بكنيد ما يه LED رو كه يه طرفش( آند+) به يه منبع 5 ولت( مثلا يه پاور كامپوتر كه به عنوان منبع تغذيه هست) وصل شده و اون يكي طرفش هم به يكي از پايه اهي ديتا پورت وصل شده( هموني كه زمين كاتد - رو تامين مي كنه.
دراين حالت بايد مقاومت محدود كنده بذاري
چون مقاومت نذاري پورت از منبع 5 ولت به خاطر امپدانس كم مسير هر جرياني رو مي كشه حالا اگه همين جريان رو اين طوري حساب بكنيم
LED حدوداحالت باياس( روشن ) حدود چند ده اهم مقاومت داره
خوب يه سرش ولتاژ 5 ولت او يه سرش هم صفر ولت( از ولتاژ مصرف رو خود LED صرف نظر مي كنم)
حالا بزن تو نخ قانون اهم مي بيني چند امپر جريان بيرون مياد حالا اگه بدبختانه منبع 5 ولتي شما همون پاور باشه كه تو خط +5 ولت تا چند امپر جريان ميده يه بوي سوختگي به دماغت مياداينجاست كه اونم مقاومت محدود كننده به دردت مي خوره
اينم يه سري توضحات خوب كه زبان اصليه
The LPT port
============
THE ADRESS:
-----------
The LPT PORT has got a hardware adress, where the computer can find the
thing. A standard IBM compatible PC supports a maximum of 3 LPT ports.
Usual adresses are:
+--------------+---------+------------------------------------+
| HEXADECIMAL | BINAIR | DISCRIPTION |
+--------------+---------+------------------------------------+
| 378 | 888 | printer port #1, on every computer |
| 278 | 632 | printer port #2 |
| 3BC | 956 | printer port on HERCULES card |
+--------------+---------+------------------------------------+
BIDIRECTIONAL I/O:
------------------
PS/2s and many later parallel-port adapters support high-speed
bidirectional I/O. You might have to change the "LPT MODE" in your PC's
BIOS SETUP MENU. Probably you have choice between 'EPP' mode, 'EXTENDED'
mode and 'BIDIRECTIONAL' mode. The last one is the one your looking for. In
the 'BIDIRECTIONAL' mode, you can use the byte on portadres (378 HEX, 888
BIN) for input after setting bit 5 of portadress + 2 to "1" (37A HEX, 890
BIN).
Normally the bit 5 of portadress + 2 is "0", and then you can use the byte
on portadres for output.
TALKING TO THE LPT PORT:
------------------------
So you can input and output bytes on the printerport. But how to make the
thing to do that? Well, you have to talk to the printerport using a
programming language. I use GWBASIC and QBASIC to do so. Of course it's
also possible in C, PASCAL, ASSEMBLY LANGUAGE, COBOLT, FORTRAIN. I don't
know about the WINDOWS stuff (VISUAL BASIC, DELPHI, VISUAL C) becaurse
WINDOWS has the irritating property of forming a barrier between the
computer user and the computer's hardware.
+-------------------------------------------------------+
| IN GWBASIC/QBASIC: |
+-----------------------------+-------------------------+
| SET PORT FOR OUTPUT: | OUT 888, 32 |
| SET PORT FOR INPUT: | OUT 888, 0 |
| | |
| OUTPUT DATA TROUGH PORT: | OUT 888, [value] |
| INPUT DATA TROUGH PORT: | [varriable] = INP(888) |
+-----------------------------+-------------------------+
where value is 0..255.
DETAILLED DESCRIPTION OF REGISTERS
----------------------------------
Port | Description
========+========================================= =========================
378 HEX | Data Latch
888 BIN | Write: send byte to printer
| Read: (PC/XT/old: Fetch last byte sent
| Bidirectional: Read byte from connected device (when bit 5 of
| port p+2 (37aH) has been set to 1).
--------+------------------------------------------------------------------
379 HEX | Read-only: Printer Status
889 BIN | +7-6-5-4-3-2-1-0+
| | | | | | |0|0|0|
| +---------------+ bit
| | | | | +-------> 3: -ERROR (pin 15) 0=printer signals an error
| | | | +---------> 4: +SLCT (pin 13) 1=printer is selected
| | | +-----------> 5: +PE (pin 12) 1=out of paper
| | +-------------> 6: -ACK (pin 10) 0=ready for next character
| +---------------> 7: -BUSY (pin 11) 0=busy or off-line or error
--------+------------------------------------------------------------------
37A HEX | Read/Write: Printer Controls
890 BIN | +7-6-5-4-3-2-1-0+
| |0|0| | | | | | |
| +---------------+ bit
| | | | | | +-> 0: +Strobe (pin 1) 1 when sending byte
| | | | | +---> 1: +AUTO LineFeed (pin 14) 1 causes LF after
| | | | | CR
| | | | +-----> 2: -INIT (pin 16) 0 resets the
| | | | printer
| | | +-------> 3: +SLCT IN (pin 17) 1 selects the
| | | printer
| | +---------> 4: +IRQ Enable (hdwr INT when -ACK goes false)
| | LPT1حIRQ 7 (INT 0fH)
| | LPT2حIRQ 5 (INT 0dH)
| +-----------> 5: direction (PS/2 and later ATs)
| 0=write data to printer or device
| 1=read data from device
--------+------------------------------------------------------------------
THE LPTPORT PIN-OUT
-------------------
13 12 11 10 9 8 7 6 5 4 3 2 1
-----------------------------------------------------
\ o o o o o o o o o o o o o /
\ /
\ o o o o o o o o o o o o /
-----------------------------------------------
25 24 23 22 21 20 19 18 17 16 15 14
The image above shows the LPT port connector on the back of your computer.
This type of connector is called '25 pin D connector female'. On the cable
you want to connect to the port, you have to put a '25 pin D connector
male'. Note that the pin numbers on the male connector are ordened as
mirror image of the female connector, pin #1 sits where pin #13 sits on the
female connector. Don't get confused, on most connectors numbers are
indicated, maybe only the numbers 1, 13, 14 and 25, but that's quite
helpfull already.
Pin In/Out Signal Name | Pin In/Out Signal Name
--- ------ ------------ | --- ------ -------------
1 I/O -STROBE | 14 O -AUTO FEED XT
2 I/O Data Bit 0 15 I -ERROR
3 I/O Data Bit 1 | 16 O -INIT
4 I/O Data Bit 2 | 17 O -SLCT IN
5 I/O Data Bit 3 | 18 na Ground
6 I/O Data Bit 4 | 19 na Ground
7 I/O Data Bit 5 | 20 na Ground
8 I/O Data Bit 6 | 21 na Ground
9 I/O Data Bit 7 | 22 na Ground
10 I -ACK | 23 na Ground
11 I BUSY | 24 na Ground
12 I PE | 25 na Ground
13 I SLCT |
Notes: The signals on pins 10, 11, 12, 13, and 15 are represented at
port n+1 (where n is the printer base port; e.g., at port 379H
on LPT1). See Printer Ports.
Original PC/XT/AT Pins 1-9 can carry information in only one
direction -- from the PC to the printer.
Bidirectional PS/2 On PS/2s and most printer adaptors built
after 1987, the circuits are designed to handle bidirectional
I/O.
توي اين لينك پائيني يه فايل پاورپوينت خوب هست كه تمام توضيحات درمورد طراحي ساده و تمام مشخصه هاي الكتريكي رو خوب داده يعني همه حرف هاي من تو اين خلاصه هست
خوب باز مي گم اگه كمك بكنيد منم دربست همينجا قول مي دم يه تاپيك توپ واسه اين اينترفيس با دلفي كار كنم
قول قول اونم از نوع مردونه و زنونه و بچه گونه......
درپناه مهربان ترين مهربان
موفق باشيد.
با سلام
دوستان خوب
اینم یه فایل پاورپینت خوب
حتما دانلودش بکنید
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
در پناه حق
:biggrin:
با سلام
اینم یکی از یافته هام تو وب گردی
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
موفق باشید. :)
سلام
دوستان من برای پروژهام نیاز دارم که یک کلید فشاری ساده ( یا یک رله) به کامپیوتر وصل کنم.
هر وقت کلید فشرده شد یا رله on شد کامپیوتر یه دستوری را اجرا کنه.
فعلا به دستوری که باید اجرا کنه کاری ندارم.
چطوری باید یه کلید ساده را به کامپیوتر وصل کنم؟ تا اونجا که میدونم باید از پورت پارالل استفاده کنم اما برنامه نویسی اون را بلد نیستم.
اگه ممکنه یه برنامه بنویسید که این کار را انجام بده.
مثلا هر وقت کلید فشرده شد سیستم یه بوقی جیغی چیزی بزنه
خوب
براي دوستان يه سري مطلب آماده كردم
اميدوارم به دردتون بخوره
برنامه نويسي پورت موازي
مرجع : كتاب برنامه نويسي براي دستگاههاي جانبي ( اسمش يه چيزي تو همين مايه هاست ) + اينترنت
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
:11:
من فرض مي كنم شما مي خواي از پورت LPT استفاده بكنينقل قول:
شما دو كار كلي انجام مي دي
يكي اينكه المان هاي ورودي رو وصل مي كني
دوم اينكه Device ها خروجي رو Drive مي كني
خوب پورت موازي سه رجيستر كلي داره كه هم Input و هم Output داره شما بايد كليد خودتون رو به كامپيوتر اين طوري وصل بكنيد
با در نظر گرفتن اينكه پورت موازي از سطوح ولتاژي منطق TTL تبعيت مي كنه شما بايد يه كليد رو مثلا با +5 ولت به يك پين ورودي وصل بكني
وقتي كليد فشار داده ميشه به پين مورد نظر +5 ولت برسه
در نظر داشته باشيد كه بعد از ري سيت شدن سيستم پورت بصورت پيش فرض چه سطح ولتاژي رو داره (1 يا 0 منطقي)
كافيه با اين 1 يا صفر شدن بصورت وقفه نگاه بكني
هر وقت 1 شد به قفه برنامه جواب داده بشه و كار مورد نظر انجام داده باشه
مهمترين چيز توي اين كار در نظر گرفتن مشخصات الكتريكيه
به هر حال اميدوارم كمكت بكنه
موفق باشي :20:
اقا رضا خیلی ممنون از لطفت
متاسفانه من برنامه نویسی بلد نیستم و برای قسمتی از پروژه نیاز به همچین برنامه ای دارم.
شما میتونید زحمتش را بکشید؟
زبان برنامه زیاد برام مهم نیست فقط در ویندوز ایکس پی اجرا بشه
با سلام
دوست عزيز منم سي در حد برنامه نويسي ميكرو بلدم
دلفي رو هم تازه شروع كردم مي تونم برنامه بنويسيم ولي براي پورت موازي در حد 1 و0 كردن پورت با كامپيوننت هاي مخصوص و Dll هائي كه براي ارتباط سخت افزاري بكار مي رند
:46: :11: