الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

انا فتحت اللمبة يالسي

مغلق
بدأه medo_elkorsan في 27 سبتمبر 2004 · 8 رد · 1,701 مشاهدة · في الأسئلة المجابة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع
#include <dos.h>
#include <conio.h>
#define PORT 0x378
int main (void)
{
outp(PORT,'3');
getch();
reurn 0;
}

وفعلا فتح اللمبة بس كانت اللمبة بتفضل مفتوحة بعد مالبرنامج يأفل انا وصلت اللمبة (مش عارف أقول ايه) الخرم رقم 3 والسلك التاني وصلته تحت (متهيقلي الي تحت ده ارضي) كان الكود في المنتدي \x378 بس كان بيدي error ...لو خليت الرقم 3 في الدالة outp خليته 0 اللمبة بتتقفل .

المهم ازاي اخلي الفولت الي طالع يبقه 120 وياتري الموضوع ده محتاج دايود عشان ال 120 فولت ميرجعوش للجهاز تاني ويحرقوه.

حاجه كمان الكود بالطريقه دي

#include <dos.h>
#include <conio.h>
#define PORT 0x378
int main (void)
{
for(int i;i<15;i++)
outp(PORT,i);
getch();
reurn 0;
}

مشغلش غير الاخرام رقم 3 و 4 و 5 بس ..ليه

انا مكنتش مصدق لما جربت الكود ده

لا اله الا الله
#2

السلام عليكم

اولاً من المستحيل ان تحصل على اكثر من 5 فولت من السيرال بورت, يعنى لا يمكن ان تتحكم فى تشغيل لمبه 120 فولت بدون إضافت طاقه من الخارج , ثانياً ليست كل الثقوب فى البراليل بورت تعطى طاقه, ففيه اجزاء للتحكم كما ان فيه جزء للطاقه السالبه ground .

محتويات الباراليل بورت هو على النحو التالى :

8 Output pins  [D0 to D7] 

5 Status pins   [S4 to S7 and S3] 

4 Control pins [C0 to C3] 

8 ground pins  [18 to 25]

والصوره التوضيحيه تجدها على الرابط التالى :

http://www.geocities.com/gear996/sub/parallel.html

والسلام

تم تعديل هذه المشاركة بواسطة احمد غريب في 28 سبتمبر 2004 في 00:00

لا إله إلا الله محمد رسول الله

busbar : يجب ان تدرك انه هناك حد ادنى للمعرفة المطلوبة قبل البدء في عمل أي شئ.

#3

السلام عليكم ,,

بالنسبة للخرم :) الأول فهو الأرضي فعلا كما ذكرت ويجب وضع أحد السلكين فيه دائما ,, وتغيير مكان السلك الثاني بين ال 8 منافذ "أخرام :) " التالية ,,

فقط 8 منافذ التي ستطيع التحكم فيها ,, وتعطي فولتية ب 12 فولت فقط ,, أو 5 لاأذكر ,, أما اذ كانت تريد اخراج 120 فولت من ال LPT فستحرق ال LPT Port بالتأكيد ,, لذا تحتاج لمكثفات لزيادة الفولتية بعد خروجها من ال LPT ,, وفي هذه الحال عليك بقسم الالكترونيات فورا وستجد اجابة مباشرة ,,

بالنسبة للسؤال الأخير لماذا لاتولع غير اللمة الموصلة في الخرم 3 و 4 و5 فالسبب أن طريقة خروج الكهرباء كالتالي :

الذي سيحدد من أين ستخرج الكهرباء من ال 8 منافذ هو الرقم الممرر في الدالة out طبعا ,,

لو أرسلت 0 لن يحصل شيء ,,

لو أرسلت 1 ستولع المبة لو كانت متصلة في الخرم الأول ,,

لو أرسلت 2 ستولع اللمبة في الخرم الثاني ,,

لو أرسلت 3 ستولع اللمبتين الخرم الأول والخرم الثاني أيضا !!

لو أرسلت 8 ستولع اللمبة في الخرم الرابع !!

لو أرسلت 256 ستولع ال 8 أخرام كلها

النظرية في تحويل العدد 256 مثلا الممر ل out لقيمة ال Binary المقابله له ,, وستكون في حالة ال 256 = 11111111 أي أن اللمبات كلها ستولع والسبب أن الكهرباء سترسل لكل المنافذ الثمانية لأن كل قيمة مقاصدة لكل منفذ تساوي 1 أي ولع !!

لو أرسلت 9 ستولع المبة الأولى والرابعة لأن تمثيل الرقم 9 =00001001 ,, ستولع فقط اللمبة الأولى والرابعة والباقي طافي ,,

ولاطفاء لمبة بعد أن تكون قد ولعت فقط عليك أن ترسل للمنفذ المولع البت 0 ,,

يعني لو ولعت اللمبة رقم 1 و 5 مثلا بأنك أرسلت الرقم 33 =00010001 وأردت بعد ذلك اغلاق اللمبة رقم 5 ,, فقط أرسل الرقم 1 = 00000001 وستولع الأولى فقط ,, وستنطفيء رقم 5 ,, لأنك أرسلت الى 5 الرقم صفر ,,

فيكب أن تحول الكود الأخير الى :

#include <dos.h>
#include <conio.h>
#define PORT 0x378
int main (void)
{
for(int i;i<256;i++)
outp(PORT,i);
getch();
reurn 0;
}

وسترى تبديل بين توليع اللمبات ,, لكن بسرعة كبيرة ,,

banner_60_468.gif

NOTHING IS IMPOSSIBLE

#4

انا مجربتش الكود ده لاني معنديش نت في البيت بس عاوز حد يجربه وبعدين يصلحه لو فيه غلط

#include <dos.h>
#include <conio.h>
#define PORT 0x378
int main (void)
{
for(int i;i<1000;i++)
{
outp(PORT,'3');
outp(PORT,'0');
getch();
}
reurn 0;
}

والهدف منه ان اللمبه تفضل تولع وتطفي

الكود صح

لا اله الا الله
#5

السلام عليكم

هو ايه اللي ولع ، وميولعش ، هو احنا قاعدين في فرن :)

علي العموم انا بمزح / حبيت اتابع الموضوع فعلا اعجبني طيب ممكن اعرف ما هو الطلوب توفيره لتطبيق المثال السابق . مثلا (كبل ، اجهزة اخري ، لمبات الخ الخ)

يرجى الرد لاني اريد التجريب . وحابب جهازي يولع tell.gif

تحياتي لكم

تم تعديل هذه المشاركة بواسطة prof_1982 في 29 سبتمبر 2004 في 12:03

الإنسان الذي يقول بأنه لا يمكن عمل شيء يجب ألا يعيق مطلقاً الإنسان الذي يقوم بعمل ذلك الشيء.

إن تخطئ فأنت إنسان ... أما أن تلوم جهازك الكمبيوتر على خطأك فهذا أكثر إنسانية.

#6

اما انا فيظهر هذا الخطأ لي

light.obj : error LNK2001: unresolved external symbol _outp
Debug/light.exe : fatal error LNK1120: 1 unresolved externals
Error executing link.exe.

راكان الحنيطي

Be Open Source

opensource-550x4752.gif

#7

أضف الى الكود delay(500); مثلا لتتحكم بوقت الإضاءه

#include <dos.h>
#include <conio.h>
#define PORT 0x378
int main (void)
{
for(int i;i<1000;i++)
{
outp(PORT,'3');
outp(PORT,'0');
getch();
}
reurn 0;
}

أما بالنسبة لتشغيل لمبة 120 V فستجد هذه الدارة الصغيرة

post-14-1096449974_thumb.jpg

#8

كلام الأخ prof_1982 سليم كيف و ايش لازم عشان نجربها نحن كمان

الأخ medo_elkorsan لاتبخل علينا هذا موضوع ممتاز تقريباً أحسن موضوع رأيته إلى الآن

و شكراً

#9

تحدثنا عن موضوع اللمبات سابقا وكثيرا جدا هنا في الرابط :

/index.php?showtopic=36111

banner_60_468.gif

NOTHING IS IMPOSSIBLE

هذا الموضوع مغلق.

مواضيع مشابهة