嵌入式基于ucOS的多任务系统.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
嵌入式基于ucOS的多任务系统

重庆交通大学计算机与信息学院 设计性实验报告 成 绩: 班 级: 电子(3)班 学 号: 姓 名: 实验项目名称: 基于ucOS的多任务系统 实验项目性质: 设 计 性 实 验 实验所属课程: 嵌 入 式 系 统 实验室(中心): 电 子 实 验 室 指 导 教 师 : 实验完成时间: 2010 年 6 月 1 日 一、实验目的 通过实验,学习在uC/OSII操作系统中控制多个任务之间的切换和同步,以及多任务控制程序的编写方法。 二、实验内容及要求 (一)内容 建立三个uC/OSII的任务,一个用于检测KEY按键输入(P0.20口的输入),为按键检测任务;另一个任务用于控制LED流水灯,为LED控制任务,还有一个任务是控制蜂鸣器,称作蜂鸣器控制任务。通过三个任务实现LED流水灯、蜂鸣器、按键之间的关联切换。 (二)要求 (1)设计LED流水灯的闪烁方式。 (2)蜂鸣器的鸣叫方式。 (3)按键的功能。 (4)LED、蜂鸣器、按键之间有一定的切换关系。 三、实验设备及软件 硬件:PC机 一台 ; MagicARM2200-S教学实验开发平台 一套 软件:Windows98/XP/2000系统 ;ADS1.2集成开发环境 uC/OSII操作系统 四、设计方案 (一)方案原理 1、信号量与邮箱 (1)要完成两个任务之间的单向同步,需要通过邮箱或者信号量来实现。 用信号量进行单向同步,以一个事情触发两个以上任务时,按键任务划分原则可以将他们合并为一个任务。如果这些任务因为其他原因不能合并(不同的功能部件),则可以采用有消息分发功能的通信机制——邮箱,以减少通信工具的个数。 (2)且用信号量进行行为同步时,只能提供同步的时刻信息,不能提供内容信息,当控制方在对被控制方进行控制,且还需要向被控制方提供内容信息(数据或字符串)时,消息邮箱是一种有效的方案。 (3)当两个任务是系统“信息链条”中的相邻两个环节时,前一个任务的输出信息就是后一个任务的输入信息,消息邮箱就是连接这两个任务的桥梁。在消息邮箱看来,提供消息的任务(或ISR)是生产者,读取消息的任务是消费者,正常情况下,消息的消费时间比生产时间短,消费者总是在等待消息的到来,这时,生产者每向“消息邮箱”发送一次“消息”,就立即被消费者取走,两者达到理想的同步效果。 (4)由于“消息邮箱”里只能存放一条消息,所以在用消息邮箱进行同步控制时,必须满足一个前提:任何时候消息的产生速度都比消息的消费速度慢,即被控制任务总是在等待消息。 2、关于优先级 如果单向同步发生在两个任务之间,那么实际同步效果与两个任务的优先级有很大关系,当控制方任务的优先级低于被控制方任务的优先级时,控制方任务发出信息后使被控制方任务进入就绪状态,瞬时同步效果较好, 当控制方任务的优先级高于被控制方任务的优先级时,控制方任务发出信息后使被控制方任务进入就绪状态,但并不发声切换,只有当控制方再次调用系统服务函数(如延时函数)并使自己挂起时,被控制方任务才会有运行机会,瞬时同步效果较差,当被控制方任务的实时性要求不高,或者采取有缓冲功能的通行手段时,这是可以接受的。常用做法是采用首尾触发方式(控制方任务的尾部触发被控制方的首部),控制方在发出信息后立即调用延时函数(延时时间大于被控制方任务的处理时间),主动使自己挂起来,让低优先级的控制方任务尽快得到运行机会,从而改善同步效果。 (二)方案设计 LED流水灯闪烁方式: UCOS_LED[42]={0xff,0x00, 0x33,0xcc,0x55,0x33,0xcc,0xaa, 0x03,0x06,0x0c,0x18,0x30,0x60,0xc0,0x00, 0xc0,0x60,0x30,0x18,0x0c,0x06,0x03,0x00, 0x81,0xc3,0xe7,0xff,0xe7,0xc3,0x81,0x00, 0xff,0x7e,0x3c,0x18,0x00,0x18,0x3c,0x7e, 0xff,0x00}; 2、蜂鸣器鸣叫方式: 蜂鸣器相当于一个警报提醒,提醒当前进程为等待按键状态,鸣叫方式为持续鸣叫,持续时间为3秒。另外由于LED任务执行完一次需要的时间是21秒,因此在

文档评论(0)

shenlan118 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档