预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共22页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

HYPERLINK"http://blog.sina.com.cn/s/blog_9e2b53bf01012vld.html"8051系列MCU的微型操作系统RTX51Tiny介绍μVision是德国Keil公司开发的单片机HYPERLINK"http://www.hqew.com/tech/qtdz/200010160031/1346480.html"\t"_blank"IDE软件,最初主要用于HYPERLINK"http://www.hqew.com/tech/dzg/200010140014/754782.html"\t"_blank"8051HYPERLINK"http://www.hqew.com/tech/led/200010410003/27268.html"\t"_blank"系列单片机,RTX51是其自带的运行于8051系列单片机上的小型多任务实时操作系统,可用来设计具有实时性要求的多任务软件。RTx51有2个版本:RTX51Tiny和RTX51Full。RTX51Tiny是RTX51Full的子集。RTX51Tiny自身仅占用900字节左右的程序存储空间,可以很容易地运行在没有外部扩展存储器的8051单片机系统上。它完全集成在KeilC5l编译器中,具有运行速度快、对硬件要求不高、使用方便灵活等优点,因此越来越广泛地应用到单片机的软件开发中。它可以在单个CPU上管理几个作业(任务),同时可以在没有扩展外部存储器的单片机系统上运行。目前在8051系列单片机上使用多任务实时操作系统,RTX51Tiny也就成为了首选。//////////////////////////////////////////////////////////////////////////////////////////////////////////////////\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\RTX51TINY允许同时“准并行”地执行多个任务:各个任务并非持续运行,而是在预先设定的时间片(timeslice)内执行。CPU执行时间被划分为若干时间片,RTX51TINY为每个任务分配一个时间片,在一个时间片内允许执行某个任务,然后RTX51TINY切换到另一个就绪的任务并允许它在其规定的时间片内执行。由于各个时间片非常短,通常只有几ms,因此各个任务看起来似乎就是被同时执行了。RTX51TINY利用单片机内部定时器0的中断功能实现定时,用周期性定时中断驱动RTX51TINY的时钟。它最多可以定义16个任务,所有的任务可以同时被激活,允许循环任务切换,仅支持非抢占式的任务切换,操作系统为每一个任务分配一个独立的堆栈区,在任务切换的同时改变堆栈的指针,并保存和恢复寄存器的值。RTX51TINY没有专门的时间服务函数和任务挂起函数,而是通过os_wait()中的参数设定实现的。使用RTX51TINY时用户程序中不需要包含main()函数,它会自动地从任务0开始运行。如果用户程序中包含有main()函数,则需要利用os_create_task函数来启动RTX51实时操作系统。特性:最大任务数:16最大激活的任务数:16所需的CODE空间:最大900ByteDATA空间:7字节STACK空间:3字节XDATA空间:0字节时钟数:0个系统时钟分频:1000-----65535中断嵌套:小于20层任务切换时间:100-700时钟周期应用:C51纺编译器A51MarcoAssemblerBL51LinkerorLx51LinkerRTX51TNY.LIB和RTX51BT.LIB必需存储在库路径上,一般是文件夹\KEIL\C51\LIBRTX51TNY.H包含文件必须存储在包含文件路径上,一般是文件夹\KEIL\C51\INC应用程序可能需要外部分的数据存储空间,但内核并不需要外部存储空间KEILC51支持各种存储模式:选择存储模式只影响应用程序的存的数据存储,操作系统的变量和堆栈只存在于51的内存中,即DATA和IDATA,一般情况下,RTX51Tiny的应用只需要小存储模式。在RTX51Tiny中每个应用程序运行的时间是固定的,支持cooperative任务切换和round-robin任务切换,不支持preemptive(抢先、抢占)任务切换和任务优先级。如果应用程序需要preemptive任务切换则必须使用RTX51FULL-TimeExe