网站大量收购独家精品文档,联系QQ:2885784924

单片机原理与嵌入式系统设计——原理、应用、Protues仿真、实验设计第9章.ppt

单片机原理与嵌入式系统设计——原理、应用、Protues仿真、实验设计第9章.ppt

  1. 1、本文档共71页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第9章 多任务实时操作系统RTX-51 RTX-51是Keil公司开发的一款应用于80C51系列单片机的实时多任务操作系统。采用RTX-51可简化复杂的软件设计,缩短项目周期。RTX-51使得复杂的多任务程序设计变得简单,因此在80C51系列单片机嵌入式系统中应用很广泛。 9.1 RTX-51实时多任务操作系统简介 9.2 RTX-51 TINY的任务管理 9.3 如何使用RTX-51 9.4 RTX-51 TINY提供的系统函数 9.5 RTX-51 TINY的配置 9.6 基于Proteus的RTX-51应用实例 本 章 小 结 RTX-51实时多任务操作系统简介 9.1.1 单任务程序与多任务程序的比较 9.1.2 使用RTX-51 TINY的软硬件要求 1.编译环境 操作系统RTX-51的软件环境要求: C51编译程序。 ? BL51连接程序。 ? A51宏汇编程序。 ? 库文件RTX-51TNY.LIB必须保存在DOS环境变量C51LIB指定的程序库路径内,一般是目录C51\LIB。头文件RTX-51TNY.H必须保存在DOS环境变量C51INC指定的包含路径内,一般是目录C51\INC。 RTX-51内核完全集成在Keil C51编译器中,在μVision2 IDE完成安装之后,软件环境即满足上述要求。 9.1.3 使用RTX-51 TINY的注意事项 9.2 RTX-51 TINY的任务管理 9.3 如何使用RTX-51 TINY 本 章 小 结 本 章 小 结 本 章 小 结 9.3.2 编译和连接 用μVision2 IDE建立工程,添加RTX-51 TINY程序文件。 (1)打开如图所示的目标对话框选项(从project菜单中选择Options for Target)。 (2)选择Target标签。 (3)从Operating选项列表中选择RTX-51 TINY,使用操作系统。 其他设置同非RTX-51 TINY一致。 9.3.3 调试 μVision2模拟器允许运行和测试RTX-51 TINY应用程序。RTX-51 TINY程序的加载和非RTX-51 TINY程序的加载是一样的。无须指定特别的命令和选项。 启动调试后,一个核心的对话框显示RTX-51 TINY核心和程序中任务的所有特征。从Peripherals菜单中选择RTX-51 TINY Tasklist显示该对话框 9.3.4 实例——os_wait函数的使用 例9.1如图9.4所示,假设在AT89C52的P1口接有8个LED,使用RTX-51 TINY,编写程序使8个LED以不同的频率闪烁。 分析:需要建立9个任务,初始化任务和8个LED闪烁任务,在初始化任务中建立8个LED闪烁任务,之后删除自身。使用os_wait函数等待超时进行任务切换,修改Conf_tny.A51中的TIMESHARING禁止循环人为切换 9.4 RTX-51 TINY提供的系统函数 1.isr_send_signal 概要: #includeRTX-51tny.h char isr_send_signal(unsigned char task_id); /*信号发往的任务*/ 描述:isr_send_signal函数给任务task_id发送一个信号。如果指定的任务正在等待一个信号,则该函数使该任务就绪,但不启动它,信号存储在任务的信号标志中。该函数仅被中断函数调用。 返回值:成功调用后返回0,如果指定任务不存在,则返回-1。 例:#includeRTX-51tny.h void tst_isr_send_signal(void) interrupt 2 { isr_send_signal(6); /*给任务6发信号*/ } 2.isr_set_ready 概要:#include RTX-51tny.h char isr_set_ready{ unsigned char task_id}; /*使就绪的任务*/ 描述:将由task_id指定的任务置为就绪态。该函数仅被中断函数调用。 返回值:无。 例:#include RTX-51tny.h void tst_isr_set_ready(void)interrupt 2 { isr_set_ready(1); /*置位任务1的就绪标志*/ } 3.os_clear_signal 概要:#include RTX-51tny.h char os_clesr_signal(unsigned cahr task_id); /*清除

文档评论(0)

docindoc + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档