Page 46 - ipst-actuatorlab
P. 46
l ¤Áً Í× ¡Ò÷´Åͧ¢ºÑ âËÅ´¡ÃÐáÊʧ٠¢Í§ª´Ø ¡Å͋ §ÊÁͧ¡Å IPST-MicroBOX

#include // ¼¹Ç¡ä¿Åä ÅºÃÒÃÊÕ Òí ËÃºÑ ¿§˜ ¡ª ¹èÑ sleep
#include // ¼¹Ç¡ä¿Åä ÅºÃÒÃÊÕ Òí ËÃºÑ ¿§˜ ¡ª ¹Ñè beep_d
#include // ¼¹Ç¡ä¿Åä ÅºÃÒÃÊÕ Òí ËÃºÑ ¿§˜ ¡ª ¹èÑ segment
#include // ¼¹Ç¡ä¿Åä ÅºÃÒÃÊÕ Òí ËÃºÑ ¿§˜ ¡ª ¹Ñè msec ,timer_start ,timer_pause
// áÅÐ timer_resume
void main()
{ // ¡Òí ˹´µÇÑ á»Ãࡺç ʶҹÐáÊ´§¡ÒèºÑ àÇÅÒ
// Ż٠ǹÃͺäÁË ¨ŒÙ º
char run = 0;
while(1) // áÊ´§¤Ò‹ àÇÅÒ Ë¹Ç‹ ÂÅÐ 0.1 Ç¹Ô Ò·Õ
{ // áÊ´§¨´Ø ·È¹ÂÔ Á·ËÕè Å¡Ñ 2 (¹ºÑ ¨Ò¡¢ÇÒÁÍ× ) ¢Í§¨ÍáÊ´§¼Å
// µÃǨÊͺ¡Òá´ÊÇµÔ ª PA1
segment(msec()/100);
segment_dot(2); // ¶ÒŒ ÊÇµÔ ª PA1 ¶¡Ù ¡´ ¨ÐàÃÁèÔ µ¹Œ ¡ÒèºÑ àÇÅÒ
if(in_a(1)==0) // ¡Òí ˹´¤Ò‹ µÇÑ á»Ãà¾Í×è áÊ´§Ê¶Ò¹Ð¡Òí Å§Ñ ¨ºÑ àÇÅÒ
{ // ¡Òí à¹´Ô àÊÂÕ §
// ˹Nj §àÇÅÒà¾Í×è Å´Ê­Ñ ­Ò³Ãº¡Ç¹¢Í§Ë¹ÒŒ ÊÁÑ ¼ÊÑ ÊÇµÔ ª
timer_start();
run = 1; // µÃǨÊͺ¡Òá´ÊÇµÔ ª PA3
beep_d(0);
sleep(200); // µÃǨÊͺÇҋ 处 Á¡Õ ÒùºÑ àÇÅÒËÃÍ× äÁ‹
}
if(in_a(3)==0) // Ë嫯 ¡ÒùºÑ àÇÅÒªÇèÑ ¢³Ð
{ // ¡Òí ˹´¤Ò‹ µÇÑ á»Ãà¾Íè× áÊ´§Ê¶Ò¹Ð¡ÒÃË嫯 ¹ºÑ àÇÅÒªÇèÑ ¢³Ð
if(run==1)
{ // ¹ºÑ àÇÅҵ͋ ¨Ò¡¡ÒÃË嫯 ¹ºÑ ªÇÑè ¢³Ð
// ¡Òí ˹´¤Ò‹ µÇÑ á»Ãà¾Í×è áÊ´§Ê¶Ò¹Ð¹ºÑ àÇÅÒ
timer_pause();
run = 0; // ¡Òí à¹´Ô àÊÂÕ §
} // ˹Nj §àÇÅÒà¾Íè× Å´Ê­Ñ ­Ò³Ãº¡Ç¹¢Í§Ë¹ÒŒ ÊÁÑ ¼ÊÑ ÊÇµÔ ª
else
{
timer_resume();
run = 1;
}
beep_d(0);
sleep(200);
}
}
}

â»Ãá¡ÃÁ·èÕ B3-3 : ä¿Å TimerTest02.c â»Ãá¡ÃÁÀÒÉÒ C ÊÒí ËÃºÑ ÊÃҌ §¹ÒÌ¡ Ò¨ºÑ àÇÅÒ â´Â㪤Œ ҋ àÇÅÒ
¨Ò¡ä·àÁÍÏ (ÁµÕ ͋ )
   41   42   43   44   45   46   47   48