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

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

3天内不再提示

单片机主程序为什么要死循环

姚小熊27 来源:电工之家 作者:电工之家 2020-07-25 11:43 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

这个说法不确切。因为单片机的工作本身就是一个自循环系统。

单片机从启动开始,首先要建立一个系统的工作初始环境和基本数据,这部分程序称为初始化。

然后单片机要执行一些顺序结构的控制程序,这部分程序要完成基本的功能驱动,如显示、接口连接等。

然后是单片机的主程序,这部分程序是完成单片机在设备中的主要功能。

这部分的功能由主程序控制,一般是一个自循环的过程,可能就是题主说的是一个“死循环”,因为设计者就是要单片机在主程序中完成所设定的任务。

在主程序中单片机还要根据需要和外部指令进行子程序调用,数据的输入和控制,接口的控制等等。这些子程序完成后,还必须回到主程序,以保证主控工作任务的完成。

所以,应该说单片机的程序是一个完整的自控程序,它必须回到主程序控制中循环运行。

所以在单片机程序设计中要保证在任何干扰和错误操作的情况下都能回到自己的程序循环中。否则就会造成系统死机,因为单片机先死机了。

单片机主程序为什么要死循环

单片机程序是从上到下执行的,到底了需要从头开始

单片机集成了CPURAMROM、GPIO、定时器、中断等等,是一个“微型的小电脑”。我们编写的程序经过编译后,需要下载到单片机的ROM。上电后,单片机就可以读取并执行ROM中的程序了。我们编写的程序经过编译后,其实就是一些单片机可以识别和执行的指令,单片机的CPU只有一个线程,一次只能执行一条指令,指令从上到下执行,到了最后需要跳回最前面才可以生新执行,所以单片机的主程序是一个死揗环。

单片机程序是怎么样的?

单片机上电后,需要进行初始化,初始化只需要执行一次就可以了,所以初始化程序一般不会放入主程序的死循环中。主程序需要不断的连续执行的,所以会放入到一个死循环中去。

由此可见,单片机的程序是从上到下顺序执行的,需要一个一个任务排队运行。单片机还有一个中断系统,如果发生需要即时响应的事件,可以把主程序暂停打断,先把中断事件处理完,再返回主程序继续执行。就像你正在开会的时候,突然老板来电话了,您就需要把会议暂停,先接完老板电话,然后继续会议。当然中断事件也是可以屏蔽的,就像开会的时候来了一个骚扰电话,您可以不理它,或者挂断它。

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

    关注

    6074

    文章

    45340

    浏览量

    663492
  • 程序
    +关注

    关注

    117

    文章

    3836

    浏览量

    84761
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    单片机程序的执行

    更快的SRAM中,以得到更快的执行速度。而对于,单片机而言工作频率也就几M,几十M,从Flash中与从RAM中读的差异可能并不明显,不会成为程序执行的瓶颈。 而对于PC而言,Flash的速度太慢
    发表于 12-04 06:20

    从硬件设计优化到可靠性的挑战

    及中断服务程序中设置软件陷阱,捕获错误中断。 3、软件“看门狗”技术 使用定时器中断服务程序定时检查主程序运行情况,通过检测程序循环时间
    发表于 11-25 07:20

    单片机应用系统的可靠性设计介绍

    ,迫使系统复位。需要注意的是,在程序正常运行的时候,应该在适当的地方加一条喂狗指令,使系统正常运行时的定时时间达不到预置时间。系统就不会复位。   二、软件可靠性设计   单片机应用系统的软件和硬件
    发表于 11-25 06:21

    提高单片机抗干扰能力的十个细节

    的正常运行。 由于受干扰后的PC 值是随机的,程序将执行一系列毫无意义的指令,最后进入“死循环”,这将使输出严重混乱或死机。 3、如何提高设备的抗干扰能力2.1 解决来自电源端的干扰 单片机系统中
    发表于 11-25 06:12

    编写简单高效单片机汇编程序

    程序自动返回,避免重复书写。 4、巧用单片机的硬件资源 单片机自带一些硬件资源可以帮助简化代码、提升效率。 可以用硬件定时器实现秒脉冲的计数,这样省去大量延时循环。 比如按键去抖
    发表于 11-24 07:00

    第4章 C语言基础以及流水灯的实现(4.5 4.6)

    4.5while循环语句 在单片机C语言编程的时候,每个程序都会固定的加一句while(1),这条语句就可以起到死循环的作用。对于while语句来说,他的一般形式是:        w
    的头像 发表于 11-06 11:21 117次阅读

    单片机烧录原理是怎样的?辉芒微单片机烧录程序详细步骤讲解

    烧录(Programming)就是把 .hex/.bin 文件里的机器码搬运进单片机片内 Flash 的过程。辉芒微(FMD)单片机内部有一块 自举 BootROM,上电时会先跑这段程序;如果检测
    的头像 发表于 09-17 16:14 1384次阅读
    <b class='flag-5'>单片机</b>烧录原理是怎样的?辉芒微<b class='flag-5'>单片机</b>烧录<b class='flag-5'>程序</b>详细步骤讲解

    怎么测单片机系统频率

    单片机系统频率是指单片机工作时的时钟频率,它直接影响单片机的运行速度和处理能力,准确测量系统频率对单片机应用开发、程序调试和性能优化具有重要
    的头像 发表于 07-25 11:39 475次阅读

    单片机怎么烧程序

    单片机程序是将编写好的程序代码写入单片机内部存储单元,让单片机按照预设逻辑工作的过程,是单片机
    的头像 发表于 07-23 11:47 650次阅读

    STC单片机范例程序

    电子发烧友网站提供《STC单片机范例程序.zip》资料免费下载
    发表于 06-04 16:27 8次下载

    2.4寸TFT彩屏配套测试程序-51单片机

    如题,2.4寸TFT彩屏配套测试程序-51单片机
    发表于 06-04 16:26 0次下载

    移植最新版的rt-thread nano时发现程序只要一进去entry函数就直接跳到一个死循环里,为什么?

    我在移植最新版的rt-thread nano时发现程序只要一进去entry函数就直接跳到一个死循环里,我使用的编译器是armgcc10.2版本。然而我移植旧版的rt-thread nano就可以正常使用。
    发表于 04-01 07:04

    stm32f103定时器2配置中断,程序一直死循环,无法进入中断,怎么解决?

    目前定时器2配置中断,程序一直死循环,无法进入中断,有无大佬请教或者看一下个参考历程
    发表于 03-12 08:18

    不停的malloc程序会异常吗

    用完,程序应该会异常退出。 于是我找了个环境,把程序运行起来试下。 先用虚拟机,跑的一个 32 位的红帽系统,程序运行起来,好像只是一个普通的死循环,半天也没见他退出,而且
    的头像 发表于 01-14 09:17 841次阅读

    单片机Debug工具性能对比 单片机调试常用命令

    单片机(Microcontroller Unit, MCU)调试是嵌入式开发中的一个重要环节,它帮助开发者发现和修复代码中的错误,优化程序性能。不同的单片机和开发环境可能使用不同的调试工具和命令
    的头像 发表于 12-19 09:56 2162次阅读