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

   

الصورة الرمزية ابو نور وبس
ابو نور وبس
:: مهندس متواجد ::
تاريخ التسجيل: Jul 2013
المشاركات: 55
نشاط [ ابو نور وبس ]
قوة السمعة:
قديم 30-07-2013, 01:36 PM المشاركة 9   
افتراضي





اخى الكريم اشكرك ولكن لم اتوصل الى شئ

مفيد من هذا الموقع


التعديل الأخير تم بواسطة : ابو نور وبس بتاريخ 30-07-2013 الساعة 01:40 PM
اعلانات

الصورة الرمزية احمدمعاطى
احمدمعاطى
:: مهندس جيد ::
تاريخ التسجيل: Apr 2009
الدولة: مدينة الاسكندريه
المشاركات: 272
نشاط [ احمدمعاطى ]
قوة السمعة:
قديم 31-07-2013, 07:09 PM المشاركة 10   
افتراضي


شكرا على المرور الكريم اخى احمد لكن السويتشات

لم تعمل بشكل جيدا ارويد شرح كيفيةعمل السويتشات

ورجاء عمل bcb للدائرة
تفضل اخى هنا المشروع مبسط
عند الضغط على السويتش p مع + او - تستطيع تغير درجة الحراره المطلوبه
مع تحرير سويتش p تقرا درجة الحراره المقاسه
واى سؤال انا معك


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

الصورة الرمزية ابو نور وبس
ابو نور وبس
:: مهندس متواجد ::
تاريخ التسجيل: Jul 2013
المشاركات: 55
نشاط [ ابو نور وبس ]
قوة السمعة:
قديم 01-08-2013, 01:27 AM المشاركة 11   
ha


اشكرك اخى أحمد معاطى لكن هناك طلب

وهو التعديل على الكود لحفظ درجة الحرارة

المطلوبه عند انقطاع التيار الكهربائى


التعديل الأخير تم بواسطة : ابو نور وبس بتاريخ 01-08-2013 الساعة 03:20 PM

الصورة الرمزية ابو نور وبس
ابو نور وبس
:: مهندس متواجد ::
تاريخ التسجيل: Jul 2013
المشاركات: 55
نشاط [ ابو نور وبس ]
قوة السمعة:
قديم 03-08-2013, 12:06 AM المشاركة 12   
افتراضي


اشكرك اخى أحمد معاطى لكن هناك طلب

وهو التعديل على الكود لحفظ درجة الحرارة

المطلوبه عند انقطاع التيار الكهربائى
فينك اخى أحمد معاطى مشغول فى خير

ان شاء الله .



الصورة الرمزية احمدمعاطى
احمدمعاطى
:: مهندس جيد ::
تاريخ التسجيل: Apr 2009
الدولة: مدينة الاسكندريه
المشاركات: 272
نشاط [ احمدمعاطى ]
قوة السمعة:
قديم 03-08-2013, 01:02 PM المشاركة 13   
افتراضي


اشكرك اخى أحمد معاطى لكن هناك طلب

وهو التعديل على الكود لحفظ درجة الحرارة

المطلوبه عند انقطاع التيار الكهربائى
كود:
unsigned short digit_no, digit10, digit1, digit, i; x; Y;
unsigned int temp_res;
unsigned short mask(unsigned short num) {
  switch (num) {
    case 0 : return 0xC0;
    case 1 : return 0xF9;
    case 2 : return 0xA4;
    case 3 : return 0xB0;
    case 4 : return 0x99;
    case 5 : return 0x92;
    case 6 : return 0x83;
    case 7 : return 0xF8;
    case 8 : return 0x80;
    case 9 : return 0x98;
}
        }
void interrupt() {
  if (digit_no==0) {
    PORTC = 0;          // Turn off all 7seg displays
    PORTD = digit1;     //  send mask for ones digit to PORTD
    PORTC = 1;          //  turn on 1st 7 seg., turn off 2nd
    digit_no =1;
  } else {
    PORTC = 0;           // Turn off all 7seg displays
    PORTD = digit10;    //  send mask for tens digit to PORTD
    PORTC = 2;          //  turn on 2nd 7 seg., turn off 1st
    digit_no = 0;
    }

  TMR0 = 0;             //  clear TMRO
  INTCON = 0x20;        //  clear T0IF and set T0IE
            }
void main() {    char read ;
  OPTION_REG  = 0x80;   // Timer0 settings
  TMR0        =   0;
  INTCON      = 0xA0;   // Disable PEIE,INTE,RBIE,T0IE
  PORTC       =    0;    // clear PORTc (make sure both displays are off)
  TRISC       =    0b11111100;    // designate PORTc pins as output
  PORTD       =    0;    // clear PORTD (make sure LEDs are off)
  TRISD       =    0;     // designate PORTD pins as output
  TRISA       =   0b00000000;   //PORTA  I/POT
  TRISB       =    0;     //PORTB  O/POT
  PORTB       =    0;
          maty:            x =  EEPROM_Read(0x00);
    while(1)
    {        if(i<=x){PORTB=0b00000001;}     //        TEST
             if(i>=x){PORTB=0b00000010;}     //        TEST

                temp_res = ADC_Read(2);
                temp_res = (temp_res *5)/10;
        i = temp_res;
if(i<=99)
if(i>=0)
              if(  portc.f5==1)        //        TEMP
            {
      digit   = i % 10u;
      digit1  = mask(digit);           // prepare ones digit
      digit   = (char)(i / 10u) % 10u;
      digit10 = mask(digit);           // prepare tens digit
      Delay_ms(200);    }
    if(  portc.f5==0) {               //        HETR1
                    if(portc.f6==0) {
          (x);
                        delay_ms(50);
             x++;
              EEPROM_Write(0x00, x);  }
                    if(portc.f7==0) {
          (x);
                        delay_ms(50);
             x--;
              EEPROM_Write(0x00,x);  }
if(x<=99)
if(x>=0)
 {
      digit   = x % 10u;
      digit1  = mask(digit);           // prepare ones digit
      digit   = (char)(x / 10u) % 10u;
      digit10 = mask(digit);           // prepare tens digit
      Delay_ms(200);     }
           }

        }
      goto maty
  }


الصورة الرمزية ابو نور وبس
ابو نور وبس
:: مهندس متواجد ::
تاريخ التسجيل: Jul 2013
المشاركات: 55
نشاط [ ابو نور وبس ]
قوة السمعة:
قديم 03-08-2013, 02:35 PM المشاركة 14   
ha


كود:
unsigned short digit_no, digit10, digit1, digit, i; x; Y;
unsigned int temp_res;
unsigned short mask(unsigned short num) {
  switch (num) {
    case 0 : return 0xC0;
    case 1 : return 0xF9;
    case 2 : return 0xA4;
    case 3 : return 0xB0;
    case 4 : return 0x99;
    case 5 : return 0x92;
    case 6 : return 0x83;
    case 7 : return 0xF8;
    case 8 : return 0x80;
    case 9 : return 0x98;
}
        }
void interrupt() {
  if (digit_no==0) {
    PORTC = 0;          // Turn off all 7seg displays
    PORTD = digit1;     //  send mask for ones digit to PORTD
    PORTC = 1;          //  turn on 1st 7 seg., turn off 2nd
    digit_no =1;
  } else {
    PORTC = 0;           // Turn off all 7seg displays
    PORTD = digit10;    //  send mask for tens digit to PORTD
    PORTC = 2;          //  turn on 2nd 7 seg., turn off 1st
    digit_no = 0;
    }

  TMR0 = 0;             //  clear TMRO
  INTCON = 0x20;        //  clear T0IF and set T0IE
            }
void main() {    char read ;
  OPTION_REG  = 0x80;   // Timer0 settings
  TMR0        =   0;
  INTCON      = 0xA0;   // Disable PEIE,INTE,RBIE,T0IE
  PORTC       =    0;    // clear PORTc (make sure both displays are off)
  TRISC       =    0b11111100;    // designate PORTc pins as output
  PORTD       =    0;    // clear PORTD (make sure LEDs are off)
  TRISD       =    0;     // designate PORTD pins as output
  TRISA       =   0b00000000;   //PORTA  I/POT
  TRISB       =    0;     //PORTB  O/POT
  PORTB       =    0;
          maty:            x =  EEPROM_Read(0x00);
    while(1)
    {        if(i<=x){PORTB=0b00000001;}     //        TEST
             if(i>=x){PORTB=0b00000010;}     //        TEST

                temp_res = ADC_Read(2);
                temp_res = (temp_res *5)/10;
        i = temp_res;
if(i<=99)
if(i>=0)
              if(  portc.f5==1)        //        TEMP
            {
      digit   = i % 10u;
      digit1  = mask(digit);           // prepare ones digit
      digit   = (char)(i / 10u) % 10u;
      digit10 = mask(digit);           // prepare tens digit
      Delay_ms(200);    }
    if(  portc.f5==0) {               //        HETR1
                    if(portc.f6==0) {
          (x);
                        delay_ms(50);
             x++;
              EEPROM_Write(0x00, x);  }
                    if(portc.f7==0) {
          (x);
                        delay_ms(50);
             x--;
              EEPROM_Write(0x00,x);  }
if(x<=99)
if(x>=0)
 {
      digit   = x % 10u;
      digit1  = mask(digit);           // prepare ones digit
      digit   = (char)(x / 10u) % 10u;
      digit10 = mask(digit);           // prepare tens digit
      Delay_ms(200);     }
           }

        }
      goto maty
  }
جربت الكود وهناك مشكلة
وهى عند التجربة لم تعمل السويتشات
ارجو الحل وافقك الله لانى بحاجة الى الدائرة
باسرع وقت



الصورة الرمزية احمدمعاطى
احمدمعاطى
:: مهندس جيد ::
تاريخ التسجيل: Apr 2009
الدولة: مدينة الاسكندريه
المشاركات: 272
نشاط [ احمدمعاطى ]
قوة السمعة:
قديم 03-08-2013, 06:38 PM المشاركة 15   
افتراضي


جربت الكود وهناك مشكلة
وهى عند التجربة لم تعمل السويتشات
ارجو الحل وافقك الله لانى بحاجة الى الدائرة
باسرع وقت

اخى الكود يعمل جيدا وانا جربته مره اخرى حاول تجربته من جديد والله الموفق


الصورة الرمزية ابو نور وبس
ابو نور وبس
:: مهندس متواجد ::
تاريخ التسجيل: Jul 2013
المشاركات: 55
نشاط [ ابو نور وبس ]
قوة السمعة:
قديم 03-08-2013, 11:19 PM المشاركة 16   
ha


اخى الكود يعمل جيدا وانا جربته مره اخرى حاول تجربته من جديد والله الموفق

اخى احمد جربت الكود مرة اخرى ولم تعمل السويتشات

السويتشات فقط وليس الكود بشكل عام ولم اعرف الخطاء



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