什么是RTX51 Tiny:

RTX51 Tiny是一种实时操作系统(RTOS),可以用它来建立多个任务(函数)同时执行的应用。能灵活的调度系统资源,像CPU和存储器,并且提供任务间的通信。RTX51 Tiny是一个功能强大的RTOS,且易于使用,它用于8051系列的微控制器。
RTX51 Tiny的程序用标准的C语言构造,由Keil C51 C编译器编译。用户可以很容易的定义任务函数,而不需要进行复杂的栈和变量结构配置,只需包含一个指定的头文件。

在Keil中添加RTX51 Tiny:


魔法棒-Target-Operating system-RTX51 Tiny,点【ok】。

添加头文件RTX51TNY.H:

/*--------------------------------------------------------------------------
RTX51TNY.H
Prototypes for RTX51 Tiny Real-Time Operating System Version 2.02
Copyright (c) 1988-2002 Keil Elektronik GmbH and Keil Software, Inc.
All rights reserved.
--------------------------------------------------------------------------*/#ifndef __RTX51TNY_H__
#define __RTX51TNY_H__/* constants for os_wait function */
#define K_SIG      0x01              /* Wait for Signal   */
#define K_TMO      0x02              /* Wait for Timeout  */
#define K_IVL      0x80              /* Wait for Interval *//* function return values */
#define NOT_OK     0xFF              /* Parameter Error */
#define TMO_EVENT  0x08              /* Timeout Event   */
#define SIG_EVENT  0x04              /* Signal  Event   */
#define RDY_EVENT  0x80              /* Ready   Event   */extern unsigned char os_create_task     (unsigned char task_id);
extern unsigned char os_delete_task     (unsigned char task_id);extern unsigned char os_wait            (unsigned char typ,unsigned char ticks,unsigned int dummy);
extern unsigned char os_wait1           (unsigned char typ);
extern unsigned char os_wait2           (unsigned char typ,unsigned char ticks);extern unsigned char os_send_signal     (unsigned char task_id);
extern unsigned char os_clear_signal    (unsigned char task_id);
extern unsigned char isr_send_signal    (unsigned char task_id);extern void          os_set_ready       (unsigned char task_id);
extern void          isr_set_ready      (unsigned char task_id);extern unsigned char os_running_task_id (void);
extern unsigned char os_switch_task     (void); extern void          os_reset_interval  (unsigned char ticks);#endif

RTX51 Tiny 创建任务:

#include <STC8F.h>
#include <RTX51TNY.H>  //引入RTX51TNY.H头文件sbit SYSLED = P2^6;   //定义P2.6端口为系统LED指示灯void start_task(void) _task_ 0     //启动多任务环境
{/* 初始化 */os_wait2(K_TMO,10);os_create_task(1);  //创建任务一os_create_task(2);  //创建任务二os_create_task(3);  //创建任务三while (1)  {/* 添加你的任务 */}
}void Task1(void) _task_ 1          //任务一
{while (1)  {SYSLED=~SYSLED;/* 添加你的任务 */os_wait2(K_TMO,100);     //500毫秒执行一次}
}void Task2(void) _task_ 2          //任务二
{while(1){/* 添加你的任务 */os_wait2(K_TMO,10);      //50毫秒执行一次 }
}void Task3(void) _task_ 3          //任务三
{while(1){/* 添加你的任务 */os_wait2(K_TMO,10);      //50毫秒执行一次 }
}

源码下载:基于51单片机运行RTX51 Tiny操作系统源码模板LED闪烁源码

基于51单片机运行RTX51 Tiny操作系统源码模板之1.LED闪烁相关推荐

  1. 基于51单片机的火灾报警器(内含源码,原理图等)

    **1.1课题研究背景及意义**         在所有灾害中,火灾事故是最常见.最广泛的重大灾害之一,威胁着群众的安全以及社会和经济发展.它威胁着每个人的身心健康,生命和财务安全.一旦发生火灾,就可 ...

  2. 基于51单片机8位竞赛抢答器_倒计时可调+LED跑马灯

    基于51单片机8位竞赛抢答器_倒计时可调+LED跑马灯仿真设计 (程序+proteus仿真+报告) Proteus仿真版本:proteus 7.8 程序编译器:keil 4/keil 5 编程语言:C ...

  3. 项目实战:51单片机超声波水位控制器设计 (源码+PCB+原理图与实物制作)全套资料

    51单片机超声波水位控制器设计 说明: 本设计中液晶显示有4个字母,分别为 H------容器的最高水位设定值(不能高于实际高度) L------容器的最低水位设定值 D-----容器实际高度(可以设 ...

  4. 基于51单片机的实时多任务操作系统(RTX51)使用教程

    RTX51是keil专门为8051系列量身定做的RTOS,分为Full和Tiny两个版本,Full为可抢占,Tiny为不可抢占,其中,RTX51 Full已经停产,目前只有RTX51 Tiny.RTX ...

  5. c语言编写闹钟主程序流程图,基于STC15W4K58S4单片机的电子万年历设计源码与报告(数码管显示)...

    基于STC15W4K58S4单片机的电子万年历(数码管显示)该压缩包包含源码TXT文件 源工程文件(Keil uVision4文件)和课程设计报告 电子时钟的设计 -单片机综合设计报告 目录 1  任 ...

  6. 基于51单片机将红外避障模块(E18-D80NK)与led联动

    最近我在用51板子将E18-D80NK和LED一起联动.想跟大家做一个经验分享. E18-D80NK介绍: 红外避障传感器是一种集发射与接收于一体的光电传感器.检测 距离可以根据要求进行调节.该传感器 ...

  7. 51单片机 AT24C02 PROTEUS 读写程序 源码

    #include <reg52.h> #include <intrins.h> #include <stdio.h> #include <stdlib.h&g ...

  8. 单片机与计算机串行通信原理图,PC与51单片机之间RS232串行通信电路原理图/源码等...

    距离2015年全国电子设计大赛过去2年之后,近期笔者优化电路设计和代码,提高系统稳定性,减小纹波噪声.之所以依旧优化STC方案的数控电源,是方便学生快速学习数控电源,以便入门.但不得不说,单纯的STC ...

  9. 基于51单片机的多层电梯(1-16层)运行系统仿真设计_层数可改

    基于51单片机的多层电梯(1-16层)运行系统仿真设计_层数可改 仿真图proteus 8.9 程序编译器:keil 4/5 编程语言:C语言 设计编号:S0027 视频演示 基于51单片机的多层电梯 ...

最新文章

  1. freemarker基本语法及实例
  2. java亲密数的解题思路,算法解题思路总结 - jjhgx的个人空间 - OSCHINA - 中文开源技术交流社区...
  3. 【五线谱】音高表示 ( 低音谱号 | C1 36 音符音高表示 | C2 48 音符音高表示 | C3 60 音符音高表示 )
  4. python 去掉文件头部几行_批量重命名文件的python代码
  5. python tf_TF 2.1.0-rc2发布,2020年停止支持Python 2
  6. 最近处理的几个小问题_20160311
  7. Oracle ——如何确定性能差的 SQL
  8. 行末没有空格c语言,新人提问:如何将输出时每行最后一个空格删除
  9. 目前最细致清晰的NSDictionary以及NSMutableDictionary用法总结(转)
  10. java用中根后根序列构造二叉树,106. 从中序与后序遍历序列构造二叉树
  11. 初学C#中遇到的问题!
  12. JavaPoet 开源项目使用
  13. JFinal 调用 oracle 存储过程的 步骤
  14. matlab的libsvm工具箱(faruto版本)配置问题汇总,用于VS2015+R2017a
  15. 易语言静态连接器提取_正确易语言链接器link.exe,使易语言支持静态编译
  16. iOS蓝牙开发(一)蓝牙相关基础知识
  17. Windows安全中心功能介绍
  18. qpython3手机版怎么运行不了_QPython3手机版
  19. uniapp打包安卓APP生成自有证书的教程,简单实用
  20. 2022聚合工艺操作证考试题模拟考试平台操作

热门文章

  1. 解决 小米售后 请选择三级故障类型 无法选
  2. Java包装类(Wrapper)作用详解
  3. java后台发送https请求(基于httpTemplate的httpUtil工具实现)
  4. 节能小妙招,8个太阳能供电案例抢先围观
  5. JS replace替换字符串所有匹配字符
  6. telephony.db分析
  7. 2009年度编程语言之争
  8. 剧版《三体》曝光清华“飞刃”成果:现实里长这样,太空电梯和碳基芯片都能用...
  9. 家庭收支记录软件 java
  10. 查询网站的服务器,查询网站服务器