program süresi

Başlatan cann, 17 Ağustos 2013, 23:15:00

cann

selamlar
dc motor çalıştıran bir program kullanıyorum. motorun çalışma süresini belirlemek için en basit yol nedir? yani 10 dk çalışsın 1 saat çalışsın gibi.
teşekkürler

Gökhan BEKEN

En hassas çözüm RTC(Real time clock).
Daha kaba çözüm Timer
En kaba çözüm delay_ms(1000x60x10) //1000=1saniye, 1snx60x10=10dk
En ucuz çözüm dahili RTC bulunduran mcu'lar
Özel mesaj okumuyorum, lütfen göndermeyin.

cann

işlemci 18f4620
delay komutu ile nasıl yapılırki
programı durdurmaz mı?pause gibi olmazmı

Gökhan BEKEN

Evet o yüzden en kaba yöntem olarak onu söyledim. Ancak Timer kullanırsanız böyle birşey olmaz. Süreniz çok hassas değilse Timer kullanmanız daha mantıklı olur. Bu sayede programınız donmaz.
Özel mesaj okumuyorum, lütfen göndermeyin.

armsistem

#4
RTC -- > dahili rtc modülü olan işlecilerde dahi sapmalar olabiliyor eğer ki çok daha hassas zamanlama istersen harici RTC entegreleri kullan.
Motorun çalışma süresi içinde ben senin yerinde olsam timer kullanılırım , bir kesme oluştururum her 1 sn bir mcu kesmeye gider kesme içerisine de sürekli değer düşürürüm.
void timer (void) _irq
{
 	if(TimeOutFuncWait)		TimeOutFuncWait--;

} 
int TimeOutFuncWait;
int main(void)
{
TimeOutFuncWait=100 ; // veririm
if (TimeOutFuncWait=100){.......}

}// şeklinde

Program içerisinde Delay kullanmanı tavsiye etmem.