这里写目录标题

  • 节电模式
    • 1. 空闲(Idle)模式
    • 2. 掉电(Power-down)模式
    • 3. 异同点
    • 相关寄存器
  • 看门狗(watchdog)

STC90C51RC/RD+系列单片机可以运行2种省电模式以降低功耗,它们分别是:空闲模式和掉电模式。
正常工作模式下,STC90C51RC/RD+系列单片机的典型功耗是4mA ~7mA,而掉电模式下的典型功耗是<0.1uA,空闲模式(建议不要使用此模式)下的典型功耗是2mA.

节电模式

1. 空闲(Idle)模式

在Idle模式下,CPU停止运行,但是内部寄存器和RAM保持不变。这意味着,当单片机没有任务执行时,可以进入Idle模式以减少功耗。在Idle模式下,只有CPU停止运行,其他外设仍然在工作,例如UART、定时器和中断等。这种模式可以通过设置PSMCON(Power Saving Mode Control)寄存器来实现。

2. 掉电(Power-down)模式

在Power-down模式下,整个芯片进入休眠状态,CPU和所有外设都停止运行,只有振荡器继续运行。当需要唤醒单片机时,可以通过外部中断或复位来实现。这种模式可以通过设置PCON(Power Control)寄存器来实现。

3. 异同点

  • 在Idle模式下,CPU停止运行,但是其他外设继续工作。在Power-down模式下,所有外设都停止工作。
  • 单片机的典型功耗是4mA ~7mA,而掉电模式下的典型功耗是<0.1uA,空闲模式下的典型功耗是2mA。
  • 从Idle模式中唤醒单片机比从Power-down模式中唤醒单片机更容易,因为在Idle模式下,其他外设已经准备好继续执行任务。从Power-down模式中唤醒单片机则需要通过外部中断或复位。

相关寄存器

  • PD:将其置1时,进入Power Down模式,可由外部中断低电平触发或
    下降沿触发唤醒。
  • IDL:将其置1,进入IDLE模式(空闲),除系统不给CPU供时钟,CPU不执行指令外,其余功能部件仍可继续工作,可由任何一个中断唤醒。

看门狗(watchdog)

AT89C51单片机中的看门狗是一个定时器,它可以检测系统故障并重置系统。看门狗定时器的周期是可编程的,可以设置为几毫秒或几秒钟等不同时间间隔。当看门狗定时器达到预定的时间间隔时,会触发一个复位信号,将系统恢复到初始状态。这个周期必须在特定时间内重置,否则看门狗将触发系统复位。

以下是使用看门狗来解决AT89C51单片机程序跑飞或陷入死循环的步骤:

  1. 初始化看门狗定时器:在程序的初始化部分,需要设置看门狗定时器的预分频器和计数器的值。这些值将决定看门狗定时器的计时周期。可以根据具体的需要来选择合适的值。

  2. 定期喂狗:在程序的运行过程中,需要定期喂狗。喂狗的方法是向看门狗定时器写入一个特定的值,这个值会清除看门狗定时器的计数器,从而避免系统重置。喂狗的时间间隔应该小于看门狗定时器的计时周期,否则系统可能会误判为程序跑飞或陷入死循环。

  3. 处理看门狗中断:如果程序出现了跑飞或陷入死循环的情况,看门狗定时器会在计时周期结束后触发中断。在中断处理函数中,需要重新初始化看门狗定时器,并且重启系统。

总之看门狗就是一个定时器,如果程序没能在看门狗定时器的一个时钟周期内写入值来清除计数,则在一个计时周期后,看门狗将程序视为跑飞或死循环,触发中断,中断服务程序里需包含复位系统的功能。
相关寄存器:

51单片机节电模式看门狗相关推荐

  1. STC 51单片机43——看门狗

    看门狗测试,通过修改delay函数的延时长度,可以看到看门狗是否复位系统. #include <reg52.h>             sfr  WDT_CONTR =0xE1;     ...

  2. 51单片机之看门狗定时器ing STC12C5A60S2

    1.看门狗定时:每隔一定时间不刷新定时器(不给狗粮),他将溢出(狗叫giao~~).多数情况,定时器溢出将复位系统 2.看门狗用来处理软件或硬件错误的死机,保证自动复位.可用于特定情况下恢复 3.外部 ...

  3. STC 51单片机46——看门狗测试

    #include <reg52.h>             sfr  WDT_CONTR =0xE1;        //声明WDT_CONTR void delay(void){  / ...

  4. STC单片机启动看门狗定时器介绍和使用

    STC单片机启动看门狗定时器介绍 ✨这里以STC8系列为例.

  5. 单片机:看门狗程序简介

    什么是看门狗(watchdog)

  6. ABOV单片机内部看门狗WDT的代码实现讲解及示例代码-[MC96F6332D]

    一.准备工作 1.KEIL C51编译环境 2.CodeGen8 代码生成器 3.MC96F6332D 开发板 4.USB-OCD II仿真器 二.内部看门狗代码生成 1.在CodeGen8 代码生成 ...

  7. 【MCU】单片机看门狗工作原理

    背景 在单片机运行中,可能会遇到电磁场等恶劣环境干扰失控,造成程序进入死循环,程序跑飞(死机)等意外故障,程序的正常运行被打断,系统无法继续运行,陷入停滞状态,发生不可预料的后果.此时可通过按下复位按 ...

  8. 看门狗电路 通俗理解

    视频讲解:李想STM32初级教程_哔哩哔哩_bilibili 看门狗通俗理解: 转自:STC89C5X单片机"看门狗"原理详解-电子工程世界 很多人初次接触不太理解怎么用,书上也讲 ...

  9. 51单片机实战教程(22 看门狗)

    在要求高可靠性的系统中,为防止系统在异常情况下或者受到异常干扰导致MCU/CPU程序跑飞,系统长时间异常工作, 通常的做法就是引入看门狗.如果MCU/CPU不在规定时间内按要求访问看门狗,看门狗就强迫 ...

最新文章

  1. 剑指offer:面试题19. 正则表达式匹配
  2. 移动端像素概念,viewport,适配
  3. 【星球知识卡片】图像生成都有哪些核心技术,如何对其进行长期深入学习
  4. PostgreSQL 10.1 手册_部分 III. 服务器管理_第 32 章 回归测试_32.5. 测试覆盖检查
  5. 网易云信携手房天下打造高质量音视频会议
  6. 【翻译】.NET 5 Preview 1 发布
  7. 三招提升数据不平衡模型的性能(附python代码)
  8. 华为鸿蒙系统学习笔记8-开发者生态建设
  9. php 科学计数加1,PHP采用超长(超大)数字运算防止数字以科学计数法显示的方法_php技巧...
  10. 站立会议07(第二次冲刺)
  11. 关于计算机信息技术论文,信息技术论文
  12. win10,win11内存占用过高
  13. 荣耀手机总显示无法连接服务器,荣耀继承者无法连接服务器是什么原因
  14. 物联网平台类型有哪些
  15. 2022年5月4号SSM框架整合学习一:
  16. 淦!为什么到处都是广告!
  17. umount target is busy
  18. 新浪微博分享错误代码列表
  19. 等了3个月终于来啦!传智播客C/C++视频教程开始更新喽~
  20. 计算机固态硬盘装系统,SSD装系统不求人 9分钟U盘快速装win7

热门文章

  1. 豆神教育轻装上阵,搏命“大语文”下能否扭转24亿亏损的乾坤?
  2. php中多维数组的长度,php中count获取多维数组长度的方法
  3. 期待7月11日的变形金刚ing
  4. buildroot arm linux,Buildroot 构建文件系统
  5. 海思3518E开发笔记2.5——海思VI(video input)模块详解
  6. Babun,一个开箱即用的 Windows Shell
  7. 东南亚Lazada下半年热门商品有哪些?速速来了解!
  8. ip免费代理科普知识四:IP 地址类别
  9. Element Upload 上传图片
  10. “睡你妹闹钟”——你还真是让人又爱又恨啊