النتائج 1 إلى 3 من 3

الموضوع: استخدام الـ 74HC595 لزيادة مخارج المايكروكنترولر

  1. #1
    قسم المايكروكنترولر والانظمة الالية والربوتات الصورة الرمزية khaled maitah
    تاريخ التسجيل
    Mar 2011
    الدولة
    الاردن
    المشاركات
    631

    استخدام الـ 74HC595 لزيادة مخارج المايكروكنترولر

    تعد دارة 74HC595 من الدارات المتكاملة وهذه الدارة وظيفتها استقبال اشارة من مدخل معين واخراجها على عدة
    مخارج(محول من ادخال تسلسلي الى اخراج تفرعي) ..اي انها فقد تاخذ الاشارة الاولى من الطرف وتحفظها ثم تاخذ
    الثانية وتحفظها حتى تمتلي خانات الدارة ثم تخرجها مرة واحدة..تتكون الدارة من 3 مراحل موضحة في الصورة :

    Untitled-1.jpg

    المرحلة الاولى: في المتكاملة هي مرحلة استقبال الداتا من الخارج عن طريق الطرف DS وتجهيزها على خطوط الداتا
    على خرج مخارج المرحلة الاولى )كما نلاحظ ان نهاية هذه المرحلة تتكون من 8 خطوط داتا اي يمكن ازاحة حتى 8
    اشارات )صفر وواحد( داخل هذه المرحلة...تدعى هذه المرحلة بمرحلة الازاحة.

    المرحلة الثانية: هي مرحلة الحفظ في مسجل التخزين وهي كما نرى تحفظ الاشارات ال 8 القادمة من المرحلة الاولى..


    المرحلة الثالثة : تقوم باخراج القيمة الموجودة في مسجل التخزين الى الاطراف الخارجية او عدم اظهارها الى الاطراف
    تبعا لما هو مطلوب من الدارة القيام به.

    ملاحظة مفيدة : يمكن وصل مسجلين ازاحة بحيث يكون التوصيل من مخرج المسجل الاول ) output8 ( الى مدخل الداتا
    على مدخل المسجل الثاني ) DATA ( وهكذا نحصل على مسجل ازاحة ل 64 خانة وهكذا يمكن الحصول على العدد الذي
    نريده من الخانات عن طريق التوصيل على التوالي للمسجلات.

    والان سنأخذ مثال يحدد كيفية استخدام الريجستر في اداء وظيفة محددة ... وسيتم التحكم فيه من خلال بيك 16F84A من
    اجل الاخراج وبالتالي عمل دارة فلاشر بسيط يستخدم هذا الريجستر.
    الان برنامجنا سيكون برنامج فلاشر يستخدم البيك PIC16F84A لاخراج النبضات المطلوبة للتحكم بحيث ان الفترة
    الزمنية بين اضاءة كل ليد هي ثانية واحدة.
    الان اريد البرنامج ان يقوم بالتالي : يقوم بتفعيل اول طرف في الريسجتر الاول وبعد ثانية واحدة ينتقل للطرف الثاني
    )ويطفىء الاول( وبعدها ينتقل الى الطرف الثالث ثم الرابع الى ان يصل الى الطرف رقم 64 )يكون الطرف الثامن في
    الريجستر الثاني( وبعدها يعيد نفس العملية .

    الان نبدا بتحديد المطلوب من كل مرحلة من المراحل الثلاث السابقة :
    1- يجب ان يقوم بوضع الداتا (الجهد واحد منطقي على طرف الداتا DS ) ونعطي نبضة ساعة ليتم ادخالها الى مسجل
    الازاحة( SH-CP) .وبما ان المطلوب اخراجها على الاطراف فيجب ان ننقل الداتا اللى مرحلة التخزين...
    2- نقوم بحفظ القيمة في مسجل التخزين تحضيرا لاخراجها على الاطراف .. وذلك باعطاء نبضة ساعة للتخزين
    ( ST-CP )
    3- نقوم بتفعيل اخراج القيمة الموجودة في مسجل التخزين الى الاطراف وذلك بوضع القيمة )صفر منطقي( على الطرف
    OE .



    وهكذا نكون قد عملنا ازاحة وادخلنا القيمة واحد منطقى الى الريجستر واخرجناها على الاطراف.... الان يجب ان ندخل
    3( مع تغيير ان نقوم بوضع قيمة الداتا بصفر - القيمة صفر بعد الواحد ... وهكذا نقوم بعمل نفس الخطوات السابقة ) 6
    وليس واحد.... حتى نعمل ازاحة ل 64 مرة يجب ان تتنفذ الخطوات السابقة 64 مرة ...بحيث تكون اول مرة الداتا بواحد
    وبعدها تصبح بصفر(اول مرة تكون الداتا واحد وبعدها 61 مرة تكون الداتا بصفر)..

    ddd.jpg

    كما نرى في الصورة فقد فان توصيل الاطراف كالتالي:
    RA0-----DS
    RA1-----SH-CP

    يتبع المشاركه القادمة لتوضيع عملية البرمجه .....

    RA2-----ST-CP

  2. #2
    قسم المايكروكنترولر والانظمة الالية والربوتات الصورة الرمزية khaled maitah
    تاريخ التسجيل
    Mar 2011
    الدولة
    الاردن
    المشاركات
    631

    رد: استخدام الـ 74HC595 لزيادة مخارج المايكروكنترولر

    الان نبدا بكتابة البرنامج :
    اول خطوة نضع الداتا تساوي واحد منطقي من خلال RA0 كالتالي:

    كود:
    PORTA.F0=1;

    الان نعطي نبضة ساعة للازاحة (جبهة صاعدة) من خلال RA1 كالتالي:


    كود:
    PORTA.F1=0;
    PORTA.F1=1;


    الان نعطي نبضة ساعة للتخزين )جبهة صاعدة( وسيظهر الخرج مباشرة مع النبضة لاننا وصلنا الطرف OE الى الجهد
    المنخفض مسبقا وذلك من خلال الطرف RA2 كالتالي:

    كود:
    PORTA.F2=0;
    PORTA.F2=1;
    والان نعطي التاخير الزمني اللازم وهو مطلوب في السؤال (واحد ثانية) اي:

    كود:
    DELAY_MS(1000);
    هكذا نكون اخرجنا القيمة واحد منطقي على المخرج الاول لمدة ثانية واحدة .الان نقوم بنقل الواحد الى المخرج الثاني
    وذلك بعملية ازاحة وادخال صفر مكانه .. وهي نفس الخطوات السابقة مع اختلاف بسيط
    اول خطوة نضع الداتا تساوي صفر منطقي(وليس واحد منطقي) من خلال RA0 كالتالي:

    كود:
    PORTA.F0=0;
    الان نعطي نبضة ساعة للازاحة (جبهة صاعدة) من خلال RA1 كالتالي:

    كود:
    PORTA.F1=0;
    PORTA.F1=1;
    الان نعطي نبضة ساعة للتخزين (جبهة صاعدة) وسيظهر الخرج مباشرة مع النبضة لاننا وصلنا الطرف OE الى الجهد
    المنخفض مسبقا وذلك من خلال الطرف RA2 كالتالي:

    كود:
    PORTA.F2=0;
    PORTA.F2=1;
    والان نعطي التاخير الزمني اللاذز حتى تلاحظة العين وهو مطلوب في السؤال(واحد ثانية) اي :

    كود:
    DELAY_MS(1000);
    وبالتالي البرنامج يكون اول مرة لاخراج الواحد منطقي :

    كود:
    PORTA.F0=1;
    PORTA.F1=0;
    PORTA.F1=1;
    PORTA.F2=0;
    PORTA.F2=1;
    DELAY_MS(1000);
    ويمكن استخدام الحلقات للقيام بعملية الازاحه 61 مره مثلا حلقة FOR كالتالي:

    كود:
    FOR(I=0;I<15;I++)
    {
    PORTA.F0=0;
    PORTA.F1=0;
    PORTA.F1=1;
    PORTA.F2=0;
    PORTA.F2=1;
    DELAY_MS(1000);}
    ولا ننس ان نضع البرنامج كله ضمن حلقة لاعادة تنفيذ البرنامج دائما .. وهكذا يكون البرنامج كاملا مع اعداد المداخل
    والمخارج والتغيرات له الشكل التالي:

    كود:
    Void main()
    {
    Int I;
    TRISA=0;
    Loop:
    PORTA.F0=1;
    PORTA.F1=0;
    PORTA.F1=1;
    PORTA.F2=0;
    PORTA.F2=1;
    DELAY_MS(1000);
    FOR(I=0;I<15;I++)
    {
    PORTA.F0=0;
    PORTA.F1=0;
    PORTA.F1=1;
    PORTA.F2=0;
    PORTA.F2=1;
    DELAY_MS(1000);
    } Goto Loop;
    }

  3. #3
    Junior Engineer
    تاريخ التسجيل
    May 2018
    الدولة
    suez
    المشاركات
    33

    رد: استخدام الـ 74HC595 لزيادة مخارج المايكروكنترولر

    مشكور

معلومات الموضوع

الأعضاء الذين يشاهدون هذا الموضوع

الذين يشاهدون الموضوع الآن: 1 (0 من الأعضاء و 1 زائر)

المواضيع المتشابهه

  1. مكتبه 74hc595 لزياده عدد output وكذلك التحكم بأي خرج
    بواسطة حسن هادي محمود في المنتدى قسم المايكروكنترولر والانظمة الالية والربوتات microcontroller and automated systems and robots
    مشاركات: 6
    آخر مشاركة: 16-08-14, 05:01 PM
  2. استخدام الكيباد مع المايكروكنترولر
    بواسطة khaled maitah في المنتدى قسم المايكروكنترولر والانظمة الالية والربوتات microcontroller and automated systems and robots
    مشاركات: 1
    آخر مشاركة: 21-10-12, 01:00 AM
  3. مخارج الحروف صوت وصورة
    بواسطة أحمد جنيد الحلبي في المنتدى قسم الموضوعات العامة
    مشاركات: 1
    آخر مشاركة: 07-04-10, 02:46 PM
  4. اهم عشر طرق لزيادة سرعة تحميل ل torrent
    بواسطة م. مروة قطب في المنتدى قسم الموضوعات العامة
    مشاركات: 12
    آخر مشاركة: 25-07-09, 10:43 AM

المفضلات

المفضلات

ضوابط المشاركة

  • لا تستطيع إضافة مواضيع جديدة
  • لا تستطيع الرد على المواضيع
  • لا تستطيع إرفاق ملفات
  • لا تستطيع تعديل مشاركاتك
  •  

 

 

Flag Counter