⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ex1.c

📁 Ucos2在80c51f上的移植
💻 C
字号:
#include <includes.h>
#include <cygnalcon.h>




void TaskA(void*) reentrant;
void TaskB(void*) reentrant;
void TaskC(void*) reentrant;
void TaskD(void*) reentrant;

OS_STK TaskStartStkA[MaxStkSize];//注意:在ASM文件中设置?STACK空间为40H即64。
OS_STK TaskStartStkB[MaxStkSize];
OS_STK TaskStartStkC[MaxStkSize];
OS_STK TaskStartStkD[MaxStkSize];

void main(void)
{	

	config();

    OSInit();

    InitTimer0();

    
    OSTaskCreate(TaskA, (void *)0, TaskStartStkA,2);
    OSTaskCreate(TaskB, (void *)0, TaskStartStkB,3);
    OSTaskCreate(TaskC, (void *)0, TaskStartStkC,4);
	OSTaskCreate(TaskD, (void *)0, TaskStartStkD,5);
    

    OSStart();
}


void TaskA(void *pdat) reentrant
	{

    	pdat=pdat;

   	 	for(;;){
				INT8U sz=0;
				INT8U d[10]={63,6,91,79,102,109,124,7,127,103};
				for( sz=0;sz<10;sz++)
					{
						P3=d[sz];
						OSTimeDly(OS_TICKS_PER_SEC);
					}
	 	
    			}    
	}

void TaskB(void *pdat) reentrant
	{
    	pdat=pdat; 
    	
    	for(;;){

				P1=~P1;

    			OSTimeDly(5*OS_TICKS_PER_SEC);    
    			}    
	}

void TaskC(void *pdat) reentrant
	{
    	pdat=pdat; 

    	for(;;){

				P0=~P0;
        		OSTimeDly(2*OS_TICKS_PER_SEC);    
    			}    
	}

void TaskD(void *pdat) reentrant
	{	

		INT8U sx;
		INT8U e[10]={103,127,7,124,109,102,79,91,6,63};

   		pdat=pdat;
   
 		for(;;){
			
				for( sx=0;sx<10;sx++)
					{
						P2=e[sx];
						OSTimeDly(3*OS_TICKS_PER_SEC);
					}
			 			
    			}
   
	}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -