Page 63 - ipst-basiclab
P. 63
¤Á‹Ù Í× ¡Ò÷´ÅͧàºÍé× §µ¹Œ ¢Í§¡Å͋ §ÊÁͧ¡Å IPST-MicroBOX l 63

#include // ¼¹Ç¡ä¿Åä ÅºÃÒÃËÕ Å¡Ñ “ipst.h”

void main()

{

int time=0; // ¡Òí ˹´µÇÑ á»Ãà¡ºç ¤Ò‹ àÇÅÒ¡ÒùºÑ

char run=0; // ¡Òí ˹´µÇÑ á»Ãà¡ºç ¤Ò‹ ʶÒÁàÃÁèÔ µ¹Œ ¡ÒùºÑ (¶ÒŒ ໹š 1 ¨Ðà¨ÒŒ ʡً ÒùºÑ )

while(1) // Ż٠ǹÃͺäÁË ¨ÙŒ º

{

//———————— ÊNj ¹¢Í§¡Òõ§Ñé ¤Ò‹ àÇÅÒ ————————————//

while(run==0) // µÃǨÊͺÇҋ àÃÁèÔ µ¹Œ ¡ÒùºÑ ËÃÍ× Â§Ñ (Ż٠¡Òõ§éÑ ¤Ò‹ àÇÅÒ)

{

segment(time); // áÊ´§¼Å¡Òõ§éÑ àÇÅÒ¡ÒùºÑ

if(in_a(1)==0) // µÃǨ¨ºÑ ¡Òá´ÊÇµÔ ª· èÕ PA1 à¾Í×è »ÃºÑ ¤Ò‹ àÇÅÒ㹡Òõ§Ñé

{

sleep(200); // ˹Nj §àÇÅÒà¾Íè× Å´¡ÒÃú¡Ç¹·ËèÕ ¹ÒŒ ÊÁÑ ¼ÊÑ ÊÇµÔ ª

time++; // à¾ÁèÔ ¤Ò‹ ¡ÒùºÑ 1 ¤Ò‹

if(time>99) // µÃǨÊͺÇҋ ¤Ò‹ ¡ÒùºÑ à¡¹Ô 99 ËÃÍ× äÁ‹

{

time=0; // 㹡ó·Õ ¤Õè ҋ ¡ÒùºÑ à¡¹Ô 99 âËÅ´¡ÅºÑ ໹š 0 ãËÁ‹

}

}

if(in_a(3)==0) // µÃǨ¨ºÑ ¡Òá´ÊÇµÔ ª· Õè PA3 ÊÒí ËÃºÑ àÃÁèÔ µ¹Œ ¡ÒùºÑ àÇÅÒ

{

run=1; // ¡Òí ˹´ã˵Œ ÇÑ á»Ã run ໹š 1 à¾Íè× ÍÍ¡¨Ò¡Å»Ù ¡Òõ§éÑ ¤Ò‹ àÇÅÒ

// ä»Â§Ñ Ż٠¡ÒùºÑ àÇÅÒ·ÍèÕ Â¶‹Ù ´Ñ ä»

}

}

//—————————— ÊNj ¹¢Í§¡ÒùºÑ àÇÅÒµÒÁ·¡èÕ Òí ˹´ ————————————//

out_d(7,1); // à»´ LED ã˵Œ ´Ô ÊÇҋ §

while(time) // ÊNj ¹µÃǨÊͺÊÒí ËÃºÑ ¡ÒùºÑ àÇÅÒ(Ż٠¡ÒùºÑ àÇÅÒ)

{

segment(time); // áÊ´§¤Ò‹ àÇÅÒ·àÕè ËÅÍ×

time—; // Å´¤Ò‹ àÇÅÒŧ 1 ¤Ò‹

sleep(1000); // ˹Nj §àÇÅҢͧÃͺ¡Ò÷Òí §Ò¹ 1 Ç¹Ô Ò·Õ

}

â»Ãá¡ÃÁ·èÕ L4-5 : ä¿Å 7segTest05.c â»Ãá¡ÃÁÀÒÉÒ C ÊÒí ËÃºÑ ÊÃҌ §à¤ÃÍè× §µ§Ñé àÇÅÒ 99 Ç¹Ô Ò·Õ (ÁµÕ ͋ )
   58   59   60   61   62   63   64   65   66   67   68