• 大小: 172KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-06-01
  • 语言: 其他
  • 标签: uC/OS  II  51单片机  

资源简介

MDK5.1 STC89C52RC跑uC/OS II,2个Task,循环打印和点灯。 由于资源有限,再多任务就挂掉了。

资源截图

代码片段和文件信息

/* 本例程uCOS-II 版本为2.51仅创建一个LED闪烁任务于 P1.0 上每隔 0.5 秒闪动一次任务而此例程运行于内 RAM > 300 Byte 的51内核单片机即可。*/  

#include “includes.h“


sbit LED0 = P1^0;
sbit LED1 = P1^1;
sbit LED2 = P1^2;

OS_STK TaskStartStk1[32];
OS_STK TaskStartStk2[32];
//OS_STK TaskStartStk3[32];

//OS_EVENT* FirstSem;
//INT8U err;


// 此表为 LED 的字模          
//INT8U code LED7Code[] = 
//{~0x3F~0x06~0x5B~0x4F~0x66~0x6D~0x7D~0x07~0x7F~0x6F~0x77~0x7C~0x39~0x5E~0x79~0x71};



//INT8U LedNumVal = 0;


//INT8U code shu[11]={0xc00xf90xa40xb00x990x920x820xf80x800x900xbf};
//INT8U code shu[11]={0xfc0x600xda0xf20x660xb60xbe0xe00xfe0xf60x02};
//INT8U display[8]={0xff0xff0xff0xff0xff0xff0xff0xff};

void serialTxBuf(INT8U *str);

#if 0
void Task1(void *ppdata)
{

ppdata=ppdata;
for(;;)
     {
        TI=0;
SBUF=0xaa;
while(TI==0);
   TI=0;
// printf(“How are you?“);
LED0=0; LED1=1;//LED2=1;
        OSTimeDly(OS_TICKS_PER_SEC);
     }    
}

void Task2(void *ppdata)
{

ppdata=ppdata;
for(;;)
     {
        TI=0;
SBUF=0xbb;
while(TI==0);
   TI=0;
//        printf(“I am WangZhen“);
LED0=1; LED1=0;//LED2=1;
        OSTimeDly(OS_TICKS_PER_SEC);
     }    
}

/*void Task3(void *ppdata)
{

ppdata=ppdata;
for(;;)
     {
        TI=0;
SBUF=0xCC;
while(TI==0);
   TI=0;
LED0=1; LED1=1;//LED2=0;
        OSTimeDly(OS_TICKS_PER_SEC*3/2);
     }    
}  */
#else
void Task1(void *ppdata)
{
ppdata=ppdata;
for(;;)
    {
LED0 = ~LED0; 
//OSSemPost(FirstSem);

OSTimeDly(OS_TICKS_PER_SEC);
    }    
}

void Task2(void *ppdata)
{
ppdata=ppdata;
for(;;)
    {
     serialTxBuf(“Hello~!“);
LED1 = ~LED1;
OSTimeDly(OS_TICKS_PER_SEC * 2);
    } 
}



#endif


void seri_init(void) //reentrant
{
    TMOD  = TMOD|0x20;
SCON  = 0x50;
    TH1  = 0xF3;
    TL1  = 0xF3;
PCON |= 0x00;
    TR1  = 1;
}

void main(void)
{
P2 = 0xFF;
//P0 = 0xFF;
    seri_init();
OSInit();
InitHardware();

//FirstSem = OSSemCreate(0);//定义一个信号量

OSTaskCreate(Task1 (void*)0 &TaskStartStk1[0] 1);
OSTaskCreate(Task2 (void*)0 &TaskStartStk2[0] 2);
//OSTaskCreate(Task3 (void*)0 &TaskStartStk3[0] 3);

OSStart();
}


void serialTxBuf(INT8U *str)
{
while(*str != ‘\0‘)
{
SBUF = *str++;
    while(!TI);
    TI = 0;
}
}




 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2014-08-12 20:53  STC89C52RC_UCOSII\
     目录           0  2014-08-12 20:53  STC89C52RC_UCOSII\OutPut\
     文件       21314  2014-08-12 20:51  STC89C52RC_UCOSII\OutPut\main.obj
     文件       31192  2014-08-11 03:50  STC89C52RC_UCOSII\OutPut\OS_CORE.obj
     文件         902  2014-08-11 03:50  STC89C52RC_UCOSII\OutPut\OS_CPU_A.obj
     文件       22710  2014-08-11 03:50  STC89C52RC_UCOSII\OutPut\OS_CPU_C.obj
     文件       18398  2014-08-11 03:50  STC89C52RC_UCOSII\OutPut\OS_MBOX.obj
     文件       18039  2014-08-11 03:50  STC89C52RC_UCOSII\OutPut\OS_MEM.obj
     文件       18521  2014-08-11 03:50  STC89C52RC_UCOSII\OutPut\OS_Q.obj
     文件       18327  2014-08-11 03:50  STC89C52RC_UCOSII\OutPut\OS_SEM.obj
     文件       21082  2014-08-11 03:50  STC89C52RC_UCOSII\OutPut\OS_TASK.obj
     文件       18972  2014-08-11 03:50  STC89C52RC_UCOSII\OutPut\OS_TIME.obj
     文件         367  2014-08-11 03:50  STC89C52RC_UCOSII\OutPut\STARTUP.obj
     文件      184081  2014-08-12 20:53  STC89C52RC_UCOSII\OutPut\uCOS-II
     文件         382  2014-08-12 20:53  STC89C52RC_UCOSII\OutPut\uCOS-II.build_log.htm
     文件       10335  2014-08-12 20:53  STC89C52RC_UCOSII\OutPut\uCOS-II.hex
     文件         316  2014-08-12 20:53  STC89C52RC_UCOSII\OutPut\uCOS-II.lnp
     文件         607  2009-08-22 10:42  STC89C52RC_UCOSII\OutPut\uCOS-II.plg
     目录           0  2014-08-12 20:47  STC89C52RC_UCOSII\Source\
     文件        1015  2009-08-22 09:48  STC89C52RC_UCOSII\Source\INCLUDES.H
     文件        2468  2014-08-12 20:51  STC89C52RC_UCOSII\Source\main.c
     文件        3563  2008-07-07 13:53  STC89C52RC_UCOSII\STC89C51RC_RD_PLUS.H
     目录           0  2014-08-10 21:22  STC89C52RC_UCOSII\uCosii\
     文件        8425  2014-08-11 03:41  STC89C52RC_UCOSII\uCosii\OS_CFG.H
     文件       44691  2008-12-03 13:02  STC89C52RC_UCOSII\uCosii\OS_CORE.C
     文件        4198  2007-08-11 18:34  STC89C52RC_UCOSII\uCosii\OS_CPU.H
     文件        7315  2008-12-04 16:58  STC89C52RC_UCOSII\uCosii\OS_CPU_A.ASM
     文件       12665  2009-08-22 09:31  STC89C52RC_UCOSII\uCosii\OS_CPU_C.C
     文件       44921  2006-06-22 10:06  STC89C52RC_UCOSII\uCosii\OS_FLAG.C
     文件       23921  2006-06-22 10:06  STC89C52RC_UCOSII\uCosii\OS_MBOX.C
     文件       14181  2006-06-22 10:06  STC89C52RC_UCOSII\uCosii\OS_MEM.C
............此处省略19个文件信息

评论

共有 条评论