´Óµ¥Æ¬»ú³õѧÕßÂõÏòµ¥Æ¬»ú¹¤³Ìʦ¡ªÍêÕû - ͼÎÄ

ÀË·Ñ£¬ÊÂʵҲÊÇÈç´Ë£¬¾ø´ó¶àÊý¼òµ¥ÈÎÎñ£¬CPU¶¼ÊÇÔÚ¡°¿Õת¡± £¨Ñ­»·Ì¤²½ÑÓʱ£© ¡£¶ÔÈÎÎñ×Ü ½á»¹¿ÉÒÔÖªµÀ£¬ºÜ¶àÈÎÎñÐèÒª CPU ²»¶Ï¡°¹ØÕÕ¡± £¬ÆäʵÕâÖÖ¡°²»¶Ï¡±Ò²ÊÇÓм«Ï޵쬱ÈÈçÊý Âë¹Ü¶¯Ì¬É¨Ã裬Äܹ»×öµ½40Hz ¾Í¿ÉÒÔÁË£¬ÓÖÈç¼üÅÌɨÃ裬Äܹ»×öµ½20Hz£¨¾­ÑéÖµ£©£¬»ù±¾ÉÏ Ò²¾Í²»»á¶ªÓÐЧ°´¼ü¼üÖµÁË£¬ÔÙÈçLCDˢУ¬ÎÒ¾õµÃ×öµ½ 10Hz ¾Í¿ÉÒÔÁË£¬µÈµÈ¡£¿´À´£¬¾ø ´ó¶àÊýÈÎÎñ¶¼Êǹ¤×÷ÔÚµÍËÙÆµ¶È¡£¶øÎÒÃǵÄCPUÒ»µ©ÔËÐÐÆðÀ´£¬ËÙ¶ÈÓֺܿ죬CPU±¾Éí¾ÍÊÇ ¿¿ºÜ¿ìµÄËÙ¶ÈÖ´Ðкܼòµ¥µÄÖ¸ÁîÀ´Ê¤Èθ´ÔÓµÄÈÎÎñ£¨Âß¼­£©µÄ¡£Èç¹ûÓа취°Ñ¡°¿ì¡±µÄ CPU ·Ö³É¶à¸öÂýµÄCPU£¬È»ºó¸ø²»Í¬µÄÈÎÎñ·ÖÅ䲻ͬËٶȵÄCPU£¬ÕâÖÖÉèÏëÊDz»ÊǺܺÃÄØ£¡È·Êµ ºÜºÃ£¬ÏÂÃæ¾Í¿´ÈçºÎ½«¡°¿ì¡±µÄCPU»®·Ö³É¶à¸ö¡°Âý¡±µÄ CPU¡£

¸ù¾ÝÕâÖÖÏë·¨£¬ÎÒÃÇÐèÒªºÏÀí·ÖÅäCPU×ÊÔ´À´¡°¹ØÕÕ¡±²»Í¬µÄÈÎÎñ£¬×îºÃÄܹ»¸ù¾ÝÈÎÎñ ±¾ÉíºÏÀíÕ¼ÓÃCPU×ÊÔ´£¬Ê×ÏÈ¿´Èçͼ 3 ËùʾµÄÁ÷³Ìͼ£¬¸÷¸öÈÎÎñÁ÷³Ì¶ÀÁ¢£¬¸÷ÈÎÎñͨ¹ýÈ«¾Ö ±äÁ¿À´½»»¥ÐÅÏ¢£¬ÔÚÁ÷³ÌÖÐÓÐÒ»¸öÖØÒªµÄÄ£¿é¡°ÈÎÎñÇл»¡±£¬¾ÍÊÇÈÎÎñÇл»Ä£¿éʵÏÖ CPU ºÏ Àí·ÖÅ䣬Õâ¸öÈÎÎñÇл»Ä£¿éÊÇÔõôʵÏÖµÄÄØ£¿

(Ô­ÎļþÃû:2.JPG)

ͼ3 ¶àÈÎÎñ¸´ÔÓÁ÷³Ìͼ

Ê×ÏÈÐèÒªÀí½â£¬CPU Ò»µ©ÔËÐÐÆðÀ´£¬¾ÍÎÞ·¨Í£Ö¹£¨Ó²¼þÖ§³ÖʱÖÓÍ£Ö¹µÄ²»ÔÚÕâÀïÌÖÂÛ£©£¬ Ë­Äܹ»¿ØÖÆÒ»ÅúÍÑçÖµÄÂíÄØ£¿¶ÔÁË£¬ÓÐÖжϣ¬ÖжÏÄܹ»ÈÃCPU»Øµ½Ìض¨µÄλÖã¬ÉèÏ룬Äܲ» ÄÜÓÃÒ»¸ö¶¨Ê±Öжϣ¬ÖÜÆÚÐԵĽ« CPUÕâÆ¥ÔËÐÐ×ŵÄÍÑçÖµÄÂíÕÙ»½»ØÀ´£¬ÖØÐ¸øËü°²ÅÅÌØ¶¨µÄ ÈÎÎñ£¬ÊÂʵÉÏ£¬ÈÎÎñÇл»¾ÍÊÇÕâÑùʵÏֵġ£

(Ô­ÎļþÃû:3.JPG)

ͼ 4 ¶¨Ê±ÖжÏʵÏÖÈÎÎñÇл»

Èçͼ 4A Ëùʾ£¬CPU ÔÚ¿ÕÏÐÈÎÎñÑ­»·µÈ´ý£¬¶¨Ê±ÖжϽ« CPU ÖÜÆÚÐÔ»½»Ø£¬¸ù¾ÝÈÎÎñÉè¼Æ Á˲»Í¬µÄÏìӦƵ¶È£¬Âú×ãÌõ¼þµÄÈÎÎñ½«»ñµÃCPU×ÊÔ´£¬CPUΪ²»Í¬ÈÎÎñ¡°¹ØÕÕ¡±Íê³Éºó£¬ÔÙ ´Î·µ»Ø¿ÕÏÐÈÎÎñ£¬Èç´ËÖܶø¸´Ê¼£¬¶ÔÓÚ¸÷¸öÈÎÎñ¶øÑÔ£¬ºÃÏñ¸÷×ÔÓµÓÐÒ»¸ö¶ÀÁ¢µÄCPU£¬¸÷×Ô ¶ÀÁ¢ÔËÐС£ÓÃÕâÖÖ˼Ïë¹¹½¨µÄ³ÌÐò¿ò¼Ü£¬×î´óµÄºÃ´¦ÊÇÈÎÎñºÜÈÝÒײüô£¬ÏµÍ³Äܹ»×öµÃºÜ¸´ ÔÓ¡£

ÔÚ³ä·Ö¿¼Âǵ¥Æ¬»úÖжÏÌØÐÔ£¨ÔÚÄÄÀïÖжϾͷµ»Øµ½ÄÄÀºó£¬Êµ¼Ê¿ÉÐеÄÈÎÎñÇл»Èçͼ 4BËùʾ£¬¶¨Ê±ÖжϿÉÄÜ·¢ÉúÔÚÈÎÎñµ÷¶È£¬Ëæ»úÈÎÎñÖ´ÐеÄÈκÎʱºò£¬Í¼ÖÐ×î´óµÄ¿ò¿òËùʾ£¬ ²»¹ÜÖжÏÔÚºÎʱ·¢Éú£¬Ëü¶¼»áÕý³£·µ»Ø£¬¶¨Ê±ÖжÏËù²úÉúµÄÓ°ÏìÖ»ÔÚÈÎÎñµ÷¶ÈÄ£¿éÆð×÷Ó㬠¼´ÒÀ´ÎÈò»Í¬µÄÈÎÎñ°´²»Í¬µÄ½ÚÅľÍÐ÷¡£ÈÎÎñµ÷¶È»á°´Ò»¶¨µÄÓÅÏȼ¶Ö´ÐоÍÐ÷ÈÎÎñ¡£ ×ܽ᲻ͬµÄÈÎÎñÐèÒªCPU¹ØÕյįµ¶È£¬Ñ¡Ôñ×î¿ìµÄÄǸöƵ¶ÈÀ´É趨¶¨Ê±Æ÷ÖжϵĽÚÅÄ£¬ Ò»°ãÑ¡Ôñ 200Hz£¬»òÕß 100Hz ¶¼¿ÉÒÔ¡£ÁíÍâÔÙ¸øÃ¿¸öÈÎÎñÉ趨һ¸ö½ÚÅÄ¿ØÖƼÆÊýÆ÷ C£¬Ò²¾Í ÊǶ¨Ê±Æ÷ÿÖж϶àÉٴκóÖ´ÐÐÈÎÎñÒ»´Î¡£ÀýÈçÈ¡¶¨Ê±ÖжϽÚÅÄΪ 200Hz£¬¸øÈÎÎñÉ趨µÄ C=10£¬ ÔòÈÎÎñÖ´ÐÐÆµ¶ÈΪ 200/10=20Hz£¬Èç¹ûÊÇÊýÂë¹ÜɨÃ裬°´ 40Hz ²»ÉÁ˸¹æÂÉ£¬ÔòÈÎÎñ½ÚÅÄ¿ØÖÆ ¼ÆÊýÆ÷ C=5 ¼´¿É¡£ÔÚ³ÌÐòÉè¼ÆÖУ¬C ´ú±í×ÅÈÎÎñÔËÐеĽÚÅÄ¿ØÖƲÎÊý£¬ÎÒÃÇϰ¹ßÓà delay À´ ÃèÊö£¬²»Í¬µÄÈÎÎñÓÃtask0£¬task1¡­¡­À´ÃèÊö¡£ Ã÷Ìì¼ÌÐøÐ´ÈçºÎÓôúÂëʵÏÖ£¡2009-6-29 ÏÂÃæÎÒÃÇÀ´ÓôúÂëʵÏÖÒÔÉ϶àÈÎÎñ³ÌÐòÉè¼ÆË¼Ïë¡£ Ê×ÏÈÊÇÈÎÎñÇл» while(1) {

if(task_delay[0]==0) task0(); //task0¾ÍÐ÷£¬ if(task_delay[1]==0) task1(); //task1¾ÍÐ÷£¬ ¡­¡­ }

ºÜÏÔÈ»£¬Ö´ÐÐÈÎÎñµÄÌõ¼þÊÇÈÎÎñÑÓʱÁ¿task_delay=0£¬ÄÇôÈÎÎñÑÓʱÁ¿Ë­À´¿ØÖÆÄØ£¿¶¨Ê± Æ÷°¡£¡¶¨Ê±Æ÷Öж϶ÔÈÎÎñÑÓʱÁ¿¼õÒ»Ö±µ½¹éÁ㣬±êÖ¾ÈÎÎñ¾ÍÐ÷¡£µ±Ã»ÓÐÈÎÎñ¾ÍÐ÷ʱ£¬ÈÎÎñÇÐ »»±¾Éí¾ÍÊÇÒ»¸öIdle ÈÎÎñ¡£ void timer0(void) interrupt 1 {

if(task_delay[0]) task_delay[0]--; if(task_delay[1]) task_delay[1]--; ¡­¡­ }

ÀýÈç timer0 µÄÖжϽÚÅÄΪ 200Hz£¬task0_delay ³õֵΪ 10£¬Ôò task0()Ö´ÐÐÆµ¶ÈΪ 200/10=20Hz¡£

ÓÐÁËÒÔÉÏ»ù´¡£¬ÎÒÃÇÀ´Éè¼ÆÒ»¸ö¼òµ¥¶àÈÎÎñ³ÌÐò£¬½øÒ»²½ÉîÈëÀí½âÕâÖÖ³ÌÐòÉè¼ÆË¼Ïë¡£ ÈÎÎñÒªÇó£ºÓõ¥Æ¬»ú²»Í¬ IO ½ÅÊä³ö 1Hz£¬5Hz£¬10Hz£¬20Hz ·½²¨Ðźţ¬Õâ¸ö³ÌÐòºÜ¶Ì£¬½« Ö±½Ó¸ø³ö¡£ #include \

#define TIME_PER_SEC 200 //¶¨ÒåÈÎÎñʱÖÓÆµÂÊ£¬200Hz #define CLOCK 22118400 //¶¨ÒåʱÖÓ¾§Õñ£¬µ¥Î»Hz #define MAX_TASK 4 //¶¨ÒåÈÎÎñÊýÁ¿

extern void task0(void); //ÈÎÎñÉùÃ÷ extern void task1(void); extern void task2(void); extern void task3(void);

sbit f1Hz = P1^0; //¶Ë¿Ú¶¨Òå

sbit f5Hz = P1^1; sbit f10Hz = P1^2; sbit f20Hz = P1^3;

unsigned char task_delay[4]; //ÈÎÎñÑÓʱ±äÁ¿¶¨Òå

//¶¨Ê±Æ÷0³õʼ»¯ void timer0_init(void) {

unsigned char i;

for(i=0;i

ÁªÏµ¿Í·þ£º779662525#qq.com(#Ìæ»»Îª@)