前言:
此**适合对51单片机感兴趣,也想利用51实现简单的实时系统的程序管理,适合学习交流用,望谨慎吐槽。
准备一:
所谓实时呢,这个概念三言两语不好解释, 在这里就不涉及太多的官方及专业名词和术语。就像你用电饭煲做饭一样,当你启动后,是希望它一直工作,直到把 饭做好,而不希望它会中途出现故障什么的。然后在中断,你希望想煮粥,那就停了电,再加水,调成煮粥模式,然后继续工作,直到完成。这个,就有点实时的解 释吧,如果这个解释不够形象,要不再举例另一个,请私下联系再作举例。
所谓多任务呢,这个应该不难解释了,不过,还是再罗嗦一下。51单片机,就只有一个CPU,就像你在厨房做饭,只有你一个人,你又想煮饭,又想烧菜,还 想打扫卫生,但你一个人,不可能同时做的。所以,一个重要的概念就在这里。一个CPU不可能同时做这么多做事的。所以,它不得不像人一样,一会做这个,一 会做那个。比如10分钟扫一下地,然后10分钟烧一个菜,然后10分钟 去上个厕所,然后10分钟再回来扫一下地。就这样把时间分配好,但以一个小时来 看,就感觉你这一个小时是几个工作同时在做,而且这几个事互不影响的。
好了,有了这两个概念就差不多了。
51单片机靠什么来得到这个确定的时间,并把它分割成一段一段的呢。
下面就以一个多任务系统来说,因为51单片机的储存空间不够,一般不适合做大的系统移植。玩过STM32的人应该清楚uC/OS系统的移植,把uC /OS移植到51单片机,也不无不可,只是光是把一个系统移植上去,单片机就没有多少空间做其它事了。就好比说,你一个硬盘是40G的,你装了个win 7系统后都差不多占了20G了,那你硬盘就没有多少空间再做其它事了。
uC/OS不好移植了,就更别说把linux系统移植给51单片机了。那,就没有合适给51单片机的吗?答案是有的。
如果你使用增强型的51单片机,还是可以考虑对uC/OS裁剪移植的。
不过,对于增强型,还是普通型,还是基本51内核的单片机,都有一个比较适合做简单的多任务系统开发的。
|