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

51单片机新手问题:51在同一时间可以做两件事情吗?

hhchenchong 2018-02-06 浏览量:1322
在写时钟程序的时候,在数码管扫描的时候,发生了,秒数加1,则不能进行数码管的更新,造成实际显示时,有的时候秒数间隔大于1,有的小于1.所以51同一时刻是不能同时执行两个代码的,是吗?
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 单核同一时间肯定是不能做两件事,但是单片机速度非常快的,可以在执行一个任务时切出去执行另一个任务,完了再回来继续执行切出前的任务。这个是中断的使用,可以在两个任务间快速的切换。虽然不是绝对的同时执行两个任务,但是可以近似理解成同时执行。你在例子中讲的那个在程序中就可以把扫描数码管函数写在主函数中,秒处理放在中断中,这样就不会影响数据显示的实时性。
    • 发布于 2018-02-06
    • 举报
    • 评论 1
    • 4
    • 0
hhchenchong 回复了 ~IOT夙愿:好的,谢谢 回复

其他答案 数量:6
  • 所有的都是有顺序的,不能同时干活的,只不过带系统的是分时操作,时间比较短,看不出来的原因
    • 发布于2018-02-06
    • 举报
    • 评论 3
    • 1
    • 0
hhchenchong 回复了 瞎折腾 :嗯,实际设计的时钟是不显示秒的 回复
电子老工程师 回复了  :CLIS82C55AZ CHIPLON(启珑) 回复
电子老工程师 回复了  :1、XC3S700AN-4FGG484C IC FPGA 372 I/O 484FBGA 2、XC3S1400A-4FGG484C IC FPGA 375 I/O 484FBGA 3、XC6SLX150T-2FGG484I IC FPGA 296 I/O 484FBGA 回复

  • 可以包含头文件<tiny.h>,

    51的简易RTOS系统,在51的keil帮助文档,有详细介绍

    • 发布于2018-02-06
    • 举报
    • 评论 2
    • 0
    • 0
hhchenchong 回复了 学好RT :好的,谢谢 回复
电子老工程师 回复了  :知识库已有介绍,请查阅
回复

  • 一个核心怎么可能同时执行两个任务呢。分时复用吧。
    • 发布于2018-02-06
    • 举报
    • 评论 2
    • 0
    • 0
hhchenchong 回复了 Angel_YY :嗯嗯,谢谢 回复
电子老工程师 回复了  :https://www.richardsonrfpd.com/docs/rfpd/CPD-513B.PDF 回复

  • 简单一些可以直接用定时器控制不同任务,高级一些直接用ucos系统
    • 发布于2018-02-06
    • 举报
    • 评论 0
    • 0
    • 0

  • 不可以 ,单核单片机,程序都是顺序执行的,就算是使用了RTOS,也是顺序执行。
    • 发布于2018-02-08
    • 举报
    • 评论 1
    • 0
    • 0
电子老工程师 回复了  :封装:SO16 回复

  • 51没有运行RTOS的能力所以无法做到任务并行处理。

    • 发布于2018-02-27
    • 举报
    • 评论 1
    • 0
    • 0
电子老工程师 回复了  :是BGA-77封装 符合工业级 回复

相关问题

问题达人换一批

51单片机新手问题:51在同一时间可以做两件事情吗?