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

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

khamed tabet
:: مهندس متميز ::
تاريخ التسجيل: Jul 2010
المشاركات: 333
نشاط [ khamed tabet ]
قوة السمعة:0
قديم 22-06-2013, 04:42 PM المشاركة 1   
افتراضي مساعدة في كود بستعمال المحول الرقمي Twitter FaceBook Google+



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

اريد من الاعضاء مساعدتي في كود بسيط

لدي اشارة داخلة الى الميكروكنترول من 0 الى 4 فولت
وقمت بمحاكاتها على البروتس
تصاعديا

وكل 80 ملي ثانية منذ بداية الاشارة يختبر الشرط ووضعت الشرط الاول في المجال 1فولط لايزيد ولاينقص ثم بعد 80 ملي ثانية اخرى في المجال 2فولط وهاكذا حتى 4فولط
ثم يشتعل الليد المربوط بالb0
لاكن لم ينجح
sbit led at RB0_bit ;
int yy;
int y;
void main(){
TRISA.f0=1;
TRISB = 0;
PORTB = 0;
adc_init();

while(adc_read(0)>0){

y=adc_read(0);
yy=(y*5)/1023;
delay_ms(80);
if((yy<=1)&&(yy>=1)){delay_ms(80);
if((yy<=2)&&(yy>=2)){delay_ms(80);
if((yy<=3)&&(yy>=3)){delay_ms(80);
if((yy<=4)&&(yy>=4)){led=1;}

;}
;}
;}

}
}
الملف
http://www.4shared.com/rar/sEPKhepl/ADC1.html

ثانيا جربت
استعمل المصفوفة ونفس المشكلة
sbit led at RB0_bit ;
int mn[]={1,2,3,4};
int mx[]={1,2,3,4};
int x;
int yy;
int y;
void main(){
TRISA.f0=1;
TRISB = 0;
PORTB = 0;
adc_init();

while(adc_read(0)>0){

y=adc_read(0);
yy=(y*5)/1023;

while(x<4){

delay_ms(80);
if((yy<=mx[x])&&(yy>=mn[x])){x+1;}

}
if(x==3){led=1;x=0;}
}
}

كل 80 ملي ثانية يتم اختبار قيمة من المصفوفتين متزايدتين
mxاعلى قيمة 1v
mnادنى قيمة 1v

الملف
http://www.4shared.com/rar/NZcvQk7Z/ADC2.html

اعلانات

الصورة الرمزية حيدر علاج حسن
حيدر علاج حسن
:: مشرف منتدى الهندسة الكهربائية ::
تاريخ التسجيل: Mar 2005
الدولة: IRAQ
المشاركات: 10,061
نشاط [ حيدر علاج حسن ]
قوة السمعة:394
قديم 22-06-2013, 09:52 PM المشاركة 2   
افتراضي


انا فهمت كلامك هكذا
خلال الفترة من صفر الى 80 ملي تكون الاشارة لا تقل عن 1 فولت و لا تزيد على 2 فولت
وخلال الفترة من 80 الى 160 تكون الاشارة لا تقل عن 2 فولت و لا تزيد على 3 فولت
و هكذا ....
طيب واذا حصل و لم يتحقق الشرط في فترة معينه ماذا يحصل ؟؟؟

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

khamed tabet
:: مهندس متميز ::
تاريخ التسجيل: Jul 2010
المشاركات: 333
نشاط [ khamed tabet ]
قوة السمعة:0
قديم 22-06-2013, 10:02 PM المشاركة 3   
افتراضي


انا فهمت كلامك هكذا
خلال الفترة من صفر الى 80 ملي تكون الاشارة لا تقل عن 1 فولت و لا تزيد على 2 فولت
وخلال الفترة من 80 الى 160 تكون الاشارة لا تقل عن 2 فولت و لا تزيد على 3 فولت
و هكذا ....
طيب واذا حصل و لم يتحقق الشرط في فترة معينه ماذا يحصل ؟؟؟
شكرا لك على الرد
اذا لم يتحقق أي شرط او يصل الى الثاني أو الثالث ولم يتحقق الاخير يعيد من جديد
مع العلم انه لدي حلقة شرط أخرى تختبر موجة أخرى


التعديل الأخير تم بواسطة : khamed tabet بتاريخ 22-06-2013 الساعة 10:14 PM

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


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


khamed tabet
:: مهندس متميز ::
تاريخ التسجيل: Jul 2010
المشاركات: 333
نشاط [ khamed tabet ]
قوة السمعة:0
قديم 23-06-2013, 10:30 AM المشاركة 5   
افتراضي


لاتشغل بالك
عندي عدة موجات داخلة بقيم مختلفة
و اريد تحليل كل موجة فقط وضعت في الكود اختبار موجة واحد
وكل الشروط تبقى كما كل 80 ملي ثانية لمدة 320 ملي ثانية منذ دخول الموجة
}(while(adc_raed(0)>0
يتم اختبار مقارنة بالمصفوفة أو حلقة الشرط


khamed tabet
:: مهندس متميز ::
تاريخ التسجيل: Jul 2010
المشاركات: 333
نشاط [ khamed tabet ]
قوة السمعة:0
قديم 24-06-2013, 07:13 PM المشاركة 6   
افتراضي


اين انت يا اخي حيدر
ارجوا المساعدة


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


رجاءا اذكر الموضوع بشيء من التفصيل لانه لاوقت لدي لعمل الكود ثم التغيير فيه لكذا مرة ...


khamed tabet
:: مهندس متميز ::
تاريخ التسجيل: Jul 2010
المشاركات: 333
نشاط [ khamed tabet ]
قوة السمعة:0
قديم 25-06-2013, 12:32 PM المشاركة 8   
افتراضي



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

إضافة رد

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

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

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


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

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