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) // ¡Òí ˹´¤Ò µÇÑ á»Ãà¾Í×è áÊ´§Ê¶Ò¹Ð¡Òí Å§Ñ ¨ºÑ àÇÅÒ
{ // ¡Òí à¹´Ô àÊÂÕ §
// Ë¹Ç §àÇÅÒà¾Í×è Å´ÊÑ Ò³Ãº¡Ç¹¢Í§Ë¹Ò ÊÁÑ ¼ÊÑ ÊÇµÔ ª
timer_start();
run = 1; // µÃǨÊͺ¡Òá´ÊÇµÔ ª PA3
beep_d(0);
sleep(200); // µÃǨÊͺÇÒ Â§Ñ Á¡Õ ÒùºÑ àÇÅÒËÃÍ× äÁ
}
if(in_a(3)==0) // Ë嫯 ¡ÒùºÑ àÇÅÒªÇèÑ ¢³Ð
{ // ¡Òí ˹´¤Ò µÇÑ á»Ãà¾Íè× áÊ´§Ê¶Ò¹Ð¡ÒÃË嫯 ¹ºÑ àÇÅÒªÇèÑ ¢³Ð
if(run==1)
{ // ¹ºÑ àÇÅÒµÍ ¨Ò¡¡ÒÃË嫯 ¹ºÑ ªÇÑè ¢³Ð
// ¡Òí ˹´¤Ò µÇÑ á»Ãà¾Í×è áÊ´§Ê¶Ò¹Ð¹ºÑ àÇÅÒ
timer_pause();
run = 0; // ¡Òí à¹´Ô àÊÂÕ §
} // Ë¹Ç §àÇÅÒà¾Íè× Å´ÊÑ Ò³Ãº¡Ç¹¢Í§Ë¹Ò ÊÁÑ ¼ÊÑ ÊÇµÔ ª
else
{
timer_resume();
run = 1;
}
beep_d(0);
sleep(200);
}
}
}
â»Ãá¡ÃÁ·èÕ B3-3 : ä¿Å TimerTest02.c â»Ãá¡ÃÁÀÒÉÒ C ÊÒí ËÃºÑ ÊÃÒ §¹ÒÌ¡ Ò¨ºÑ àÇÅÒ â´Â㪤 Ò àÇÅÒ
¨Ò¡ä·àÁÍà (ÁµÕ Í )
#include
#include
#include
#include
// áÅÐ 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) // ¡Òí ˹´¤Ò µÇÑ á»Ãà¾Í×è áÊ´§Ê¶Ò¹Ð¡Òí Å§Ñ ¨ºÑ àÇÅÒ
{ // ¡Òí à¹´Ô àÊÂÕ §
// Ë¹Ç §àÇÅÒà¾Í×è Å´ÊÑ Ò³Ãº¡Ç¹¢Í§Ë¹Ò ÊÁÑ ¼ÊÑ ÊÇµÔ ª
timer_start();
run = 1; // µÃǨÊͺ¡Òá´ÊÇµÔ ª PA3
beep_d(0);
sleep(200); // µÃǨÊͺÇÒ Â§Ñ Á¡Õ ÒùºÑ àÇÅÒËÃÍ× äÁ
}
if(in_a(3)==0) // Ë嫯 ¡ÒùºÑ àÇÅÒªÇèÑ ¢³Ð
{ // ¡Òí ˹´¤Ò µÇÑ á»Ãà¾Íè× áÊ´§Ê¶Ò¹Ð¡ÒÃË嫯 ¹ºÑ àÇÅÒªÇèÑ ¢³Ð
if(run==1)
{ // ¹ºÑ àÇÅÒµÍ ¨Ò¡¡ÒÃË嫯 ¹ºÑ ªÇÑè ¢³Ð
// ¡Òí ˹´¤Ò µÇÑ á»Ãà¾Í×è áÊ´§Ê¶Ò¹Ð¹ºÑ àÇÅÒ
timer_pause();
run = 0; // ¡Òí à¹´Ô àÊÂÕ §
} // Ë¹Ç §àÇÅÒà¾Íè× Å´ÊÑ Ò³Ãº¡Ç¹¢Í§Ë¹Ò ÊÁÑ ¼ÊÑ ÊÇµÔ ª
else
{
timer_resume();
run = 1;
}
beep_d(0);
sleep(200);
}
}
}
â»Ãá¡ÃÁ·èÕ B3-3 : ä¿Å TimerTest02.c â»Ãá¡ÃÁÀÒÉÒ C ÊÒí ËÃºÑ ÊÃÒ §¹ÒÌ¡ Ò¨ºÑ àÇÅÒ â´Â㪤 Ò àÇÅÒ
¨Ò¡ä·àÁÍà (ÁµÕ Í )