[QUOTE=حيدر علاج حسن;738491]
انت تستخدم نسخة مايكرو سي قديمة لذلك لم اتمكن من التصحيح على الكود مباشرة ....
لاحظ الخطأ في هذا المقطع من الكود و الذي يجعله لا يتحقق ابدا ...
كود:
x=adc_read(0);
x=(x *1023) /5000;
WordToStr(x,y);
if(x>=511)
{ pwm_init(5000);
pwm_change_duty(x);
pwm_start();
LCD_Out(1,5,"SENCE");
LCD_Out(2,8,"1");
delay_ms(500);
هنا اعلى قيمة للمدخل التناظري هي 1023 .
و حسب المعادلة التي كتبتها لحساب المتغير X فان اعلى قيمة لها ستكون :
1023×1023÷5000 = 209
ثم تطلب تشغيل PWM اذا كانت قيمة X اكبر او تساوي 511 و هذا الشرط لن يتحقق ابدا بالاضافة الى انك لم تحدد تشغيل PWM1 ام PWM2
السلام عليكم هل من الممكن عمل برنامج السلم توضيحى استخدم فيه تلك الخصيه وهل ينفع مع الميكرو كونترول pic16f88 or pic16f628 اصحاب 18 رجل وشكرا