بِسْمِ اللهِ الرّحْمنِ الرًّحِيمْ
المقدمة:
قام بعمل هذا المشروع مجموعة من طلاب الفرقة الثالثة بهندسة الإتصالات جامعة الأزهر بالقاهرة في عام 2008. كنت أنا الطالب المسؤل عن جزء البرمجة الخاص بالميكروكنترولرAT89S52 ، حيث قمت بكتابة برنامج الميكروكنترولر مستخدماً لغة الأسمبلي الخاصة بال ATmel 8051 Family. كما إستخدمت Keil

vision compiler 3. الملف يحمل الإمتداد .hex .
فكرة المشروع :
أمان السيارة ؛ حيث أنه بتركيب هذا الجهاز في السيارة لا يمكن للراكب أن يقوم بإدارة السيارة دون معرفة الباسوورد المدخلة مسبقاً.
في حالة محاولة فصل الجهاز عن السيارة دون إدخال الباسوورد تقوم الدائرة بتشغيل دائرة إنذار أخرى موجودة بالجهاز والموصلة بسماعة السيارة ؛ فتنطلق سُّفارة الإنذار.
المشروع :
يعتمد المشروع كلية على الميكروكنترولر ATMEL خصوصاً AT89S52 أو AT89C52 من عائلة 8051 الذي تتم برمجته ليقوم بالوظيفة المحددة. فالدائرة بسيطة جداً كما سنرى.
نوع الميكروكنترولر المستخدم هو PDIL40 . أي ان الميكرو له 40 بنا. حسب الdata sheet الخاصة به فهو يحتوي على 4 بورتات خاصة بالإدخال والإخراج ؛ وهم بالترتيب P0 , P1 , P2 , P3
وطول الداتا المستخدم هو bits = 1 byte 8 ، وهذا يعني 32 pin.
يتبقى لنا 8 بنات خاصة بالsupply, ground, reset, crystal oscillator . ينطبق هذا الكلام على الِ AT89C52 ، الفارق أن الٍS يستطيع استخدام مذبذب (Oscillator) أعلى في السرعة ؛ فقد تصل سرعة المذبذب إلى MHz33 بينما الC أقصى سرعة لمذبذبه هي 24MHz.
يحصل الجهاز على الكهرباء من السيارة وذلك عن طريق مخرج ولاّعة السيارة ، توضح الصورة التالية مخرج الولاّعة.
في هذه الدائرة تم حجز البورت 1 للشاشة LCD .
كما تم حجز البورت 2 ال Keypad.
وتم حجز 3 بنات للشاشة أيضاً هي : P3.0, P3.1, P3.2.
كيفية العمل :
بمجرد إدخال مفتاح السيارة في الكونتاكت ، وإدارته نصف دورة يبدأ الجهاز في العمل (تماماً كما يعمل الراديو دون إدارة الموتور).
بمجرد العمل يرحب الجهاز بالراكب كما يظهر من الصورة.
ثم يطلب الجهاز من الراكب إدخال الباسوورد مباشرة والمكون من أربع أرقام قابلة للزيادة كما في الشكل التالي.
يقوم الراكب بإدخال الباسوورد بالضغط على أرقام الKeypad then Enter.
في إدخال الباسوورد بطريقة خاطئة تظهر الرسالة :
Wrong PassWord
ثم يطلب الجهاز من المستخدم إعادة إدخال الباسوورد الصحيحة. يمكن إضافة تعديل بسيط في البرنامج لتحديد عدد مرات إدخال الباسوورد بعدد معين.
في حالة إدخال الباسوورد الصحيحة يقوم الجهاز بفتح الكونتاكتور الموجود بداخله لتوصيل دائرة إشعال السيارة ، وإدارة الموتور ، ولمعرفة أن الباسوورد المدخلة صحيحة ، تظهر رسالة على الشاشة تخبر الراكب بأن الباسوورد صحيحة ؛ كما يظهر بالشكل.
بعد إدارة السيارة يمكن إغلاق الشاشة LCD لئلا تسخن عن طريق زر خاص بها ، وتظل دائرة الجهاز تعمل طالما السيارة تعمل.
الصورة القادمة توضح الشكل الخارجي للجهاز. كما توضح الصورة مخرج السماعة الذي يجب أن تُركّب فيه سماعة السيارة في الجانب.
سنقوم الآن بفتح الغطاء الخارجي للجهاز لنتعرف عليه من الداخل.
توضح الصورة التالية كيفية توصيل ال Keypad بالميكروكنترولر (البورت 2).
الدائرة كما تبدو من الداخل ، بعد نزع الKeypad :
كما أوضحنا فالدائرة بسيطة لدرجة كبيرة ؛ فالصورة توضح الميكروكنترولر AT89S52 وهو متصل بالشاشة عن طريق كابل داتا ، والkeypad موصلة بال AT89S52 عن طريق الكونكتور أو
Pin Header)). أما الكونتاكتور أو ال relay فهو تلك العلبة البيضاء الموجودة بالأعلى ، وهو يعمل بحوالي 6 فولت.
القطعة المعدنية الصغيرة بأسفل الدائرة هي عبارة عن المذبذب الخاص بال AT89S52 أو (Crystal Oscillator) ، وهو هنا يعمل بتردد عالي وهو 12MHz ، ولكنها قابلة للزيادة فيمكن أن تصل إلى
33MHz. والجسم الأسود بأعلى الصورة فهو عبارة عن منظم للفولت أو (Regulator) ليضمن دخول ما لا يزيد عن 5 فولت.
وهذا هو مشهد آخر للدائرة.
توضح الصورة التالية المخارج التي يتم توصيلها من ناحية بكونتاكت السيارة ، ويتم توصيلها من الناحية الأخرى بدائرة إشعال السيارة (Ignition Circuit). كما توضح الصورة الزر السويتش الخاص بغلق الشاشة LCD دون غلق الجهاز نفسه.
معذرة لعدم قدرتي على رفع صور المشروع ، ومن أراد الصور فهي مرفقة بالشرح على اللينك التالي:
http://www.4shared.com/account/dir/8...ng.html?rnd=11
وبعد ، عَسَى اللهُ أنْ يَنْفَعْ بِهِ أَحَداً