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

Jk Flip-flop Binary Counter

بدأه Xacker في 6 سبتمبر 2008 · 38 رد · 18,267 مشاهدة · في الميكروكنترولر (المتحكم) و الدوائر الرقمية و المنطقية
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

بدأت البارحة الساعة الثانية ليلاً في حل المشروع وتسليمه كحد أقصى ليلاً.. (شاطر :blush: ) ولم أنم منذ يومين :lol:

السيناريو:

post-7008-1220687030_thumb.jpg

الطلب الأول:

المطلوب تصميم قلابات لا تزامنية JK Flip Flop لتحقيق العد المطلوب.

هذا ما قمت بتصميمه نتيجة لبعض المقالات والرسوم التي قرأتها ورأيتها هنا وهناك من المراجع المختلفة على الانترنت (اتصالي الآن مودم فتخيل ماهية المراجع :wacko: )

post-7008-1220694489_thumb.jpg

من المفترض أن يتم فحص قيمة A, C في الخرج فإن كان 1 هذا يعني أن القيمة أصبحت تمثل 10

لذلك أقوم بإرسال القيمة بعد عكسها بدارة NAND إلى مدخل CLR ليقوم بتصفير العداد و إرسال نفس القيمة بعد عكسها بدارة NOT إلى الدارة التي تمثل الرقم العشري لتقوم بتحديث القيمة فيها.

أيضا في دارة Tens أقوم بفحص القيمة 3 فإن وجدت يتم إرسال قيمة للمدخل CLR على كل القلابات ليتم تصفيرها.

الطلب الثاني:

المطلوب تصميم قلابات تزامنية JK Flip Flop لتحقيق العد المطلوب.

التصميم الذي قمت بوضعه هو:

post-7008-1220694558_thumb.jpg

هل التصميمين (وأشك جداً) صحيحين أو قريبين من الصحّة؟

التسليم كما قلت اليوم، إن لم يكن هناك أي تعقيب سأتوكل على الله وأقوم بإرساله مع بقية التصاميم كما هو.

بارك الله بكم وتقبل صيامكم.

تم تعديل هذه المشاركة بواسطة Xacker في 6 سبتمبر 2008 في 12:51

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

#2

سؤال تقريبا خارج الموضوع:

ما هو البرنامج الذي استعملته لرسم الدارة

#3

Visio

صياماً مقبولاً وإفطاراً شهياً.. رفع الأذان في سوريا :)

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

#4

توكلت على الله وقمت بإرسال ملف الوظيفة بعد إكمال بعض الطلبات.. للأسف جداول كارنو لم أجد وقت كاف لإنجازها فالتسليم انتهى من بضع دقائق فقط.

هذه صورة للعداد BCD to 7-segments التي تقوم بإظهار رقم من 0 حتى 29 ثم تعيد إلى الصفر وهكذا..

الله أعلم إن كانت صحيحة لكن أتصور هذه أفضل من البقية :blush:

post-7008-1220733819_thumb.jpg

يالله.. نشوفكم بخير

يبدو أني لا أشارك إلا في المنتديات المهجورة :lol:

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

#5
اقتباس
يبدو أني لا أشارك إلا في المنتديات المهجورة laugh.gif

:D :happy:

موقع البرنامج

مبارك لشعب تونس photo-thumb-42837.png

#6

السلام عليكم لو انك صبرت على رزقك كما يقال

اذا كان نظام العد ست عشري فهي صحيحة اما اذا كان عشري فاليك التالي

اخي الكريم لديك خطا اذا اردت ان تعمل هذه الدارة من 0 الى 29 عليك بوضع بوابة (اند ) على عداد الاحاد وهذه البوابة يجب ان تاخذ من رقمين هما اثنان ورقم تمانية اي خرج اثنان وخرج اربعة وان تاخذ الخرج الى نفس مدخال التصفير في الاحاد وان تاخذ نفس الخرج الى ساعة العشرات وتلغي الخرج من عداد الاحاد الى عداد العشرات اما بالنسبة للرسم الاول فهي صحيحة ولكن اعتقد ان هناك خطا في النسخ فهناك خطوط التاريض لا يجب ان تكون في كلاتا الرسمتين والا لما اشتغلت الدارتين الاوليتين ابدا وانا اعتقد ان تعد بالعشري لان الرسمتين تقول هذا والرسم الثالث ينقص بوابة اند كما وضحنا مع بعض التعديل لان العدادات تعد بالنظام الست عشري

تم تعديل هذه المشاركة بواسطة fadi-k في 7 سبتمبر 2008 في 05:56

#7

أخي الكريم هل لك أن توضح لي كيف أن العدادات تعد بالنظام الست عشري؟ :unsure:

اقتباس
اخي الكريم لديك خطا اذا اردت ان تعمل هذه الدارة من 0 الى 29 عليك بوضع بوابة (اند ) على عداد الاحاد وهذه البوابة يجب ان تاخذ من رقمين هما اثنان ورقم تمانية اي خرج اثنان وخرج اربعة وان تاخذ الخرج الى نفس مدخال التصفير في الاحاد وان تاخذ نفس الخرج الى ساعة العشرات وتلغي الخرج من عداد الاحاد الى عداد العشرات

هذا الخطأ في أي رسم بالضبط؟

بدلاً من بوابة AND قمت باستخدام بوابة NAND كما ترى معتقداً أن ما يجب إرساله لمدخل CLR هو جهد 0 .. لكن أتصور أن الجهد كان يجب أن يكون 1 ؟ :sad: أتعلم قمت بتغييرها من AND إلى NAND بسبب ما رأيته في بعض الرسوم.. إن كان هذا ما تقصد فوا أسفي على تعبي.

بالنسبة للتأريض، هل تتكلم عن الصورة الأولى أيضا؟ أم الأولى والثانية.

بالنسبة لموضوع البوابة فهو مشترك تقريبا في كل الرسوم فإن كان هناك خطأ في موضوع النقل للعشرات فهو مكرر في كل الرسوم.

بارك الله بك على التوضيح وأرجو المتابعة في الإجابة على هذه الاستفسارات.

والحق يقال لو كان هناك وقت متبقي للتسليم لصبرت لكن للأسف قمت بالتسليم قبل انتهائه بـ 5 دقائق تقريباً يعني لم يكن بالإمكان أكثر مما كان.

شكراً.

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

تعديل:

خبر عاجل جداً.. تم إعلامي الآن بأن تسليم الوظائف تم تأجيله حتى مساء اليوم!

أتمنى أن أحصل على توضيح بالنسبة للاستفسارات لأعيد الإرسال :unsure:

تم تعديل هذه المشاركة بواسطة Xacker في 7 سبتمبر 2008 في 12:34

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

#8

أخي Xacker

هل قمت بحمل simulation للدارة التي صنعتها ؟ و إن كان الأمر كذلك فما نتيجة ذلك

#9

أعتقد ما تتكلم عنه هو هذا.

الـ diode/resistor يعمل مثل بوابة AND

post-7008-1220781169_thumb.gif

يقوم بفحص القيمة 0110b عند الخرج ويتصل بمدخل الـ reset ليقوم بتصفير العداد.

@djug:

لا والله يا أخي لأني لم أملك واحد ولا أعرف واحد ولا أعتقد اتصالي يسمح لي بتحميل واحد الآن لكن إن كنت تعرف اسم واحد جيد أخبرني به.

لو كنت شغلته على simulator لعرفت إن كان يعمل أم لا.

تم تعديل هذه المشاركة بواسطة Xacker في 7 سبتمبر 2008 في 12:55

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

#10

هذه هي التعديلات على الرسوم كما وصفتها،

قمت بتغيير بوابة NAND بـ AND

وإزالة التأريض في الأماكن المشبوهة التي قد تلغي الجهد المرسل لمدخل CLR أو RST.

في الصورة الثالثة فقط أحتاج إلى تغيير البوابة على دارة العشرات لأن خرج الآحاد ينتقل إلى دخل العشرات بالحمل بالتالي تكون قيمة Q1,Q2,Q3,Q4 هي صفر عندما يصل إلى 10.

post-7008-1220782134_thumb.jpg

post-7008-1220782181_thumb.jpg

post-7008-1220782248_thumb.jpg

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

#11

الدارة الثانية و كأنها مرسومة باستعمال Proteus لهذا سألتك عن المحاكات

proteus محاكي رائع موجود هنا في المنتدى

/index.ph...&hl=proteus

/index.ph...&hl=proteus

/index.ph...st&p=239903

تم تعديل هذه المشاركة بواسطة djug في 7 سبتمبر 2008 في 13:24

#12

تقصد الدارة الأخيرة التي فيها الـ decoder ؟

فعلياً لم أقم برسم هذه الدارة لأن visio لا يحوي على العديد من المكونات التي احتجتها فلم أستطع على سبيل المثال تشكيل حتى الـ binary counter رقم 4510

لذلك اعتمدت على بعض الصور الجاهزة مع التعديل عليها وإضافة بعض المكونات البسيطة التي تظهر واضحة فيها.

قمت بالاطلاع على الروابط التي وضعتها وبالفعل البرنامج يبدو جيد جداً، على الأقل يوفر إمكانية الرسم بصورة أفضل من visio بالنسبة لموضوع الدارات الكهربائية وإن شاء الله سأحاول تحميله اليوم والاستفادة منه على الأقل للامتحان السبت القادم حتى لو لم أستفد منه في هذا المشروع اليوم.

أتمنى أن أحصل على تأكيد أو تصحيح للرسوم الأخيرة التي وضعتها قبل أن أقوم بالتسليم حتى لا يقول الأخ فادي أني لم أصبر على رزقي :D فاليوم آخر يوم والبارحة بالصدفة حصلت مشكلة مع البعض في التحميل لذلك تم تمديده يوم واحد فقط.

تم تعديل هذه المشاركة بواسطة Xacker في 7 سبتمبر 2008 في 17:11

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

#13

أكثرت من الحديث والأسئلة لكني من النوع الذي يطرح كل ما يخطر في باله مباشرة ولا ينتظر لأن يقوم بتجميعه بالكامل في حديث واحد :blush:

هناك شئ لا أفهمه في إحدى الأمور التي قرأتها، كان المطلوب أن يتم وضع جداول كارنوف "لمخارج" الـ decoder ومن ثم اختصار التوابع وكتابتها...

طيب عفوا ما أعرفه هو أن الخرج للـ decoder يكون عدد ممثل بـ 8 bits فكيف أقوم بتمثيله على جداول كارنوف.. هل يعلم أحدكم عن هذا شيئا؟

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

#14

أخي Xacker

إذا لم تخني الذاكرة كنا نعملها على النحو التالي (كبر الصورة لتظهر جيدا)

(درسناها منذ مدة -السنة الأولى-)

طبعا كما تعلم كل جهة من الجدول تمثل 2 bits و المجموع 8 bits

1220803514.jpg

تم تعديل هذه المشاركة بواسطة djug في 7 سبتمبر 2008 في 18:46

#15

شكراً أخي djug، سأرى ما بإمكاني عمله فيما تبقى لي من الوقت وأتوكل على الله وأرسل الملفات الجديدة فقد وصلني قبول من الدكتور بقبولها لو أرسلتها.

شكراً لكل من شارك في هذا الموضوع بكلمة أو ابتسامة (حريف برمجة ;) )

:D

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

#16

اخي الكريم ما قصدته ان المخططات الاولى هي صحيحة ولكن الرسمة الثانية غير صحيحة رسمت العدادات لان العد هو ست عشري في العداد الاول انت وضعت بوابة and على العداد الثاني لكي يقف عند الرقم ثلاثة هذا صحيح لانه يعد الى الرقم (F) وايضا كان عليك ان تضع ايضا بوابة and على العداد الاول ايضا لان العد سوف يكون الى (F) وانت تريد العد العشري والرقم 29 عمليا سوف يستغرق عندك 41 ثانية بدلال من 29 ويمكنك استخدام برنامج WORK BENCH لهذه الامور اما بالنسبة للمخططين واحد واثنان التزامني وغير التزامني هما صحيحين ولكني في الممرة الاولى لم انتبه الى بوابات NAND ولكن انت صححتها في الرسمة الثانية وهذا صحيح

هذه صحيحة ولكن عليك وضع بوابة من اي نوع لفصل تصفير الكتلتين عن بعضهما مثلا (اند)واقصر المدخلين معا والدخل من الاند التي مداخلها هي 4 و 5 والخرج الى الطرف الاخر من الخط المقطوع

post-143018-1220845528_thumb.jpg

تم تعديل هذه المشاركة بواسطة fadi-k في 8 سبتمبر 2008 في 06:47

#17

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

وان خرج العدادات هو ثنائي اربعة بايت وفاك الترميز يحول من ثنائي الى ست عشري على الشاشة وبوابة الاند التي يجب ان تضعها لنفس السبب التي وضعت بوابة اند

اما اخر دارة وضعتها غير صحيحة ابدا لان الثنائيات او الديود لا يمكن ان يعمل في الاتجاه المعاكس يجب ان تضع بوابة اند او عليك بوضع ترنزستورين على التسلسل وهذه صعبة قليلا لذلك يفضل استخدام بوابة اند

واذا كان هناك مشكلة اخبرني وقت تواجدك فقط وانا اكون معك إن شاء الله

والسلام عليكم

post-143018-1220844439_thumb.jpg

تم تعديل هذه المشاركة بواسطة fadi-k في 8 سبتمبر 2008 في 07:06

#18

أخي فادي عذراً على تعبك معي في هذا الموضوع، برجاء التوضيح مرة أخرى، هل تتكلم عن البوابة AND الموجودة في أقصى اليمين في الرسمة الثانية أم الأولى.. كما تلاحظ البوابة موجودة في الرسمتين وتقوم بتصفير العداد وترسل الإشارة إلى القلاب التالي في دارة العشرات.

لا أدري لكن هل هذه ما تطلب مني وضعها كي لا يكمل العد حتى F ؟

ايضا ارجو الانتباه إلى أن توضع المخارج مختلف في الرسمتين فهو معكوس في الرسمة الثانية لكن تبقى النتيجة واحدة والتحقق على المخارج المطلوبة، أليس هذا صحيحاً؟

بخصوص البوابة التي تفصل تصفير الكتلتين.. صحيح أتفق معك غابت عني هذه ربما النظر الكثير إلى البوابة AND الى اليسار جعلني أعتقد أنها ستمنع انتقال الاشارة من بوابة الآحاد أثناء التصفير.

فإذا هذا خطأ وقد علم، شكراً.

post-7008-1220875373_thumb.jpg

post-7008-1220875409_thumb.jpg

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

#19
fadi-k كتب:
اما اخر دارة وضعتها غير صحيحة ابدا لان الثنائيات او الديود لا يمكن ان يعمل في الاتجاه المعاكس يجب ان تضع بوابة اند او عليك بوضع ترنزستورين على التسلسل وهذه صعبة قليلا لذلك يفضل استخدام بوابة اند

واذا كان هناك مشكلة اخبرني وقت تواجدك فقط وانا اكون معك إن شاء الله

والسلام عليكم

بصراحة آخر دارة لم أفهم عليك ما تقصده.. هل لك أن توضح أكثر ولو بـ "شخبرة" على الرسم نفسه ببرنامج الرسّام حتى :blush:

بالنسبة للتواجد كما أرى أنت تتواجد صباحاً في وقت مبكر جداً بأي حال لا أريد أن أتعبك معي فالموضوع الآن خرج عن فكرة كونه مشروع للتسليم وبقي دراسة للامتحان السبت القادم.

شكراً لك.

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

#20

يبدو أننا أخطأنا يا أخ فادي :(

انظر، لم أره حتى الآن، كان لدي لكن هل هناك أحد عاقل يضع العدادات بعد القلابات وبعد المفككات :angry: كنت أعتقده حسب الترتيب تابع لبحث الذواكر ولم أنظر إليه.. تباّ لي

post-7008-1220881002_thumb.jpg

يجب ان يتم ارسال القيمة 0 الى مداخل التصفير حتى يتم تصفير القلاب وليس القيمة 1.. يعني الرسوم الأولى صحيحة فيما يتعلق بموضوع نوع البوابة NAND :(

في هذه الحالة يكون شكل الدارة لقلاب ينتهي عند القيمة 10 بهذا الشكل

post-7008-1220881069_thumb.jpg

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

#21

السلام عليكم

اخي الكريم ان ما رسمته من دارات القلابات jk كله صحيح باستثناء اول رسمتين منهما لانك عندما وضعت بوابة AND لم تضع علامة نفي على مدخل تصفير JK مدخل CLR ولكن عندما وضعت NAND كنت قد وضعت نفي على مدخل التصفير و النتيجة واحدة في كلتا الحالتين نظريا 100% ( ((( ولكن عمليا عند التطبيق فان الاصح هي بوضع بوابة NAND لانه عندما تكون اشارة التصفير موجبة على مدخل التصفير قد يكون هناك تشويش على مدخل التصفير فيتم تصفير القلاب وانت لاتريد ذللك اما عندما وضعت نفي مع بوابة NAND عمليا يحتاج التصفير صفر منطق او جهد الصفر و هذا الشرط لا يمكن ان ياتي من الفراغ فتقوم بتصفير القلاب JK هذا شرح الكتروني ان لم تفهمه لا تشغل نفسك فيه ))))))) اما بالنسبة للعدادات ذات الرقم 4510 فهي تعد على النظام الست عشري ولكي تجعلها تعد على النظام الشري يجب عليك وضع بوابة AND على الاحاد كما في الرسم رقم الرسمة 2

اما بالنسبة لاخر دارة ذات الثنائيات والمقاومة والتي اعطيتها رقم واحد فهناك عدة اخطاء

1- ا ن اثنائيات عندما يصبح الجهد على مهبطها صفر فانه يبقى تقريبا 0.7 فولت على مصعدها وهذا قد لا يصلح لانه للتصفير تحتاج الى صفر فولت

2- اذا تغاضينا عن السبب الاول فان المشكلة الثانية بوضعك الثنائيات على هذا الشكل فانك قد وضعتها على شكل بوابة OR وليس AND لانه ان تم تصفير الخرج B (11( او الخرج C (14) فان العداد سوف يصفر هذا ان ابعدنا السبب الاول واعتقدناه صحيح وهو غير صحيح

تم تعديل هذه المشاركة بواسطة fadi-k في 9 سبتمبر 2008 في 05:23

#22

هذه الرسمتين مع جميع التعديلات

post-143018-1220926502_thumb.gif

post-143018-1220926581_thumb.jpg

#23

شكراً أخ فادي على تعبك معي, والله اختلطت علي الأمور في ملاحظاتك فقمت باستبدال البوابات لعن الله الشيطان.. الحمد لله على أية حال عسى أن نعوض هذا الأمر في الامتحان إن شاء الله

أصبحت الأمور أوضح الآن، بارك الله فيك

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

#24

وصلت العلامات... ما بلاش نتكلم في الماضي أحسن :lol:

شئ مخجل :blush:

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

#25

بسيطة اخي الكريم كلو ممكن يتعدل انت على كل حال اي شيء بيخص الدوائر الرقمية ومقصر في ممكن تطرحو ومنتعاون عليه :calc:

تم تعديل هذه المشاركة بواسطة fadi-k في 11 سبتمبر 2008 في 09:51

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