|
لو الهدف فقط توفير مخارج البيك ، ممكن تتجاوز الصعوبات بتغيير الطريقة:
الاكتفاء ببيك واحد واستخدام شاشة LCD من نوع Serial تعمل بالبرتوكول الشهير I2C.
هي شاشة تحتاج فقط طرفين اثنين في البيك هما SDAو SCL.
لو تحب الاحتفاظ بشاشة LCD عادية التي تتطلب 6 أطراف على الاقل ممكن تستفيد من نفس الفكرة بإضافة متكاملة معروفة لدى المبرمجين الذين ينفذون دوائر الماتريكس.
هي مسجل الإزاحة 74595
ويوجد غيرها..
البيك يرسل الداتا لمسجل الإزاحة بطريقة تسلسلي
و هو يتكفل بإرسال الداتا للشاشة .
|
فكرت في استخدام PIC18F4550 واستخدام مسجل الازاحة ولكن الدائرة كالتالي
PIC1
استخدام TMR0 لحساب توقيت زمني 1ث
استخدام INT/RB0 كمقاطع لحساب عدد نبضات تصل الى 400 نبضة في الثانية
استخدام 3 مداخل AN
استخدام 6 مخارج لشاشة LCD
استخدام 3 مداخل Digital IO
باجمالي 14 منفذ
PIC2
استخدام TMR0 لحساب توقيت زمني 1ث
استخدام INT/RB0 كمقاطع لحساب عدد نبضات اخرى تصل الى 60 نبضة في الثانية
استخدام 7 مداخل Digital IO
استخدام 7 مخارج Digital IO لعرض حالة 7 مداخل السابقة
استخدام 7 مخارج Digital IO لعرض 3 ارقام على 7Seg من خلال متكاملة رقم 7447
باجمالي 23 منفذ
بالإضافة لمنفذين I2C او UART حسب الاحوال للربط بينهم
فعند اختصار المنافذ المشتركة والغاء منفذي الربط يكون الاجمالي 36 منفذ مستخدم
وعند اضافة المنافذ الغير مستخدمة او الاساسية لتشغيل البك VDD - VSS - MCLR - Vusb - OSC ومجموعهم 8 منافذ يكون المجموع 44 منفذ بما هو اكبر من العدد الفعلي وعدم وجود منافذ اضافية للتعديل او اي اضافة بالمستقبل في حالة استخدام منفذين I2C فقط للشاشة وافكر في المستقبل في اضافة مديول RTC واضافة 3 ازرار Digital IO
المشكلة الاخرى اني اخاف من ضياع بعض النبضات من خلال المقاطعات - فمثلا عند التوقف عند مقاطع 1 مثلا يكون مقاطع 0 فقد 3 نبضات
وايضا اقوم بتسجيل بعض القراءات في ذاكرة eeprom
فرأيت ان توزيع المعالجة على 2 بيك ووجود وقرة في المنافذ افضل من تكديس اوامر في بيك واحد بدون استيعاب مستقبلي لأي اضافات