RTX51应用笔记.doc_第1页
RTX51应用笔记.doc_第2页
RTX51应用笔记.doc_第3页
RTX51应用笔记.doc_第4页
RTX51应用笔记.doc_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

RTX51应用笔记mcs 51 2008-09-01 08:33:48 阅读31 评论0 字号:大中小 RTX51是KEILC公司专为51系列单片机而出的嵌入式系统,目前有两个版本可供选择:RTX51 tiny和RTX51 full 两个版本。由于使用的人不是很多,相关的资料也十分的少。因此本人在调试时走了一点点弯路,由于之前自学了点UC/OS II嵌入式操作系统。学习RTX51时感到十分的轻松。 此次上传一点关于RTX51软件安装包和一点中文使用手册(想学好的话必须得看英文手册,安装好软件包后,英文手册在HLP目前下可找到)。 本此讲解的为RTX51 TINY版,因为它适合于没有外展存储器的51芯片,其本身也就900个字节左右,非常的小巧,当然了功能方面也就相应缩水了!。但是,使用RTX51 Tiny 的程序可以访问外部存储器。RTX51 Tiny允许循环任务切换,并且支持信号传递,还能并行的利用中断功能。RTX51 Tiny 的os_wait函数可以等待以下事件:时间到、时间间隔、来自任务或者中断的信号。压缩包中的中文手册讲解的非常的详细,也此就不再赘说了。下面举两个小例子: 事前准备:下载附件,解压。安装RTX 51软件包,(注KEIL C 版本必须是7.02版本以上) 实例1:(最好的例子是安装后程序处带的examples,我就是认真看了交通灯那个例子后才调通了下面的LED流水灯程序的) #include #include const unsigned char table=0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80 ,0x40,0x20,0x10,0x08,0x04,0x02,0x01,0xFF,0x00;/*时间到空间的转换,如果table是:const unsigned char table=0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80;则算法和代码会多出一倍来。table数组虽然增加了一倍,算法也随之减少了一半,好处当然不止在这里体现,下面的进程2也减少了一半*/进程0 左-右-左void LED0 (void) _task_ 0 int i; os_create_task(1);/创建进程1 os_create_task(2);/创建进程2 while(1) for (i = 0; i 全灭-全亮void LED1 (void) _task_ 1 int i; while(1) os_wait(K_SIG,0,0); for (i = 0; i 中间中间-两边void LED2 (void) _task_ 2 int i; while(1) os_wait(K_SIG,0,0); for (i = 0; i 8; i+) P1 = tablei | tablei+7; /由于table长度多一倍,省去了一个循环,而且算法也简化了。 os_wait(K_TMO,30,0); os_send_signal(0);/发送Signal信号,激活进程0 注:RTX 51 是从 _task_ 0开始运行程序的(程序中不能出现 main()函 数)。上述例子是使用RTX 51 的TINY版 编写的一个流水灯的程序。有详 细的注解,应该很容易看明白的。调入KEIL C中进行编译时千万不能忘了 选择相应的操作系统。如下图所示: 实例二: #include reg51.h #include rtx51tny.h sbit led0 = P10;/定义一个LED测试灯0 sbit led1 = P11;/定义一个LED测试灯1 /* /功能:任务0 创建任务1 和任务2,运行后便将自身删除。 */ void main_job() _task_ 0 os_create_task(1);/创建进程1 os_create_task(2);/创建进程2 os_delete_task(0);/将自身删除 /* /功能:控制LED0闪烁 */ void led0_job() _task_ 1 led0 = 1;/LED初始为不亮(对于共阳接法) for (;) led0 = !led0;/LED0闪烁 os_wait(K_TMO,100,0);/延时0.3S /* /功能:控制LED1闪烁 */ void led1_job() _task_ 2 led1 = 1;/LED初始为不亮(对于共阳接法) for (;) led1 = !led1;/LED1闪烁 os_wait(K_TMO,150,0);/延时0.3S 注:可能注意到了上面所有的任务中都是一个死循环。刚接触 的朋

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论