• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

51单片机多任务操作系统的原理

milkle 2018-08-12 浏览量:1623
51单片机多任务操作系统的原理
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 多任务要求的是切换速度, 只要切换的好,就可以实现多任务。51单片机本身是单任务工作的,即程序只能按单一的线索顺序执行,一个任务完成之后(除非中断),才能进行下一个任务。但是,51单片机内提供了T0和T1两个16位定时/计数器,若系统时钟为12MHz,那么计时器最长可计时65.536ms,最短为1us。也即通过对定时器工作模式进行设置,可以进行1us-65.536ms的定时器工作模式进行设置,可以进行1us-65.536ms的定时中断。如果把定时中断用作时间片段的分配,完全可以实现多个任务分时轮换执行。同时,单片机还提供INT0与INT1两个外部中断(可通过8259扩充多级中断)和P0,P1,P2三个可编程的I/O端口,与定时器配合下,完全可以实现具有优先权判别的多任务控制。
    • 发布于 2018-08-13
    • 举报
    • 评论 0
    • 0
    • 0

其他答案 数量:14
  • 单任务,快速切换执行,时分复用
    • 发布于2018-08-12
    • 举报
    • 评论 0
    • 0
    • 0

  • 使用51单片机的一个定时器,对多个任务定时扫描,相当于做一个任务调度器,间接实现多线程,也就是一个RTOS
    • 发布于2018-08-12
    • 举报
    • 评论 0
    • 0
    • 0

  • 多任务与51单片机还是其他单片机没关系,多任务是指多个不同的程序实体在轮流运行
    • 发布于2018-08-12
    • 举报
    • 评论 0
    • 0
    • 0

  • 51可以跑ucos不过内部资源太紧张,建议用stm32跑操作系统,或者更高级的arm9、11、A系列芯片!
    • 发布于2018-08-12
    • 举报
    • 评论 0
    • 0
    • 0

  • 如果我们没有法力将1台车变成10台车来送这10个人就只好制定一些机制和约定让1台车看起来像10台车来解决这个问题的办法想必大家都知道那就是制定公交线路. 
    最简单的办法是将所有旅客需要走的起点与终点串成一条线车在这条线上开乘客则自已决定上下车.这就是最简单的公交线路.它很差劲但起码解决客人们对车争用.对应到计算机里就是把所有任务的代码混在一起执行. 
    这样做既不优异雅也没效率于是司机想了个办法把这些客户叫到一起商量将所有客人出行的起点与终点罗列出来统计这些线路的使用频度然后制定出公交线路:有些路线可以合并起来成为一条线路而那些不能合并的路线则另行开辟行车车次这叫作"任务定义".另外对于人多路线车次排多点时间上也优先安排这叫作"任务优先级". 
    经过这样的安排后虽然仍只有一辆车但运载能力却大多了.这套车次/路线的按排就是一套"公交系统".哈知道什么叫操作系统了吧?它也就是这么样的一种约定. 
    操作系统: 
    我们先回过头归纳一下: 
    汽车                       系统资源.主要指的是CPU当然还有其它比如内存定时器中断源等.
    客户出行                                                 任务
    正在走的路线                                               进程 
    一个一个的运送旅客                                         顺序执行 
    同时运送所有旅客                                            多任务并行
    按不同的使用频度制定路线并优先跑较繁忙的路线     任务优先级 
    计算机内有各种资源单从硬件上说就有CPU内存定时器中断源I/O端口等.而且还会派生出来很多软件资源例如消息池. 
    操作系统的存在就是为了让这些资源能被合理地分配. 
    最后我们来总结一下所谓操作系统以我们目前权宜的理解就是:为"解决计算机资源争用而制定出的一种约定".
    • 发布于2018-08-13
    • 举报
    • 评论 0
    • 0
    • 0

  • 单片机上面的操作系统大多都是基于时间片轮转的,就是每个子任务都分配一部分时间去运行,系统总调度依赖于某个定时器
    • 发布于2018-08-13
    • 举报
    • 评论 0
    • 0
    • 0

  • 51的单片机的RTOS,就是时间片轮询的方式
    • 发布于2018-08-14
    • 举报
    • 评论 0
    • 0
    • 0

  • 51单片机的资源很少,用的很多的调度方式就是时间片轮询的方式你
    • 发布于2018-08-15
    • 举报
    • 评论 0
    • 0
    • 0

  • 51的操作系统一般都是很精简的系统,比如RX15,用的是时间片轮询的方式
    • 发布于2018-08-17
    • 举报
    • 评论 0
    • 0
    • 0

  • 51单片机通常都是只有一个核心,同一时间只能执行一个任务,所以在51中要执行多任务,必须使用时间片轮询的方式,例如把最小的时间单位设置为1毫秒,那么不同时间切换到不同任务去执行,从而宏观上课是实现了多任务,但是由于51单片机的性能有限,所以通常在51系统中比较少的使用这种方式,毕竟任务切换也是需要消耗系统资源的,在性能更高的单片机例如STM32中就比较普遍了。
    • 发布于2018-08-28
    • 举报
    • 评论 0
    • 0
    • 0

  • 51单片机一般不跑系统的,都是顺序执行任务,因为性能太低了。
    • 发布于2018-08-31
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

51单片机多任务操作系统的原理