0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

单片机可以同时处理多个任务吗

姚小熊27 来源:电工之家 作者:电工之家 2020-04-06 15:43 次阅读

单片机可以按分时、顺序、中断的方法处理多个任务。

程序是非常抽象的,程序质量的好与差直接影响到运行的效果。我们用单片机设计电子产品时,同时运行多个任务是很正常的。单片机是按顺序执行指令的,所以,主程序也是按着顺序从头到底的运行的。以C语言写的单片机程序为例,一般以main()作为主函数,利用while(1)不断循环要执行的任务程序。在实时性要求不同的应用场合,顺序运行就可以了,实时性要求很高的任务一般用中断来处理,如果想平衡各个任务的运行时间,可以分时处理。

中断处理实时性高任务

中断可以理解为中途打断,比如你正在工作,突然领导来电话了,当你认为领导电话比较重要的时候,就可以先保存正在进行的工作进度,接听领导电话,然后再接着你的工作。单片机程序也是一样的。高优级的任务可以设置为中断,比如按键输入中断或者串口接收中断。以串口接收中断为例,假如单片机配置了串口接收中断,当串口接收到数据时,主程序就会被打断,保护现场数据后马上跳到串口接收中断程序,串口接收中断程序处理完成后,再返回主程序接着运行。

分时处理多个任务

可以用分时的方案平衡各个任务的处理时间,比如,我们可以引入一个计数器i,假如有5个任务,可以让i在0~4之不断循环,当i=0时执行任务1,当i=1时执行任务2,当i=3时执行任务4,当i=4时执行任务5就可以了。

当然,你还可以用定时器中断做一个计时器,0~1ms时运行任务1,1~2ms时运行任务2,2~3ms时运行任务3,3~4ms时运行任务4,4~5ms时运行任务5。如果有更高的要求的话,还要以用到嵌入式操作系统了,比如FreeRTOSuCos

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 单片机
    +关注

    关注

    5997

    文章

    43947

    浏览量

    620485
收藏 人收藏

    评论

    相关推荐

    有些汽车ECU会使用2片单片机,请问这2片单片机是如何分配任务的?

    来自一位用户的咨询,麻烦帮忙解答。越详细越好,有图有真相。如有相关的视频、文档也可以辅助说明,谢谢。 有些汽车ECU会使用2片单片机,请问这2片单片机是如何分配任务的? 下图是某F1动
    发表于 02-02 08:13

    单片机中并行是什么意思

    单片机中的并行是指能够同时执行多个操作或指令的能力。传统的计算机体系结构中,处理器通常是按照顺序执行指令,即一条指令执行完毕后再执行下一条指令。而在
    的头像 发表于 12-20 09:33 380次阅读

    stm32和51单片机的区别

    器架构,STM32单片机具有更高的运行速度和更好的性能,可以运行更复杂的任务。而51单片机的性能较低,只适合一些简单的任务。 存储 STM3
    发表于 11-20 13:18

    51单片机如何连续接受多个字节的数据?

    51单片机如何连续接受多个字节的数据?有一串4个字节的数据需要从电脑连续传给单片机
    发表于 11-08 07:04

    51单片机任务操作系统的原理是什么?

    51单片机任务操作系统的原理
    发表于 11-06 08:10

    请问单片机驱动多个继电器能实现吗?

    请问,我想用51单片机驱动多个110V的继电器闭合。想到的元器件有 74HC138 、ULN2003,还有三极管。请问可以实现吗?
    发表于 10-31 08:08

    请问51单片机的端口可以同时输入和输出吗?

    51单片机的端口可以同时输入和输出吗?
    发表于 10-23 08:08

    多个单片机进行大量数据互通,用什么方式?

    多个单片机进行大量数据互通,用什么方式
    发表于 10-20 07:28

    请问51单片机可以同时检测多个电压电流吗?

    51单片机可以同时检测多个电压电流吗?
    发表于 10-19 06:18

    esp32单片机可以做图像处理吗?

    其他的m4单片机太贵可以用esp32内部的m4内核做图像处理吗,我记得可以外接spiram的
    发表于 09-22 06:17

    51单片机任务执行例子

    51单片机任务同时执行。RTX51 tiny是一种实时操作系统(RTOS),可以用它来建立多个任务
    发表于 08-04 15:59 0次下载

    51单片机任务同时执行

    51单片机任务同时执行。RTX51 Tiny是一种实时操作系统(RTOS),可以用它来建立多个任务
    发表于 08-03 16:58

    如何在STM32芯片上实现多任务处理

    在嵌入式系统中,需要同时处理多个任务的需求非常普遍。
    的头像 发表于 06-18 09:54 941次阅读

    多个单片机通过串口向上位发送数据,上位机会不会数据混乱?

    pc作为上位,pc等待多个单片机发送数据,如果单片机同时发送数据那pc端怎么做?是不是要pc端向某一个
    发表于 05-15 14:55

    51单片机串口通信它的发送和接受为什么不可以同时进行呢?

    51单片机串口通信是全双工的,但是为什么又说它的发送和接受不可以同时进行呢?
    发表于 04-23 10:13