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

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

الصورة الرمزية عبدالله حجازى
عبدالله حجازى
:: عضو ذهبي ::
تاريخ التسجيل: Apr 2011
الدولة: مصر .. محافظة دمياط
المشاركات: 1,688
نشاط [ عبدالله حجازى ]
قوة السمعة:111
قديم 19-04-2017, 05:52 AM المشاركة 1   
افتراضي نظام الكتروني لشحن البطاريه وفصل الشحن عند الإكتمال اتوماتيكي Twitter FaceBook Google+



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


اقدم لكم اليوم ....

نظام الكتروني لشحن البطاريه وفصل الشحن عند الإكتمال اتوماتيكي,,


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


اليكم الدائرة ..




كود البرنامج ..


كود:
   

   #define  FOSC_HS    0X31FB ;
   #define temr  delay_ms(350);
    unsigned int ADC_LUX, ADC_ADJ;
    unsigned long int TCOUNT;
    

   // Interrupt Handler
    void interrupt()
  {
        ADC_ADJ= ADC_Read(1);
    // Timer0 Interrupt - Freq = 15.26 Hz - Period = 0.065536 seconds
  if (INTCON.TMR0IF == 1) // timer 0 interrupt flag
  {
    TCOUNT = TCOUNT + 1;
    if (TCOUNT == 100000) //332300 COUNT EQUALS TO 8 HOURS
    TCOUNT = 0;
   // GPIO.GP4 = ~GPIO.GP4; // Toggle PORTB bit0 LED
    INTCON.TMR0IF = 0; // clear the flag
    INTCON.TMR0IE = 1; // reenable the interrupt
    TMR0 = 0; // reset the timer preset count

   }
 }

 //********************************************************//

       void main() {
       FOSC_HS
       ADC_Init();
       ADCON0 = 0x00;
       ANSEL = 0X03; // AN0 & AN1 CONFIGURED AS ANALOGUE INPUT
       TRISIO = 0b00001010;
       GPIO = 0X00;
       CMCON = 10;

     //Timer0 Registers Prescaler= 256 - TMR0 Preset = 0 - Freq = 15.26 Hz - Period = 0.065536 seconds
     OPTION_REG.T0CS = 0; // bit 5 TMR0 Clock Source Select bit...0 = Internal Clock (CLKO) 1 = Transition on T0CKI pin
     OPTION_REG.T0SE = 0; // bit 4 TMR0 Source Edge Select bit 0 = low/high 1 = high/low
     OPTION_REG.PSA = 0; // bit 3 Prescaler Assignment bit...0 = Prescaler is assigned to the Timer0
     OPTION_REG.PS2 = 1; // bits 2-0 PS2:PS0: Prescaler Rate Select bits
     OPTION_REG.PS1 = 1;
     OPTION_REG.PS0 = 1;
     TMR0 = 0; // preset for timer register

    // Interrupt Registers
    INTCON = 0; // clear the interrpt control register
    INTCON.TMR0IE = 1; // bit5 TMR0 Overflow Interrupt Enable bit...1 = Enables the TMR0 interrupt
    INTCON.TMR0IF = 0; // bit2 clear timer 0 interrupt flag
    INTCON.GIE = 1; // bit7 global interrupt enable

     loop1:   GPIO=0;
    delay_ms(500);

     while(1)
  {
     GPIO=0; temr   GPIO=1; temr
     GPIO=5; temr   GPIO=21; temr
     if(ADC_ADJ>1000){ GPIO=53; temr goto loop;   }
   }

    loop:
    GP5_bit=1; temr
   while(1)
  {
  
    GP4_bit=1; GP2_bit=1;GP0_bit=1;temr  GP4_bit=0; GP2_bit=0;GP0_bit=0;temr
    if(ADC_ADJ<900){ GPIO=0; temr goto loop1;   }

  }

}


سيتم وضع شرح مختصر لفكرة عمل البرنامج والدائرة ..


تحياتي للجميع ... وكل عام وأنتم بخير وأسرة المنتدي الكبير .. "" القرية الإلكترونية ""

اعلانات

306hamza
:: مهندس ::
تاريخ التسجيل: Jun 2015
المشاركات: 34
نشاط [ 306hamza ]
قوة السمعة:0
قديم 19-04-2017, 09:13 PM المشاركة 2   
افتراضي


بارك الله فيك اخ عبد الله
اريد ان اسالك بما ان هناك دوائر بسيطة تعمل بدون برمجة
ماهي خواص هذه الدائرة

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

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

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

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


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

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