منتديات الهندسة الكهربية والإلكترونية والميكاترونكس والكومبيوتر
هل تريد التفاعل مع هذه المساهمة؟ كل ما عليك هو إنشاء حساب جديد ببضع خطوات أو تسجيل الدخول للمتابعة.

مشروع أضواء مبرمجة متحركة بعدة نماذج والميكروكونترولر PIC12F675

اذهب الى الأسفل

مشروع أضواء مبرمجة متحركة بعدة نماذج والميكروكونترولر PIC12F675  Empty مشروع أضواء مبرمجة متحركة بعدة نماذج والميكروكونترولر PIC12F675

مُساهمة من طرف Admin الأحد مارس 06, 2016 10:44 pm

مشروع أضواء مبرمجة متحركة بعدة نماذج والميكروكونترولر PIC12F675 :
الدائرة الكهربية :


مشروع أضواء مبرمجة متحركة بعدة نماذج والميكروكونترولر PIC12F675  Fig110

1- دالة الإعدادات و الدالة الرئيسية وداخلها الحلقة الغير منتهية ، نبدأ الحلقة الغير منتهية بقراءة الجهد التناظرى من على الطرف المتصل بطرف المقاومة المتغيرة GP0/AN0(pin 7) وتحويله إلى عدد من 0 إلى 1024 وحفظ هذه القيمة فى متغير باسم AD_Val  ، الخطوة التالية هى نسخ هذه القيمة إلى متغير عداد التأخير الزمنى وهو باسم Delay_Val  ، وذلك لتحديد سرعة العرض ، وهذا يعنى أنه يجب علينا إعلان هذه المتغيرات بنوع unsigned int فى بداية البرنامج وقبل استخدامها فى البرنامج الرئيسى .
2- فى نهاية البرنامج يتم تحديد دوال نماذج الإضاءة المطلوب عرضها ولتكن بالمسمى
.RunSeq_02(Wink,RunSeq_01();,… RunSeq_00();,     وهذا يستلزم إنشاء دالة التأخير المتغير بالمسمى Delay(); ثم دالة مستقلة لكل نموذج ، ومن ثم يكون البرنامج بالشكل التالى يلى :




الكود:

//light chaser
//PIC12F675, Internal clock , MCLR disabled
http://Eng.F.Abdelaziz 6/3/2016
// variables
unsigned int AD_Val,Delay_Val ,i;
///////variable delay function/////////////
void Delay(){

  for(i=0;i<=Delay_Val;i++){
      Delay_us(1000); // 0 to 1023ms as Delay_Val=AD_Val
  }
}
//////////////////////
void Init(){
  TRISIO=0b00001001; //GP3can't be an output - always input
  CMCON = 0b00000111;   // comparators OFF
  ANSEL = 0b00000001;   // AN0 only is enabled (last 4 bits are enable bits {AN3:AN0}
  GPIO = 0b00000000;

  }
///////////////////////////////////////////////////
//////////////////////////////////////////////////
void RunSeq_00()
{
  GPIO = 0b00110110;
  Delay();
  GPIO = 0b00000000;
  Delay();


}
////////////////////

void RunSeq_01()
{
 //.................
}
////////////////////
void RunSeq_02()
{
  //....................
}
////////////////////////
void RunSeq_03()
{
  //...............
}
///////////////////////
void RunSeq_04()
{
  //.................
}
////////////////
void RunSeq_05()
{
  //....................
}
//////////////////
void RunSeq_06()
{
  //................
}
/////////////////
void RunSeq_07()
{
  //..................
}
////////////////
void RunSeq_08()
{
  ///////////////////
}
//////////////////////
void RunSeq_09()
{
  //..................
}
///////////////////
void RunSeq_10()
{
 //...................
}
///////////////////
// main program
void main()
{
  Init();
  while(1)
  {
    AD_Val = ADC_Read(0);
 Delay_Val = AD_Val ;



      RunSeq_00();
      RunSeq_01();
 RunSeq_02();
 RunSeq_03();
 RunSeq_04();
 RunSeq_05();
 RunSeq_06();
 RunSeq_07();
 RunSeq_08();
 RunSeq_09();
 RunSeq_10();




  }
}

Admin
Admin

عدد المساهمات : 1194
تاريخ التسجيل : 28/01/2014

https://fathallaabdelaziz.forumarabia.com

الرجوع الى أعلى الصفحة اذهب الى الأسفل

مشروع أضواء مبرمجة متحركة بعدة نماذج والميكروكونترولر PIC12F675  Empty رد: مشروع أضواء مبرمجة متحركة بعدة نماذج والميكروكونترولر PIC12F675

مُساهمة من طرف Admin الثلاثاء مارس 08, 2016 6:42 pm

المذبذب / الساعة
المذبذب / الساعة والتي توفر توقيت تعليمات PIC لا تحتاج إلى أن تكون مستقرة جدا ، ودائرة شبكة RC بسيطة (C1 / R14 + RV1) يكون فيها الكفايةومن ثم توفير الكريستال .
طرق التحكم فى سرعة الإضاءة : يوجد طريقتان
- من خلال مقاومة متغيرة RV1 توضع فى دائرة RC ، والتي تؤثر بشكل مباشر على التردد الأساسى لتوقيت تعليمات PIC .
- عن طريق البرنامج ، مع دالة بمتغير يتزايد عند كل مقاطعة بالمؤقت Timer 0 .
عمليا يتم وضع RV1 في وضع الوسط، ويتم ضبط السرعة عن طريق أزرار الضغط Speedup "تسريع" و SpeedDown

Admin
Admin

عدد المساهمات : 1194
تاريخ التسجيل : 28/01/2014

https://fathallaabdelaziz.forumarabia.com

الرجوع الى أعلى الصفحة اذهب الى الأسفل

الرجوع الى أعلى الصفحة

- مواضيع مماثلة
» تطبيق على المقاطعة الخارجية : برنامج أضواء متحركة بنماذج متعددة :
» الموسوعة الشاملة للدوائر العملية المبسطة :مؤقتات-عدادات-أضواء متحركة-مبينات-حساسات .
» مراجعة برمجة الميكروكونترولر PIC من خلال مشاريع الميكروكونترولر PIC16F877A مع الدايودات المشعة للضوء والمترجم ميكروسى برو :
» مشروع أضواء متلاحقة 8 مخارج متعدد النماذج والسرعات ، بسيط وذهيد ياستخدام الميكروكونترولر PIC16F628A
» المشاريع المتوسطة : 1- مشروع عداد السرعة "التاكوميتر" Tachometer باستخدام الميكروكونترولر PIC

 
صلاحيات هذا المنتدى:
لاتستطيع الرد على المواضيع في هذا المنتدى