![]() |
|
برمجة 7-segment LED display عن طريق منفد الطابعة - نسخة قابلة للطباعة +- delphi4arab منتديات دلفي للعرب (https://delphi4arab.net/forum) +-- قسم : منتديات دلفي الأخرى (https://delphi4arab.net/forum/forumdisplay.php?fid=4) +--- قسم : برامج دلفي من عمل الأعضاء (https://delphi4arab.net/forum/forumdisplay.php?fid=27) +--- الموضوع : برمجة 7-segment LED display عن طريق منفد الطابعة (/showthread.php?tid=1187) |
برمجة 7-segment LED display عن طريق منفد الطابعة - البقالي التطواني - 09-09-2009 السلام عليكم و رحمة الله و براكاته. لقد قمت بصنع segment LED display يدويا باستعانة بسبع مصابيح حمراء من نوع الليد و علبة ورقية إضافة الى كابل منفد الطابعة دو 25 مسار و قمت ببرمجته باستعمال دلفي 6 اليكم فيديو يبين هدا العمل فيديو النظري http://www.youtube.com/watch?v=n1pxh6QO-u8 فيديو التطبيقي http://www.youtube.com/watch?v=NKfzQ6GqpM8 برمجة 7-segment LED display عن طريق منفد الطابعة - S.FATEH - 09-09-2009 السلام عليكم رغم اني لم افهم الكثير حول التجربة الا اني اعتقد انه شيئ جميل و رائع.. واصل ابداعك سلامي الى الامام برمجة 7-segment LED display عن طريق منفد الطابعة - البقالي التطواني - 09-09-2009 شكران يا اخي دزايري على تشجيعك لي. العمل هو عبارة عن afficheur 7 segment يقوم بعرض الارقام تصاعديا من 0 الى 9 فمثلا ل اظهار رقم ثمانية يتم اشعال كل المصابيح السبعة. ان نظام الحماية windows xp يمنع التحكم المباشر في المنفد الطابعة لهدا يجب اضافة مكتبة الدوال inpout32.dll برمجة 7-segment LED display عن طريق منفد الطابعة - البقالي التطواني - 05-10-2009 كاشف الارقام مصنوع يدويا مبرمج بالحاسوب Parallel port مشروع الاول:برمجة منفذ المتوازي أو منفذ الطابعة تطبيق:ربط كاشف الارقام مصنوع يدويا بالحاسوب تمهيد Serial port والمنفذ المتوالي Parallel port في الماضي كان يتم ربط الاتصال بين الحواسيب عن طريق المنفذ المتوازي .USB أو ما يعرف ب IEEE1394 حاليا إلى جانب تلك المنافذ التي أصبحت من منافذ الاساسية للحواسيب ,ظهر ما يسمى منفذ المنفذ المتوالي يستخدم أساسا من طرف الاجهزة التي تعمل بنظام ثنائي الاتجاه مع الحاسب,أمثلة: جهاز موديم,جهاز السكانر,فأرة الحاسوب,نوع خاص من الطابعة.في المقابل يستعمل منفذ المتوازي خصيصا للطابعة هذا المنفذ الذي كان سابقا يعمل على نظام أحادي الاتجاهStandard Parallel Port SPP EPP-Enhanced Parallel Port وECP- ExtendedCapability port حاليا يعمل على نظام ثنائي الاتجاه يوجد عدة برامج مثل Laplink و windows comanderتمكن من نقل المعطيات على التوالي و التوازي بين الحواسب . في هذا الدرس سنتطرق الى البرمجة باستعمال منفذ الطابعة الذي لا يتطلب لبروتوكول للنقل البيانات كالمنفذ المتوالي و بخصوص المستوى الكهربائي فانه يأخد قيم متراوحة يتكون منفذ الطابعة من 25 مساراَ ,إليكم ترقيم المسارات ومجال إستعمالها:ـ الاتجاه التسجيل الاشارة pin مسار الادخال التحكم Strobe 1 الادخال-الاخراج البيانات D0 2 الادخال-الاخراج البيانات D1 3 الادخال-الاخراج البيانات D2 4 الادخال-الاخراج البيانات D3 5 الادخال-الاخراج البيانات D4 6 الادخال-الاخراج البيانات D5 7 الادخال-الاخراج البيانات D6 8 الادخال-الاخراج البيانات D7 9 الادخال الحالة Acknowledge 10 الادخال الحالة busy 11 الادخال الحالة paper and 12 الادخال الحالة select 13 الاخراج التحكم autofeed 14 الادخال الحالة error 15 الاخراج التحكم initialize 16 الاخراج التحكم select input 17 ground 18-25 لمعرفة عنوان منفذ الطابعة : Poste du Travail / Gérer /Gestionnaire Du périphérique /ports/port imprimante ECP / Ressources. القيم التي يمكن ان يأخدها عنوان منفذ الطابعة : Hexadecimal الترميز السداسي عشر Decimalالترميز العشري 378 888 278 632 3BC 956 عندما نقوم بتشغيل جهاز الحاسوب,عند الاقلاع يتم فحص كافات الاجهزة المكونة للحاسوب و من بينها المنافذ الطابعة من طرف البيوس الذي يقوم بتحديد عدد تلك المنافذ و يخصص لكل واحدة LPT1,LPT2,LPT3.... أسم مستعار يبدأ ب تطبيق : كاشف الارقام مصنوع يدويا إليكم شرح هذا التطبيق بالفديو كود : http://www.youtube.com/watch?v=NKfzQ6GqpM8كيف يعمل الجهاز؟ لكي يتم إظهار جميع الارقام المحصورة بين صفر و تسعة نحتاج إلى سبع قطع كل قطعة تتكون من مصباح ليد واحد فقط.فمثلا لاظهار العدد واحد نستعمل قطعتين أي مصباحين,في الرسم التوضيحي أسفله لقطع السبع ورقم مسار البينات المسندة لكل قطعة,نعلم أن هناك ثمانية مساراً للبينات لكننا سنترك مسار البيان رقم خمسة و نستعمل السبع المتبقين. في الجدول أسفله الارقام مراد كشفها و مقايلها بالترميز الثنائي و العشاري وشكلها الشكل البيانات الترميز العشري الترميز الثنائي الرقم ..1.. 1...1 ..0.. 1...1 ..1.. d6,d4,d3,d2,d1,d0 95 0 1 0 1 1 1 1 1 0 ..0.. 1...0 ..0.. 1...0 ..0.. d6,d4 80 0 1 0 1 0 0 0 0 1 ..1.. 0...1 ..1.. 1...0 ..1.. d7,d4,d3,d1,d0 155 1 0 0 1 1 0 1 1 2 ..1.. 0...1 ..1.. 0...1 ..1.. d7,d3,d2,d1,d0 143 1 0 0 0 1 1 1 1 3 ..0.. 1...1 ..1.. 0...1 ..0.. d7,d6,d2,d1 198 1 1 0 0 0 1 1 0 4 ..1.. 1...0 ..1.. 0...1 ..1.. d7,d6,d3,d2,d0 205 1 1 0 0 1 1 0 1 5 ..1.. 1...0 ..1.. 1...1 ..1.. d7,d6,d4,d3,d2,d0 221 1 1 0 1 1 1 0 1 6 ..1.. 0...1 ..0.. 0...1 ..0.. d2,d1,d0 7 0 0 0 0 0 1 1 1 7 ..1.. 1...1 ..1.. 1...1 ..1.. d7,d6,d4,d3,d2,d1,d0 223 1 1 0 1 1 1 1 1 8 ..1.. 1...1 ..1.. 0...1 ..1.. d7,d6,d3,d2,d1,d0 207 1 1 0 0 1 1 1 1 9 ماهو البرنامج الذي يتحكم في الجهاز؟ للتذكر أصبح مستحيلا برمجة منافذ الطابعة بشكل مباشر نظرا للنظام الحماية الذي أصبح يدعم م وندوز إكسبي,فمثلا في وندوز 98 لبرمجة منفذ الطابعة باستعمال دلفي port[registre_adress]:=value عنوان منفذالطابعة registre_adress القيمة مراد ارسالها التي تتراوح بين 0 و255 value التي ستحتوي على الدوال الازمة للبرمجة منفذ الطابعة,والتي سنقوم ببرمجتها بدلفي لكن الكود الاصلي سنبرمجه بالاسمبلرDLLإذن فالحل هو ‘نشاء مكتبة الدوال لكتابة بشفرة اسمبلر داخل دلفي نكتب الكلمة asm كود : library inpout32;
uses SysUtils;
procedure Out32(PortAddress:smallint;Value:smallint);stdcall;export;
var ByteValue:Byte;
begin
ByteValue:=Byte(Value);
asm
push dx
mov dx,PortAddress
mov al, ByteValue
out dx,al
pop dx
end;
end;
Exports
Out32;
begin
endبرمجة 7-segment LED display عن طريق منفد الطابعة - gigi - 21-10-2009 مجهود طيب رغم ان التصوير يبدو ضعيف قليلا وساحاول فهم البرنامج ومزيد من التقدم لك |