اقا سلام
كسي نيست به داد ما برزسه
قول مي دم اگه كارم راه بيقته برم رو غلتك نوكري همه تون رو بكنم
دربست بهتون كمك مي كنم واسه اين اينترفيس![]()
![]()
اقا سلام
كسي نيست به داد ما برزسه
قول مي دم اگه كارم راه بيقته برم رو غلتك نوكري همه تون رو بكنم
دربست بهتون كمك مي كنم واسه اين اينترفيس![]()
![]()
اگه فقط مشكلت همون مشكلي هست كه اولين پست نوشتي بچه ها جواب دادند.
وگرنه كامل مشكل و چيزي كه ميخواي رو بگو تا ترتيبشو برات بديم.
البته اگه بلد باشيم و بتونيم.
پورت پارالل پورتي است که بيشتر پرينتر ها (البته نه چندان جديد) به آن وصل مي شدند.
اين پرت 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 ارزش نداره
حالا من يه برنامه كوچولو مي خوام كه فقط يه دونه پايه رو يك بكنه
اگه كمك بكنيد قول مي دم تو انجمن دلفي هر هفته يه دونه پروژه اينترفيس ساده براتون با توضيح جامع بذارم
الانم كارم گيره همين برنامه هاست
شرمنده
ممنونم
موفق باشيد.![]()
راستش جناب حاجي زاده منم يه بار با پورت موازي همچين كارايي كردم ولي توي داس بود
گفتن كه اينجوري هم ميشه ولي خودم تست نكردماستفاده از پورتها در ویندوزهای 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.
توي اين لينك پائيني يه فايل پاورپوينت خوب هست كه تمام توضيحات درمورد طراحي ساده و تمام مشخصه هاي الكتريكي رو خوب داده يعني همه حرف هاي من تو اين خلاصه هست
خوب باز مي گم اگه كمك بكنيد منم دربست همينجا قول مي دم يه تاپيك توپ واسه اين اينترفيس با دلفي كار كنم
قول قول اونم از نوع مردونه و زنونه و بچه گونه......
درپناه مهربان ترين مهربان
موفق باشيد.
هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)