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

   

M Mrad
:: مهندس ::
تاريخ التسجيل: Mar 2014
المشاركات: 8
نشاط [ M Mrad ]
قوة السمعة:
قديم 21-03-2014, 11:13 PM المشاركة 529   
افتراضي



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

اعلانات

M Mrad
:: مهندس ::
تاريخ التسجيل: Mar 2014
المشاركات: 8
نشاط [ M Mrad ]
قوة السمعة:
قديم 21-03-2014, 11:27 PM المشاركة 530   
افتراضي


السلام عليكم ورحمة الله وبركاتة
عندي مشكلة بمسجل الازحة لم يعمل معي سوى 2 مسجل ازاحه يعني 16 عامود من المتركس وعندما اقوم بتوصيل المسجل الثالث تضيئ جميع اليد
هل تعتقد انا يجب تعدل الكود

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

الصورة الرمزية ناصراحمد2
ناصراحمد2
:: عضو ذهبي ::
تاريخ التسجيل: Jul 2009
الدولة: EGYPT
المشاركات: 1,315
نشاط [ ناصراحمد2 ]
قوة السمعة:
قديم 22-03-2014, 01:50 AM المشاركة 531   
افتراضي


السلام عليكم ورحمة الله وبركاتة
عندي مشكلة بمسجل الازحة لم يعمل معي سوى 2 مسجل ازاحه يعني 16 عامود من المتركس وعندما اقوم بتوصيل المسجل الثالث تضيئ جميع اليد
هل تعتقد انا يجب تعدل الكود
وعليكم السلام ورحمة الله وبركاتة
اهلا ومرحبا بك فى الموضوع واهلا بك فى القرية الالكترونية
يسعدنى جدا ان اجد ان اولى المشاركات هى فى موضوعى بسيط هذا
=====
يفضل ان توضح اكثر اى كود استخدمت ؟؟
وبشكل عام الشرح يوضح ان عند استخدام مسجلات الازاحة بيكون هناك خطوات
وهذة الخطوات تكون بعدد 8 خطوات لو مستخدم مسجل واحد وعدد 16 لو عدد 2 مسجل و24 لو ثلاثة وهكذا ..........
وان فى حالة عدد الخطوات اقل من بنات مسجلات الازاحة سوف يتكرر العرض
بعد العدد المحدد
اما فى حالة عدم ظهور داتا على المسجل الاخير
اى لو كنت محدد 8 خطوات ومستخدم 2 مسجل مثلا
ولم يظهر تكرار على المسجل الاخر
فهذا يعنى احتمالين الاول التوصيلات للمسجل 2 خطا
او ان جملة (فور) قصيرة جدا وانا لا اعتقد هذا
حاول الاستعانة بصورة لمسجل الازاحة لتتعرف على الارجل وتتم التوصيلات بشكل صحيح .
وان لم تحل المشكلة فتفضل بوضع توضيحات اكثر لاى مشكلة تصادفك
تحياتى لك وتمنياتى لكم جميعا بالتوفيق الدائم


M Mrad
:: مهندس ::
تاريخ التسجيل: Mar 2014
المشاركات: 8
نشاط [ M Mrad ]
قوة السمعة:
قديم 23-03-2014, 12:23 AM المشاركة 532   
افتراضي


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


M Mrad
:: مهندس ::
تاريخ التسجيل: Mar 2014
المشاركات: 8
نشاط [ M Mrad ]
قوة السمعة:
قديم 23-03-2014, 12:25 AM المشاركة 533   
افتراضي


كود:
char d0=0b00000000;
char d1=0b01111111;
char d2=0b00000010;
char d3=0b00000100;
char d4=0b00000010; ////
char d5=0b01111111;
char d6=0b00000000;
char d7=0b01111111;
char d8=0b00001001;
char d9=0b00011001;
char d10=0b00100110;
char d11=0b01000000;
char d12=0b00000000;
char d13=0b01111110;
char d14=0b00001001;
char d15=0b00001001;
char d16=0b00001001;
char d17=0b01111110; ////
char d18=0b00000000;
char d19=0b01111111;
char d20=0b01000001;
char d21=0b01000001;
char d22=0b01000010;
char d23=0b00111100;
char d24=0b00000000;
char d25=0b00000000;
char d26=0b00000000;
char d27=0b01111111;
char d28=0b01001001;
char d29=0b01001001;
char d30=0b01001001;
char d31=0b01001001;
char d32=0b00000000;
char d33=0b01111111;
char d34=0b01000000;
char d35=0b01000000; ////
char d36=0b01000000;
char d37=0b01000000;
char d38=0b00000000;
char d39=0b01111111;
char d40=0b01001001;
char d41=0b01001001;
char d42=0b01001001;
char d43=0b01001001;
char d44=0b00000000;
char d45=0b00111110;
char d46=0b01000001;
char d47=0b01000001;
char d48=0b01000001;
char d49=0b01000001;
char d50=0b00000000;
char d51=0b00000001;
char d52=0b00000001;
char d53=0b01111111;
char d54=0b00000001;
char d55=0b00000001;
char d56=0b00000000;
char d57=0b01111111;
char d58=0b00001001;
char d59=0b00011001;
char d60=0b00101001;
char d61=0b01000110;
char d62=0b00000000;
char d63=0b01000001;
char d64=0b01000001;
char d65=0b01111111;
char d66=0b01000001;
char d67=0b01000001;
char d68=0b00000000;
char d69=0b00111110;
char d70=0b01000001;
char d71=0b01000001;
char d72=0b01000001;
char d73=0b01000001;
char d74=0b00000000;
char d75=0b00000000;
char d76=0b00000000;
char d77=0b00000000;
char d78=0b00000000;
 char x;
 void main() {
 TRISA=0;
 TRISB=0;
portb=0;
porta=0;



loop:

for (x=0;x<64;x++)   {
porta.f2=1;
  ////////////////////////////////////////
porta.f1=1;   porta.f1=0;
   portb=d78;  delay_us(250);
   porta.f0=1;porta.f1=1; porta.f1=0;  porta.f0=0;

   portb=d77;  delay_us(250);
   porta.f0=1;porta.f1=1; porta.f1=0;  porta.f0=0;
   
   portb=d76;  delay_us(250);
   porta.f0=1;porta.f1=1; porta.f1=0;  porta.f0=0;
   
   portb=d75;  delay_us(250);
   porta.f0=1;porta.f1=1; porta.f1=0;  porta.f0=0;
   
   portb=d74;  delay_us(250);
   porta.f0=1;porta.f1=1; porta.f1=0;  porta.f0=0;

   portb=d73;  delay_us(250);
   porta.f0=1;porta.f1=1; porta.f1=0;  porta.f0=0;

   portb=d72;  delay_us(250);
   porta.f0=1;porta.f1=1; porta.f1=0;  porta.f0=0;

   portb=d71;  delay_us(250);
   porta.f0=1;porta.f1=1; porta.f1=0;  porta.f0=0;

   portb=d70;  delay_us(250);
  porta.f0=1;porta.f1=1; porta.f1=0;  porta.f0=0;

   portb=d69;  delay_us(250);
  porta.f0=1;porta.f1=1; porta.f1=0;  porta.f0=0;

   portb=d68;  delay_us(250);
     porta.f0=1;porta.f1=1; porta.f1=0;  porta.f0=0;

   portb=d67;  delay_us(250);
   porta.f0=1;porta.f1=1; porta.f1=0;  porta.f0=0;


   portb=d66;  delay_us(250);
    porta.f0=1;porta.f1=1; porta.f1=0;  porta.f0=0;

   portb=d65;  delay_us(250);
    porta.f0=1;porta.f1=1; porta.f1=0;  porta.f0=0;


   portb=d64;  delay_us(250);

   porta.f0=1;porta.f1=1; porta.f1=0;  porta.f0=0;


   portb=d63;  delay_us(250);
   porta.f0=1;porta.f1=1; porta.f1=0;  porta.f0=0;



   portb=d62;  delay_us(250);
   porta.f0=1;porta.f1=1; porta.f1=0;  porta.f0=0;


   portb=d61;  delay_us(250);
  porta.f0=1;porta.f1=1; porta.f1=0;  porta.f0=0;

   portb=d60;  delay_us(250);
   ////
   porta.f0=1;porta.f1=1; porta.f1=0;  porta.f0=0;

   portb=d59;  delay_us(250);
   porta.f0=1;porta.f1=1; porta.f1=0;  porta.f0=0;

   portb=d58;  delay_us(250);
   ////
   porta.f0=1;porta.f1=1; porta.f1=0;  porta.f0=0;

   portb=d57;  delay_us(250);
   porta.f0=1;porta.f1=1; porta.f1=0;  porta.f0=0;

   portb=d56;  delay_us(250);
   porta.f0=1;porta.f1=1; porta.f1=0;  porta.f0=0;

   portb=d55;  delay_us(250);
  porta.f0=1;porta.f1=1; porta.f1=0;  porta.f0=0;

   portb=d54;  delay_us(250);
  porta.f0=1;porta.f1=1; porta.f1=0;  porta.f0=0;

   portb=d53;  delay_us(250);
     porta.f0=1;porta.f1=1; porta.f1=0;  porta.f0=0;

   portb=d52;  delay_us(250);
   porta.f0=1;porta.f1=1; porta.f1=0;  porta.f0=0;


   portb=d51;  delay_us(250);
    porta.f0=1;porta.f1=1; porta.f1=0;  porta.f0=0;

   portb=d50;  delay_us(250);
    porta.f0=1;porta.f1=1; porta.f1=0;  porta.f0=0;


   portb=d49;  delay_us(250);

   porta.f0=1;porta.f1=1; porta.f1=0;  porta.f0=0;


   portb=d48;  delay_us(250);
   porta.f0=1;porta.f1=1; porta.f1=0;  porta.f0=0;



   portb=d47;  delay_us(250);
   porta.f0=1;porta.f1=1; porta.f1=0;  porta.f0=0;


   portb=d46;  delay_us(250);
  porta.f0=1;porta.f1=1; porta.f1=0;  porta.f0=0;

   portb=d45;  delay_us(250);
   ////
   porta.f0=1;porta.f1=1; porta.f1=0;  porta.f0=0;

   portb=d44;  delay_us(250);
   porta.f0=1;porta.f1=1; porta.f1=0;  porta.f0=0;

   portb=d43;  delay_us(250);
   porta.f0=1;porta.f1=1; porta.f1=0;  porta.f0=0;

   portb=d42;  delay_us(250);
  porta.f0=1;porta.f1=1; porta.f1=0;  porta.f0=0;

   portb=d41;  delay_us(250);
  porta.f0=1;porta.f1=1; porta.f1=0;  porta.f0=0;

   portb=d40;  delay_us(250);
     porta.f0=1;porta.f1=1; porta.f1=0;  porta.f0=0;

   portb=d39;  delay_us(250);
   porta.f0=1;porta.f1=1; porta.f1=0;  porta.f0=0;


   portb=d38;  delay_us(250);
    porta.f0=1;porta.f1=1; porta.f1=0;  porta.f0=0;

   portb=d37;  delay_us(250);
    porta.f0=1;porta.f1=1; porta.f1=0;  porta.f0=0;


   portb=d36;  delay_us(250);

   porta.f0=1;porta.f1=1; porta.f1=0;  porta.f0=0;


   portb=d35;  delay_us(250);
   porta.f0=1;porta.f1=1; porta.f1=0;  porta.f0=0;



   portb=d34;  delay_us(250);
   porta.f0=1;porta.f1=1; porta.f1=0;  porta.f0=0;


   portb=d33;  delay_us(250);
  porta.f0=1;porta.f1=1; porta.f1=0;  porta.f0=0;

   portb=d32;  delay_us(250);
  porta.f0=1;porta.f1=1; porta.f1=0;  porta.f0=0;




   portb=d31;  delay_us(250);
     porta.f0=1;porta.f1=1; porta.f1=0;  porta.f0=0;


   portb=d30;  delay_us(250);
   porta.f0=1;porta.f1=1; porta.f1=0;  porta.f0=0;


   portb=d29;  delay_us(250);
    porta.f0=1;porta.f1=1; porta.f1=0;  porta.f0=0;


   portb=d28;  delay_us(250);
   ////
   porta.f0=1;porta.f1=1; porta.f1=0;  porta.f0=0;

   portb=d27;  delay_us(250);
   porta.f0=1;porta.f1=1; porta.f1=0;  porta.f0=0;

   portb=d26;  delay_us(250);
   porta.f0=1;porta.f1=1; porta.f1=0;  porta.f0=0;

   portb=d25;  delay_us(250);
  porta.f0=1;porta.f1=1; porta.f1=0;  porta.f0=0;

   portb=d24;  delay_us(250);
  porta.f0=1;porta.f1=1; porta.f1=0;  porta.f0=0;

   portb=d23;  delay_us(250);
     porta.f0=1;porta.f1=1; porta.f1=0;  porta.f0=0;

   portb=d22;  delay_us(250);
   porta.f0=1;porta.f1=1; porta.f1=0;  porta.f0=0;


   portb=d21;  delay_us(250);
    porta.f0=1;porta.f1=1; porta.f1=0;  porta.f0=0;

   portb=d20;  delay_us(250);
    porta.f0=1;porta.f1=1; porta.f1=0;  porta.f0=0;


   portb=d19;  delay_us(250);

   porta.f0=1;porta.f1=1; porta.f1=0;  porta.f0=0;


   portb=d18;  delay_us(250);
   porta.f0=1;porta.f1=1; porta.f1=0;  porta.f0=0;



   portb=d17;  delay_us(250);
   porta.f0=1;porta.f1=1; porta.f1=0;  porta.f0=0;


   portb=d16;  delay_us(250);
  porta.f0=1;porta.f1=1; porta.f1=0;  porta.f0=0;

   portb=d15;  delay_us(250);
  porta.f0=1;porta.f1=1; porta.f1=0;  porta.f0=0;




   portb=d14;  delay_us(250);
     porta.f0=1;porta.f1=1; porta.f1=0;  porta.f0=0;


   portb=d13;  delay_us(250);
   porta.f0=1;porta.f1=1; porta.f1=0;  porta.f0=0;


   portb=d12;  delay_us(250);
    porta.f0=1;porta.f1=1; porta.f1=0;  porta.f0=0;








 }


d0=d1;
d1=d2;
d2=d3;
d3=d4;
d4=d5;
d5=d6;
d6=d7;
d7=d8;
d8=d9;
d9=d10;
d10=d11;
d11=d12;
d12=d13;

d13=d14;
d14=d15;
d15=d16;
d16=d17;
d17=d18;
d18=d19;
d19=d20;
d20=d21;
d21=d22;
d22=d23;
d23=d24;

d24=d25;
d25=d26;
d26=d27;
d27=d28;
d28=d29;
d29=d30;

d30=d31;
d31=d32;
d32=d33;
d33=d34;
d34=d35;
d35=d36;
d36=d37;
d37=d38;
d38=d39;
d39=d40;
d40=d41;
d41=d42;
d42=d43;
d43=d44;
d44=d45;
d45=d46;
d46=d47;
d47=d48;
d48=d49;
d49=d50;
d50=d51;
d51=d52;
d52=d53;
d53=d54;
d54=d55;
d55=d56;
d56=d57;
d57=d58;
d58=d59;
d59=d60;
d60=d61;
d61=d62;
d62=d63;
d63=d64;
d64=d65;
d65=d66;
d66=d67;
d67=d68;
d68=d69;
d69=d70;
d70=d71;
d71=d72;
d72=d73;
d73=d74;
d74=d75;
d75=d76;
d76=d77;
d77=d78;
d78=d0;

          goto loop;

        }


الصورة الرمزية ناصراحمد2
ناصراحمد2
:: عضو ذهبي ::
تاريخ التسجيل: Jul 2009
الدولة: EGYPT
المشاركات: 1,315
نشاط [ ناصراحمد2 ]
قوة السمعة:
قديم 23-03-2014, 04:31 AM المشاركة 534   
افتراضي


السلام عليكم ورحمة الله وبركاتة
اخي ناصر انا صرلي وقد طويل غم حاول ان اصنع ماتركس ولم انجح بعد قرائة
موضوعك المميز نجحت في صنع ماتركس شكراا لك اخي ناصر جزاك الله خيرا
مشكلتي هي عند وصل الطرف 8 للمسجل الثالث مع لطرف 8 للمسجلات
الاول والثاني تضي كل اليد في المتركس.
عند توصيل مسجلين فقط تعمل بشكل جيد.
وليعمل مع المسجل الثالث اقوم بوصك طرف 8 للمسجل 3 مع ab للمسجل الاول
اعتقد هذا خطئ ولكن يعمل بشكل جيد
تحياتى لك
السلام عليكم ورحمة اله وبركاتة
بالنسبة للكود فهو مجهز لكى يعمل على عدد كبير من المسجلات فالخطوات بة كثيرة
اما بخصوص ردك المقتبس هنا
فلم يوضح اى شىء واين هو الطرف ab ؟؟؟؟
اليك صورة لمسجلالازاحة 74hc595


وهذة صورة للمسجل 74hc164

وعموما لو كانت الماتركس تعمل بشكل جيد فاعتقد ان هذا هو المطلوب ..

يمكنك مراجعة اطراف المسجل فى برتوس وهى نفس ارقامها فى الحقيقة
اما بخصوص البن رقم 8
ففى حالة 595 فهو ارضى
اما فى حالة 164 فهو cp وهو يتم توصيلة من المسجل رقم 1 الى dsa فى المسجل الذى يلية وهو يقوم بارسال الداتا للمسجل الذى يلية
والبديل عنة فى 595 هو البن رقم 9 Q7 مكرر
وهو يقوم بتوصيلة الى البن ds فى المسجل الذى يلية ليرسل لة الداتا
ويمكنك التاكد والتجربة اكثر على البنات والتاكد منها على برتوس
تمنياتى لك بالتوفيق


التعديل الأخير تم بواسطة : ناصراحمد2 بتاريخ 23-03-2014 الساعة 04:41 AM

hamadalla31
:: مهندس متميز ::
تاريخ التسجيل: Mar 2009
المشاركات: 585
نشاط [ hamadalla31 ]
قوة السمعة:
قديم 23-03-2014, 12:12 PM المشاركة 535   
sun تشغيل الرسومات وفونتات الكمبيوتر علي شاشات الدوت ماتريكس


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


M Mrad
:: مهندس ::
تاريخ التسجيل: Mar 2014
المشاركات: 8
نشاط [ M Mrad ]
قوة السمعة:
قديم 23-03-2014, 09:31 PM المشاركة 536   
افتراضي


ﺍﻟﺴﻼﻡ ﻋﻠﻴﻜﻢ ﻭﺭﺣﻤﺔ ﺍﻟﻠﻪ ﻭﺑﺮﻛﺎﺗﺔ
شكرا لك اخي نا صر على التوضيح . اخي ناصر انا اكيد انو كل التوصيل صحيح ساضع ان شاء الله صور توضيحيه لطريقة توصيل . انا اقوم بالتنفيذ عمليا وهذا كله بفضل الله وبفضل الله وشرحك الرائع
تحياتي لك اخي ناصر



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