- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
单片机实时系统RTX51入门教学研究
摘 要:当学生学习单片机编程达到一定水平后,使用多任务实时系统编程是一种非常有益编程方法。文章以从初识RTX51到由流水灯实验产生学习RTX51兴趣,再到由简单任务入门为顺序开了RTX51教学研究。
关键词:单片机;RTX51;流水灯;教学研究
中图分类号:G712 文献标志码:A 文章编号:1008-3561(2016)23-0082-02
目前在8051系列单片机上使用多任务实时操作系统(RTOS),主要有德国Keil公司开发单片机IDE软件μVision自带的RTX51和陈明计编写的Small RTOS。RTX51有2个版本:RTX51 Tiny和RTX51 Full。RTX51 Tiny自身占用单片机硬件资源非常少,可以运行在没有外部扩展存储器的8051单片机系统上。很少在中职学生中开展RTX51教学的原因是:首先,RTX51教学中文资料和实例很少。其次,要求学习对象具备很好的编程能力。最后,没有使用实时系统编程的习惯。目前编写大型、分工的程序通常是在RTOS上编程的,其原因是单片机资源越来越丰富和价格越来越低。另外,在RTOS基础上编程,优点非常明显。顺应单片机技术的快速发展态势,中职学生有必要接触ROTS,从而掌握一些基本知识和使用技巧。选择一些编程能力比较强的中职学生为教学对象,进行了单片机实时系统RTX51教学研究。
一、 初识多任务实时系统
为了帮助学生能对多任务实时系统形成一些初步认识,可以通过编写下面的程序,再通过调试程序观察变量变化情况,来分析变化原因。
01 #include
02 #include RTX51TNY.h
03 long int counter1=0;
04 long int counter2=0;
05 void job_a (void) _task_ 0
06 {
07 os_create_task(1);
08 while(1)
09 {
10 counter1++;
11 }
12 }
13 void job_b (void) _task_ 1
14 {
15 while(1)
16 {
17 counter2++;
18 }
19 }
要运行上面程序,必须将Conf_tny.A51文件(在 Keil\C51\RtxTiny2\SourceCode文件夹里面)加进工程中,接着要在设置工程选项中的Operating条目选择RTX-51 Tiny。最后,在程序中将RT51TNY.h文件包含进来(如图1第2行程序)。
程序讲解:使用演示教学法进行教学。演示1:程序全速执行,提醒学生观察变量counter1和counter2变化。现象是:两个变量都在增加。演示2:单步执行,提醒学生观察变量counter1,counter2变化,同时观察程序如何执行。现象是:程序在第8至11行连续执行一段时间,每执行一次循环体counter1增加1。当执行一段时间后,程序跑到第15至18行程序运行,并且连续运行一段时间,每执行一次循环体counter2增加1。当运行一段时间后,程序在第8至11行连续执行,如此重复。
现象解析:此程序使用了RTX51,在此系统上编写用户程序,用户程序有两个任务job_a和job_b,用关键词_task_定义。每个任务都是一个死循环体,或者执行后使用系统函数os_delete_task删除。在实时系统运行的每个用户任务是轮循或抢占(RTX51是轮循)执行一个时间片的(由数个时间“滴答”构成),所以在单步调试运行过程中,会观察程序在第8至11行连续执行一段时间,然后程序跑到第15至18行程序运行,并且连续运行一段时间。如果用户任务运行时间片比较小的时候,程序全速执行,就会发现两个用户任务程序同时执行,也就是看到counter1、counter2同时增加的现象。
疑问解析:main函数去哪里了?任务时间片大小怎么确定?学生会提出上述两个问题。main函数在RTX51系统使用了,在RTX51中执行main函数后自动跳转到由_task_ 0定义的用户任务中。任务时间片大小由Conf_tny.A51文件中宏INT_CLOCK和TIMESHARING确定,其中INT_CLOC称为系统时钟“滴答”。
通过上述程序演示和讲解,有编程基础的学生基本上能了解多任务实时系统概念和用户程序运行过程。
二、 由流水灯实验产生学习RTX51兴趣
单片机经典入门实验就是流水灯了,犹如许多学习计算机编程语言的第一个程序“Hello world!”。在RTOS上编写流水灯
您可能关注的文档
最近下载
- AutoFormR6实例讲解-拉伸.ppt
- 食品安全主体责任日管控记录表、周排查记录表、月调度记录表(1).docx VIP
- 金元浦-中国文化概论(第四版)第十三章.ppt VIP
- 二杨梅素基二硒醚在肿瘤方面的药物应用.pdf VIP
- 2025年新能源汽车建设项目可行性研究报告(编制大纲).docx
- 一种固定式高倍数泡沫产生器.pdf VIP
- 初中-历史-人教部编版-第19课法国大革命和拿破仑帝国_2020430155529.ppt VIP
- 【MOOC】《中国马克思主义与当代》(北京科技大学)中国大学MOOC慕课答案.docx VIP
- 1.2互联网应用的基本特征(教学课件)-第1册信息科技同步教学(河北大学版2024新教材).pptx VIP
- 某文旅项目施工合同模板.pdf VIP
文档评论(0)