课程设计论文基于实时操作系统的单片机多任务应用程序设计

上传人:pu****.1 文档编号:504415717 上传时间:2023-10-25 格式:DOC 页数:74 大小:191KB
返回 下载 相关 举报
课程设计论文基于实时操作系统的单片机多任务应用程序设计_第1页
第1页 / 共74页
课程设计论文基于实时操作系统的单片机多任务应用程序设计_第2页
第2页 / 共74页
课程设计论文基于实时操作系统的单片机多任务应用程序设计_第3页
第3页 / 共74页
课程设计论文基于实时操作系统的单片机多任务应用程序设计_第4页
第4页 / 共74页
课程设计论文基于实时操作系统的单片机多任务应用程序设计_第5页
第5页 / 共74页
点击查看更多>>
资源描述

《课程设计论文基于实时操作系统的单片机多任务应用程序设计》由会员分享,可在线阅读,更多相关《课程设计论文基于实时操作系统的单片机多任务应用程序设计(74页珍藏版)》请在金锄头文库上搜索。

1、重庆科技学院课程设计报告 院(系):_电气与信息工程学院_ 专业班级: 计科普2008-02学生姓名: 学 号: 设计地点(单位)_ _ I515_ _ _ 设计题目:_ 基于实时操作系统的单片机多任务应用程序设计_ 完成日期: 2011年 7月 4日 指导教师评语: _ _ _ _ _ 成绩(五级记分制):_ _ _ 指导教师(签字):_ _ _ 重庆科技学院课程设计任务书设计题目:基于实时操作系统的单片机多任务应用程序设计学生姓名课程名称实时操作系统(ucos-II)专业班级计科普2008地 点I313起止时间2011年6月27日-2011年7月8日设计内容及要求1、 充分消化ucos-I

2、I内核,理解其内核架构。体会相关数据结构的设计。2、 在第1步的基础上,消化Small RTOS51内核。弄清其为了实现在128个字节的单片机环境下在内核的数据结构做了如何优化设计。3、 将Small RTOS51移植到MCS-51单片机的最小系统板上,使在上面进行正常运行。4、 基于Small RTOS51平台的MCS-51单片机上,编写:(1) LED显示驱动程序。(2) 键盘扫描驱动程序。(3) 串口通信接收和发送驱动程序5、 在前面的基础上完成一个基于Small RTOS51的多任务应用程序,并在MCS-51最小系统板上调试通过。设计参数1、 写出ucos-II内核的架构2、 比较Sm

3、all RTOS 与ucos-II实时操作系统的异同,及各自优缺点。3、 实现Small RTOS在MCS-51最小系统板上的移植,写清移植原理和步骤。4、 至少实现设计要求中的三个驱动程序中的二个及以上。5、 结合自已在课程中、平时或竞赛中涉及的题目,改用基于small RTOS进行实现(系统必须实现的多任务应用程序在MCS-51上应能稳定的运行)。进度要求6月27完成ucos-II内核架构剖析,6月27日-29日完成Small RTOS51内核的分析。6月30日完成Small RTOS51向MCS-51单片机最小系统板的移植。7月1日-7月2日完成相关驱动程序的编写和调试。7月3日-7月6

4、日完成相应在多任务应用程序的编写,并集成到MCS-51最小系统板上,使其稳定运行。7月7日设计志成果汇报和答辩。7月8日完成设计报告。参考资料其它说明.本表应在每次实施前一周由负责教师填写二份,院系审批后交院系办备案,一份由负责教师留用。.若填写内容较多可另纸附后。3.一题多名学生共用的,在设计内容、参数、要求等方面应有所区别。教研室主任: 指导教师: 年 月 日摘要嵌入式系统是软件和硬件的综合体,嵌入式系统是与应用紧密结合的,具有很强专用性,必须结合实际系统需求进行合理的裁减利用。 本设计任务是基于实时操作系统的单片机多任务应用程序设计。通过深入剖析C/OS-内核架构,之后理解和读懂smal

5、l RTOS微型嵌入式操作系统的内核。实现多任务的驱动程序,实现LED驱动、串口驱动和键盘驱动。关键词:嵌入式系统 实时 多任务 驱动目 录1 系统需求分析11.1设计内容与目的11.2 设计的实现方案12.总体设计22.1 设计模块图22.2 ucos-II内核架构22.3 Small RTOS 与uC/OS-II的异同52.4 Small RTOS移植到单片机52.4 Small RTOS驱动程序93 详细设计103.1LED驱动程序103.2键盘驱动程序143.3串口收发驱动程序173.4功能实现204. 设计总结215 致谢226 参考文献23I1 系统需求分析1.1设计内容与目的本课

6、程完成的主要内容有:(1)写出C/OS-内核的架构。(2)比较Small RTOS 与C/OS-实时操作系统的异同,及各自优缺点。(3)实现Small RTOS在MCS-51最小系统板上的移植,写清移植原理和步骤。(4)至少实现设计要求中的三个驱动程序中的二个及以上。本课程设计的目的是:通过该课程设计学习,深入理解嵌入式操作系统的作用,C/OS-内核的架构。深入理解small RTOS内核架构,学会移植small RTOS到单片机上,并在单片机上运行应用程序。1.2 设计的实现方案 本设计在51单片机上移植小系统,并且在小系统上编写多任务驱动程序。驱动程序包括:LED驱动、串口驱动和键盘驱动。

7、 驱动的设计可以用多任务实现,这样可以让系统更加稳定,减少开发时间。2.总体设计 2.1 设计模块图该设计的功能模块如下图所示: 微型操作系统small RTOS移植small RTOS到51单片机上编写LED驱动程序编写键盘驱动程序编写串口收发程序图2.1 功能模块图2.2 ucos-II内核架构作为一个轻量级的操作系统,C/OS-提供的功能包括:任务管理、中断管理、时间管理、信号量、邮箱、消息队列、互斥信号量等,可基本满足较小系统的需要。C/OS-内核支持优先级调度算法,每个任务可根据重要程度的不同被赋予一定的优先级,CPU总是让处于就绪态的、优先级最高的任务先运行。C/OS-的实时内核都

8、是可剥夺型内核。最高优先级的任务一旦就绪,总能得到CPU的控制权。当一个运行着的任务使一个比它优先级高的任务进入了就绪态,当前任务的CPU使用权就被剥夺了,或者说被挂起了,那个高优先级的任务立刻得到了CPU的控制权。如果是中断服务子程序使一个高优先级的任务进入就绪态,中断完成时,中断了的任务被挂起,优先级高的那个任务开始运行。1.C/OS-的特点可移植性C/OS-绝大部分的源码是用移植性很强的ANSI C写的。和微处理器硬件相关的那部分是用汇编语言写的。汇编语言写的部分已经压到最低限度,使得C/OS-便于移植到其他微处理器上。可裁剪可以只使用C/OS-中应用程序需要的那些系统服务。这样可以减少

9、产品中的C/OS-所需的存储空间(RAM和ROM),这种可裁剪性是靠条件编译实现的。占先式C/OS-完全是占先式的实时内核。这意味着C/OS-总是运行就绪条件下任务级最高的任务。多任务C/OS-最多只能管理64个任务,包括空闲任务和统计任务。同时赋予每个任务的优先级必须是不同的,C/OS-不支持时间片轮转法。任务栈每个任务有自己单独的栈,C/OS-允许每个任务有不同的栈空间。以便压低应用程序对RAM的需求。系统服务C/OS-提供一些系统服务,例如消息队列、信号量、互斥信号量、时间相关函数等。中断管理中断可以使正在执行的任务暂时挂起。如果优先级更高的任务被该中断唤醒,则高优先级的任务在中断嵌套全

10、部退出后立即执行,中断嵌套层数可达255层。实时性C/OS-对实时任务有很强的支持能力,能完成多任务并且有较短的中断响应时间,从而使内部的代码和实时内核心的执行时间减少到最低限度。2.uC/OS-II组成部分uC/OS-II大致可以分成系统核心(包含任务调度)、任务管理、时间管理、多任务同步与通信、内存管理、CPU移植等部分。(1) 核心部分(OSCore.c) :uC/OS-II处理核心,包括初始化、启动、中断管理、时钟中断、任务调度及事件处理等用于系统基本维持的函数。(2) 任务管理(OSTask.c) :包含与任务操作密切相关的函数,包括任务建立、删除、挂起及恢复等,uC/OS II以任

11、务为基本单位进行调度。(3) 时钟部分(OSTime.c) :uC/OS-II中最小时钟单位是timetick(时钟节拍),其中包含时间延迟、时钟设置及时钟恢复等与时钟相关的函数。(4) 多任务同步与通信(OSMbox.c, OSQ.c, OSSem.c, OSMutex.c, OSFlag.c):包含事件管理函数,涉及Mbox、msgQ、Sem、Mutex、Flag等。(5) 内存管理部分(OSMem.c):主要用于构建私有的内存分区管理机制,其中包含创建memPart、申请/释放memPart、获取分区信息等函数。(6) CPU接口部分:uC/OS-II针对特定CPU的移植部分,由于牵涉到

12、SP等系统指针,通常用汇编语言编写,包括任务切换、中断处理等内容。3.uC/OS-II任务调度uC/OS-II采用基于优先级的调度算法,总是选择当前处于就绪状态的优先级最高的任务进行调度。uC/OS-II是可抢占性的强实时性OS,在完成中断后允许进行新的任务调度。uC/OS-II有两种调度方式:任务级任务调度、中断级任务调度。(1)任务级任务调度指在非中断返回时进行任务调度,一般发生在当前任务因时间延迟或等待某事件而阻塞或被挂起,或有更高优先级的任务处于就绪状态。任务的基本信息: CPU的PC寄存器:任务当前执行的位置; CPU的通用寄存器:任务当前执行涉及的临时数据; CPU的状态寄存器:存

13、储当前CPU的状态。任务级任务切换:从一个任务直接切换至另一个任务,不涉及CPU状态的切换,OS_TASK_SW()既保存当前任务上下文,又恢复新任务上下文。过程:OS_Sched()- OS_TASK_SW()(2)中断级任务调度在中断处理完成后,通过OSIntExit()判断是否有更高优先级就绪任务。如果有,调用OSIntCtxSW()恢复新任务上下文。在中断处理中,已经保存了被中断任务的上下文,所以这里仅仅恢复。过程:OSIntExt() OSIntEnter() - ISR OSIntExit() - OSIntCtxSW()2.3 Small RTOS 与uC/OS-II的异同1.Small RTOS和uC/OS-II的相同点有:(1)都是抢占式微型操作系统。(2)调度算法都是基于优先级的调度算法。(3)两种调度方式:任务级别任务调度和中断级别任务调度。(4)任务间可以进行消息通信。(5)可以实现调度器上锁和解锁。(6)具有空闲任务,并且空闲任务优先级最低。2. Small RTOS和uC/OS-II的不同点有:(1) uC/OS-II最多可以管理64个任务,而small RTOS最多只能

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 医学/心理学 > 基础医学

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号