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

   

الصورة الرمزية younescdse
younescdse
:: مهندس متواجد ::
تاريخ التسجيل: Sep 2009
المشاركات: 88
نشاط [ younescdse ]
قوة السمعة:
قديم 12-06-2016, 11:33 AM المشاركة 9   
افتراضي



السلام عليكم ورحمة الله وبركاته.
المسألة بسيطة جدا باستخدام 2 مفكك ترميز 7447
والكود تقليدي جدا باستخدام أي حلقة تكرار تعد بورت B من صفر لـ99 وفقط.
ولكن ما معنى ميلتي بليكساج التي قالها الأخ؟
وأما عن الكود فمثل:

Void main()
{
Trisb=0;
Portb=0;
While(1)
{
Delay_ms(1000);
Portb++;
if(portb=100){portb=0;}
}
}

وباستخدام 2مفكك ترميز و2سفن سجمنت تشاهد النتيجة... معذرة أنا الآن على الأندرويد لهذا لم أصور لك الدائرة.
لا تنسخ الكود ثم تلصقه لأني كتبته من أندرويد.
أنت قلت : وباستخدام 2مفكك ترميز و2سفن سجمنت تشاهد النتيجة !!!
كيف تربطها على البك؟؟؟ أعطني صورة أنت جربتها أخي من فضلك

اعلانات

الصورة الرمزية younescdse
younescdse
:: مهندس متواجد ::
تاريخ التسجيل: Sep 2009
المشاركات: 88
نشاط [ younescdse ]
قوة السمعة:
قديم 12-06-2016, 11:38 AM المشاركة 10   
افتراضي


السلام عليكم
[IMG] HTML[/IMG]
كود:
const char gg[]={63,6,91,79,102,109,125,7,127,111};
char x,y;
void main() {
portb=0;
trisb=0;
while(1)
{
 for(x=0;x<100;x++)
                  {
                  for(y=0;y<250;y++)
                  {
                   portb=(gg[x%10]+128);
                   delay_ms(2);
                   portb=0;
                   portb=gg[x/10];
                   delay_ms(2);
                   }
                   }
}
             }
تفضل اخى الكريم
وممكن فى الواقع تضع اى ترانستور من نوع pnp بدل يوابة النفى
من فضلك اشرح لي الكودين:
portb=(gg[x%10]+128);


portb=gg[x/10];

اعلانات اضافية ( قم بتسجيل الدخول لاخفائها )

magdy_3
:: مهندس متميز ::
تاريخ التسجيل: Aug 2006
الدولة: Philippines
المشاركات: 339
نشاط [ magdy_3 ]
قوة السمعة:
قديم 12-06-2016, 04:00 PM المشاركة 11   
افتراضي


السلام عليكم ورحمة الله
اخى الكريم
كود:
gg[]
معروفة لك وهى المصفوفة التى تحتوى على قيم التى تجعل بورت بى يشكل الارقام من 0 الى 9
و x%10 معناها باقى قسمة قيمة x على 10 بمعنى لو قيمة x ب 76
اذن x%10 تساوى 6 و x/10 تساوى 7
ودى بحتجها عشان اقسم قيمة x الى احاد لكى اعرضه على العارضة الاولى
وعشرات كى اعرضه على العارضة الثانية
اما القيمة 128 المضافة الى الكود الاول فائدتها هو ارسال القيمة 1 الى البت السابع الى بورت b لكى تطفى العارضة الثانية وتعمل العارضة الاولى بسبب وجود بوابة النفى فى حالة عرض قيمة الاحاد
وهى تكافئ
كود:
portb.f7=1;
هذه طريقة ال MultiPlexing

واذا حابب كود اسهل باستخدام مفكك الترميز 7447
انا فى الخدمة
وشكرا


التعديل الأخير تم بواسطة : magdy_3 بتاريخ 12-06-2016 الساعة 04:06 PM

الصورة الرمزية younescdse
younescdse
:: مهندس متواجد ::
تاريخ التسجيل: Sep 2009
المشاركات: 88
نشاط [ younescdse ]
قوة السمعة:
قديم 13-06-2016, 02:39 PM المشاركة 12   
افتراضي


السلام عليكم ورحمة الله
اخى الكريم
كود:
gg[]
معروفة لك وهى المصفوفة التى تحتوى على قيم التى تجعل بورت بى يشكل الارقام من 0 الى 9
و x%10 معناها باقى قسمة قيمة x على 10 بمعنى لو قيمة x ب 76
اذن x%10 تساوى 6 و x/10 تساوى 7
ودى بحتجها عشان اقسم قيمة x الى احاد لكى اعرضه على العارضة الاولى
وعشرات كى اعرضه على العارضة الثانية
اما القيمة 128 المضافة الى الكود الاول فائدتها هو ارسال القيمة 1 الى البت السابع الى بورت b لكى تطفى العارضة الثانية وتعمل العارضة الاولى بسبب وجود بوابة النفى فى حالة عرض قيمة الاحاد
وهى تكافئ
كود:
portb.f7=1;
هذه طريقة ال MultiPlexing

واذا حابب كود اسهل باستخدام مفكك الترميز 7447
انا فى الخدمة
وشكرا
بوابة النفي ما اسمها في برنامج المحاكات وكيف تعمل
اعطي الكود الاسهل

جزاك الله كل الخبير ان شاء الله


magdy_3
:: مهندس متميز ::
تاريخ التسجيل: Aug 2006
الدولة: Philippines
المشاركات: 339
نشاط [ magdy_3 ]
قوة السمعة:
قديم 13-06-2016, 10:12 PM المشاركة 13   
افتراضي


السلام عليكم ورحمة الله وبركاته
تفضل اخى
[IMG][/IMG]
الكود
كود:
void main()
{
portb=0;
trisb=0;
while(1)
       {
       for(portb=0;portb<154;portb++)
                    {
                    if((portb&15)==10)
                    portb=(portb&240)+16;
                    delay_ms(1000);
                    }
       }
             }


الصورة الرمزية younescdse
younescdse
:: مهندس متواجد ::
تاريخ التسجيل: Sep 2009
المشاركات: 88
نشاط [ younescdse ]
قوة السمعة:
قديم 20-06-2016, 06:17 PM المشاركة 14   
افتراضي


السلام عليكم ورحمة الله وبركاته
تفضل اخى
[IMG][/IMG]
الكود
كود:
void main()
{
portb=0;
trisb=0;
while(1)
       {
       for(portb=0;portb<154;portb++)
                    {
                    if((portb&15)==10)
                    portb=(portb&240)+16;
                    delay_ms(1000);
                    }
       }
             }
بارك الله فيك



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