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

منفذ الطابعة والC++,,

مغلق
بدأه Wase3 Sadr في 24 سبتمبر 2005 · 7 رد · 1,736 مشاهدة · في التحكم الصناعي وربط الحاسب بالعالم الخارجي
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

أسعد الله مساكم أعزائي الكرام..

قمت بتوصيل دارة من خلال منفذ الطابعة بالفولتميتر..

من خلال ربط طرف الكيبل بـD2 والطرف الأخر بالفولتميتر..ومن D25 إلى الفولتميتر..

وببرنامج كُتب بالـ فيجوال بيسك..

Private Sub Command1_Click()
Out &H378, 1
End Sub

Private Sub Command2_Click()
Out &H378, 0
End Sub

Private Sub Form_Load()
Out &H378, 0
End Sub

وتم التشغيل وإعطاء قيمة 5 فولت..

سؤالي/ كيف أستطيع التحكم بـ كود مكتوب بالـC++ ( مع الشرح أن أمكن ) .. ؟! - مع العلم أني بحثت في هذا القسم ولم أجد شيئاً, وأن غفل عني فـ سامحوني على التكرار -..

وسؤال أخر..

أردت تشغيل الـD1 و الـD2 .. فـ اعدت كتابة الكود بـ وضع الرقم ثلاثة بدل الواحد..- على أمل أن يقوم بإعطائي 10 فولت -..

فربطت السلكان واوصلتهم بالفولتميتر..والقيمة تكون خمسة فولت..

سؤالي هو:: هل هناك خلل بما قمت به ؟ أم أنه لا استطيع توليد أكثر من خمسة فولت حتى ولو استخدمت أكثر من ثقب من ثقوب الطابعة..

شاكر لكم أخوتي..

وأتمنى أن تتقبلوني مبتدئ ( يُفيد ويستفيد ) في هذا المجال..

وأعذروا جهلي..وجزيتم الجنة..

#2

السلام عليكم ..

حياك الله اخي الكريم ..

اليك اخي الكريم الكود التالي بلغه سي ++ وهو يقوم بمثل وظيفه كود VB الذي ارفقته ..

- كود تفعيل D1 :

#include <dos.h> 
void main() 
{ 
 outportb(888,1); 
}

- كود إلغاء تفعيل جميع الـPins :

#include <dos.h> 
void main() 
{  
 outportb(888,0); 
}

وبالنسبه للفلتيه , فإنك لاتستطيع الحصول على اكثر من 5 فولت مباشره من المنفذ , ولكن توجد طريقه اخرى وهي استخدام دائره تكبير , او استخدام حاكمه للحصول على الفولت المطلوب ,,

ولشرح اكثر تفصيلاً عن منفذ الطابعه وإستخدامه بلغه السي ++ اليك هذا الرابط الذي يحتوي مقال مبسط باللغه العربيه يشرح ذلك :

http://www.hoduniv.net/~elearning/mod/foru...scuss.php?d=188

بالتوفيق ..

لا إله الإ الله وحده لا شريك له الملك وله الحمد يحي ويميت وهو على كل شئ قدير

------------------------------------------------------------------------------------------------

gazabigBanner.jpg

------------------------------------------------------------------------------------------------

#3

جزاك الله خيراً أخي الكريم..

وجعله الله في ميزان حسناتك..

.,

وبالنسبة للكود..

فـ out port تعني إخراج القيمة...

والـ 888 هو منفذ الطابعة..

والـ 1 هو العدد المحول بالسداسي العشري..

أي مثلاً لو أردت أستخدام الـd2 + d1 فأضع بدلاً من الواحد العدد 3 ؟

هل تفسيري للكود صحيح ؟ :)..

.,

سؤالان أخران..

ماهي مكتبة الـdos وماهي فائدتها..؟!

ونقطة أخرى رأيت احد الأكواد سابقاً..وكان للتحكم..

وقد استخدم كلمة daily .. أعتقد أن السبلنق بهذا الشكل..

ماهي فائدتها؟ وكيف أستخدمها في الأكواد...

شاكر لك عزيزي الكريم..

وأعتذر ع الإطالة..

#4

مرة أخرى..

أخطات في (السبلنق)..هكذا تكتب delay..

وفائدتها هي تكرار العميلة..

فمثلاً لو كتبت

delay(100)

وكانت العميلة هي ارسال ( 00110) ستكرر هذه العميلة 100 مره..

.,

بالنسبة للكود, للأسف لم يفلح معي..يعطيني خطأ في عدم التعرف على الـoutportb

مع أني نقلت الكود حرفياً..!!

#5

السلام عليكم ..

كلامك صحيح اخي Wase3 Sadr ,اذا اردنا ان نفعل d1 , d2 نقوم بإخراج القيمه 3 والتي هي بالنظام الثنائي 00000011

وبالنسبه للمكتبه dos , هي تحتوي على روتينات التعامل مع المنافذ والنظام , وتستطيع البحث عنها بداخل المساعده تبع Turbo C++ 3.0 , واحتجنا لها لاننا استخدمنا الداله outportb والتي توجد هناك , مع الداله delay ايضاً , وبالمناسبه الداله delay وظيفتها عمل تأخير زمني بـms ..

وبالنسبه للكود فهو يعمل , ولكن حاول التأكد انك قمت بعمل تضمين للملف dos.h

لا إله الإ الله وحده لا شريك له الملك وله الحمد يحي ويميت وهو على كل شئ قدير

------------------------------------------------------------------------------------------------

gazabigBanner.jpg

------------------------------------------------------------------------------------------------

#6

جزاك الله خيراً أخي العزيز..

اخجلتني بتعاونك الرائع معي..

ولكن للأسف المشكلة لازالت قائمة..

الملف dos.h موجود..وتأكدت من وجوده في مكتبة الـ c++

ولكن المشكلة في دالة الـoutportb

فالخطأ الظاهر لي هو..

error C2065: 'outportb' : undeclared identifier

Error executing cl.exe.

لا أدري, ما العمل ؟

#7

السلام عليكم ..

اولا , لا داعي للشكر , فنحن اخوان ..

اما بالنسبه لمشكلتك , فتأكد من الاتي :

اولاً - ان المترجم الذي يجب ان تجربه هو Borland Turbo c++ 3.0 ..

ثانياً - ان النظام الذي تعمل هو Win9x or WinME , لانه بحد علمي وبعض التجارب , سوف لن يعمل المثال في انظمه الـ Win2000 , winXP ...

لا إله الإ الله وحده لا شريك له الملك وله الحمد يحي ويميت وهو على كل شئ قدير

------------------------------------------------------------------------------------------------

gazabigBanner.jpg

------------------------------------------------------------------------------------------------

#8

بسم الله الرحمن الرحيم

السلام عليكم ورحمه الله وبركاته

أنظر الرابطه

My Webpage

بسم الله الرحمن الرحيم

موضوعاتى

-----------

1--التحكم فى مذبذب ومكبر عن طريق منفذ الطابعه

http://www.nowah.net/bb/viewtopic.php?t=18...e15c3ed52c9437e

/index.ph...111&t=43901

2--ادخال البيانات عن طريق منفذ الطابعه

/index.php?showtopic=44710

3--موضوعات متفرقه فى العدادات ومنفذ الطابعه

/index.php?showtopic=84127

4- مختبر ميكروكنترولر من خلال الدوس

http://www.4electron.com/phpbb/viewtopic.p...6768c69292d168c

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

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