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

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

3天内不再提示

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

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

扫码添加小助手

加入工程师交流群

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

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

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

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

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

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

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

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

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

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

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

单片机程序是怎么样的?

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

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

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

    关注

    6078

    文章

    45580

    浏览量

    673647
  • 程序
    +关注

    关注

    117

    文章

    3848

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    单片机程序跑飞死机的几种原因分享

    在使用单片机过程中,经常会出现程序运行一段时间后,不能够正常相应的情况。一般分为软件原因和硬件原因,其中硬件原因比较容易查,软件原因就较为复杂。 软件导致单片机死机的原因 1、指针异常 指针未
    发表于 01-21 07:34

    单片机里的程序运行方式

    我们想要理解单片机是如何运行程序的,我们首先需要了解单片机的组成,我们这里以80C51单片机为例来理解程序
    发表于 01-16 06:57

    单片机如何烧录程序

    单片机如何烧录程序
    发表于 01-08 07:04

    单片机系统设计方法

    设计者应从软硬两方面消除.结合各种抵抗干扰的方法互相补充和完善.才能确保系统可靠、安全、正确地运行。单片机系统被干扰后会集中表现在几个方面:控制状态失效、采集数据误差大、数据发生乱码以及程序的运行失控
    发表于 01-06 06:23

    单片机程序的执行

    更快的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 513次阅读

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

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

    怎么测单片机系统频率

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

    单片机怎么烧程序

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

    STC单片机范例程序

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

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

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