基于51单片机运行RTX51 Tiny操作系统源码模板之1.LED闪烁
什么是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闪烁相关推荐
- 基于51单片机的火灾报警器(内含源码,原理图等)
**1.1课题研究背景及意义** 在所有灾害中,火灾事故是最常见.最广泛的重大灾害之一,威胁着群众的安全以及社会和经济发展.它威胁着每个人的身心健康,生命和财务安全.一旦发生火灾,就可 ...
- 基于51单片机8位竞赛抢答器_倒计时可调+LED跑马灯
基于51单片机8位竞赛抢答器_倒计时可调+LED跑马灯仿真设计 (程序+proteus仿真+报告) Proteus仿真版本:proteus 7.8 程序编译器:keil 4/keil 5 编程语言:C ...
- 项目实战:51单片机超声波水位控制器设计 (源码+PCB+原理图与实物制作)全套资料
51单片机超声波水位控制器设计 说明: 本设计中液晶显示有4个字母,分别为 H------容器的最高水位设定值(不能高于实际高度) L------容器的最低水位设定值 D-----容器实际高度(可以设 ...
- 基于51单片机的实时多任务操作系统(RTX51)使用教程
RTX51是keil专门为8051系列量身定做的RTOS,分为Full和Tiny两个版本,Full为可抢占,Tiny为不可抢占,其中,RTX51 Full已经停产,目前只有RTX51 Tiny.RTX ...
- c语言编写闹钟主程序流程图,基于STC15W4K58S4单片机的电子万年历设计源码与报告(数码管显示)...
基于STC15W4K58S4单片机的电子万年历(数码管显示)该压缩包包含源码TXT文件 源工程文件(Keil uVision4文件)和课程设计报告 电子时钟的设计 -单片机综合设计报告 目录 1 任 ...
- 基于51单片机将红外避障模块(E18-D80NK)与led联动
最近我在用51板子将E18-D80NK和LED一起联动.想跟大家做一个经验分享. E18-D80NK介绍: 红外避障传感器是一种集发射与接收于一体的光电传感器.检测 距离可以根据要求进行调节.该传感器 ...
- 51单片机 AT24C02 PROTEUS 读写程序 源码
#include <reg52.h> #include <intrins.h> #include <stdio.h> #include <stdlib.h&g ...
- 单片机与计算机串行通信原理图,PC与51单片机之间RS232串行通信电路原理图/源码等...
距离2015年全国电子设计大赛过去2年之后,近期笔者优化电路设计和代码,提高系统稳定性,减小纹波噪声.之所以依旧优化STC方案的数控电源,是方便学生快速学习数控电源,以便入门.但不得不说,单纯的STC ...
- 基于51单片机的多层电梯(1-16层)运行系统仿真设计_层数可改
基于51单片机的多层电梯(1-16层)运行系统仿真设计_层数可改 仿真图proteus 8.9 程序编译器:keil 4/5 编程语言:C语言 设计编号:S0027 视频演示 基于51单片机的多层电梯 ...
最新文章
- freemarker基本语法及实例
- java亲密数的解题思路,算法解题思路总结 - jjhgx的个人空间 - OSCHINA - 中文开源技术交流社区...
- 【五线谱】音高表示 ( 低音谱号 | C1 36 音符音高表示 | C2 48 音符音高表示 | C3 60 音符音高表示 )
- python 去掉文件头部几行_批量重命名文件的python代码
- python tf_TF 2.1.0-rc2发布,2020年停止支持Python 2
- 最近处理的几个小问题_20160311
- Oracle ——如何确定性能差的 SQL
- 行末没有空格c语言,新人提问:如何将输出时每行最后一个空格删除
- 目前最细致清晰的NSDictionary以及NSMutableDictionary用法总结(转)
- java用中根后根序列构造二叉树,106. 从中序与后序遍历序列构造二叉树
- 初学C#中遇到的问题!
- JavaPoet 开源项目使用
- JFinal 调用 oracle 存储过程的 步骤
- matlab的libsvm工具箱(faruto版本)配置问题汇总,用于VS2015+R2017a
- 易语言静态连接器提取_正确易语言链接器link.exe,使易语言支持静态编译
- iOS蓝牙开发(一)蓝牙相关基础知识
- Windows安全中心功能介绍
- qpython3手机版怎么运行不了_QPython3手机版
- uniapp打包安卓APP生成自有证书的教程,简单实用
- 2022聚合工艺操作证考试题模拟考试平台操作