قسم الميكروكنترولر والروبوت ودوائر الاتصال بالحاسب الالي قسم المتحكمات الـ microcontroller و المعالجات microprocessor و التحكم الرقمي بالكمبيوتر CNC والانظمة الآلية والروبوت Robots

أدوات الموضوع

الصورة الرمزية assed
assed
:: عضو فضي ::
تاريخ التسجيل: Jul 2014
الدولة: العراق - بغداد
المشاركات: 1,036
نشاط [ assed ]
قوة السمعة:96
قديم 01-12-2014, 09:35 AM المشاركة 1   
افتراضي سؤال في 74hc595 Twitter FaceBook Google+



السلام عليكم
معلوم ان المتكاملة 74hc595 تستقبل من البك ثلاث خطوط فقط وبالامكان ربط اكثر من متكاملة على هذه الثلاث خطوط .
السؤال هوة كيف يمكن للبك أو البرنامج ان يحدد الكود للمتكاملة المعنية بالامر
هل في كود خاص لذالك
ممكن الشرح الكود بلغة proton basic
مثال
كود:
' -------------------------------- 
   n = Dig j, 0                                   
   GoSub Convert                                  
   SHOut DS, SH_CP, MsbFirst, [$08, Value]        
   PulsOut ST_CP, 1
   DelayMS 10

'--------------------------------- 
   n = Dig j, 1                                  
   GoSub Convert                                   
   SHOut DS, SH_CP, MsbFirst, [$04, Value] 
   PulsOut ST_CP, 1
   DelayMS 10

'--------------------------------- 
   n = Dig j, 2                                   
   GoSub Convert                                  
   SHOut DS, SH_CP, MsbFirst, [$02, Value+ b]        
   PulsOut ST_CP, 1
   DelayMS 10

'----------------------------- 
   n = Dig j, 3                                   
   GoSub Convert                                  
   SHOut DS, SH_CP, MsbFirst, [$01, Value]        
   PulsOut ST_CP, 1
   DelayMS 10

   SHOut DS, SH_CP, MsbFirst, [$00, $00]          
   PulsOut ST_CP, 1

اعلانات

Logic
:: عضو فضي ::
تاريخ التسجيل: Mar 2014
المشاركات: 682
نشاط [ Logic ]
قوة السمعة:79
قديم 01-12-2014, 11:15 AM المشاركة 2   
افتراضي


السلام عليكم
أخي الكريم
1/ إذا كان لديك أكثر من 74595 فإن الميكروكونترولر يرسل الأرقام الى المتكاملة الاولى بالتسلسل ، و بعد "امتلائها" سترسل هي بدورها الكود الموالي الى المتكاملة 74595 الثانية التي تاتي بعدها .
لاحظ معي:
هنا التحكم في متكاملة واحدة:

وهنا التحكم في متكاملتن :

وبطريقة أكثر وضوحا:
http://www12.0zz0.com/2010/07/22/16/524542515.jpg
حيث تلاحظ أن الربط بين مسجل الازاحة الاول والثاني حاصل بواسطة الخرج 9 من المتكاملة الاولى والدخل 14 للمتكاملة الموالية وهكذا لو كانوا ثلاثة أو أكثر.

2/ يمكنك اختبار عمل 74595 يدويا بدون ميكروكونترولر كما في الصورة:

وهنا أحد شروح العمل (يوجد غيرها في هذا القسم) :
http://www.qariya.info/vb/showthread.php?t=69518
بناء عليه فإن المبرمج هو الذي يكتب الكود ولاتوجد دوال خاصة .

احصائية الشكر والاعجاب - 0 شكراً, 0 عدم اعجاب, 1 اعجاب
اعجاب assed ( أعجبته المشاركة )
اعلانات اضافية ( قم بتسجيل الدخول لاخفائها )
  

الصورة الرمزية assed
assed
:: عضو فضي ::
تاريخ التسجيل: Jul 2014
الدولة: العراق - بغداد
المشاركات: 1,036
نشاط [ assed ]
قوة السمعة:96
قديم 01-12-2014, 12:22 PM المشاركة 3   
افتراضي


السلام عليكم
أخي Logic بارك الله فيك ولاكن سؤالي هوة عن المثال الذي انا ذكرته بالموضوع وهوة بالضبط عن هذه الاقام
(($01 , $02 , $04 ,$08))
كيف تم أختيارها وهل هية ثابتة .. مع العلم أريد ربط 3 متكاملات


التعديل الأخير تم بواسطة : assed بتاريخ 01-12-2014 الساعة 01:56 PM

Logic
:: عضو فضي ::
تاريخ التسجيل: Mar 2014
المشاركات: 682
نشاط [ Logic ]
قوة السمعة:79
قديم 01-12-2014, 09:06 PM المشاركة 4   
افتراضي


السلام عليكم
أخي Logic بارك الله فيك ولاكن سؤالي هوة عن المثال الذي انا ذكرته بالموضوع وهوة بالضبط عن هذه الاقام
(($01 , $02 , $04 ,$08))
كيف تم أختيارها وهل هية ثابتة .. مع العلم أريد ربط 3 متكاملات
السلام عليكم
معذرة أخي ليست لي خبرة في البرمجة ببرنامج بروتون لكن أعددت لك طريقة عمل هذا المسجل وأتمنى أن تتعرف من خلالها على طريقة كتابة كود مناسب لك.
في الواقع 74595 مسجل إزاحة يدخل رقما تنائيا من 8 بت بطريقة تسلسلية ثم يظهره على مخارجه الثمانية بشكل متوازي ، هذا عمله والذي يمكن اسغلاله لتنفيذ عدة مهام ..
كيف يتم ذلك؟
لنأخذ مثالا ..
أريد إدخال الرقم التالي :10101101 بطريقة تسلسلية والحصول على نفس الرقم على المخارج الثمانية ولهذا الغرض ساستعمل 3 مداخل هي الاطراف 14 و 11 و 12:
14 لادخال الداتا بالتتابع (الداتا هي البتات المكونة للرقم المقصود)
11 لتخزين ما تم إدخاله
12 لاظهار ماتم تخزينه.
- من الطرف 14 وبواسطة المفتاح SW1 أدخل البت الاول من الرقم المقصود:10101101 وهو الملون بالأحمر ثم اضغط على المفتاح SW2 (لطرف 11 ) للتخزين
- أدخل البت الثاني وهو الملون بالأزرق للتوضيح 10101101
وهكذا مع بقية البتات في ذلك الرقم ..
وبعد الانتهاء من إدخال البتات كاملة أضغط على المفتاح SW3 لإظهار الرقم كاملا على المخارج .
وهذا فلاش بسيط يوضح الطريقة:

وهنا ملفات الفلاش و صورة الدائرة و المحاكاة ببروتوس :
http://www.gulfup.com/?Odd40q

وطبعا إذا كان الرقم مكون من أكثر من 8 بتات تضيف مسجلا آخر والتوصيل كما وضحت لك أخي الكريم في المشاركة السابقة ..

احصائية الشكر والاعجاب - 1 شكراً, 0 عدم اعجاب, 1 اعجاب
شكراً assed ( شكر العضو على هذه المشاركة )
اعجاب assed ( أعجبته المشاركة )

الصورة الرمزية assed
assed
:: عضو فضي ::
تاريخ التسجيل: Jul 2014
الدولة: العراق - بغداد
المشاركات: 1,036
نشاط [ assed ]
قوة السمعة:96
قديم 05-12-2014, 06:31 AM المشاركة 5   
win سؤال في 74hc595


السلام عليكم
شكراً للاخ لوجيك من خلال الشرح الذي رفعته تم حل المشكلة بارك الله فيك

احصائية الشكر والاعجاب - 1 شكراً, 0 عدم اعجاب, 1 اعجاب
شكراً Logic ( شكر العضو على هذه المشاركة )
اعجاب Logic ( أعجبته المشاركة )
إضافة رد

العلامات المرجعية

«     الموضوع السابق       الموضوع التالي    »
أدوات الموضوع

الانتقال السريع إلى


الساعة معتمدة بتوقيت جرينتش +3 الساعة الآن: 10:13 PM
موقع القرية الالكترونية غير مسؤول عن أي اتفاق تجاري أو تعاوني بين الأعضاء
فعلى كل شخص تحمل مسئولية نفسه إتجاه مايقوم به من بيع وشراء وإتفاق وأعطاء معلومات موقعه
التعليقات المنشورة لا تعبر عن رأي موقع القرية الالكترونية ولايتحمل الموقع أي مسؤولية قانونية حيال ذلك (ويتحمل كاتبها مسؤولية النشر)

Powered by vBulletin® Version 3.8.6, Copyright ©2000 - 2025