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

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

الصورة الرمزية ناصراحمد2
ناصراحمد2
:: عضو ذهبي ::
تاريخ التسجيل: Jul 2009
الدولة: EGYPT
المشاركات: 1,334
نشاط [ ناصراحمد2 ]
قوة السمعة:98
قديم 13-10-2009, 09:29 PM المشاركة 1   
افتراضي لفظ الجلالة بال led matrix Twitter FaceBook Google+



السلام عليكم ورحمة الله وبركاتة


بعد عناء طويل جدا جدا


صممت هذا الكود باستخدام 74hc164 مع الميكرو pic16f84a


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

الكود عبارة عن كلمة ((لفظ الجلالة)) فى وضع ثابت

بالاضافة الى (( نقطة متحركة من اقصى اليمين اقصى اليسار ))
واتمنى ان يستفيد منة الاخرين



تفضلو حملوا




((((((الكود مع ملف البيريتوس مع صورة __ اذكر اسم الله واضغط__)))

وان لم يعمل الرابط الاول

اضغط هنا

واجدد شكرى لاستاذى ومعلمى ((م/احمد سمير ))

وكل من شارك فى هذا الموضوع



++++++++++++++++++++++++



ولا يزال : البحث جارى

عن التعامل مع مسجلات الازاحة كما يجب

لان هذة الطريقة تستهلك مساحة الميكرو بسرعة رهيبة
ويجب اللجؤ الى الاختصارات والداتا وخلافة...........





واليكم الكود




كود:
char x; void main() { portb=0; porta=0; TRISA=0; TRISB=0; loop: for (x=0;x<100;x++) { /////////////////////////===بداية كود لفظ الجلالة====///////////////////// porta.f1=1; porta.f1=0; porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0; porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0; porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0; porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0; porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0; porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0; porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0; portb=0b00111110; delay_ms(1); ////////////////////////////////////////////// porta.f1=1; porta.f1=0; porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0; porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0; porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0; porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0; porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0; porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0; portb=0b00000000; delay_ms(1); porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0; ////////////////////////////////////////////// porta.f1=1; porta.f1=0; porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0; porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0; porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0; porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0; porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0; portb=0b00111110; delay_ms(1); porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0; porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0; ////////////////////////////////////////////// porta.f1=1; porta.f1=0; porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0; porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0; porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0; porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0; portb=0b00100000; delay_ms(1); porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0; porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0; porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0; ////////////////////////////////////////////// porta.f1=1; porta.f1=0; porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0; porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0; porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0; portb=0b00111110; delay_ms(1); porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0; porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0; porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0; porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0; ////////////////////////////////////////////// porta.f1=1; porta.f1=0; porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0; porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0; portb=0b00100000; delay_ms(1); porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0; porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0; porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0; porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0; porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0; ////////////////////////////////////////////// porta.f1=1; porta.f1=0; porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0; portb=0b00111100; delay_ms(1); porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0; porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0; porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0; porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0; porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0; porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0; ////////////////////////////////////////////// porta.f1=1; porta.f1=0; portb=0b00001100; delay_ms(1); porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0; porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0; porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0; porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0; porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0; porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0; porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0; } //////////////////////=======نهااية كود لفظ الجلالة=====///////////// //++++++++++++++بداية كود النقطة المتحركة++++++ /////////for (x=0;x<20;x++) { ////////////////////////////////////////////// porta.f1=1; porta.f1=0; porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0; porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0; porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0; porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0; porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0; porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0; porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0; portb=0b10000000; delay_ms(100); ////////////////////////////////////////////// porta.f1=1; porta.f1=0; porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0; porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0; porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0; porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0; porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0; porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0; portb=0b01000000; delay_ms(100); porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0; ////////////////////////////////////////////// porta.f1=1; porta.f1=0; porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0; porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0; porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0; porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0; porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0; portb=0b00100000; delay_ms(100); porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0; porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0; ////////////////////////////////////////////// porta.f1=1; porta.f1=0; porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0; porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0; porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0; porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0; portb=0b00010000; delay_ms(100); porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0; porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0; porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0; ////////////////////////////////////////////// porta.f1=1; porta.f1=0; porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0; porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0; porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0; portb=0b00001000; delay_ms(100); porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0; porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0; porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0; porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0; ////////////////////////////////////////////// porta.f1=1; porta.f1=0; porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0; porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0; portb=0b00000100; delay_ms(100); porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0; porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0; porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0; porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0; porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0; ////////////////////////////////////////////// porta.f1=1; porta.f1=0; porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0; portb=0b00000010; delay_ms(100); porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0; porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0; porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0; porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0; porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0; porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0; ////////////////////////////////////////////// porta.f1=1; porta.f1=0; portb=0b00000001; delay_ms(100); porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0; porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0; porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0; porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0; porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0; porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0; porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0; ///////////////نهاية كود النقطة المتحركة/////// } ////////++++++++++++++++ goto loop; ///// }

ملحوظة قمت بوضع فواصل بين كل امر والاخر

حتى يتسنى لنا فهم الاوامر كل على حدة

واتمنى من الله

ان يفيد هذا الموضوع كل من يحتاج الية



التعديل الأخير تم بواسطة : ناصراحمد2 بتاريخ 14-10-2009 الساعة 11:30 PM
اعلانات

الصورة الرمزية حيدر علاج حسن
حيدر علاج حسن
:: مشرف منتدى الهندسة الكهربائية ::
تاريخ التسجيل: Mar 2005
الدولة: IRAQ
المشاركات: 10,061
نشاط [ حيدر علاج حسن ]
قوة السمعة:395
قديم 13-10-2009, 11:31 PM المشاركة 2   
افتراضي


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

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

الصورة الرمزية ناصراحمد2
ناصراحمد2
:: عضو ذهبي ::
تاريخ التسجيل: Jul 2009
الدولة: EGYPT
المشاركات: 1,334
نشاط [ ناصراحمد2 ]
قوة السمعة:98
قديم 14-10-2009, 12:56 AM المشاركة 3   
افتراضي


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


ننتظر الكود الجديد منك م/ حيدر


الصورة الرمزية حيدر علاج حسن
حيدر علاج حسن
:: مشرف منتدى الهندسة الكهربائية ::
تاريخ التسجيل: Mar 2005
الدولة: IRAQ
المشاركات: 10,061
نشاط [ حيدر علاج حسن ]
قوة السمعة:395
قديم 14-10-2009, 05:46 PM المشاركة 4   
افتراضي


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

حيدر علاج حسن

الصورة الرمزية ناصراحمد2
ناصراحمد2
:: عضو ذهبي ::
تاريخ التسجيل: Jul 2009
الدولة: EGYPT
المشاركات: 1,334
نشاط [ ناصراحمد2 ]
قوة السمعة:98
قديم 14-10-2009, 09:33 PM المشاركة 5   
افتراضي


تفضلو الكود الجديد

وهو عبارة عن ((لفظ الجلالة)) متحركة


هذا الكود رغم انة متحرك الا انة لا يستهلك مساحة مثل الذى قبلة






ملحوظة مهمة
عند نسخ الكود ولصقة داخل الميكروسى
سوف تجد اخر سطر

رابط لمنتدى القرية

يتم ادراجة اوتوماتيكيا

فوجب عليكم حزفة





كود:
char d0=0b00000000; char d1=0b00111110; char d2=0b00000000; char d3=0b00111110; char d4=0b00100000; char d5=0b00111110; char d6=0b00100000; char d7=0b00111100; char d8=0b00001100; char d9=0b00000000; char d10=0b00000000; char d11=0b00000000; char d12=0b00000000; char x; void main() { portb=0; porta=0; TRISA=0; TRISB=0; loop: for (x=0;x<55;x++) { //////////////////////////////////////// porta.f1=1; porta.f1=0; porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0; porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0; porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0; porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0; porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0; porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0; porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0; portb=d0; delay_us(500); ////////////////////////////////////////////// porta.f1=1; porta.f1=0; porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0; porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0; porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0; porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0; porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0; porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0; portb=d1; delay_us(500); porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0; ////////////////////////////////////////////// porta.f1=1; porta.f1=0; porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0; porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0; porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0; porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0; porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0; portb=d2; delay_us(500); porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0; porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0; ////////////////////////////////////////////// porta.f1=1; porta.f1=0; porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0; porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0; porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0; porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0; portb=d3; delay_us(500); porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0; porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0; porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0; ////////////////////////////////////////////// porta.f1=1; porta.f1=0; porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0; porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0; porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0; portb=d4; delay_us(500); porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0; porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0; porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0; porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0; ////////////////////////////////////////////// porta.f1=1; porta.f1=0; porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0; porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0; portb=d5; delay_us(500); porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0; porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0; porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0; porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0; porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0; ////////////////////////////////////////////// porta.f1=1; porta.f1=0; porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0; portb=d6; delay_us(500); porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0; porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0; porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0; porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0; porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0; porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0; ////////////////////////////////////////////// porta.f1=1; porta.f1=0; portb=d7; delay_us(500); porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0; porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0; porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0; porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0; porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0; porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0; porta.f0=1;porta.f1=1; porta.f1=0; porta.f0=0; } /////xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ////xxxxxxxxxxهنا اهم نقطة فى الكود وهى سبب التحريكxxxxxx 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=d0; ////xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx goto loop; ///// }

طبعا يتم تجربة الكود على نفس ملف البريتوس السابق

واتمنى الاستفادة للجميع


التعديل الأخير تم بواسطة : ناصراحمد2 بتاريخ 14-10-2009 الساعة 09:56 PM

الصورة الرمزية SAMI-ALG
SAMI-ALG
:: مهندس جيد ::
تاريخ التسجيل: Jul 2009
الدولة: الجزائر
المشاركات: 199
نشاط [ SAMI-ALG ]
قوة السمعة:0
قديم 14-10-2009, 10:04 PM المشاركة 6   
افتراضي


السلام عليكم ورحمة الله وبركاته

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

ودمت في رعاية الله وحفظه


الصورة الرمزية حيدر علاج حسن
حيدر علاج حسن
:: مشرف منتدى الهندسة الكهربائية ::
تاريخ التسجيل: Mar 2005
الدولة: IRAQ
المشاركات: 10,061
نشاط [ حيدر علاج حسن ]
قوة السمعة:395
قديم 14-10-2009, 10:18 PM المشاركة 7   
افتراضي


ارجو تحميل الملفات على موقع اخر ..

حيدر علاج حسن

الصورة الرمزية ناصراحمد2
ناصراحمد2
:: عضو ذهبي ::
تاريخ التسجيل: Jul 2009
الدولة: EGYPT
المشاركات: 1,334
نشاط [ ناصراحمد2 ]
قوة السمعة:98
قديم 14-10-2009, 11:24 PM المشاركة 8   
افتراضي


ارجو تحميل الملفات على موقع اخر ..
تم رفع الملفات كاملة على موقع اخر







إضافة رد

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

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

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


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

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