【51单片机】

本文介绍了一种51单片机的任务调度系统,通过定义任务结构体和周期,实现了任务的创建、事件发布和更新。在中断处理函数中,实现了任务的查询和调度,确保各个任务按周期运行。同时,提供了硬件复位和IO控制的示例代码。
摘要由CSDN通过智能技术生成

#include <reg51.h>              //51 单片机头文件

#define GPIO0_CONCTRON P0              // 定义 IO

#define GPIO1_CONCTRON P1

#define GPIO2_CONCTRON P2

#define GPIO3_CONCTRON P3

#define true 1

#define flase 0

#define MaxTask 3               // 总任务数

#define Task_one 0               // 任务 0

#define Task_two 1               // 任务 1

#define Task_three 2               // 任务 2

#define Task_one_Period 100               // 任务 0 的挂起周期 // 也就是说 它过了这个时间再运行

#define Task_two_Period 4000               // 任务 0 的挂起周期

#define Task_three_Period 70               // 任务 0 的挂起周期

int count = 0;

typedef struct               // 结构体

{

unsigned int wTaskPeriod;               // 运行周期

unsigned int wTaskCount;              // 运行周期计数器

unsigned int wEvent;              // 任务信号

}OSTCB;

OSTCB OS_TCB[MaxTask];

void OS_Create_Task(unsigned int mTaskPro,unsigned int mTaskPreiod)              // 创建任务第一个参数 任务 ID 号 第二个参数 任务运行周期

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值