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

   

عبد الملك77
:: مهندس ::
تاريخ التسجيل: May 2011
المشاركات: 28
نشاط [ عبد الملك77 ]
قوة السمعة:
قديم 31-05-2013, 08:18 PM المشاركة 1   
افتراضي تعديل على هذا الكود temp



كبار المنتدى السلام عليكم
حاولت الاضافة على هذا الكود ولم انجح ممكن حد من الاعضاء يساعدني
مقياس حرارة اريد عندما تصل الحرارة 32 درجة يعمل الليد على اي بورت
فاضي من الميكرو وعندما تصل الحرارة 40 درجة ينطفيء الليد شكرا لكم


[IMG][/IMG]

كود:
        signed char u0;
        signed char u1;
        signed char u2;
        int nnn=0;
        char seg[]={64,121,36,48,25,18,2,120,0,16};
        

        
        


void cck (ffff)

                          {
           u0=(nnn%10);
           u1=((nnn%100)/10);
           u2=(nnn%1000)/100;
           PORTB=32;PORTC=seg[u0];Delay_ms(5);
           PORTB=64;PORTC=seg[u1];Delay_ms(5);
           PORTB=128;PORTC=seg[u2];Delay_ms(5);

                           }

unsigned ADC_VVV;
void main( )
{
TRISA=1;
TRISB=0;
TRISC=0;
PORTC=0;


while(1)
{

ADC_VVV = ADC_Read(0);

 nnn =(ADC_VVV*5)/10;



    Delay_ms(10);
    cck ();


  }

  }

اعلانات

الصورة الرمزية حيدر علاج حسن
حيدر علاج حسن
:: مشرف منتدى الهندسة الكهربائية ::
تاريخ التسجيل: Mar 2005
الدولة: IRAQ
المشاركات: 9,848
نشاط [ حيدر علاج حسن ]
قوة السمعة:
قديم 02-06-2013, 12:43 AM المشاركة 2   
افتراضي


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

كود:
sbit LCD_RS at Rd2_bit;
sbit LCD_EN at Rd3_bit;
sbit LCD_D4 at Rd4_bit;
sbit LCD_D5 at Rd5_bit;
sbit LCD_D6 at Rd6_bit;
sbit LCD_D7 at Rd7_bit;

sbit LCD_RS_Direction at TRISd2_bit;
sbit LCD_EN_Direction at TRISd3_bit;
sbit LCD_D4_Direction at TRISd4_bit;
sbit LCD_D5_Direction at TRISd5_bit;
sbit LCD_D6_Direction at TRISd6_bit;
sbit LCD_D7_Direction at TRISd7_bit;
char txt[6];
void main()
 {
 trisa=1;trisb=0;trisc=0;portb=0;portc=0;
 lcd_init();
 lcd_cmd(_LCD_CURSOR_OFF);
 while(1)
         {
          lcd_out(1,4,"Temp=");
          IntToStr(adc_read(0)/2,txt);
          lcd_out_cp(txt);
           if(adc_read(0)>=80)portb=1;
           else if(adc_read(0)> 60)portb=4;
           else portb=2;
          }

}

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

عبد الملك77
:: مهندس ::
تاريخ التسجيل: May 2011
المشاركات: 28
نشاط [ عبد الملك77 ]
قوة السمعة:
قديم 02-06-2013, 09:42 PM المشاركة 3   
افتراضي


اخ حيدر اذا امكن وضع الكود كاملا وجزاك الله خيرا


الصورة الرمزية حيدر علاج حسن
حيدر علاج حسن
:: مشرف منتدى الهندسة الكهربائية ::
تاريخ التسجيل: Mar 2005
الدولة: IRAQ
المشاركات: 9,848
نشاط [ حيدر علاج حسن ]
قوة السمعة:
قديم 02-06-2013, 10:26 PM المشاركة 4   
افتراضي


هذا هو الكود كاملا اخي ...


الصورة الرمزية Sallam
Sallam
:: مهندس متميز ::
تاريخ التسجيل: Mar 2006
الدولة: Syria
المشاركات: 515
نشاط [ Sallam ]
قوة السمعة:
قديم 04-06-2013, 02:18 AM المشاركة 5   
افتراضي ضبط درجة الحرارة ليضيء ليد ويطفئ عند درجة محددة بالكود


http://upload.qariya.info/images/qar...c96a76d260.jpg
http://www.electvillage.com/upload//...ile=c96a76d260

ستجد مرفقا لصورة البرنامج والتعديل على الكود
لتجد ان الليد يعمل عندما يصل لدرجة 32 ويطفئ عند درجة 40 وباقي الحالات بحالة اطفاء.

ارجو ان أكون قد أفدتك بما تريد.

كود:
signed char u0;
signed char u1;
signed char u2;
int nnn=0;
sbit led1 at ra4_bit;
sbit led1_direction at trisa4_bit;

char seg[]={64,121,36,48,25,18,2,120,0,16};
void cck () 
    {

     u0=(nnn%10);
     u1=((nnn%100)/10);
     u2=(nnn%1000)/100;
     PORTB=32;PORTC=seg[u0];Delay_ms(5);
     PORTB=64;PORTC=seg[u1];Delay_ms(5);
     PORTB=128;PORTC=seg[u2];Delay_ms(5);
     } 
     
unsigned ADC_VVV; 

void main( ) 
{ 
 TRISA=0b000001;
 TRISB=0;
 TRISC=0;
 PORTC=0;
 while(1) 
 {
   ADC_VVV = ADC_Read(0);
   nnn =(ADC_VVV*5)/10;
   Delay_ms(10);

   if(nnn>=32)led1=1;
   else led1=0;
   
   if(nnn>=40)led1=0;
 cck (); 
 
 }
 
 }


التعديل الأخير تم بواسطة : Sallam بتاريخ 04-06-2013 الساعة 02:38 AM السبب: تصحيح الكود

الصورة الرمزية Sallam
Sallam
:: مهندس متميز ::
تاريخ التسجيل: Mar 2006
الدولة: Syria
المشاركات: 515
نشاط [ Sallam ]
قوة السمعة:
قديم 04-06-2013, 02:52 AM المشاركة 6   
افتراضي ضبط درجة الحرارة ليضيء ليد ويطفئ عند درجة محددة بالكود


http://upload.qariya.info/images/qar...e31c4fd5d8.jpg

http://upload.qariya.info/images/qar...549194df68.jpg

http://upload.qariya.info/images/qar...ef65bf570d.jpg

هذه الصور توضح المحاكاة لعملية ضبط الحرارة وتشغيل واطفاء الليد

بالتوفيق


عبد الملك77
:: مهندس ::
تاريخ التسجيل: May 2011
المشاركات: 28
نشاط [ عبد الملك77 ]
قوة السمعة:
قديم 04-06-2013, 08:29 PM المشاركة 7   
افتراضي


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


الصورة الرمزية Sallam
Sallam
:: مهندس متميز ::
تاريخ التسجيل: Mar 2006
الدولة: Syria
المشاركات: 515
نشاط [ Sallam ]
قوة السمعة:
قديم 04-06-2013, 11:22 PM المشاركة 8   
افتراضي


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

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

أرجو ان نتعاون للوصول الى الحل المناسب
وشكرا



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