已阅读5页,还剩10页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
电气与电子信息工程学院嵌入式系统设计课程设计设计题目基于C/OSII的时钟系统设计专业班级电子信息工程2010(1)班学号201140210128姓名李明指导教师李成王林设计时间2013/11/112013/11/29设计地点K23142目录1系统方案选择与论证311C/OSII在单片机上的移植方案312课题目标及总体方案413流水灯部分方案42系统硬件电路设计521复位电路522系统时钟电路523键盘电路53系统软件设计631主要部分流程图632KEIL调试733PROTOTEUS仿真84实验结果及分析95实验心得9参考文献10附录10附录1使用主要元器件一览表10附录2程序12课程设计任务书一、课程设计题目基于C/OSII的时钟系统设计二、课程设计目的为了提高嵌入式系统设计与实际的应用能力,开始为期三周的嵌入式系统设计课程设计。通过实训使学生在巩固所学单片机知识的基础之进一步把其与C/OSII操作系统的移植结合起来,增强学生对所学知识的实际应用能力和以及与当前专业的前沿知识结合,达到对C/OSII操作系统的学习和理解,为以后从事嵌入式工作的研究和开发打好基础。三、课程设计内容设计基于51单片机的嵌入式系统,把C/OSII操作系统移植到51单片机上,能完成基本的输入和输出,输入采用44的键盘,输出采用1602液晶。在此基础之上,每个同学根据自己的特长扩展应用系统,具体可参考以下五种扩展方案的实现。1、设计的游戏机,在游戏机工作时有背景音乐放出。2、设计的是电子琴以及1602液晶显示。3、设计的是流水灯、蜂鸣器、闪烁灯任务。4、设计的流水灯和电子书功能。5、(1所有灯灭,(2)1602显示,3)LED灯闪烁,显示字符。四、进度安排序号设计内容所用时间1布置任务,学习C/OSII操作系统5天2开发C/OSII操作系统的移植代码3天3制作基于51单片机的硬件系统2天4软硬件集成和调试2天5答辩、撰写设计报告书3天合计15天五、基本要求1、设计基于51单片机的输入和输出电路。2、用44的键盘作为输入设备。3、用LED或LCD进行显示。4、开发C/OSII操作系统的移植代码。5、对系统的进行综合和调试,通过硬件指示移植成功的标志。6、在此嵌入式系统上,除过能完成最基本的输入和显示以外,每个同学根据自己的特长开发出应用系统。7、编写课程设计的总结4六、设计报告课程设计报告的基本内容至少包括封面、正文、附录三部分。课程设计报告要求统一格式,字体工整规范。1、封面封面包括“嵌入式系统设计课程设计课程设计报告”、班级、姓名、学号以及完成日期等。2、正文正文是实践设计报告的主体,具体由以下几部分组成(1)课程设计题目;(2)课程设计任务与要求;(3)设计过程(包括设计方案、设计原理、创新点以及采用的新技术等);(4)方案的比较与论证;(5)硬件电路设计,各个模块的设计与器件的选择;(6)软件程序的设计与调试;(7)课程设计总结(包括自己的收获与体会;遇到的问题和解决的方法;技术实现技巧和创新点;作品存在的问题和改进设想等);3附录附录1系统硬件元器件清单附录2系统设计原理图附录3系统的程序七、考核方式与成绩评定办法评定项目1实物制作(30分)2课程设计考勤情况(20分)3课程设计答辩情况(20分)4完成设计任务及报告规范性(30分)总分100分备注成绩等级优(90分100分)、良(80分89分)、中(70分79分)、及格(60分69分)、60分以下为不及格。51系统方案选择与论证11C/OSII在单片机上的移植方案1、COSII实时操作系统COSII实时操作系统是一种可移植、可固化、可裁剪即可剥夺型的多任务实时内核,适用于各种微处理器和微控制器。COSII主要包括任务调度、时间管理、内存管理、事件管理信号量、邮箱、消息队列4大部分。它的移植与4个文件相关汇编文件OS_CPU_AASM、处理器相关C文件OS_CPUH、OS_CPU_CC和配置文件OS_CFGH。有64个优先级,系统占用8个,用户可创建56任务,不支持时间片轮转。它的基本思路就是“近似地每时每刻总是让优先级最高的就绪任务处于运行状态”。为了保证这一点,它在调用系统函数、中断结束、定时中断结束时总是执行调度算法。原作者通过事先计算好数据,简化了运算量,通过精心设计就绪表结构,使得延时可预知。任务的切换是通过模拟一次中断实现的。2、C/OSII的移植移植工作包括以下几个内容1、用DEFINE设置一个常量的值OS_CPUH2、声明10个数据类型OS_CPUH3、用DEFINE声明三个宏OS_CPUH4、用C语言编写六个简单的函数OS_CPU_CC5、编写四个汇编语言函数OS_CPU_AASM移植所要做的工作,就是在不同的处理器上用汇编语言来改写与处理器有关的代码及其他与处理器特性相关的部分。在C/OSII移植过程中涉及以上问题的代码都包含在文件OS_CPUH、OS_CPU_CC、OS_CPU_AASM中。因此移植的主要工作也在源代码的基础上围绕着这三个文件的改写展开。步骤如下1、OS_CPUH的改写2、用C语言在OS_CPU_CC中添加钩挂函数需要添加的6个与操作系统相关的函数如下1初始化任务堆栈函数VOIDOSTASKSTKINITVOIDTASKVOIDPD,VOIDPDATA,VOIDPTOS,INT16UOPT;2任务创建钩挂函数VOIDOSTASKCREATEHOOKOS_TCBPTCB;3任务删除钩挂函数VOIDOSTASKDELHOOKOS_TCBPTCB;4任务切换钩挂函数VOIDOSTASKSWHOOKVOID;5统计任务钩挂函数VOIDOSTASKSTATHOOKVOID;6定时钩挂函数VOIDOSTIMETICKHOOKVOID;3、用汇编语言在OS_CPU_AASM中添加与处理器相关的函数相关的函数如下1运行优先级最高的就绪任务OSSTARTHIGHRDY;2任务级的任务切换函数OSCTXSW;3中断级的任务切换函数OSINTCTXSW;4时钟节拍中断服务函数OSTICKISR。在每个硬件时钟到来后,C/OSII会在中断服务程序中调用OSINTCTXSW进行任务调度;另外,当某个任务因等待资源而被挂起时,也将触发任务调度其实只要就绪表中发生变化且中断开放时,就将触发系统任务调度,这个调度通过调用一个任务级的任务调度函数OSCTXSW来实现。612课题目标及总体方案设计基于51单片机的嵌入式系统,把C/OSII操作系统移植到51单片机上,能完成基本的输入和输出,输入采用44的键盘,输出采用1602液晶。实现在1602上显示时间,包括时、分、秒。对源程序进行编译、仿真、调试,下载。软件设计采用模块化设计方法,分为控制、初始化模块、时钟应用系统模块等,时钟系统应用模块包括时钟计时模块、时钟显示模块等。各模块之间功能独立,协同完成功能。13流水灯设计方案选用AT89C55的引脚功能XTAL1单芯片系统时钟的反向放大器输入端。XTAL2系统时钟的反向放大器输出端,一般在设计上只要在XTAL1和XTAL2上接上一只石英震荡晶体系统就可以工作了,此外可以在两引脚与地之间加入20PF的小电容,可以使系统更稳定,避免噪音干扰而死机。RESET重置引脚,高电平动作,当要对晶体重置时,只要对此引脚电平提升至高电平并保持两个及其周期以上的时间便能完成系统重置的各项动作,使得内部特殊功能寄存器内容均被设成已知状态。P0端口0是一个8位宽的开路汲汲双向输出入端口,共有8个位,P00表示0,P01表示1,以此类推。P2端口2是具有内部提升电路的双向I/O端口,每一个引脚可以推动4个LS的TTL负载,若将端口2的输出设为高电平时,此端口便能当成输入端口来使用。说明如图所示,S1为复位开关,S2、S3、S4分别为切换不同流水效果的开关,P2口控制LED灯D1D4的显示,P0口作为LED的输出控制。当按下S2后能实现D1和D4同时亮其他不亮,然后D2和D3亮,依此类推。当按下复位S1,然后按下S2实现LED灯从D4到D1循环亮,按下S1然后按下S3实现LED从D1到D4的循环亮。2系统硬件电路设计21最小系统的设计最小系统包括时钟电路,复位电路、单片机组成,起主要功能是与外部RAM通信,控制流水灯和1602液晶的显示。如下图所示7图213系统软件设计31主要部分流程图图31主函数程序流程图32KEIL调试结果1、下载已移植好的软件包,在开发环境下建立工程编译并运行观察运行结果。8图321系统移植图2结合前两次实验内容,采用动态内存分配的方法为任务分配内存,使用KEIL仿真工具观察程序运行情况并记录运行结果。图322系统移植数据结果图33PROTOTEUS仿真结果9图33PROTEUS仿真结果图4实验结果及分析通过多次对程序的调试,在PROTOTEUS仿真获得理想结果,然后下载到单片机上,得到结果如下图,时间正常显示,流水灯正常工作。图41实物结果显示图正面5心得体会这次课程设计耗时三个星期,虽然很辛苦,但也有收获的喜悦。通过这次课程设计,我对UC/OSII的原理有了更深的认识,基本懂得了如何进行代码的移植,对时间延迟函数的应用、任务的挂起、中断和回复也有了更深层次的认知。在本次课程设计过程中,我也碰到了一些问题硬件焊接与测试中有虚焊,漏焊等情10况,还有焊接不结实,焊错等情形。在软件调试过程中,往往会出错,需要查看每一步的运行原理,才能得到所获得的结果。好在通过不断的努力,比如查资料,找同学帮助等等,最终使问题得到圆满解决。通过此次课程设计,我真正懂得了实践与理论相结合的重要性。在设计过程中虽然遇到了一些问题,受到了一些挫折,但经过一次又一次的思考,一遍又一遍的检查终于找出了原因所在。实践出真知,通过亲自动手操作,使我们掌握的知识不再是纸上谈兵。这些问题的发现将对我以后的学习和工作有很大的帮助,查漏补缺为进一步学习充电作好准备。我个人觉得,在这学期的实验中,我不仅提高了独立思考、动手操作的能力,在各种其它能力上也都有了提高。更重要的是,在实验课上,我们学会了很多学习的方法。而这是日后最实用的,很是受用。这次课程设计,我觉得自己收获很大,希望在自己的努力下,会有好的回报。当然,也要感谢李玉平老师和王海华老师给予的无私帮助。1JEANJLABROSSE,邵贝贝译嵌入式实时操作系统C/OSSM北京北京航空航天大学出版社,20042ABRAHAMSILBERSCHATZ,实用操作系统概念高等教育出版社,20013ARNOLDBERGER,吕骏译嵌入式系统设计电子工业出版社,20024FRANKVAHIDTONYGIVARGIS,骆丽译,嵌入式系统设计北京北京航空航天大学出版社,20045马文华嵌入式系统设计与开发M北京科学出版社,2006附录附录1使用主要元器件一览表期间名称数量单片机AT89C551锁存器74LS3731LED灯3RAM6264111附录2程序IFNDEFOS_MASTER_FILEINCLUDE“INCLUDESH“ENDIF/LOCALFUNCTIONPROTOTYPES/STATICVOIDOSDUMMYVOIDREENTRANTSTATICVOIDOSDUMMYVOIDREENTRANTIFOS_TASK_CHANGE_PRIO_ENINT8UOSTASKCHANGEPRIOINT8UOLDPRIO,INT8UNEWPRIOREENTRANTOS_TCBPTCBOS_EVENTPEVENTINT8UXINT8UYINT8UBITXINT8UBITYIFOLDPRIOOS_LOWEST_PRIOOS_ENTER_CRITICALIFOSTCBPRIOTBLNEWPRIOOS_TCB0OS_EXIT_CRITICALRETURNOS_PRIO_EXISTELSEOSTCBPRIOTBLNEWPRIOOS_TCB1OS_EXIT_CRITICALYNEWPRIO3BITYOSMAPTBLYXNEWPRIOBITXOSMAPTBLXOS_ENTER_CRITICALIFOLDPRIOOS_PRIO_SELFOLDPRIOOSTCBCUROSTCBPRIOIFPTCBOSTCBPRIOTBLOLDPRIOOS_TCB0OSTCBPRIOTBLOLDPRIOOS_TCB0IFOSRDYTBLPTCBOSTCBYOSRDYGRP|BITYOSRDYTBLY|BITXELSEIFPEVENTPTCBOSTCBEVENTPTROS_EVENT0IFPEVENTOSEVENTTBLPTCBOSTCBYPEVENTOSEVENTGRP|BITYPEVENTOSEVENTTBLY|BITXOSTCBPRIOTBLNEWPRIOPTCBPTCBOSTCBPRIONEWPRIOPTCBOSTCBYYPTCBOSTCBXXPTCBOSTCBBITYBITYPTCBOSTCBBITXBITXOS_EXIT_CRITICALOSSCHEDRETURNOS_NO_ERRELSEOSTCBPRIOTBLNEWPRIOOS_TCB0OS_EXIT_CRITICALRETURNOS_PRIO_ERRENDIFIFOS_TASK_CREATE_ENINT8UOSTASKCREATEVOIDTASKVOIDPD,VOIDPPDATA,OS_STKPTOS,INT8UPRIOREENTRANTVOIDPSPINT8UERRIFPRIOOS_LOWEST_PRIORETURNOS_PRIO_INVALIDOS_ENTER_CRITICALIFOSTCBPRIOTBLPRIOOS_TCB0OSTCBPRIOTBLPRIOOS_TCB1OS_EXIT_CRITICAL13PSPVOIDOSTASKSTKINITTASK,PPDATA,PTOS,0ERROSTCBINITPRIO,PSP,VOID0,0,0,VOID0,0IFERROS_NO_ERROS_ENTER_CRITICALOSTASKCTROSTASKCREATEHOOKOSTCBPRIOTBLPRIOOS_EXIT_CRITICALIFOSRUNNINGOSSCHEDELSEOS_ENTER_CRITICALOSTCBPRIOTBLPRIOOS_TCB0OS_EXIT_CRITICALRETURNERRELSEOS_EXIT_CRITICALRETURNOS_PRIO_EXISTENDIFIFOS_TASK_CREATE_EXT_ENINT8UOSTASKCREATEEXTVOIDTASKVOIDPD,VOIDPPDATA,OS_STKPTOS,INT8UPRIO,INT16UID,OS_STKPBOS,INT32USTK_SIZE,VOIDPEXT,INT16UOPTREENTRANTVOIDPSPINT8UERRINT16UIOS_STKPFILLIFPRIOOS_LOWEST_PRIORETURNOS_PRIO_INVALIDOS_ENTER_CRITICALIFOSTCBPRIOTBLPRIOOS_TCB0OSTCBPRIOTBLPRIOOS_TCB1OS_EXIT_CRITICAL14IFOPTFORI0ISTK_SIZEIIFOS_STK_GROWTH1PFILLOS_STK0ELSEPFILLOS_STK0ENDIFPSPVOIDOSTASKSTKINITTASK,PPDATA,PTOS,OPT/INITIALIZETHETASKSSTACK/ERROSTCBINITPRIO,PSP,PBOS,ID,STK_SIZE,PEXT,OPTIFERROS_NO_ERROS_ENTER_CRITICALOSTASKCTROSTASKCREATEHOOKOSTCBPRIOTBLPRIOOS_EXIT_CRITICALIFO
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年智能车载蓝牙播放器项目营销方案
- 环境现场执法培训课件
- 上半年企业安全工作总结
- 医院危重孕产妇救治中心2026年度工作总结
- 年终工作总结汇报
- 土方开挖清运施工方案满足扬尘治理要求
- 2025年普通脚手架工考试题及答案
- 2025年重症医学科n2护士分层综合考核试卷及答案
- 求职酒吧营销员面试技巧
- 建设工程施工合同纠纷要素式起诉状模板无删减完整版
- 人工智能推动金融数据治理转型升级研究报告2026
- 2026长治日报社工作人员招聘劳务派遣人员5人备考题库含答案
- 期末教师大会上校长精彩讲话:师者当备三盆水(洗头洗手洗脚)
- 2026年潍坊职业学院单招综合素质笔试备考试题附答案详解
- 工兵基础知识课件
- 2026年贵州省交通综合运输事务中心和贵州省铁路民航事务中心公开选调备考题库及答案详解参考
- 2025四川雅安市名山区茗投产业集团有限公司招聘合同制员工10人参考题库附答案
- 人工智能应用与实践 课件 -第5章-智能体开发与应用
- 2025浙江绍兴越城黄酒小镇旅游开发有限公司编外人员第二次招聘总笔试历年典型考点题库附带答案详解2套试卷
- 聘用2025年3D建模合同协议
- 2025-2026学年西南大学版小学数学六年级(上册)期末测试卷附答案(3套)
评论
0/150
提交评论