资源简介
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个文件信息
- 上一篇:用友U8卸载清除工具
- 下一篇:校园导游实验报告数据结构
相关资源
- 基于MCS_51单片机的工业屏柜散热方案
- MCS_51单片机与8255A的接口设计
- Apolipoprotein E4 Impairs in vivo Hippocampal
- Quartus II 15.0中仿真Altera三速以太网I
- Quartus II 15.0中仿真Altera三速以太网I
- 51单片机PWM程序,占空比、周期可调整
- 3人表决器 QuartusII
- 51单片机多功能自行车测速仪
- 00
- 用51单片机实现G代码翻译
- 简易的电阻电容测量电路
- DAS1302蜂鸣 独立按键 闹钟设定 IIC存储
- 51单片机基于protues的几个仿真实例
- 51单片机PCB设计图
- PC -- 单片机的串口数据传输系统设计
- 51单片机控制舵机程序
- 51单片机读取温度数据存储到SD卡中并
- 【单片机】51单片机数码管显示万年历
- 曼彻斯特编解码_同步QuartusII工程
- C51单片机汇编指令查询、学习工具集
- 基于8051单片机的红外接收程序
- CPLD Verilog数字密码锁 源码
- 51单片机频率计(很简单)
- 全自动多功能编码转换工具(URLASCI
- 基于VHDL的交通灯控制器设计
- 基于51单片机的智能温控器
- 基于51单片机的16*16点阵动态显示
- 基于51单片机的模数转换与数模转换
- II型逆向跷跷板机制及其在LHC和ILC的签
- 点阵字库 包含ACSII、字符、文字
评论
共有 条评论