السلام عليكم ورحمة الله وبركاته
البرنامج يعمل طبيعي في برنامج البتروس ولكن عند زيادة الوقت في الدالةHI1 اكثر
من 5 دقائق وحتى الدالة اخرى LO2
يبقى البك ينفذ الامر داخل الدالة ولايخرج منها
وعند تقليل الوقت يخرج منها وينفذ الاوامر الاخرى بشكل طبيعي
هل المشكلة في برنامج البتروس او الحاسوب او البرنامج
كود:
/////PIC12F675//
char k=1;
unsigned short t;
unsigned ADC_Heat;
unsigned short zzz=0;
sbit led1 at gp1_bit;
sbit led1_direction at gp1_bit;
void HI1 (){led1=0; for(t=0;t<300;t++){ led1=0;GPIO.f2=1;Delay_ms(330);
GPIO.f2=0;Delay_ms(330);}GPIO.f1=1; Delay_ms(340);} //hi
void LO2 (){led1=0; for(t=0;t<300;t++){ led1=0;GPIO.f4=1;Delay_ms(330);
GPIO.f4=0;Delay_ms(330);} GPIO.f1=1; Delay_ms(340);} //lo
void main(){
ANSEL=0;
TRISIO=0;
GPIO=0b10000;
CMCON=7; GPIO=0;
for(t=0;t<8;t++) { GPIO.f1=1; Delay_ms(1000);}
GPIO=0;
while(1)
{
ADC_Heat = ADC_Read(0);
zzz =(ADC_Heat*5)/10;
GPIO.f1=1; Delay_ms(900);
if(zzz>=50 && zzz<100 && k ==1) { led1=1; }
else if( zzz>=100 && k ==1) { HI1(); }
else if(zzz<=50 && k ==1) { LO2(); } }}