- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
51单片机多任务编程的设计及的应用
51单片机多任务编程的设计及的应用
摘要:本文论述了在51系列单片机系统中,一种多任务系统编程设计方法。该方法不基于实时操作系统RTOS分时操作的思路和采用中断切换任务。本文通过一个具有4位LED数码显示,12键的键盘扫描和用串行口与其它系统交换数据的简单系统为例,说明该方法编程具有硬件设计简单、单片机工作效率高,实时性强等特点。该方法编程采用汇编语言,但根据相同的原理和思路,也不难用到C51语言编程上面。
关键词:51单片机;多任务;动态显示;键盘显示控制
中图分类号:TP313文献标识码:Adoi: 10.3969/j.issn.1003-6970.2011.03.006
51 Single-Chip Computer Multitask Programming Process and its Application
XU Hua1,2
(1.College of Software and Engineering,Chongqing University,Chongqing 400044, China;
2.No.59 Institute of China Ordnance Industry,Chongqing 400039, China)
【Abstract】This paper explain One Multitask Programming Process on 51 Single-Chip Computer System. Unlike the Principle of Real-time Operating System , This Process is neither based on the time sharing Operation nor using interrupt for switchover task. One simple system consisted of the 4 digits LED digit display, the 12 keys scan keyboard and the series port used for communication with other system is taken for example, to illustrate this process is used in programming, Single Chip Computer system has characteristic of simpler hardware, higher efficiency of operation and better real-time. This process is based on assemble language, but it is easy for C51 language according to the same principle and thinking.
【Key words】51 Single-chip Computer;Multitask;Dynamic scan Display;Keyboard and display control
0引言
51单片机在微型智能控制系统中应用广泛。随着人们对控制系统要求的不断提高,针对51单片机不具备实时多任务支持功能,在控制系统的进一步发展很受限制的情况,人们做了很多关于51单片机多任务实时编程的研究和实验。罗江等在四川省教育厅资助的基金项目《基于多任务机制的51单片机在微型智能控制系统中的应用研究》中,借鉴多任务操作系统的设计特点,提出了利用时间片分配机制,实现多任务分时轮流执行,和利用中断强行切换任务的多任务编程方法[1];在的单片机技术交流中,阮元提出了依据分时操作系统思想实现单片机多任务编程的方法[2];厦门大学的王辉堂等在一安防系统的设计中,通过对嵌入式实时操作系统RTOS的分析,认为其核心是利用中断切换任务,提出了用C51编程实现的多任务编程方案[3];美国Keil公司开发的MCS51系列单片机的实时多任务操作系统RTX51,占用定时器T0中断产生时间片来切换任务[4-5];此外,还有时间片轮转算法[6]、时分多线程[7]等多种单片机多任务设计方法在实际系统中应用。
综上所述,在目前51单片机多任务编程工作中,大多采用了基于实时操作系统RTOS分时操作的思路和采用中断切换任务。但也有人认为,这种任务切换产生大量数据,额外占用系统资源,不适合资源有限的单片机系统[8]。本文提出的51单片机多任务编程方法,不采用时间片,而是基于一个完整过程切换任务,并将任务调度分配到各任务内部,任务的切换
原创力文档


文档评论(0)